<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="fr" sourcelanguage="en">
  <context>
    <name>AttachmentEditor</name>
    <message>
      <location filename="../../../AttachmentEditor/Commands.py" line="80"/>
      <source>Attachment...</source>
      <translation>Accrochage...</translation>
    </message>
    <message>
      <location filename="../../../AttachmentEditor/Commands.py" line="82"/>
      <source>Edit attachment of selected object.</source>
      <translation>Modifier l'accrochage de l’objet sélectionné.</translation>
    </message>
    <message>
      <location filename="../../../AttachmentEditor/TaskAttachmentEditor.py" line="94"/>
      <source>No object named {name}</source>
      <translation>Aucun objet nommé {name}</translation>
    </message>
    <message>
      <location filename="../../../AttachmentEditor/TaskAttachmentEditor.py" line="98"/>
      <source>Failed to parse link (more than one colon encountered)</source>
      <translation>Échec de l'analyse du lien (plusieurs deux-points ont été rencontrés)</translation>
    </message>
    <message>
      <location filename="../../../AttachmentEditor/TaskAttachmentEditor.py" line="204"/>
      <source>Object {name} is neither movable nor attachable, can't edit attachment</source>
      <translation>L'objet {name} n’est pas mobile et ne peut être accroché, modification de l'accrochage impossible</translation>
    </message>
    <message>
      <location filename="../../../AttachmentEditor/TaskAttachmentEditor.py" line="212"/>
      <source>{obj} is not attachable. You can still use attachment editor dialog to align the object, but the attachment won't be parametric.</source>
      <translation>{obj} ne peut être accroché. Vous pouvez toujours utiliser la boîte de dialogue d'accrochage pour aligner l'objet, mais l'accrochage ne sera pas paramétrique.</translation>
    </message>
    <message>
      <location filename="../../../AttachmentEditor/TaskAttachmentEditor.py" line="218"/>
      <source>Continue</source>
      <translation>Continuer</translation>
    </message>
    <message>
      <location filename="../../../AttachmentEditor/TaskAttachmentEditor.py" line="229"/>
      <source>Attachment</source>
      <translation>Accrochage</translation>
    </message>
    <message>
      <location filename="../../../AttachmentEditor/TaskAttachmentEditor.py" line="262"/>
      <source>Edit attachment of {feat}</source>
      <translation>Modifier l'accrochage de {feat}</translation>
    </message>
    <message>
      <location filename="../../../AttachmentEditor/TaskAttachmentEditor.py" line="349"/>
      <source>Ignored. Can't attach object to itself!</source>
      <translation>Ignoré. Impossible d'accrocher un objet à lui-même!</translation>
    </message>
    <message>
      <location filename="../../../AttachmentEditor/TaskAttachmentEditor.py" line="352"/>
      <source>{obj1} depends on object being attached, can't use it for attachment</source>
      <translation>{obj1} dépend de l'objet en cours d'accrochage, ne peut pas l'utiliser pour l'accrochage</translation>
    </message>
    <message>
      <location filename="../../../AttachmentEditor/TaskAttachmentEditor.py" line="497"/>
      <source>{mode} (add {morerefs})</source>
      <translation>{mode} (ajouter {morerefs})</translation>
    </message>
    <message>
      <location filename="../../../AttachmentEditor/TaskAttachmentEditor.py" line="500"/>
      <source>{mode} (add more references)</source>
      <translation>{mode} (ajouter plus de références)</translation>
    </message>
    <message>
      <location filename="../../../AttachmentEditor/TaskAttachmentEditor.py" line="530"/>
      <source>Reference combinations:</source>
      <translation>Combinaisons de référence :</translation>
    </message>
    <message>
      <location filename="../../../AttachmentEditor/TaskAttachmentEditor.py" line="546"/>
      <source>Reference{i}</source>
      <translation>Référence{i}</translation>
    </message>
    <message>
      <location filename="../../../AttachmentEditor/TaskAttachmentEditor.py" line="551"/>
      <source>Selecting...</source>
      <translation>Sélection de...</translation>
    </message>
    <message>
      <location filename="../../../AttachmentEditor/TaskAttachmentEditor.py" line="575"/>
      <source>Failed to resolve links. {err}</source>
      <translation>Impossible de valider les liens. {err}</translation>
    </message>
    <message>
      <location filename="../../../AttachmentEditor/TaskAttachmentEditor.py" line="583"/>
      <source>Not attached</source>
      <translation>Non accroché</translation>
    </message>
    <message>
      <location filename="../../../AttachmentEditor/TaskAttachmentEditor.py" line="585"/>
      <source>Attached with mode {mode}</source>
      <translation>Accroché via le mode {mode}</translation>
    </message>
    <message>
      <location filename="../../../AttachmentEditor/TaskAttachmentEditor.py" line="592"/>
      <source>Error: {err}</source>
      <translation>Erreur : {err}</translation>
    </message>
    <message>
      <location filename="../../../AttachmentEditor/TaskAttachmentEditor.py" line="595"/>
      <source>Attachment Offset:</source>
      <translation>Compensation d'accrochage :</translation>
    </message>
    <message>
      <location filename="../../../AttachmentEditor/TaskAttachmentEditor.py" line="598"/>
      <source>Attachment Offset (inactive - not attached):</source>
      <translation>Compensation d'accrochage (inactif - non accroché) :</translation>
    </message>
    <message>
      <location filename="../../../AttachmentEditor/TaskAttachmentEditor.py" line="608"/>
      <source>Attachment Offset (in local coordinates):</source>
      <translation>Décalage de l'accrochage(en coordonnées locales) :</translation>
    </message>
  </context>
  <context>
    <name>Part_CompoundFilter</name>
    <message>
      <location filename="../../../CompoundTools/_CommandCompoundFilter.py" line="58"/>
      <source>Compound Filter</source>
      <translation>Filtre composé</translation>
    </message>
    <message>
      <location filename="../../../CompoundTools/_CommandCompoundFilter.py" line="59"/>
      <source>Filter out objects from a selected compound by characteristics like volume,
area, or length, or by choosing specific items.
If a second object is selected, it will be used as reference, for example,
for collision or distance filtering.</source>
      <translation>Filtrer les objets d'un composé sélectionné par des caractéristiques telles que le volume, la surface, la longueur ou en choisissant des éléments spécifiques.
Si un second objet est sélectionné, il sera utilisé comme référence, par exemple
pour le filtrage de collision ou de distance.</translation>
    </message>
    <message>
      <location filename="../../../CompoundTools/_CommandCompoundFilter.py" line="60"/>
      <source>Compound Filter: remove some childs from a compound</source>
      <translation>Filtre composé : supprimer certains éléments d’un composé</translation>
    </message>
    <message>
      <location filename="../../../CompoundTools/_CommandCompoundFilter.py" line="68"/>
      <source>Select a shape that is a compound, first! Second selected item (optional) will be treated as a stencil.</source>
      <translation>Sélectionnez d’abord une forme qui soit un composé ! Le second élément sélectionné (facultatif) sera utilisé comme un pochoir.</translation>
    </message>
    <message>
      <location filename="../../../CompoundTools/_CommandCompoundFilter.py" line="73"/>
      <source>First select a shape that is a compound. If a second object is selected (optional) it will be treated as a stencil.</source>
      <translation>Sélectionnez d'abord une forme qui est un composé. Si un second objet est sélectionné (optionnel), il sera traité comme un pochoir.</translation>
    </message>
    <message>
      <location filename="../../../CompoundTools/_CommandCompoundFilter.py" line="103"/>
      <source>Computing the result failed with an error: 

{err}

Click 'Continue' to create the feature anyway, or 'Abort' to cancel.</source>
      <translation>Le calcul du résultat a échoué avec une erreur : 

{err}

Cliquez sur « Continuer » pour créer la fonction de toute façon, ou « Annuler » pour annuler.</translation>
    </message>
    <message>
      <location filename="../../../CompoundTools/_CommandCompoundFilter.py" line="105"/>
      <source>Bad selection</source>
      <translation>Sélection non valide</translation>
    </message>
    <message>
      <location filename="../../../CompoundTools/_CommandCompoundFilter.py" line="106"/>
      <source>Computing the result failed with an error: 

{errstr}

Click 'Continue' to create the feature anyway, or 'Abort' to cancel.</source>
      <translation>Le calcul du résultat a échoué avec une erreur : 

{errstr}

Cliquez sur 'Continuer' pour créer la fonctionnalité quand même, ou 'Abandonner' pour annuler.</translation>
    </message>
  </context>
  <context>
    <name>Part_ExplodeCompound</name>
    <message>
      <location filename="../../../CompoundTools/_CommandExplodeCompound.py" line="57"/>
      <source>Explode compound</source>
      <translation>Éclater le composé</translation>
    </message>
    <message>
      <location filename="../../../CompoundTools/_CommandExplodeCompound.py" line="58"/>
      <source>Split up a compound of shapes into separate objects.
It will create a 'Compound Filter' for each shape.</source>
      <translation>Diviser un composé de formes en objets séparés.
Cela créera un 'filtre composé' pour chaque forme.</translation>
    </message>
    <message>
      <location filename="../../../CompoundTools/_CommandExplodeCompound.py" line="59"/>
      <source>Explode compound: split up a list of shapes into separate objects</source>
      <translation>Éclater le composé : diviser une liste de formes en objets distincts</translation>
    </message>
    <message>
      <location filename="../../../CompoundTools/_CommandExplodeCompound.py" line="67"/>
      <source>Select a shape that is a compound, first!</source>
      <translation>Sélectionnez d'abord une forme qui soit un composé !</translation>
    </message>
    <message>
      <location filename="../../../CompoundTools/_CommandExplodeCompound.py" line="68"/>
      <source>First select a shape that is a compound.</source>
      <translation>Sélectionnez d'abord une forme qui est un composé.</translation>
    </message>
    <message>
      <location filename="../../../CompoundTools/_CommandExplodeCompound.py" line="68"/>
      <source>Bad selection</source>
      <translation>Sélection non valide</translation>
    </message>
  </context>
  <context>
    <name>Part_JoinConnect</name>
    <message>
      <location filename="../../../BOPTools/JoinFeatures.py" line="186"/>
      <source>Connect objects</source>
      <translation>Connecter des objets</translation>
    </message>
    <message>
      <location filename="../../../BOPTools/JoinFeatures.py" line="188"/>
      <source>Fuses objects, taking care to preserve voids.</source>
      <translation>Fusionne les objets, en prenant soin de préserver les cavités.</translation>
    </message>
  </context>
  <context>
    <name>Part_JoinCutout</name>
    <message>
      <location filename="../../../BOPTools/JoinFeatures.py" line="362"/>
      <source>Cutout for object</source>
      <translation>Découpe de l'objet</translation>
    </message>
    <message>
      <location filename="../../../BOPTools/JoinFeatures.py" line="364"/>
      <source>Makes a cutout in one object to fit another object.</source>
      <translation>Créer une découpe dans un objet pour l'adapter à un autre objet.</translation>
    </message>
  </context>
  <context>
    <name>Part_JoinEmbed</name>
    <message>
      <location filename="../../../BOPTools/JoinFeatures.py" line="273"/>
      <source>Embed object</source>
      <translation>Intégrer l'objet</translation>
    </message>
    <message>
      <location filename="../../../BOPTools/JoinFeatures.py" line="275"/>
      <source>Fuses one object into another, taking care to preserve voids.</source>
      <translation>Fusionne un objet dans un autre en prenant soin de préserver les cavités.</translation>
    </message>
  </context>
  <context>
    <name>Part_SplitFeatures</name>
    <message>
      <location filename="../../../BOPTools/SplitFeatures.py" line="188"/>
      <source>Boolean fragments</source>
      <translation>Résidus booléens</translation>
    </message>
    <message>
      <location filename="../../../BOPTools/SplitFeatures.py" line="190"/>
      <source>Create a 'Boolean Fragments' object from two or more selected objects,
or from the shapes inside a compound.
This is a boolean union which is then sliced at the intersections
of the original shapes.
A 'Compound Filter' can be used to extract the individual slices.</source>
      <translation>Crée un objet 'Residu booléen' à partir de deux ou plusieurs objets sélectionnés,
ou à partir des formes à l'intérieur d'un composé.
Ceci est une union booléenne qui est ensuite coupée aux intersections
des formes originales.
Un 'Filtre composé' peut être utilisé pour extraire les tranches individuelles.</translation>
    </message>
    <message>
      <location filename="../../../BOPTools/SplitFeatures.py" line="312"/>
      <source>Split object by intersections with other objects, and pack the pieces into a compound.</source>
      <translation>Séparer l'objet par intersection avec d'autres objets, puis grouper en tant que composé.</translation>
    </message>
    <message>
      <location filename="../../../BOPTools/SplitFeatures.py" line="336"/>
      <source>Split object by intersections with other objects.</source>
      <translation>Séparer l'objet par intersection avec d'autres objets.</translation>
    </message>
    <message>
      <location filename="../../../BOPTools/SplitFeatures.py" line="344"/>
      <source>Select at least two objects, first! First one is the object to be sliced; the rest are objects to slice with.</source>
      <translation>En premier lieu, sélectionnez au moins deux objets ! Le premier est l'objet à couper; les autres objets seront utilisés pour la coupe.</translation>
    </message>
    <message>
      <location filename="../../../BOPTools/SplitFeatures.py" line="391"/>
      <source>Select at least two objects. The first one is the object to be sliced; the rest are objects to slice with.</source>
      <translation>Sélectionnez au moins deux objets. Le premier est l'objet à couper; les autres objets seront utilisés pour la coupe.</translation>
    </message>
    <message>
      <location filename="../../../BOPTools/SplitFeatures.py" line="446"/>
      <source>Computing the result failed with an error: 

{err}

Click 'Continue' to create the feature anyway, or 'Abort' to cancel.</source>
      <translation>Le calcul du résultat a échoué avec une erreur : 

{err}

Cliquez sur « Continuer » pour créer la fonction de toute façon, ou « Annuler » pour annuler.</translation>
    </message>
    <message>
      <location filename="../../../BOPTools/SplitFeatures.py" line="470"/>
      <source>Remove intersection fragments</source>
      <translation>Supprimer les fragments d'intersection</translation>
    </message>
    <message>
      <location filename="../../../BOPTools/SplitFeatures.py" line="478"/>
      <source>Select at least two objects, or one or more compounds, first! If only one compound is selected, the compounded shapes will be intersected between each other (otherwise, compounds with self-intersections are invalid).</source>
      <translation>En premier lieu, sélectionnez au moins deux objets, ou un ou plusieurs composés ! Si un seul composé est sélectionné, les formes composées seront intersectées les unes avec les autres (sinon, les composés avec auto-intersections ne sont pas valides).</translation>
    </message>
    <message>
      <location filename="../../../BOPTools/SplitFeatures.py" line="543"/>
      <source>Select at least two objects, or one or more compounds. If only one compound is selected, the compounded shapes will be intersected between each other (otherwise, compounds with self-intersections are invalid).</source>
      <translation>Sélectionnez au moins deux objets, ou au moins un composé ! Si un seul composé est sélectionné, les formes composées seront intersectées les unes avec les autres (sinon, les composés avec auto-intersections ne sont pas valides).</translation>
    </message>
    <message>
      <location filename="../../../BOPTools/SplitFeatures.py" line="310"/>
      <source>Slice to compound</source>
      <translation>Trancher vers composé</translation>
    </message>
    <message>
      <location filename="../../../BOPTools/SplitFeatures.py" line="174"/>
      <source>Boolean Fragments</source>
      <translation>Fragments Booléens</translation>
    </message>
    <message>
      <location filename="../../../BOPTools/SplitFeatures.py" line="176"/>
      <source>Split objects where they intersect</source>
      <translation>Diviser les objets à leur intersection</translation>
    </message>
    <message>
      <location filename="../../../BOPTools/SplitFeatures.py" line="349"/>
      <source>Slice a selected object by using other objects as cutting tools.
The resulting pieces will be stored in a compound.
A 'Compound Filter' can be used to extract the individual slices.</source>
      <translation>Couper un objet sélectionné en utilisant d'autres objets comme outils de coupe.
Les pièces résultantes seront stockées dans un composé.
Un 'Filtre composé' peut être utilisé pour extraire les tranches individuelles.</translation>
    </message>
    <message>
      <location filename="../../../BOPTools/SplitFeatures.py" line="334"/>
      <source>Slice apart</source>
      <translation>Séparer et exploser</translation>
    </message>
    <message>
      <location filename="../../../BOPTools/SplitFeatures.py" line="381"/>
      <source>Slice a selected object by other objects, and split it apart.
It will create a 'Compound Filter' for each slice.</source>
      <translation>Coupe un objet sélectionné par d'autres objets et le sépare.
Cela va créer un 'filtre composé' pour chaque morceau.</translation>
    </message>
    <message>
      <location filename="../../../BOPTools/SplitFeatures.py" line="468"/>
      <source>Boolean XOR</source>
      <translation>Booléen XOR</translation>
    </message>
    <message>
      <location filename="../../../BOPTools/SplitFeatures.py" line="531"/>
      <source>Perform an 'exclusive OR' boolean operation with two or more selected objects,
or with the shapes inside a compound.
This means the overlapping volumes of the shapes will be removed.
A 'Compound Filter' can be used to extract the remaining pieces.</source>
      <translation>Effectuez une opération booléenne 'OU exclusif' avec au moins deux objets sélectionnés,
ou avec les formes à l'intérieur d'un composé.
Cela signifie que les volumes de chevauchement des formes seront supprimés.
Un 'Filtre composé' peut être utilisé pour extraire les parties restantes.</translation>
    </message>
    <message>
      <location filename="../../../BOPTools/SplitFeatures.py" line="479"/>
      <source>Bad selection</source>
      <translation>Sélection non valide</translation>
    </message>
    <message>
      <location filename="../../../BOPTools/SplitFeatures.py" line="501"/>
      <source>Computing the result failed with an error:

{err}

Click 'Continue' to create the feature anyway, or 'Abort' to cancel.</source>
      <translation>Le calcul du résultat a échoué avec une erreur : 

{err}

Cliquez sur 'Continuer' pour créer la fonction quand même, ou 'Abandonner' pour annuler.</translation>
    </message>
    <message>
      <location filename="../../../CompoundTools/_CommandCompoundFilter.py" line="107"/>
      <source>Continue</source>
      <translation>Continuer</translation>
    </message>
  </context>
  <context>
    <name>Part_Tube</name>
    <message>
      <location filename="../../../BasicShapes/Shapes.py" line="85"/>
      <source>Create tube</source>
      <translation>Créer un tube</translation>
    </message>
    <message>
      <location filename="../../../BasicShapes/Shapes.py" line="89"/>
      <source>Creates a tube</source>
      <translation>Crée un tube</translation>
    </message>
  </context>
  <context>
    <name>QObject</name>
    <message>
      <location filename="../../../BasicShapes/CommandShapes.py" line="51"/>
      <source>Create tube</source>
      <translation>Créer un tube</translation>
    </message>
    <message>
      <location filename="../../../BasicShapes/ViewProviderShapes.py" line="54"/>
      <source>Edit %1</source>
      <translation>Modifier %1</translation>
    </message>
    <message>
      <location filename="../../AppPartGui.cpp" line="210"/>
      <location filename="../../AppPartGui.cpp" line="211"/>
      <source>Part design</source>
      <translation>Conception de pièces</translation>
    </message>
    <message>
      <location filename="../../AppPartGui.cpp" line="212"/>
      <location filename="../../AppPartGui.cpp" line="213"/>
      <source>Import-Export</source>
      <translation>Importer-Exporter</translation>
    </message>
    <message>
      <location filename="../../AppPartGui.cpp" line="214"/>
      <source>Display</source>
      <translation>Affichage</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="284"/>
      <location filename="../../Command.cpp" line="381"/>
      <location filename="../../Command.cpp" line="483"/>
      <location filename="../../Command.cpp" line="902"/>
      <location filename="../../Command.cpp" line="953"/>
      <location filename="../../Command.cpp" line="2074"/>
      <source>Wrong selection</source>
      <translation>Sélection invalide</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="285"/>
      <location filename="../../Command.cpp" line="954"/>
      <source>Select two shapes please.</source>
      <translation>Veuillez sélectionner deux formes.</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="295"/>
      <location filename="../../Command.cpp" line="397"/>
      <location filename="../../Command.cpp" line="499"/>
      <source>Non-solids selected</source>
      <translation>Formes non-pleines sélectionnées</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="296"/>
      <location filename="../../Command.cpp" line="398"/>
      <location filename="../../Command.cpp" line="500"/>
      <source>The use of non-solids for boolean operations may lead to unexpected results.
Do you want to continue?</source>
      <translation>L'utilisation de formes non-pleines pour les opérations booléennes peut entraîner des résultats indésirables.
Voulez-vous continuer ?</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="382"/>
      <source>Select two shapes or more, please. Or, select one compound containing two or more shapes to compute common between.</source>
      <translation>Sélectionnez deux formes ou plus. Ou sélectionnez un composé contenant plusieurs formes à partir desquelles calculer l'intersection.</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="484"/>
      <source>Select two shapes or more, please. Or, select one compound containing two or more shapes to be fused.</source>
      <translation>Sélectionnez deux formes ou plus. Ou sélectionnez un composé contenant plusieurs formes à partir desquelles calculer la fusion.</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="903"/>
      <source>Select one shape or more, please.</source>
      <translation>Veuillez sélectionner au moins une forme.</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="1107"/>
      <source>All CAD Files</source>
      <translation>Tous les fichiers CAO</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="1112"/>
      <source>All Files</source>
      <translation>Tous les fichiers</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="2075"/>
      <source>You have to select either two edges or two wires.</source>
      <translation>Vous devez sélectionner deux arêtes ou deux fils.</translation>
    </message>
    <message>
      <location filename="../../CommandSimple.cpp" line="120"/>
      <source>Sewing Tolerance</source>
      <translation>Tolérance de couture</translation>
    </message>
    <message>
      <location filename="../../CommandSimple.cpp" line="121"/>
      <source>Enter tolerance for sewing shape:</source>
      <translation>Saisir la tolérance pour coudre la forme :</translation>
    </message>
    <message>
      <location filename="../../TaskAttacher.cpp" line="71"/>
      <location filename="../../TaskAttacher.cpp" line="104"/>
      <source>No reference selected</source>
      <translation>Aucune référence sélectionnée</translation>
    </message>
    <message>
      <location filename="../../TaskAttacher.cpp" line="80"/>
      <location filename="../../TaskCheckGeometry.cpp" line="82"/>
      <source>Face</source>
      <translation>Face</translation>
    </message>
    <message>
      <location filename="../../TaskAttacher.cpp" line="83"/>
      <location filename="../../TaskCheckGeometry.cpp" line="84"/>
      <source>Edge</source>
      <translation>Arête</translation>
    </message>
    <message>
      <location filename="../../TaskAttacher.cpp" line="86"/>
      <location filename="../../TaskCheckGeometry.cpp" line="85"/>
      <source>Vertex</source>
      <translation>Sommet</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="78"/>
      <source>Compound</source>
      <translation>Composé</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="79"/>
      <source>Compound Solid</source>
      <translation>Composé solide</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="80"/>
      <source>Solid</source>
      <translation>Solide</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="81"/>
      <source>Shell</source>
      <translation>Coque</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="83"/>
      <source>Wire</source>
      <translation>Fil</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="86"/>
      <source>Shape</source>
      <translation>Forme</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="101"/>
      <source>No Error</source>
      <translation>Aucune erreur</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="102"/>
      <source>Invalid Point On Curve</source>
      <translation>Point sur courbe invalide</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="103"/>
      <source>Invalid Point On Curve On Surface</source>
      <translation>Point sur courbe sur surface invalide</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="104"/>
      <source>Invalid Point On Surface</source>
      <translation>Point sur surface invalide</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="105"/>
      <source>No 3D Curve</source>
      <translation>Aucune courbe 3D</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="106"/>
      <source>Multiple 3D Curve</source>
      <translation>Courbe 3D multiple</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="107"/>
      <source>Invalid 3D Curve</source>
      <translation>Courbe 3D invalide</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="108"/>
      <source>No Curve On Surface</source>
      <translation>Aucune courbe sur surface</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="109"/>
      <source>Invalid Curve On Surface</source>
      <translation>Courbe sur surface invalide</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="110"/>
      <source>Invalid Curve On Closed Surface</source>
      <translation>Courbe sur surface fermée invalide</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="111"/>
      <source>Invalid Same Range Flag</source>
      <translation>L'indicateur de plage invalide</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="112"/>
      <source>Invalid Same Parameter Flag</source>
      <translation>Indicateur de paramètre invalide</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="113"/>
      <source>Invalid Degenerated Flag</source>
      <translation>Indicateur dégénéré invalide</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="114"/>
      <source>Free Edge</source>
      <translation>Arête libre</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="115"/>
      <source>Invalid MultiConnexity</source>
      <translation>Connectivité multiple invalide</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="116"/>
      <source>Invalid Range</source>
      <translation>Plage non valide</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="117"/>
      <source>Empty Wire</source>
      <translation>Fil vide</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="118"/>
      <source>Redundant Edge</source>
      <translation>Arête redondante</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="119"/>
      <source>Self Intersecting Wire</source>
      <translation>Fil entre-croisé</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="120"/>
      <source>No Surface</source>
      <translation>Aucune surface</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="121"/>
      <source>Invalid Wire</source>
      <translation>Fil invalide</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="122"/>
      <source>Redundant Wire</source>
      <translation>Fil redondant</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="123"/>
      <source>Intersecting Wires</source>
      <translation>Fils croisés</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="124"/>
      <source>Invalid Imbrication Of Wires</source>
      <translation>Imbrication de fils invalide</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="125"/>
      <source>Empty Shell</source>
      <translation>Coque vide</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="126"/>
      <source>Redundant Face</source>
      <translation>Surface redondante</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="127"/>
      <source>Unorientable Shape</source>
      <translation>La forme n'est pas orientable</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="128"/>
      <source>Not Closed</source>
      <translation>Non fermé</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="129"/>
      <source>Not Connected</source>
      <translation>Non connecté</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="130"/>
      <source>Sub Shape Not In Shape</source>
      <translation>La sous-forme n'est pas dans une forme</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="131"/>
      <source>Bad Orientation</source>
      <translation>Mauvaise orientation</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="132"/>
      <source>Bad Orientation Of Sub Shape</source>
      <translation>Mauvaise orientation de la sous-forme</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="133"/>
      <source>Invalid Tolerance Value</source>
      <translation>Valeur de tolérance invalide</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="134"/>
      <source>Check Failed</source>
      <translation>La vérification a échoué</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="144"/>
      <source>No Result</source>
      <translation>Aucun résultat</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="148"/>
      <source>Out Of Enum Range: </source>
      <translation>Hors plage d'énumération : </translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="160"/>
      <source>BOPAlgo CheckUnknown</source>
      <translation>BOPAlgo Vérifier les inconnues</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="161"/>
      <source>BOPAlgo BadType</source>
      <translation>BOPAlgo MauvaisType</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="162"/>
      <source>BOPAlgo SelfIntersect</source>
      <translation>BOPAlgo auto intersection</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="163"/>
      <source>BOPAlgo TooSmallEdge</source>
      <translation>BOPAlgo Arête trop courte</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="164"/>
      <source>BOPAlgo NonRecoverableFace</source>
      <translation>BOPAlgo Face non récupérable</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="165"/>
      <source>BOPAlgo IncompatibilityOfVertex</source>
      <translation>BOPAlgo incompatibilité de sommet</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="166"/>
      <source>BOPAlgo IncompatibilityOfEdge</source>
      <translation>BOPAlgo Incompatibilité d'arête</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="167"/>
      <source>BOPAlgo IncompatibilityOfFace</source>
      <translation>BOPAlgo Incompatibilité de face</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="168"/>
      <source>BOPAlgo OperationAborted</source>
      <translation>BOPAlgo Opération avortée</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="169"/>
      <source>BOPAlgo GeomAbs_C0</source>
      <translation>BOPAlgo GeomAbs_C0</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="170"/>
      <source>BOPAlgo_InvalidCurveOnSurface</source>
      <translation>BOPAlgo_Courbe invalide sur surface</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="171"/>
      <source>BOPAlgo NotValid</source>
      <translation>BOPAlgo Non valide</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="463"/>
      <location filename="../../TaskCheckGeometry.cpp" line="659"/>
      <source>Invalid</source>
      <translation>Invalide</translation>
    </message>
    <message>
      <location filename="../../TaskDimension.cpp" line="556"/>
      <location filename="../../TaskDimension.cpp" line="1602"/>
      <source>Selections</source>
      <translation>Sélections</translation>
    </message>
    <message>
      <location filename="../../TaskDimension.cpp" line="563"/>
      <location filename="../../TaskDimension.cpp" line="1609"/>
      <source>Control</source>
      <translation>Contrôle</translation>
    </message>
    <message>
      <location filename="../../TaskDimension.cpp" line="1340"/>
      <source>Reset Dialog</source>
      <translation>Réinitialiser la boîte de dialogue</translation>
    </message>
    <message>
      <location filename="../../TaskDimension.cpp" line="1344"/>
      <source>Toggle 3d</source>
      <translation>Basculer 3D</translation>
    </message>
    <message>
      <location filename="../../TaskDimension.cpp" line="1349"/>
      <source>Toggle Delta</source>
      <translation>Basculer Delta</translation>
    </message>
    <message>
      <location filename="../../TaskDimension.cpp" line="1354"/>
      <source>Clear All</source>
      <translation>Tout effacer</translation>
    </message>
    <message>
      <location filename="../../ViewProviderExt.cpp" line="847"/>
      <source>Set colors...</source>
      <translation>Définir les couleurs...</translation>
    </message>
    <message>
      <location filename="../../ViewProviderMirror.cpp" line="79"/>
      <source>Edit mirror plane</source>
      <translation>Éditer le plan du miroir</translation>
    </message>
    <message>
      <location filename="../../ViewProviderMirror.cpp" line="276"/>
      <source>Edit fillet edges</source>
      <translation>Modifier les congés d'arête</translation>
    </message>
    <message>
      <location filename="../../ViewProviderMirror.cpp" line="379"/>
      <source>Edit chamfer edges</source>
      <translation>Modifier les arêtes du chanfrein</translation>
    </message>
    <message>
      <location filename="../../ViewProviderMirror.cpp" line="520"/>
      <source>Edit offset</source>
      <translation>Modifier le décalage</translation>
    </message>
    <message>
      <location filename="../../ViewProviderMirror.cpp" line="606"/>
      <source>Edit thickness</source>
      <translation>Modifier l'évidement</translation>
    </message>
    <message>
      <location filename="../../ViewProviderSpline.cpp" line="81"/>
      <source>Show control points</source>
      <translation>Afficher les points de contrôle</translation>
    </message>
  </context>
  <context>
    <name>Part_JoinFeatures</name>
    <message>
      <location filename="../../../BOPTools/JoinFeatures.py" line="85"/>
      <source>Computing the result failed with an error: 

{err}

 Click 'Continue' to create the feature anyway, or 'Abort' to cancel.</source>
      <translation>Le calcul du résultat a échoué avec une erreur : 

{err}

 Cliquez sur « Continuer » pour créer la fonction de toute façon, ou « Annuler » pour annuler.</translation>
    </message>
    <message>
      <location filename="../../../BOPTools/JoinFeatures.py" line="86"/>
      <source>Computing the result failed with an error:

{err}

Click 'Continue' to create the feature anyway, or 'Abort' to cancel.</source>
      <translation>Le calcul du résultat a échoué avec une erreur : 

{err}

Cliquez sur 'Continuer' pour créer la fonction quand même, ou 'Abandonner' pour annuler.</translation>
    </message>
    <message>
      <location filename="../../../BOPTools/JoinFeatures.py" line="89"/>
      <source>Continue</source>
      <translation>Continuer</translation>
    </message>
    <message>
      <location filename="../../../BOPTools/JoinFeatures.py" line="196"/>
      <source>Select at least two objects, or one or more compounds, first!</source>
      <translation>En premier lieu, sélectionnez au moins deux objets, ou un ou plusieurs composés !</translation>
    </message>
    <message>
      <location filename="../../../BOPTools/JoinFeatures.py" line="208"/>
      <source>Select at least two objects, or one or more compounds</source>
      <translation>Sélectionnez au moins deux objets, ou au moins un composé</translation>
    </message>
    <message>
      <location filename="../../../BOPTools/JoinFeatures.py" line="283"/>
      <source>Select base object, then the object to embed, and invoke this tool.</source>
      <translation>Sélectionnez l'objet de base, puis l'objet à incorporer, puis lancez cet outil.</translation>
    </message>
    <message>
      <location filename="../../../BOPTools/JoinFeatures.py" line="304"/>
      <source>Select base object, then the object to embed, and then invoke this tool.</source>
      <translation>Sélectionnez l'objet de base, puis l'objet à incorporer, puis lancez cet outil.</translation>
    </message>
    <message>
      <location filename="../../../BOPTools/JoinFeatures.py" line="372"/>
      <source>Select the object to make a cutout in, then the object that should fit into the cutout, and invoke this tool.</source>
      <translation>Sélectionnez l'objet dans lequel effectuer une découpe, puis l'objet à insérer dans la découpe et lancez cet outil.</translation>
    </message>
    <message>
      <location filename="../../../BOPTools/JoinFeatures.py" line="373"/>
      <source>Bad selection</source>
      <translation>Sélection non valide</translation>
    </message>
    <message>
      <location filename="../../../BOPTools/JoinFeatures.py" line="399"/>
      <source>Select the object to make a cutout in, then the object that should fit into the cutout, and then invoke this tool.</source>
      <translation>Sélectionnez l'objet dans lequel effectuer une découpe, puis l'objet à insérer dans la découpe et lancez cet outil.</translation>
    </message>
  </context>
  <context>
    <name>Part_MakeTube</name>
    <message>
      <location filename="../../../BasicShapes/Shapes.py" line="59"/>
      <source>Create tube</source>
      <translation>Créer un tube</translation>
    </message>
    <message>
      <location filename="../../../BasicShapes/Shapes.py" line="62"/>
      <source>Creates a tube</source>
      <translation>Crée un tube</translation>
    </message>
  </context>
  <context>
    <name>Attacher</name>
    <message>
      <location filename="../../AttacherTexts.cpp" line="312"/>
      <source>Any</source>
      <comment>Attacher reference type</comment>
      <translation>Quelconque</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="313"/>
      <source>Vertex</source>
      <comment>Attacher reference type</comment>
      <translation>Sommet</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="314"/>
      <source>Edge</source>
      <comment>Attacher reference type</comment>
      <translation>Arête</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="315"/>
      <source>Face</source>
      <comment>Attacher reference type</comment>
      <translation>Face</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="317"/>
      <source>Line</source>
      <comment>Attacher reference type</comment>
      <translation>Ligne</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="318"/>
      <source>Curve</source>
      <comment>Attacher reference type</comment>
      <translation>Courbe</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="319"/>
      <source>Circle</source>
      <comment>Attacher reference type</comment>
      <translation>Cercle</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="320"/>
      <source>Conic</source>
      <comment>Attacher reference type</comment>
      <translation>Conique</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="321"/>
      <source>Ellipse</source>
      <comment>Attacher reference type</comment>
      <translation>Ellipse</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="322"/>
      <source>Parabola</source>
      <comment>Attacher reference type</comment>
      <translation>Parabole</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="323"/>
      <source>Hyperbola</source>
      <comment>Attacher reference type</comment>
      <translation>Hyperbole</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="325"/>
      <source>Plane</source>
      <comment>Attacher reference type</comment>
      <translation>Plan</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="326"/>
      <source>Sphere</source>
      <comment>Attacher reference type</comment>
      <translation>Sphère</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="327"/>
      <source>Revolve</source>
      <comment>Attacher reference type</comment>
      <translation>Révolution</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="328"/>
      <source>Cylinder</source>
      <comment>Attacher reference type</comment>
      <translation>Cylindre</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="329"/>
      <source>Torus</source>
      <comment>Attacher reference type</comment>
      <translation>Tore</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="330"/>
      <source>Cone</source>
      <comment>Attacher reference type</comment>
      <translation>Cône</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="332"/>
      <source>Object</source>
      <comment>Attacher reference type</comment>
      <translation>Objet</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="333"/>
      <source>Solid</source>
      <comment>Attacher reference type</comment>
      <translation>Solide</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="334"/>
      <source>Wire</source>
      <comment>Attacher reference type</comment>
      <translation>Fil</translation>
    </message>
  </context>
  <context>
    <name>Attacher0D</name>
    <message>
      <location filename="../../AttacherTexts.cpp" line="269"/>
      <source>Deactivated</source>
      <comment>AttachmentPoint mode caption</comment>
      <translation>Désactivé</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="270"/>
      <source>Attachment is disabled. Point can be moved by editing Placement property.</source>
      <comment>AttachmentPoint mode tooltip</comment>
      <translation>L'accrochage est désactivé. Le point peut être déplacé en modifiant la propriété Placement.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="272"/>
      <source>Object's origin</source>
      <comment>AttachmentPoint mode caption</comment>
      <translation>Origine de l’objet</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="273"/>
      <source>Point is put at object's Placement.Position. Works on objects with placements, and ellipse/parabola/hyperbola edges.</source>
      <comment>AttachmentPoint mode tooltip</comment>
      <translation>Le point est placé au Placement/Position de l'objet. Cela fonctionne pour les objets avec des positionnements et pour les arêtes des ellipses/paraboles/hyperboles.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="275"/>
      <source>Focus1</source>
      <comment>AttachmentPoint mode caption</comment>
      <translation>Focus1</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="276"/>
      <source>Focus of ellipse, parabola, hyperbola.</source>
      <comment>AttachmentPoint mode tooltip</comment>
      <translation>Focus de l'ellipse, la parabole, l'hyperbole.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="278"/>
      <source>Focus2</source>
      <comment>AttachmentPoint mode caption</comment>
      <translation>Focus2</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="279"/>
      <source>Second focus of ellipse and hyperbola.</source>
      <comment>AttachmentPoint mode tooltip</comment>
      <translation>Le second foyer de l'ellipse et de l'hyperbole.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="281"/>
      <source>On edge</source>
      <comment>AttachmentPoint mode caption</comment>
      <translation>Sur l'arête</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="282"/>
      <source>Point is put on edge, MapPathParameter controls where. Additionally, vertex can be linked in for making a projection.</source>
      <comment>AttachmentPoint mode tooltip</comment>
      <translation>Le point est placé sur l’arête, la position exacte est contrôlée par MapPathParameter. De plus, un sommet peut être lié pour permettre une projection.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="284"/>
      <source>Center of curvature</source>
      <comment>AttachmentPoint mode caption</comment>
      <translation>Centre de courbure</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="285"/>
      <source>Center of osculating circle of an edge. Optional vertex link defines where.</source>
      <comment>AttachmentPoint mode tooltip</comment>
      <translation>Centre du cercle osculateur d'une arête. Un lien facultatif vers un sommet définit où.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="287"/>
      <source>Center of mass</source>
      <comment>AttachmentPoint mode caption</comment>
      <translation>Centre de masse</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="288"/>
      <source>Center of mass of all references (equal densities are assumed).</source>
      <comment>AttachmentPoint mode tooltip</comment>
      <translation>Centre de masse de toutes les références (on suppose des densités égales).</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="290"/>
      <source>Intersection</source>
      <comment>AttachmentPoint mode caption</comment>
      <translation>Intersection</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="291"/>
      <source>Not implemented</source>
      <comment>AttachmentPoint mode tooltip</comment>
      <translation>Non implémenté</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="293"/>
      <source>Vertex</source>
      <comment>AttachmentPoint mode caption</comment>
      <translation>Sommet</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="294"/>
      <source>Put Datum point coincident with another vertex.</source>
      <comment>AttachmentPoint mode tooltip</comment>
      <translation>Faire coïncider le point de référence avec un autre sommet.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="296"/>
      <source>Proximity point 1</source>
      <comment>AttachmentPoint mode caption</comment>
      <translation>Point de proximité 1</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="297"/>
      <source>Point on first reference that is closest to second reference.</source>
      <comment>AttachmentPoint mode tooltip</comment>
      <translation>Le point sur la première référence qui est le plus proche de la seconde référence.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="299"/>
      <source>Proximity point 2</source>
      <comment>AttachmentPoint mode caption</comment>
      <translation>Point de proximité 2</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="300"/>
      <source>Point on second reference that is closest to first reference.</source>
      <comment>AttachmentPoint mode tooltip</comment>
      <translation>Le point sur la seconde référence qui est le plus proche de la première référence.</translation>
    </message>
  </context>
  <context>
    <name>Attacher1D</name>
    <message>
      <location filename="../../AttacherTexts.cpp" line="200"/>
      <source>Deactivated</source>
      <comment>AttachmentLine mode caption</comment>
      <translation>Désactivé</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="201"/>
      <source>Attachment is disabled. Line can be moved by editing Placement property.</source>
      <comment>AttachmentLine mode tooltip</comment>
      <translation>L'accrochage est désactivé. La ligne peut être déplacée en modifiant la propriété Placement.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="203"/>
      <source>Object's X</source>
      <comment>AttachmentLine mode caption</comment>
      <translation>X de l’objet</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="204"/>
      <location filename="../../AttacherTexts.cpp" line="210"/>
      <source>Line is aligned along local X axis of object. Works on objects with placements, and ellipse/parabola/hyperbola edges.</source>
      <comment>AttachmentLine mode tooltip</comment>
      <translation>La ligne est alignée avec l'axe X local de l'objet. Cela fonctionne avec les objets avec des positions et les arêtes des ellipses/paraboles/hyperboles.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="206"/>
      <source>Object's Y</source>
      <comment>AttachmentLine mode caption</comment>
      <translation>Y de l’objet</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="207"/>
      <source>Line is aligned along local Y axis of object. Works on objects with placements, and ellipse/parabola/hyperbola edges.</source>
      <comment>AttachmentLine mode tooltip</comment>
      <translation>La ligne est alignée avec l'axe Y local de l'objet. Cela fonctionne avec les objets avec des positions et les arêtes des ellipses/paraboles/hyperboles.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="209"/>
      <source>Object's Z</source>
      <comment>AttachmentLine mode caption</comment>
      <translation>Z de l’objet</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="212"/>
      <source>Axis of curvature</source>
      <comment>AttachmentLine mode caption</comment>
      <translation>Axe de courbure</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="213"/>
      <source>Line that is an axis of osculating circle of curved edge. Optional vertex defines where.</source>
      <comment>AttachmentLine mode tooltip</comment>
      <translation>Ligne qui est un axe de cercle osculateur d'une arête incurvée. Un sommet facultatif définit la position.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="215"/>
      <source>Directrix1</source>
      <comment>AttachmentLine mode caption</comment>
      <translation>Directrice 1</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="216"/>
      <source>Directrix line for ellipse, parabola, hyperbola.</source>
      <comment>AttachmentLine mode tooltip</comment>
      <translation>Ligne directrice pour ellipse, parabole, hyperbole.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="218"/>
      <source>Directrix2</source>
      <comment>AttachmentLine mode caption</comment>
      <translation>Directrice 2</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="219"/>
      <source>Second directrix line for ellipse and hyperbola.</source>
      <comment>AttachmentLine mode tooltip</comment>
      <translation>Deuxième ligne directrice pour ellipse et hyperbole.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="221"/>
      <source>Asymptote1</source>
      <comment>AttachmentLine mode caption</comment>
      <translation>Asymptote1</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="222"/>
      <source>Asymptote of a hyperbola.</source>
      <comment>AttachmentLine mode tooltip</comment>
      <translation>Asymptote d’une hyperbole.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="224"/>
      <source>Asymptote2</source>
      <comment>AttachmentLine mode caption</comment>
      <translation>Asymptote2</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="225"/>
      <source>Second asymptote of hyperbola.</source>
      <comment>AttachmentLine mode tooltip</comment>
      <translation>Deuxième asymptote de l’hyperbole.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="227"/>
      <source>Tangent</source>
      <comment>AttachmentLine mode caption</comment>
      <translation>Tangent</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="228"/>
      <source>Line tangent to an edge. Optional vertex link defines where.</source>
      <comment>AttachmentLine mode tooltip</comment>
      <translation>Ligne tangente à une arête. Le lien optionnel vers un sommet définit où.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="230"/>
      <source>Normal to edge</source>
      <comment>AttachmentLine mode caption</comment>
      <translation>Normal à l'arête</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="231"/>
      <source>Align to N vector of Frenet-Serret coordinate system of curved edge. Optional vertex link defines where.</source>
      <comment>AttachmentLine mode tooltip</comment>
      <translation>Aligner au vecteur N du système de coordonnées Frenet-Serret d'une arête courbe. Le lien facultatif à un sommet définit où.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="233"/>
      <source>Binormal</source>
      <comment>AttachmentLine mode caption</comment>
      <translation>Binormal</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="234"/>
      <source>Align to B vector of Frenet-Serret coordinate system of curved edge. Optional vertex link defines where.</source>
      <comment>AttachmentLine mode tooltip</comment>
      <translation>Aligner au vecteur B du système de coordonnées Frenet-Serret d'une arête courbe. Le lien facultatif à un sommet définit où.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="236"/>
      <source>Tangent to surface (U)</source>
      <comment>AttachmentLine mode caption</comment>
      <translation>Tangent à la surface (U)</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="237"/>
      <location filename="../../AttacherTexts.cpp" line="240"/>
      <source>Tangent to surface, along U parameter. Vertex link defines where.</source>
      <comment>AttachmentLine mode tooltip</comment>
      <translation>Tangent à la surface, le long du paramètre U. Le lien vers le sommet définit où.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="239"/>
      <source>Tangent to surface (V)</source>
      <comment>AttachmentLine mode caption</comment>
      <translation>Tangent à la surface (V)</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="242"/>
      <source>Through two points</source>
      <comment>AttachmentLine mode caption</comment>
      <translation>Par deux points</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="243"/>
      <source>Line that passes through two vertices.</source>
      <comment>AttachmentLine mode tooltip</comment>
      <translation>Ligne qui passe par deux sommets.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="245"/>
      <source>Intersection</source>
      <comment>AttachmentLine mode caption</comment>
      <translation>Intersection</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="246"/>
      <source>Not implemented.</source>
      <comment>AttachmentLine mode tooltip</comment>
      <translation>Non implémenté.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="248"/>
      <source>Proximity line</source>
      <comment>AttachmentLine mode caption</comment>
      <translation>Ligne de proximité</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="249"/>
      <source>Line that spans the shortest distance between shapes.</source>
      <comment>AttachmentLine mode tooltip</comment>
      <translation>Ligne de la distance la plus courte entre des formes.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="251"/>
      <source>1st principal axis</source>
      <comment>AttachmentLine mode caption</comment>
      <translation>1er axe principal</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="252"/>
      <source>Line follows first principal axis of inertia.</source>
      <comment>AttachmentLine mode tooltip</comment>
      <translation>La ligne suit le premier axe principal d’inertie.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="254"/>
      <source>2nd principal axis</source>
      <comment>AttachmentLine mode caption</comment>
      <translation>2ème axe principal</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="255"/>
      <source>Line follows second principal axis of inertia.</source>
      <comment>AttachmentLine mode tooltip</comment>
      <translation>La ligne suit le second axe principal d’inertie.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="257"/>
      <source>3rd principal axis</source>
      <comment>AttachmentLine mode caption</comment>
      <translation>3e axe principal</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="258"/>
      <source>Line follows third principal axis of inertia.</source>
      <comment>AttachmentLine mode tooltip</comment>
      <translation>La ligne suit le troisième axe principal d’inertie.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="260"/>
      <source>Normal to surface</source>
      <comment>AttachmentLine mode caption</comment>
      <translation>Normal à la surface</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="261"/>
      <source>Line perpendicular to surface at point set by vertex.</source>
      <comment>AttachmentLine mode tooltip</comment>
      <translation>Ligne perpendiculaire à la surface au point défini par un vertex.</translation>
    </message>
  </context>
  <context>
    <name>Attacher2D</name>
    <message>
      <location filename="../../AttacherTexts.cpp" line="125"/>
      <source>Deactivated</source>
      <comment>AttachmentPlane mode caption</comment>
      <translation>Désactivé</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="126"/>
      <source>Attachment is disabled. Object can be moved by editing Placement property.</source>
      <comment>AttachmentPlane mode tooltip</comment>
      <translation>L'accrochage est désactivé. L'objet peut être déplacé en modifiant la propriété Placement.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="128"/>
      <source>Translate origin</source>
      <comment>AttachmentPlane mode caption</comment>
      <translation>Translation de l'origine</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="129"/>
      <source>Origin is aligned to match Vertex. Orientation is controlled by Placement property.</source>
      <comment>AttachmentPlane mode tooltip</comment>
      <translation>L'origine est alignée sur un sommet. L’orientation est contrôlée par la propriété Placement.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="131"/>
      <source>Object's XY</source>
      <comment>AttachmentPlane mode caption</comment>
      <translation>XY de l’objet</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="132"/>
      <source>Plane is aligned to XY local plane of linked object.</source>
      <comment>AttachmentPlane mode tooltip</comment>
      <translation>Le plan est aligné sur le plan local XY de l’objet lié.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="134"/>
      <source>Object's XZ</source>
      <comment>AttachmentPlane mode caption</comment>
      <translation>XZ de l’objet</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="135"/>
      <source>Plane is aligned to XZ local plane of linked object.</source>
      <comment>AttachmentPlane mode tooltip</comment>
      <translation>Le plan est aligné sur le plan local XZ de l’objet lié.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="137"/>
      <source>Object's  YZ</source>
      <comment>AttachmentPlane mode caption</comment>
      <translation>YZ de l’objet</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="138"/>
      <source>Plane is aligned to YZ local plane of linked object.</source>
      <comment>AttachmentPlane mode tooltip</comment>
      <translation>Le plan est aligné sur le plan local YZ de l’objet lié.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="140"/>
      <source>Plane face</source>
      <comment>AttachmentPlane mode caption</comment>
      <translation>Face du plan</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="141"/>
      <source>Plane is aligned to coincide planar face.</source>
      <comment>AttachmentPlane mode tooltip</comment>
      <translation>Le plan est aligné pour coïncider avec la face plane.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="143"/>
      <source>Tangent to surface</source>
      <comment>AttachmentPlane mode caption</comment>
      <translation>Tangent à la surface</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="144"/>
      <source>Plane is made tangent to surface at vertex.</source>
      <comment>AttachmentPlane mode tooltip</comment>
      <translation>Le plan est fait tangent à la surface au niveau du sommet.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="146"/>
      <source>Normal to edge</source>
      <comment>AttachmentPlane mode caption</comment>
      <translation>Normal à l'arête</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="147"/>
      <source>Plane is made tangent to edge. Optional vertex link defines where.</source>
      <comment>AttachmentPlane mode tooltip</comment>
      <translation>Le plan est fait tangent à une arête. Le lien optionnel vers un sommet définit où.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="149"/>
      <source>Frenet NB</source>
      <comment>AttachmentPlane mode caption</comment>
      <translation>Plan normal de Frenet</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="150"/>
      <location filename="../../AttacherTexts.cpp" line="153"/>
      <location filename="../../AttacherTexts.cpp" line="156"/>
      <source>Align to Frenet-Serret coordinate system of curved edge. Optional vertex link defines where.</source>
      <comment>AttachmentPlane mode tooltip</comment>
      <translation>Aligner au repère de Frenet-Serret de l'arête courbe. Un lien facultatif à un sommet définit où.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="152"/>
      <source>Frenet TN</source>
      <comment>AttachmentPlane mode caption</comment>
      <translation>Plan osculateur de Frenet</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="155"/>
      <source>Frenet TB</source>
      <comment>AttachmentPlane mode caption</comment>
      <translation>Plan rectifiant de Frenet</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="158"/>
      <source>Concentric</source>
      <comment>AttachmentPlane mode caption</comment>
      <translation>Concentrique</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="159"/>
      <source>Align to plane to osculating circle of an edge. Origin is aligned to point of curvature. Optional vertex link defines where.</source>
      <comment>AttachmentPlane mode tooltip</comment>
      <translation>Aligner au plan du cercle osculateur d’une arête. L'origine est alignée au point de courbure. Un lien facultatif à un sommet définit où.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="161"/>
      <source>Revolution Section</source>
      <comment>AttachmentPlane mode caption</comment>
      <translation>Section de révolution</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="162"/>
      <source>Plane is perpendicular to edge, and Y axis is matched with axis of osculating circle. Optional vertex link defines where.</source>
      <comment>AttachmentPlane mode tooltip</comment>
      <translation>Le plan est perpendiculaire à l'arête, et l'axe Y correspond à l'axe du cercle osculateur. Un lien facultatif à un sommet définit où.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="164"/>
      <source>Plane by 3 points</source>
      <comment>AttachmentPlane mode caption</comment>
      <translation>Plan par 3 points</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="165"/>
      <source>Align plane to pass through three vertices.</source>
      <comment>AttachmentPlane mode tooltip</comment>
      <translation>Aligner le plan pour passer par trois sommets.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="167"/>
      <source>Normal to 3 points</source>
      <comment>AttachmentPlane mode caption</comment>
      <translation>Normal à 3 points</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="168"/>
      <source>Plane will pass through first two vertices, and perpendicular to plane that passes through three vertices.</source>
      <comment>AttachmentPlane mode tooltip</comment>
      <translation>Le plan traversera deux premiers sommets et sera perpendiculaire au plan qui passe par les trois sommets.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="170"/>
      <source>Folding</source>
      <comment>AttachmentPlane mode caption</comment>
      <translation>Pliage</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="171"/>
      <source>Specialty mode for folding polyhedra. Select 4 edges in order: foldable edge, fold line, other fold line, other foldable edge. Plane will be aligned to folding the first edge.</source>
      <comment>AttachmentPlane mode tooltip</comment>
      <translation>Mode spécialisé pour le pliage des polyèdres. Sélectionnez les 4 arêtes dans l’ordre : arête pliable, pliure, autre ligne de pliage, autre arête pliable. Le plan sera aligné sur le premier pli.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="173"/>
      <source>Inertia 2-3</source>
      <comment>AttachmentPlane mode caption</comment>
      <translation>Inertie 2-3</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="174"/>
      <source>Plane constructed on second and third principal axes of inertia (passes through center of mass).</source>
      <comment>AttachmentPlane mode tooltip</comment>
      <translation>Plan construit sur les deuxième et troisième des axes principaux d’inertie (passe par le centre de masse).</translation>
    </message>
  </context>
  <context>
    <name>Attacher3D</name>
    <message>
      <location filename="../../AttacherTexts.cpp" line="50"/>
      <source>Deactivated</source>
      <comment>Attachment3D mode caption</comment>
      <translation>Désactivé</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="51"/>
      <source>Attachment is disabled. Object can be moved by editing Placement property.</source>
      <comment>Attachment3D mode tooltip</comment>
      <translation>L'accrochage est désactivé. L'objet peut être déplacé en modifiant la propriété Placement.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="53"/>
      <source>Translate origin</source>
      <comment>Attachment3D mode caption</comment>
      <translation>Translation de l'origine</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="54"/>
      <source>Origin is aligned to match Vertex. Orientation is controlled by Placement property.</source>
      <comment>Attachment3D mode tooltip</comment>
      <translation>L'origine est alignée sur un sommet. L’orientation est contrôlée par la propriété Placement.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="56"/>
      <source>Object's  X Y Z</source>
      <comment>Attachment3D mode caption</comment>
      <translation>X Y Z de l’objet</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="57"/>
      <source>Placement is made equal to Placement of linked object.</source>
      <comment>Attachment3D mode tooltip</comment>
      <translation>Le placement est calqué sur le Placement de l’objet lié.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="59"/>
      <source>Object's  X Z-Y</source>
      <comment>Attachment3D mode caption</comment>
      <translation>X Z -Y de l’objet</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="60"/>
      <source>X', Y', Z' axes are matched with object's local X, Z, -Y, respectively.</source>
      <comment>Attachment3D mode tooltip</comment>
      <translation>Les axes X', Y', Z' sont respectivement mis en correspondances avec les axes locaux Y, Z -Y de l’objet.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="62"/>
      <source>Object's  Y Z X</source>
      <comment>Attachment3D mode caption</comment>
      <translation>Y Z X de l’objet</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="63"/>
      <source>X', Y', Z' axes are matched with object's local Y, Z, X, respectively.</source>
      <comment>Attachment3D mode tooltip</comment>
      <translation>Les axes X', Y', Z' sont respectivement mis en correspondances avec les axes locaux Y, Z, X de l’objet.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="65"/>
      <source>XY on plane</source>
      <comment>Attachment3D mode caption</comment>
      <translation>XY sur plan</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="66"/>
      <source>X' Y' plane is aligned to coincide planar face.</source>
      <comment>Attachment3D mode tooltip</comment>
      <translation>Le plan X' Y' est aligné pour coïncider avec la face plane.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="68"/>
      <source>XY tangent to surface</source>
      <comment>Attachment3D mode caption</comment>
      <translation>XY tangent à la surface</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="69"/>
      <source>X' Y' plane is made tangent to surface at vertex.</source>
      <comment>Attachment3D mode tooltip</comment>
      <translation>Le plan X' Y' est rendu tangent à la surface au niveau du sommet.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="71"/>
      <source>Z tangent to edge</source>
      <comment>Attachment3D mode caption</comment>
      <translation>Z tangent à l'arête</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="72"/>
      <source>Z' axis is aligned to be tangent to edge. Optional vertex link defines where.</source>
      <comment>Attachment3D mode tooltip</comment>
      <translation>L'axe Z est aligné pour être tangent à l'arête. Le lien facultatif vers un sommet définit où.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="74"/>
      <source>Frenet NBT</source>
      <comment>Attachment3D mode caption</comment>
      <translation>Frenet NBT</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="75"/>
      <location filename="../../AttacherTexts.cpp" line="78"/>
      <location filename="../../AttacherTexts.cpp" line="81"/>
      <source>Align to Frenet-Serret coordinate system of curved edge. Optional vertex link defines where.</source>
      <comment>Attachment3D mode tooltip</comment>
      <translation>Aligner au repère de Frenet-Serret de l'arête courbe. Un lien facultatif à un sommet définit où.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="77"/>
      <source>Frenet TNB</source>
      <comment>Attachment3D mode caption</comment>
      <translation>Frenet TNB</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="80"/>
      <source>Frenet TBN</source>
      <comment>Attachment3D mode caption</comment>
      <translation>Frenet TBN</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="83"/>
      <source>Concentric</source>
      <comment>Attachment3D mode caption</comment>
      <translation>Concentrique</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="84"/>
      <source>Align XY plane to osculating circle of an edge. Optional vertex link defines where.</source>
      <comment>Attachment3D mode tooltip</comment>
      <translation>Aligner le plan XY au cercle osculateur d'une arête. Un lien facultatif à un sommet définit où.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="86"/>
      <source>Revolution Section</source>
      <comment>Attachment3D mode caption</comment>
      <translation>Section de révolution</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="87"/>
      <source>Align Y' axis to match axis of osculating circle of an edge. Optional vertex link defines where.</source>
      <comment>Attachment3D mode tooltip</comment>
      <translation>Aligner l'axe Y au cercle osculateur d'une arête. Un lien facultatif à un sommet définit où.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="89"/>
      <source>XY plane by 3 points</source>
      <comment>Attachment3D mode caption</comment>
      <translation>Plan XY par 3 points</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="90"/>
      <source>Align XY plane to pass through three vertices.</source>
      <comment>Attachment3D mode tooltip</comment>
      <translation>Aligner le plan XY pour passer par trois sommets.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="92"/>
      <source>XZ plane by 3 points</source>
      <comment>Attachment3D mode caption</comment>
      <translation>Plan XZ par 3 points</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="93"/>
      <source>Align XZ plane to pass through 3 points; X axis will pass through two first points.</source>
      <comment>Attachment3D mode tooltip</comment>
      <translation>Aligner le plan XZ pour qu'il passe par 3 points ; l'axe X passera par les deux premiers points.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="95"/>
      <source>Folding</source>
      <comment>Attachment3D mode caption</comment>
      <translation>Pliage</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="96"/>
      <source>Specialty mode for folding polyhedra. Select 4 edges in order: foldable edge, fold line, other fold line, other foldable edge. XY plane will be aligned to folding the first edge.</source>
      <comment>Attachment3D mode tooltip</comment>
      <translation>Mode spécialisé pour le pliage des polyèdres. Sélectionnez les 4 arêtes dans l’ordre : arête pliable, pliure, autre ligne de pliage, autre arête pliable. Le plan XY sera aligné sur le premier pli.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="98"/>
      <source>Inertial CS</source>
      <comment>Attachment3D mode caption</comment>
      <translation>Système de coordonnées inertiel</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="99"/>
      <source>Inertial coordinate system, constructed on principal axes of inertia and center of mass.</source>
      <comment>Attachment3D mode tooltip</comment>
      <translation>Système de coordonnées inertiel, construit sur les axes principaux d’inertie et de centre de masse.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="101"/>
      <source>Align O-Z-X</source>
      <comment>Attachment3D mode caption</comment>
      <translation>Aligner O-Z-X</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="102"/>
      <source>Match origin with first Vertex. Align Z' and X' axes towards vertex/along line.</source>
      <comment>Attachment3D mode tooltip</comment>
      <translation>Faire correspondre l'origine avec le premier sommet. Aligner les axes Z' et X' avec un sommet ou le long d'une ligne.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="104"/>
      <source>Align O-Z-Y</source>
      <comment>Attachment3D mode caption</comment>
      <translation>Aligner O-Z-Y</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="105"/>
      <source>Match origin with first Vertex. Align Z' and Y' axes towards vertex/along line.</source>
      <comment>Attachment3D mode tooltip</comment>
      <translation>Faire correspondre l'origine avec le premier sommet. Aligner les axes Z' et Y' avec un sommet ou le long d'une ligne.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="107"/>
      <location filename="../../AttacherTexts.cpp" line="182"/>
      <source>Align O-X-Y</source>
      <comment>Attachment3D mode caption</comment>
      <translation>Aligner O-X-Y</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="108"/>
      <source>Match origin with first Vertex. Align X' and Y' axes towards vertex/along line.</source>
      <comment>Attachment3D mode tooltip</comment>
      <translation>Faire correspondre l'origine avec le premier sommet. Aligner les axes X' et Y' avec un sommet ou le long d'une ligne.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="110"/>
      <source>Align O-X-Z</source>
      <comment>Attachment3D mode caption</comment>
      <translation>Aligner O-X-Z</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="111"/>
      <source>Match origin with first Vertex. Align X' and Z' axes towards vertex/along line.</source>
      <comment>Attachment3D mode tooltip</comment>
      <translation>Faire correspondre l'origine avec le premier sommet. Aligner les axes X' et Z' avec un sommet ou le long d'une ligne.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="113"/>
      <source>Align O-Y-Z</source>
      <comment>Attachment3D mode caption</comment>
      <translation>Aligner O-Y-Z</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="114"/>
      <source>Match origin with first Vertex. Align Y' and Z' axes towards vertex/along line.</source>
      <comment>Attachment3D mode tooltip</comment>
      <translation>Faire correspondre l'origine avec le premier sommet. Aligner les axes Y' et Z' avec un sommet ou le long d'une ligne.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="116"/>
      <location filename="../../AttacherTexts.cpp" line="191"/>
      <source>Align O-Y-X</source>
      <comment>Attachment3D mode caption</comment>
      <translation>Aligner O-Y-X</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="117"/>
      <source>Match origin with first Vertex. Align Y' and X' axes towards vertex/along line.</source>
      <comment>Attachment3D mode tooltip</comment>
      <translation>Faire correspondre l'origine avec le premier sommet. Aligner les axes Y' et X' avec un sommet ou le long d'une ligne.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="176"/>
      <source>Align O-N-X</source>
      <comment>Attachment3D mode caption</comment>
      <translation>Aligner O-N-X</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="177"/>
      <source>Match origin with first Vertex. Align normal and horizontal plane axis towards vertex/along line.</source>
      <comment>Attachment3D mode tooltip</comment>
      <translation>Faire correspondre l'origine avec le premier sommet. Aligner la normale et le plan horizontal avec un sommet ou le long d'une ligne.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="179"/>
      <source>Align O-N-Y</source>
      <comment>Attachment3D mode caption</comment>
      <translation>Aligner O-N-Y</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="180"/>
      <source>Match origin with first Vertex. Align normal and vertical plane axis towards vertex/along line.</source>
      <comment>Attachment3D mode tooltip</comment>
      <translation>Faire correspondre l'origine avec le premier sommet. Aligner la normale et le plan vertical avec un sommet ou le long d'une ligne.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="183"/>
      <source>Match origin with first Vertex. Align horizontal and vertical plane axes towards vertex/along line.</source>
      <comment>Attachment3D mode tooltip</comment>
      <translation>Faire correspondre l'origine avec le premier sommet. Aligner les axes des plans horizontal et vertical avec un sommet ou le long d'une ligne.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="185"/>
      <source>Align O-X-N</source>
      <comment>Attachment3D mode caption</comment>
      <translation>Aligner O-X-N</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="186"/>
      <source>Match origin with first Vertex. Align horizontal plane axis and normal towards vertex/along line.</source>
      <comment>Attachment3D mode tooltip</comment>
      <translation>Faire correspondre l'origine avec le premier sommet. Aligner le plan horizontal et la normale avec un sommet ou le long d'une ligne.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="188"/>
      <source>Align O-Y-N</source>
      <comment>Attachment3D mode caption</comment>
      <translation>Aligner O-Y-N</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="189"/>
      <source>Match origin with first Vertex. Align vertical plane axis and normal towards vertex/along line.</source>
      <comment>Attachment3D mode tooltip</comment>
      <translation>Faire correspondre l'origine avec le premier sommet. Aligner le plan vertical et la normale avec un sommet ou le long d'une ligne.</translation>
    </message>
    <message>
      <location filename="../../AttacherTexts.cpp" line="192"/>
      <source>Match origin with first Vertex. Align vertical and horizontal plane axes towards vertex/along line.</source>
      <comment>Attachment3D mode tooltip</comment>
      <translation>Faire correspondre l'origine avec le premier sommet. Aligner les axes des plans vertical et horizontal avec un sommet ou le long d'une ligne.</translation>
    </message>
  </context>
  <context>
    <name>BlockDefinition</name>
    <message>
      <location filename="../../DlgBlock.ui" line="14"/>
      <source>Block definition</source>
      <translation>Définition de bloc</translation>
    </message>
    <message>
      <location filename="../../DlgBlock.ui" line="20"/>
      <source>First limit</source>
      <translation>Première limite</translation>
    </message>
    <message>
      <location filename="../../DlgBlock.ui" line="40"/>
      <location filename="../../DlgBlock.ui" line="221"/>
      <source>Type:</source>
      <translation>Type :</translation>
    </message>
    <message>
      <location filename="../../DlgBlock.ui" line="47"/>
      <location filename="../../DlgBlock.ui" line="201"/>
      <source>mm</source>
      <translation>mm</translation>
    </message>
    <message>
      <location filename="../../DlgBlock.ui" line="57"/>
      <location filename="../../DlgBlock.ui" line="257"/>
      <source>Length:</source>
      <translation>Longueur :</translation>
    </message>
    <message>
      <location filename="../../DlgBlock.ui" line="65"/>
      <location filename="../../DlgBlock.ui" line="229"/>
      <source>Dimension</source>
      <translation>Dimension</translation>
    </message>
    <message>
      <location filename="../../DlgBlock.ui" line="70"/>
      <location filename="../../DlgBlock.ui" line="234"/>
      <source>Up to next</source>
      <translation>Jusqu'au suivant</translation>
    </message>
    <message>
      <location filename="../../DlgBlock.ui" line="75"/>
      <location filename="../../DlgBlock.ui" line="239"/>
      <source>Up to last</source>
      <translation>Jusqu'au dernier</translation>
    </message>
    <message>
      <location filename="../../DlgBlock.ui" line="80"/>
      <location filename="../../DlgBlock.ui" line="244"/>
      <source>Up to plane</source>
      <translation>Jusqu'au plan</translation>
    </message>
    <message>
      <location filename="../../DlgBlock.ui" line="85"/>
      <location filename="../../DlgBlock.ui" line="249"/>
      <source>Up to face</source>
      <translation>Jusqu'à la face</translation>
    </message>
    <message>
      <location filename="../../DlgBlock.ui" line="93"/>
      <location filename="../../DlgBlock.ui" line="264"/>
      <source>Limit:</source>
      <translation>Limite :</translation>
    </message>
    <message>
      <location filename="../../DlgBlock.ui" line="103"/>
      <location filename="../../DlgBlock.ui" line="142"/>
      <location filename="../../DlgBlock.ui" line="214"/>
      <location filename="../../DlgBlock.ui" line="309"/>
      <source>No selection</source>
      <translation>Aucune sélection</translation>
    </message>
    <message>
      <location filename="../../DlgBlock.ui" line="115"/>
      <source>Profile</source>
      <translation>Profil</translation>
    </message>
    <message>
      <location filename="../../DlgBlock.ui" line="135"/>
      <source>Selection:</source>
      <translation>Sélection :</translation>
    </message>
    <message>
      <location filename="../../DlgBlock.ui" line="162"/>
      <source>Reverse</source>
      <translation>Inverser</translation>
    </message>
    <message>
      <location filename="../../DlgBlock.ui" line="169"/>
      <source>Both sides</source>
      <translation>Deux directions</translation>
    </message>
    <message>
      <location filename="../../DlgBlock.ui" line="181"/>
      <source>Second limit</source>
      <translation>Deuxième limite</translation>
    </message>
    <message>
      <location filename="../../DlgBlock.ui" line="276"/>
      <source>Direction</source>
      <translation>Direction</translation>
    </message>
    <message>
      <location filename="../../DlgBlock.ui" line="288"/>
      <source>Perpendicular to sketch</source>
      <translation>Perpendiculaire à l'esquisse</translation>
    </message>
    <message>
      <location filename="../../DlgBlock.ui" line="316"/>
      <source>Reference</source>
      <translation>Référence</translation>
    </message>
  </context>
  <context>
    <name>CmdBoxSelection</name>
    <message>
      <location filename="../../Command.cpp" line="2355"/>
      <source>Part</source>
      <translation>Pièce</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="2356"/>
      <location filename="../../Command.cpp" line="2357"/>
      <location filename="../../Command.cpp" line="2359"/>
      <source>Box selection</source>
      <translation>Sélection par boîte</translation>
    </message>
  </context>
  <context>
    <name>CmdCheckGeometry</name>
    <message>
      <location filename="../../Command.cpp" line="2104"/>
      <source>Part</source>
      <translation>Pièce</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="2105"/>
      <source>Check Geometry</source>
      <translation>Vérifier la géométrie</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="2106"/>
      <source>Analyzes Geometry For Errors</source>
      <translation>Analyse la géométrie</translation>
    </message>
  </context>
  <context>
    <name>CmdColorPerFace</name>
    <message>
      <location filename="../../Command.cpp" line="2138"/>
      <source>Part</source>
      <translation>Pièce</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="2139"/>
      <source>Color per face</source>
      <translation>Couleur par face</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="2140"/>
      <source>Set color per face</source>
      <translation>Définir la couleur des faces</translation>
    </message>
  </context>
  <context>
    <name>CmdMeasureAngular</name>
    <message>
      <location filename="../../Command.cpp" line="2204"/>
      <source>Part</source>
      <translation>Pièce</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="2205"/>
      <location filename="../../Command.cpp" line="2206"/>
      <source>Measure Angular</source>
      <translation>Mesure angulaire</translation>
    </message>
  </context>
  <context>
    <name>CmdMeasureClearAll</name>
    <message>
      <location filename="../../Command.cpp" line="2233"/>
      <source>Part</source>
      <translation>Pièce</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="2234"/>
      <location filename="../../Command.cpp" line="2235"/>
      <source>Clear All</source>
      <translation>Tout effacer</translation>
    </message>
  </context>
  <context>
    <name>CmdMeasureLinear</name>
    <message>
      <location filename="../../Command.cpp" line="2175"/>
      <source>Part</source>
      <translation>Pièce</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="2176"/>
      <location filename="../../Command.cpp" line="2177"/>
      <source>Measure Linear</source>
      <translation>Mesure linéaire</translation>
    </message>
  </context>
  <context>
    <name>CmdMeasureToggle3d</name>
    <message>
      <location filename="../../Command.cpp" line="2297"/>
      <source>Part</source>
      <translation>Pièce</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="2298"/>
      <location filename="../../Command.cpp" line="2299"/>
      <source>Toggle 3d</source>
      <translation>Basculer 3D</translation>
    </message>
  </context>
  <context>
    <name>CmdMeasureToggleAll</name>
    <message>
      <location filename="../../Command.cpp" line="2262"/>
      <source>Part</source>
      <translation>Pièce</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="2263"/>
      <location filename="../../Command.cpp" line="2264"/>
      <source>Toggle All</source>
      <translation>Basculer tous</translation>
    </message>
  </context>
  <context>
    <name>CmdMeasureToggleDelta</name>
    <message>
      <location filename="../../Command.cpp" line="2326"/>
      <source>Part</source>
      <translation>Pièce</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="2327"/>
      <location filename="../../Command.cpp" line="2328"/>
      <source>Toggle Delta</source>
      <translation>Basculer Delta</translation>
    </message>
  </context>
  <context>
    <name>CmdPartBoolean</name>
    <message>
      <location filename="../../Command.cpp" line="1274"/>
      <source>Part</source>
      <translation>Pièce</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="1275"/>
      <source>Boolean...</source>
      <translation>Opération booléenne...</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="1276"/>
      <source>Run a boolean operation with two shapes selected</source>
      <translation>Exécuter une opération booléenne sur deux formes sélectionnées</translation>
    </message>
  </context>
  <context>
    <name>CmdPartBox</name>
    <message>
      <location filename="../../CommandParametric.cpp" line="87"/>
      <source>Part</source>
      <translation>Pièce</translation>
    </message>
    <message>
      <location filename="../../CommandParametric.cpp" line="88"/>
      <location filename="../../CommandParametric.cpp" line="99"/>
      <location filename="../../CommandParametric.cpp" line="104"/>
      <source>Cube</source>
      <translation>Cube</translation>
    </message>
    <message>
      <location filename="../../CommandParametric.cpp" line="89"/>
      <source>Create a cube solid</source>
      <translation>Créer un cube plein</translation>
    </message>
  </context>
  <context>
    <name>CmdPartBox2</name>
    <message>
      <location filename="../../Command.cpp" line="135"/>
      <source>Part</source>
      <translation>Pièce</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="136"/>
      <source>Box fix 1</source>
      <translation>Boîte correctif 1</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="137"/>
      <source>Create a box solid without dialog</source>
      <translation>Créer une boîte solide sans boîte de dialogue</translation>
    </message>
  </context>
  <context>
    <name>CmdPartBox3</name>
    <message>
      <location filename="../../Command.cpp" line="176"/>
      <source>Part</source>
      <translation>Pièce</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="177"/>
      <source>Box fix 2</source>
      <translation>Boîte correctif 2</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="178"/>
      <source>Create a box solid without dialog</source>
      <translation>Créer une boîte solide sans boîte de dialogue</translation>
    </message>
  </context>
  <context>
    <name>CmdPartBuilder</name>
    <message>
      <location filename="../../Command.cpp" line="1535"/>
      <source>Part</source>
      <translation>Pièce</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="1536"/>
      <source>Shape builder...</source>
      <translation>Générateur de forme...</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="1537"/>
      <source>Advanced utility to create shapes</source>
      <translation>Utilitaire avancé de création de formes</translation>
    </message>
  </context>
  <context>
    <name>CmdPartChamfer</name>
    <message>
      <location filename="../../Command.cpp" line="1439"/>
      <source>Part</source>
      <translation>Pièce</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="1440"/>
      <source>Chamfer...</source>
      <translation>Chanfrein...</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="1441"/>
      <source>Chamfer the selected edges of a shape</source>
      <translation>Chanfreiner les arêtes sélectionnées d'une forme</translation>
    </message>
  </context>
  <context>
    <name>CmdPartCommon</name>
    <message>
      <location filename="../../Command.cpp" line="349"/>
      <source>Part</source>
      <translation>Pièce</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="350"/>
      <source>Intersection</source>
      <translation>Intersection</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="351"/>
      <source>Make an intersection of two shapes</source>
      <translation>Exécuter une intersection entre deux formes</translation>
    </message>
  </context>
  <context>
    <name>CmdPartCompCompoundTools</name>
    <message>
      <location filename="../../Command.cpp" line="782"/>
      <source>Part</source>
      <translation>Pièce</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="783"/>
      <source>Counpound tools</source>
      <translation>Outils de composition</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="784"/>
      <source>Compound tools: working with lists of shapes.</source>
      <translation>Outils de composition : travailler avec des listes de formes.</translation>
    </message>
  </context>
  <context>
    <name>CmdPartCompJoinFeatures</name>
    <message>
      <location filename="../../Command.cpp" line="554"/>
      <source>Part</source>
      <translation>Pièce</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="555"/>
      <source>Join objects...</source>
      <translation>Joindre les objets...</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="556"/>
      <source>Join walled objects</source>
      <translation>Joindre les objets à paroi</translation>
    </message>
  </context>
  <context>
    <name>CmdPartCompOffset</name>
    <message>
      <location filename="../../Command.cpp" line="1720"/>
      <source>Part</source>
      <translation>Pièce</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="1721"/>
      <source>Offset:</source>
      <translation>Décalage :</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="1722"/>
      <source>Tools to offset shapes (construct parallel shapes)</source>
      <translation>Outils pour décaler des formes (construire des formes parallèles)</translation>
    </message>
  </context>
  <context>
    <name>CmdPartCompSplitFeatures</name>
    <message>
      <location filename="../../Command.cpp" line="660"/>
      <source>Part</source>
      <translation>Pièce</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="661"/>
      <source>Split objects...</source>
      <translation>Éclater des objets...</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="662"/>
      <source>Shape splitting tools. Compsolid creation tools. OCC 6.9.0 or later is required.</source>
      <translation>Outils de division de forme. Outils de création de Compsolid. OCC 6.9.0 ou ultérieur est requis.</translation>
    </message>
  </context>
  <context>
    <name>CmdPartCompound</name>
    <message>
      <location filename="../../Command.cpp" line="889"/>
      <source>Part</source>
      <translation>Pièce</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="890"/>
      <source>Make compound</source>
      <translation>Créer un composé</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="891"/>
      <source>Make a compound of several shapes</source>
      <translation>Créer un composé à partir de plusieurs formes</translation>
    </message>
  </context>
  <context>
    <name>CmdPartCone</name>
    <message>
      <location filename="../../CommandParametric.cpp" line="169"/>
      <source>Part</source>
      <translation>Pièce</translation>
    </message>
    <message>
      <location filename="../../CommandParametric.cpp" line="170"/>
      <location filename="../../CommandParametric.cpp" line="181"/>
      <location filename="../../CommandParametric.cpp" line="186"/>
      <source>Cone</source>
      <translation>Cône</translation>
    </message>
    <message>
      <location filename="../../CommandParametric.cpp" line="171"/>
      <source>Create a cone solid</source>
      <translation>Créer un solide conique</translation>
    </message>
  </context>
  <context>
    <name>CmdPartCrossSections</name>
    <message>
      <location filename="../../Command.cpp" line="1495"/>
      <source>Part</source>
      <translation>Pièce</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="1496"/>
      <source>Cross-sections...</source>
      <translation>Coupes...</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="1497"/>
      <source>Cross-sections</source>
      <translation>Coupes</translation>
    </message>
  </context>
  <context>
    <name>CmdPartCut</name>
    <message>
      <location filename="../../Command.cpp" line="271"/>
      <source>Part</source>
      <translation>Pièce</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="272"/>
      <source>Cut</source>
      <translation>Soustraction</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="273"/>
      <source>Make a cut of two shapes</source>
      <translation>Exécuter une soustraction sur deux formes</translation>
    </message>
  </context>
  <context>
    <name>CmdPartCylinder</name>
    <message>
      <location filename="../../CommandParametric.cpp" line="46"/>
      <source>Part</source>
      <translation>Pièce</translation>
    </message>
    <message>
      <location filename="../../CommandParametric.cpp" line="47"/>
      <location filename="../../CommandParametric.cpp" line="58"/>
      <location filename="../../CommandParametric.cpp" line="63"/>
      <source>Cylinder</source>
      <translation>Cylindre</translation>
    </message>
    <message>
      <location filename="../../CommandParametric.cpp" line="48"/>
      <source>Create a Cylinder</source>
      <translation>Créer un cylindre</translation>
    </message>
  </context>
  <context>
    <name>CmdPartDefeaturing</name>
    <message>
      <location filename="../../CommandSimple.cpp" line="271"/>
      <source>Part</source>
      <translation>Pièce</translation>
    </message>
    <message>
      <location filename="../../CommandSimple.cpp" line="272"/>
      <source>Defeaturing</source>
      <translation>Supprimer la fonctionnalité</translation>
    </message>
    <message>
      <location filename="../../CommandSimple.cpp" line="273"/>
      <source>Remove feature from a shape</source>
      <translation>Supprimer la fonction d’une forme</translation>
    </message>
  </context>
  <context>
    <name>CmdPartExport</name>
    <message>
      <location filename="../../Command.cpp" line="1047"/>
      <source>Part</source>
      <translation>Pièce</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="1048"/>
      <source>Export CAD...</source>
      <translation>Exportation CAO...</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="1049"/>
      <source>Exports to a CAD file</source>
      <translation>Exporte vers un fichier dans un format de CAO</translation>
    </message>
  </context>
  <context>
    <name>CmdPartExtrude</name>
    <message>
      <location filename="../../Command.cpp" line="1305"/>
      <source>Part</source>
      <translation>Pièce</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="1306"/>
      <source>Extrude...</source>
      <translation>Extrusion...</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="1307"/>
      <source>Extrude a selected sketch</source>
      <translation>Extrusion d'une esquisse sélectionnée</translation>
    </message>
  </context>
  <context>
    <name>CmdPartFillet</name>
    <message>
      <location filename="../../Command.cpp" line="1411"/>
      <source>Part</source>
      <translation>Pièce</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="1412"/>
      <source>Fillet...</source>
      <translation>Congé...</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="1413"/>
      <source>Fillet the selected edges of a shape</source>
      <translation>Créer un congé sur les arêtes sélectionnées d'une forme</translation>
    </message>
  </context>
  <context>
    <name>CmdPartFuse</name>
    <message>
      <location filename="../../Command.cpp" line="451"/>
      <source>Part</source>
      <translation>Pièce</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="452"/>
      <source>Union</source>
      <translation>Union</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="453"/>
      <source>Make a union of several shapes</source>
      <translation>Exécuter l'union de plusieurs formes</translation>
    </message>
  </context>
  <context>
    <name>CmdPartImport</name>
    <message>
      <location filename="../../Command.cpp" line="987"/>
      <source>Part</source>
      <translation>Pièce</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="988"/>
      <source>Import CAD...</source>
      <translation>Importation CAO...</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="989"/>
      <source>Imports a CAD file</source>
      <translation>Importe un fichier CAO</translation>
    </message>
  </context>
  <context>
    <name>CmdPartImportCurveNet</name>
    <message>
      <location filename="../../Command.cpp" line="1094"/>
      <source>Part</source>
      <translation>Pièce</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="1095"/>
      <source>Import curve network...</source>
      <translation>Importer réseau de courbes...</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="1096"/>
      <source>Import a curve network</source>
      <translation>Importer un réseau de courbes</translation>
    </message>
  </context>
  <context>
    <name>CmdPartLoft</name>
    <message>
      <location filename="../../Command.cpp" line="1564"/>
      <source>Part</source>
      <translation>Pièce</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="1565"/>
      <source>Loft...</source>
      <translation>Lissage...</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="1566"/>
      <source>Utility to loft</source>
      <translation>Lissage d'une série de profils</translation>
    </message>
  </context>
  <context>
    <name>CmdPartMakeFace</name>
    <message>
      <location filename="../../Command.cpp" line="1333"/>
      <source>Part</source>
      <translation>Pièce</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="1334"/>
      <source>Make face from wires</source>
      <translation>Créer une face à partir de fils</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="1335"/>
      <source>Make face from set of wires (e.g. from a sketch)</source>
      <translation>Créer une face à partir d'un ensemble de fils (par exemple, à partir d’une esquisse)</translation>
    </message>
  </context>
  <context>
    <name>CmdPartMakeSolid</name>
    <message>
      <location filename="../../Command.cpp" line="1142"/>
      <source>Part</source>
      <translation>Pièce</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="1143"/>
      <source>Convert to solid</source>
      <translation>Convertir en solide</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="1144"/>
      <source>Create solid from a shell or compound</source>
      <translation>Créer un solide à partir d'une coque ou d'un composé</translation>
    </message>
  </context>
  <context>
    <name>CmdPartMirror</name>
    <message>
      <location filename="../../Command.cpp" line="1467"/>
      <source>Part</source>
      <translation>Pièce</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="1468"/>
      <source>Mirroring...</source>
      <translation>Mise en miroir...</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="1469"/>
      <source>Mirroring a selected shape</source>
      <translation>Mise en miroir de la forme sélectionnée</translation>
    </message>
  </context>
  <context>
    <name>CmdPartOffset</name>
    <message>
      <location filename="../../Command.cpp" line="1622"/>
      <source>Part</source>
      <translation>Pièce</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="1623"/>
      <source>3D Offset...</source>
      <translation>Décalage 3D...</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="1624"/>
      <source>Utility to offset in 3D</source>
      <translation>Utilitaire pour décaler en 3D</translation>
    </message>
  </context>
  <context>
    <name>CmdPartOffset2D</name>
    <message>
      <location filename="../../Command.cpp" line="1672"/>
      <source>Part</source>
      <translation>Pièce</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="1673"/>
      <source>2D Offset...</source>
      <translation>Décalage 2D...</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="1674"/>
      <source>Utility to offset planar shapes</source>
      <translation>Utilitaire pour décaler des formes planaires</translation>
    </message>
  </context>
  <context>
    <name>CmdPartPickCurveNet</name>
    <message>
      <location filename="../../Command.cpp" line="89"/>
      <source>Part</source>
      <translation>Pièce</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="90"/>
      <source>Pick curve network</source>
      <translation>Choisir un réseau de courbes</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="91"/>
      <source>Pick a curve network</source>
      <translation>Choisir un réseau de courbes</translation>
    </message>
  </context>
  <context>
    <name>CmdPartPrimitives</name>
    <message>
      <location filename="../../Command.cpp" line="217"/>
      <source>Part</source>
      <translation>Pièce</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="218"/>
      <source>Create primitives...</source>
      <translation>Créer des primitives...</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="219"/>
      <source>Creation of parametrized geometric primitives</source>
      <translation>Création de primitives géométriques paramétrées</translation>
    </message>
  </context>
  <context>
    <name>CmdPartRefineShape</name>
    <message>
      <location filename="../../CommandSimple.cpp" line="218"/>
      <source>Part</source>
      <translation>Pièce</translation>
    </message>
    <message>
      <location filename="../../CommandSimple.cpp" line="219"/>
      <source>Refine shape</source>
      <translation>Affiner la forme</translation>
    </message>
    <message>
      <location filename="../../CommandSimple.cpp" line="220"/>
      <source>Refine the copy of a shape</source>
      <translation>Affiner la copie d'une forme</translation>
    </message>
  </context>
  <context>
    <name>CmdPartReverseShape</name>
    <message>
      <location filename="../../Command.cpp" line="1220"/>
      <source>Part</source>
      <translation>Pièce</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="1221"/>
      <source>Reverse shapes</source>
      <translation>Inverser les formes</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="1222"/>
      <source>Reverse orientation of shapes</source>
      <translation>Inverser l'orientation des formes</translation>
    </message>
  </context>
  <context>
    <name>CmdPartRevolve</name>
    <message>
      <location filename="../../Command.cpp" line="1383"/>
      <source>Part</source>
      <translation>Pièce</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="1384"/>
      <source>Revolve...</source>
      <translation>Révolution...</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="1385"/>
      <source>Revolve a selected shape</source>
      <translation>Révolutionner une forme sélectionnée</translation>
    </message>
  </context>
  <context>
    <name>CmdPartRuledSurface</name>
    <message>
      <location filename="../../Command.cpp" line="1988"/>
      <source>Part</source>
      <translation>Pièce</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="1989"/>
      <source>Create ruled surface</source>
      <translation>Créer une surface réglée</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="1990"/>
      <source>Create a ruled surface from either two Edges or two wires</source>
      <translation>Créer une surface réglée depuis deux arêtes ou deux fils</translation>
    </message>
  </context>
  <context>
    <name>CmdPartSection</name>
    <message>
      <location filename="../../Command.cpp" line="940"/>
      <source>Part</source>
      <translation>Pièce</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="941"/>
      <source>Section</source>
      <translation>Section</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="942"/>
      <source>Make a section of two shapes</source>
      <translation>Faire une section de deux formes</translation>
    </message>
  </context>
  <context>
    <name>CmdPartShapeFromMesh</name>
    <message>
      <location filename="../../CommandSimple.cpp" line="108"/>
      <source>Part</source>
      <translation>Pièce</translation>
    </message>
    <message>
      <location filename="../../CommandSimple.cpp" line="109"/>
      <source>Create shape from mesh...</source>
      <translation>Créer la forme à partir d'un maillage...</translation>
    </message>
    <message>
      <location filename="../../CommandSimple.cpp" line="110"/>
      <source>Create shape from selected mesh object</source>
      <translation>Créer une forme à partir du maillage sélectionné</translation>
    </message>
  </context>
  <context>
    <name>CmdPartSimpleCopy</name>
    <message>
      <location filename="../../CommandSimple.cpp" line="172"/>
      <source>Part</source>
      <translation>Pièce</translation>
    </message>
    <message>
      <location filename="../../CommandSimple.cpp" line="173"/>
      <source>Create simple copy</source>
      <translation>Créer une copie simple</translation>
    </message>
    <message>
      <location filename="../../CommandSimple.cpp" line="174"/>
      <source>Create a simple non-parametric copy</source>
      <translation>Créer une copie simple non-paramétrique</translation>
    </message>
  </context>
  <context>
    <name>CmdPartSimpleCylinder</name>
    <message>
      <location filename="../../CommandSimple.cpp" line="57"/>
      <source>Part</source>
      <translation>Pièce</translation>
    </message>
    <message>
      <location filename="../../CommandSimple.cpp" line="58"/>
      <source>Create Cylinder...</source>
      <translation>Créer un cylindre...</translation>
    </message>
    <message>
      <location filename="../../CommandSimple.cpp" line="59"/>
      <source>Create a Cylinder</source>
      <translation>Créer un cylindre</translation>
    </message>
  </context>
  <context>
    <name>CmdPartSphere</name>
    <message>
      <location filename="../../CommandParametric.cpp" line="128"/>
      <source>Part</source>
      <translation>Pièce</translation>
    </message>
    <message>
      <location filename="../../CommandParametric.cpp" line="129"/>
      <location filename="../../CommandParametric.cpp" line="140"/>
      <location filename="../../CommandParametric.cpp" line="145"/>
      <source>Sphere</source>
      <translation>Sphère</translation>
    </message>
    <message>
      <location filename="../../CommandParametric.cpp" line="130"/>
      <source>Create a sphere solid</source>
      <translation>Créer un solide sphérique</translation>
    </message>
  </context>
  <context>
    <name>CmdPartSweep</name>
    <message>
      <location filename="../../Command.cpp" line="1593"/>
      <source>Part</source>
      <translation>Pièce</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="1594"/>
      <source>Sweep...</source>
      <translation>Balayage...</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="1595"/>
      <source>Utility to sweep</source>
      <translation>Balayage d'une ou plusieurs section le long d'un chemin</translation>
    </message>
  </context>
  <context>
    <name>CmdPartThickness</name>
    <message>
      <location filename="../../Command.cpp" line="1813"/>
      <source>Part</source>
      <translation>Pièce</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="1814"/>
      <source>Thickness...</source>
      <translation>Évidement...</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="1815"/>
      <source>Utility to apply a thickness</source>
      <translation>Évidement d'un solide sélectionné</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="1827"/>
      <location filename="../../Command.cpp" line="1847"/>
      <source>Wrong selection</source>
      <translation>Sélection invalide</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="1828"/>
      <source>Selected one or more faces of a shape</source>
      <translation>Sélectionner une ou plusieurs faces d'une forme</translation>
    </message>
    <message>
      <location filename="../../Command.cpp" line="1848"/>
      <source>Selected shape is not a solid</source>
      <translation>La forme sélectionnée n'est pas un solide</translation>
    </message>
  </context>
  <context>
    <name>CmdPartTorus</name>
    <message>
      <location filename="../../CommandParametric.cpp" line="210"/>
      <source>Part</source>
      <translation>Pièce</translation>
    </message>
    <message>
      <location filename="../../CommandParametric.cpp" line="211"/>
      <location filename="../../CommandParametric.cpp" line="222"/>
      <location filename="../../CommandParametric.cpp" line="227"/>
      <source>Torus</source>
      <translation>Tore</translation>
    </message>
    <message>
      <location filename="../../CommandParametric.cpp" line="212"/>
      <source>Create a torus solid</source>
      <translation>Créer un solide toroïdal</translation>
    </message>
  </context>
  <context>
    <name>PartDesignGui::TaskDatumParameters</name>
    <message>
      <location filename="../../../AttachmentEditor/TaskAttachmentEditor.ui" line="14"/>
      <source>Form</source>
      <translation>Forme</translation>
    </message>
    <message>
      <location filename="../../../AttachmentEditor/TaskAttachmentEditor.ui" line="20"/>
      <source>Selection accepted</source>
      <translation>Sélection acceptée</translation>
    </message>
    <message>
      <location filename="../../../AttachmentEditor/TaskAttachmentEditor.ui" line="35"/>
      <source>Reference 1</source>
      <translation>Référence 1</translation>
    </message>
    <message>
      <location filename="../../../AttachmentEditor/TaskAttachmentEditor.ui" line="52"/>
      <source>Reference 2</source>
      <translation>Référence 2</translation>
    </message>
    <message>
      <location filename="../../../AttachmentEditor/TaskAttachmentEditor.ui" line="69"/>
      <source>Reference 3</source>
      <translation>Référence 3</translation>
    </message>
    <message>
      <location filename="../../../AttachmentEditor/TaskAttachmentEditor.ui" line="86"/>
      <source>Reference 4</source>
      <translation>Référence 4</translation>
    </message>
    <message>
      <location filename="../../../AttachmentEditor/TaskAttachmentEditor.ui" line="101"/>
      <source>Attachment mode:</source>
      <translation>Mode d'accrochage :</translation>
    </message>
    <message>
      <location filename="../../../AttachmentEditor/TaskAttachmentEditor.ui" line="121"/>
      <source>AttachmentOffset property. The placement is expressed in local space of object being attached.</source>
      <translation>Propriété AttachmentOffset (compensation d'accrochage). Le placement est exprimé localement par rapport à l'objet auquel il est attaché.</translation>
    </message>
    <message>
      <location filename="../../../AttachmentEditor/TaskAttachmentEditor.ui" line="124"/>
      <source>Attachment Offset:</source>
      <translation>Compensation d'attachement :</translation>
    </message>
    <message>
      <location filename="../../../AttachmentEditor/TaskAttachmentEditor.ui" line="136"/>
      <source>X:</source>
      <translation>X :</translation>
    </message>
    <message>
      <location filename="../../../AttachmentEditor/TaskAttachmentEditor.ui" line="152"/>
      <source>Y:</source>
      <translation>Y :</translation>
    </message>
    <message>
      <location filename="../../../AttachmentEditor/TaskAttachmentEditor.ui" line="181"/>
      <source>Z:</source>
      <translation>Z :</translation>
    </message>
    <message>
      <location filename="../../../AttachmentEditor/TaskAttachmentEditor.ui" line="210"/>
      <source>Yaw:</source>
      <translation>Axe de lacet :</translation>
    </message>
    <message>
      <location filename="../../../AttachmentEditor/TaskAttachmentEditor.ui" line="223"/>
      <source>Pitch:</source>
      <translation>Axe de tangage :</translation>
    </message>
    <message>
      <location filename="../../../AttachmentEditor/TaskAttachmentEditor.ui" line="236"/>
      <source>Roll:</source>
      <translation>Axe de roulis :</translation>
    </message>
    <message>
      <location filename="../../../AttachmentEditor/TaskAttachmentEditor.ui" line="328"/>
      <source>Flip sides</source>
      <translation>Retourner</translation>
    </message>
  </context>
  <context>
    <name>PartGui::CrossSections</name>
    <message>
      <location filename="../../CrossSections.ui" line="14"/>
      <source>Cross sections</source>
      <translation>Coupes</translation>
    </message>
    <message>
      <location filename="../../CrossSections.ui" line="20"/>
      <source>Guiding plane</source>
      <translation>Plan guide</translation>
    </message>
    <message>
      <location filename="../../CrossSections.ui" line="26"/>
      <source>XY</source>
      <translation>XY</translation>
    </message>
    <message>
      <location filename="../../CrossSections.ui" line="36"/>
      <source>XZ</source>
      <translation>XZ</translation>
    </message>
    <message>
      <location filename="../../CrossSections.ui" line="43"/>
      <source>YZ</source>
      <translation>YZ</translation>
    </message>
    <message>
      <location filename="../../CrossSections.ui" line="52"/>
      <source>Position:</source>
      <translation>Position :</translation>
    </message>
    <message>
      <location filename="../../CrossSections.ui" line="71"/>
      <source>Sections</source>
      <translation>Sections</translation>
    </message>
    <message>
      <location filename="../../CrossSections.ui" line="83"/>
      <source>On both sides</source>
      <translation>Des deux côtés</translation>
    </message>
    <message>
      <location filename="../../CrossSections.ui" line="92"/>
      <source>Count</source>
      <translation>Nombre</translation>
    </message>
    <message>
      <location filename="../../CrossSections.ui" line="109"/>
      <source>Distance:</source>
      <translation>Distance :</translation>
    </message>
  </context>
  <context>
    <name>PartGui::DlgBooleanOperation</name>
    <message>
      <location filename="../../DlgBooleanOperation.ui" line="14"/>
      <source>Boolean Operation</source>
      <translation>Opération booléenne</translation>
    </message>
    <message>
      <location filename="../../DlgBooleanOperation.ui" line="20"/>
      <source>Boolean operation</source>
      <translation>Opération booléenne</translation>
    </message>
    <message>
      <location filename="../../DlgBooleanOperation.ui" line="32"/>
      <source>Section</source>
      <translation>Section</translation>
    </message>
    <message>
      <location filename="../../DlgBooleanOperation.ui" line="39"/>
      <source>Difference</source>
      <translation>Différence</translation>
    </message>
    <message>
      <location filename="../../DlgBooleanOperation.ui" line="46"/>
      <source>Union</source>
      <translation>Union</translation>
    </message>
    <message>
      <location filename="../../DlgBooleanOperation.ui" line="56"/>
      <source>Intersection</source>
      <translation>Intersection</translation>
    </message>
    <message>
      <location filename="../../DlgBooleanOperation.ui" line="76"/>
      <source>First shape</source>
      <translation>Première forme</translation>
    </message>
    <message>
      <location filename="../../DlgBooleanOperation.ui" line="81"/>
      <location filename="../../DlgBooleanOperation.ui" line="119"/>
      <source>Solids</source>
      <translation>Solides</translation>
    </message>
    <message>
      <location filename="../../DlgBooleanOperation.ui" line="86"/>
      <location filename="../../DlgBooleanOperation.ui" line="124"/>
      <source>Shells</source>
      <translation>Coques</translation>
    </message>
    <message>
      <location filename="../../DlgBooleanOperation.ui" line="91"/>
      <location filename="../../DlgBooleanOperation.ui" line="129"/>
      <source>Compounds</source>
      <translation>Composés</translation>
    </message>
    <message>
      <location filename="../../DlgBooleanOperation.ui" line="96"/>
      <location filename="../../DlgBooleanOperation.ui" line="134"/>
      <source>Faces</source>
      <translation>Faces</translation>
    </message>
    <message>
      <location filename="../../DlgBooleanOperation.ui" line="114"/>
      <source>Second shape</source>
      <translation>Deuxième forme</translation>
    </message>
    <message>
      <location filename="../../DlgBooleanOperation.ui" line="155"/>
      <source>Swap selection</source>
      <translation>Changement de sélection</translation>
    </message>
    <message>
      <location filename="../../DlgBooleanOperation.cpp" line="378"/>
      <source>Select a shape on the left side, first</source>
      <translation>Sélectionner d'abord une forme sur le côté gauche</translation>
    </message>
    <message>
      <location filename="../../DlgBooleanOperation.cpp" line="383"/>
      <source>Select a shape on the right side, first</source>
      <translation>Sélectionner d'abord une forme sur le côté droit</translation>
    </message>
    <message>
      <location filename="../../DlgBooleanOperation.cpp" line="388"/>
      <source>Cannot perform a boolean operation with the same shape</source>
      <translation>Impossible d'effectuer une opération booléenne sur une seule forme</translation>
    </message>
    <message>
      <location filename="../../DlgBooleanOperation.cpp" line="398"/>
      <source>No active document available</source>
      <translation>Aucun document actif disponible</translation>
    </message>
    <message>
      <location filename="../../DlgBooleanOperation.cpp" line="408"/>
      <source>One of the selected objects doesn't exist anymore</source>
      <translation>Un des objets sélectionnés n'existe plus</translation>
    </message>
    <message>
      <location filename="../../DlgBooleanOperation.cpp" line="415"/>
      <source>Performing union on non-solids is not possible</source>
      <translation>L'union de formes non-solides n'est pas possible</translation>
    </message>
    <message>
      <location filename="../../DlgBooleanOperation.cpp" line="424"/>
      <source>Performing intersection on non-solids is not possible</source>
      <translation>L'intersection de formes non-solides n'est pas possible</translation>
    </message>
    <message>
      <location filename="../../DlgBooleanOperation.cpp" line="433"/>
      <source>Performing difference on non-solids is not possible</source>
      <translation>La soustraction de formes non-solides n'est pas possible</translation>
    </message>
  </context>
  <context>
    <name>PartGui::DlgChamferEdges</name>
    <message>
      <location filename="../../DlgFilletEdges.cpp" line="1038"/>
      <source>Chamfer Edges</source>
      <translation>Chanfreiner des arêtes</translation>
    </message>
  </context>
  <context>
    <name>PartGui::DlgExtrusion</name>
    <message>
      <location filename="../../DlgExtrusion.ui" line="14"/>
      <source>Extrude</source>
      <translation>Extruder</translation>
    </message>
    <message>
      <location filename="../../DlgExtrusion.ui" line="26"/>
      <source>Direction</source>
      <translation>Direction</translation>
    </message>
    <message>
      <location filename="../../DlgExtrusion.ui" line="32"/>
      <source>If checked, direction of extrusion is reversed.</source>
      <translation>Si coché, la direction d’extrusion est inversée.</translation>
    </message>
    <message>
      <location filename="../../DlgExtrusion.ui" line="35"/>
      <source>Reversed</source>
      <translation>Inversé</translation>
    </message>
    <message>
      <location filename="../../DlgExtrusion.ui" line="42"/>
      <source>Specify direction manually using X,Y,Z values.</source>
      <translation>Spécifier la direction manuellement à l’aide des valeurs X, Y, Z.</translation>
    </message>
    <message>
      <location filename="../../DlgExtrusion.ui" line="45"/>
      <source>Custom direction:</source>
      <translation>Orientation personnalisée :</translation>
    </message>
    <message>
      <location filename="../../DlgExtrusion.ui" line="52"/>
      <source>Extrude perpendicularly to plane of input shape.</source>
      <translation>Extruder perpendiculairement au plan de la forme d’entrée.</translation>
    </message>
    <message>
      <location filename="../../DlgExtrusion.ui" line="55"/>
      <source>Along normal</source>
      <translation>Le long de la normale</translation>
    </message>
    <message>
      <location filename="../../DlgExtrusion.ui" line="65"/>
      <source>Click to start selecting an edge in 3d view.</source>
      <translation>Cliquez pour commencer à sélectionner une arête dans la vue 3d.</translation>
    </message>
    <message>
      <location filename="../../DlgExtrusion.ui" line="68"/>
      <location filename="../../DlgExtrusion.cpp" line="207"/>
      <source>Select</source>
      <translation>Sélectionner</translation>
    </message>
    <message>
      <location filename="../../DlgExtrusion.ui" line="78"/>
      <source>Set direction to match a direction of straight edge. Hint: to account for length of the edge too, set both lengths to zero.</source>
      <translation>Définir l'orientation pour qu'elle corresponde à celle d'une arête droite. Astuce : pour tenir compte de la longueur de l’arête, définir les deux longueurs à zéro.</translation>
    </message>
    <message>
      <location filename="../../DlgExtrusion.ui" line="81"/>
      <source>Along edge:</source>
      <translation>Le long d'une arête :</translation>
    </message>
    <message>
      <location filename="../../DlgExtrusion.ui" line="99"/>
      <source>X:</source>
      <translation>X :</translation>
    </message>
    <message>
      <location filename="../../DlgExtrusion.ui" line="122"/>
      <source>Y:</source>
      <translation>Y :</translation>
    </message>
    <message>
      <location filename="../../DlgExtrusion.ui" line="145"/>
      <source>Z:</source>
      <translation>Z :</translation>
    </message>
    <message>
      <location filename="../../DlgExtrusion.ui" line="179"/>
      <source>Length</source>
      <translation>Longueur</translation>
    </message>
    <message>
      <location filename="../../DlgExtrusion.ui" line="185"/>
      <source>Along:</source>
      <translation>Le long de :</translation>
    </message>
    <message>
      <location filename="../../DlgExtrusion.ui" line="204"/>
      <source>Length to extrude along direction (can be negative). If both lengths are zero, magnitude of direction is used.</source>
      <translation>Longueur à extruder le long d'une direction (peut être négative). Si les deux longueurs sont nulles, la magnitude de la direction est utilisée.</translation>
    </message>
    <message>
      <location filename="../../DlgExtrusion.ui" line="223"/>
      <source>Against:</source>
      <translation>Contre :</translation>
    </message>
    <message>
      <location filename="../../DlgExtrusion.ui" line="242"/>
      <source>Length to extrude against direction (can be negative).</source>
      <translation>Longueur à extruder dans le sens inverse (peut être négative).</translation>
    </message>
    <message>
      <location filename="../../DlgExtrusion.ui" line="261"/>
      <source>Distribute extrusion length equally to both sides.</source>
      <translation>Distribuer la longueur d’extrusion également des deux cotés.</translation>
    </message>
    <message>
      <location filename="../../DlgExtrusion.ui" line="264"/>
      <source>Symmetric</source>
      <translation>Symétrique</translation>
    </message>
    <message>
      <location filename="../../DlgExtrusion.ui" line="276"/>
      <source>Taper outward angle</source>
      <translation>Angle de dépouille externe</translation>
    </message>
    <message>
      <location filename="../../DlgExtrusion.ui" line="289"/>
      <location filename="../../DlgExtrusion.ui" line="314"/>
      <source>Apply slope (draft) to extrusion side faces.</source>
      <translation>Appliquer un angle de dépouille aux faces extrudées.</translation>
    </message>
    <message>
      <location filename="../../DlgExtrusion.ui" line="335"/>
      <source>If checked, extruding closed wires will give solids, not shells.</source>
      <translation>Si coché, l'extrusion de contours fermés produira des solides, non des coques.</translation>
    </message>
    <message>
      <location filename="../../DlgExtrusion.ui" line="338"/>
      <source>Create solid</source>
      <translation>Créer le solide</translation>
    </message>
    <message>
      <location filename="../../DlgExtrusion.ui" line="368"/>
      <source>Shape</source>
      <translation>Forme</translation>
    </message>
    <message>
      <location filename="../../DlgExtrusion.cpp" line="181"/>
      <source>Selecting...</source>
      <translation>Sélection de...</translation>
    </message>
    <message>
      <location filename="../../DlgExtrusion.cpp" line="422"/>
      <source>The document '%1' doesn't exist.</source>
      <translation>Document « %1 » inexistant.</translation>
    </message>
    <message>
      <location filename="../../DlgExtrusion.cpp" line="470"/>
      <location filename="../../DlgExtrusion.cpp" line="475"/>
      <source>Creating Extrusion failed.

%1</source>
      <translation>La création de l’extrusion a échoué.
%1</translation>
    </message>
    <message>
      <location filename="../../DlgExtrusion.cpp" line="542"/>
      <source>Object not found: %1</source>
      <translation>Objet introuvable : %1</translation>
    </message>
    <message>
      <location filename="../../DlgExtrusion.cpp" line="604"/>
      <source>No shapes selected for extrusion. Select some, first.</source>
      <translation>Aucune forme sélectionnée pour l’extrusion. Sélectionnez-en une d’abord.</translation>
    </message>
    <message>
      <location filename="../../DlgExtrusion.cpp" line="625"/>
      <source>Extrusion direction link is invalid.

%1</source>
      <translation>Le lien de direction d'extrusion est invalide.

%1</translation>
    </message>
    <message>
      <location filename="../../DlgExtrusion.cpp" line="627"/>
      <source>Direction mode is to use an edge, but no edge is linked.</source>
      <translation>Le mode de direction consiste à utiliser une arête, mais aucune arête n’est liée.</translation>
    </message>
    <message>
      <location filename="../../DlgExtrusion.cpp" line="650"/>
      <source>Can't determine normal vector of shape to be extruded. Please use other mode. 

(%1)</source>
      <translation>Impossible de déterminer le vecteur normal de la forme à extruder. Veuillez utiliser un autre mode. 

(%1)</translation>
    </message>
    <message>
      <location filename="../../DlgExtrusion.cpp" line="660"/>
      <source>Extrusion direction is zero-length. It must be non-zero.</source>
      <translation>La direction de l’extrusion est de longueur nulle. Elle doit être différente de zéro.</translation>
    </message>
    <message>
      <location filename="../../DlgExtrusion.cpp" line="671"/>
      <source>Total extrusion length is zero (length1 == -length2). It must be nonzero.</source>
      <translation>Longueur totale d’extrusion est à zéro (length1 == - length2). Elle doit être différente de zéro.</translation>
    </message>
  </context>
  <context>
    <name>PartGui::DlgFilletEdges</name>
    <message>
      <location filename="../../DlgFilletEdges.ui" line="14"/>
      <source>Fillet Edges</source>
      <translation>Congés des arêtes</translation>
    </message>
    <message>
      <location filename="../../DlgFilletEdges.ui" line="20"/>
      <source>Shape</source>
      <translation>Forme</translation>
    </message>
    <message>
      <location filename="../../DlgFilletEdges.ui" line="32"/>
      <source>Selected shape:</source>
      <translation>Forme sélectionnée :</translation>
    </message>
    <message>
      <location filename="../../DlgFilletEdges.ui" line="40"/>
      <source>No selection</source>
      <translation>Aucune sélection</translation>
    </message>
    <message>
      <location filename="../../DlgFilletEdges.ui" line="51"/>
      <source>Fillet Parameter</source>
      <translation>Paramètres de congé</translation>
    </message>
    <message>
      <location filename="../../DlgFilletEdges.ui" line="57"/>
      <source>Selection</source>
      <translation>Sélection</translation>
    </message>
    <message>
      <location filename="../../DlgFilletEdges.ui" line="63"/>
      <source>Select edges</source>
      <translation>Sélectionner les arêtes</translation>
    </message>
    <message>
      <location filename="../../DlgFilletEdges.ui" line="73"/>
      <source>Select faces</source>
      <translation>Sélectionner les faces</translation>
    </message>
    <message>
      <location filename="../../DlgFilletEdges.ui" line="80"/>
      <source>All</source>
      <translation>Tous</translation>
    </message>
    <message>
      <location filename="../../DlgFilletEdges.ui" line="87"/>
      <source>None</source>
      <translation>Aucun</translation>
    </message>
    <message>
      <location filename="../../DlgFilletEdges.ui" line="110"/>
      <source>Fillet type:</source>
      <translation>Type de congé :</translation>
    </message>
    <message>
      <location filename="../../DlgFilletEdges.ui" line="118"/>
      <source>Constant Radius</source>
      <translation>Rayon constant</translation>
    </message>
    <message>
      <location filename="../../DlgFilletEdges.ui" line="123"/>
      <source>Variable Radius</source>
      <translation>Rayon variable</translation>
    </message>
    <message>
      <location filename="../../DlgFilletEdges.ui" line="142"/>
      <source>Radius:</source>
      <translation>Rayon :</translation>
    </message>
    <message>
      <location filename="../../DlgFilletEdges.cpp" line="265"/>
      <source>Length:</source>
      <translation>Longueur :</translation>
    </message>
    <message>
      <location filename="../../DlgFilletEdges.cpp" line="266"/>
      <source>Constant Length</source>
      <translation>Longueur constante</translation>
    </message>
    <message>
      <location filename="../../DlgFilletEdges.cpp" line="267"/>
      <source>Variable Length</source>
      <translation>Longueur variable</translation>
    </message>
    <message>
      <location filename="../../DlgFilletEdges.cpp" line="269"/>
      <source>Edges to chamfer</source>
      <translation>Arêtes à chanfreiner</translation>
    </message>
    <message>
      <location filename="../../DlgFilletEdges.cpp" line="270"/>
      <location filename="../../DlgFilletEdges.cpp" line="835"/>
      <source>Start length</source>
      <translation>Longueur de départ</translation>
    </message>
    <message>
      <location filename="../../DlgFilletEdges.cpp" line="271"/>
      <source>End length</source>
      <translation>Longueur finale</translation>
    </message>
    <message>
      <location filename="../../DlgFilletEdges.cpp" line="274"/>
      <source>Edges to fillet</source>
      <translation>Congé sur arêtes</translation>
    </message>
    <message>
      <location filename="../../DlgFilletEdges.cpp" line="275"/>
      <location filename="../../DlgFilletEdges.cpp" line="837"/>
      <source>Start radius</source>
      <translation>Rayon initial</translation>
    </message>
    <message>
      <location filename="../../DlgFilletEdges.cpp" line="276"/>
      <source>End radius</source>
      <translation>Rayon final</translation>
    </message>
    <message>
      <location filename="../../DlgFilletEdges.cpp" line="684"/>
      <location filename="../../DlgFilletEdges.cpp" line="744"/>
      <source>Edge%1</source>
      <translation>Arête%1</translation>
    </message>
    <message>
      <location filename="../../DlgFilletEdges.cpp" line="827"/>
      <source>Length</source>
      <translation>Longueur</translation>
    </message>
    <message>
      <location filename="../../DlgFilletEdges.cpp" line="829"/>
      <source>Radius</source>
      <translation>Rayon</translation>
    </message>
    <message>
      <location filename="../../DlgFilletEdges.cpp" line="883"/>
      <source>No shape selected</source>
      <translation>Aucune forme sélectionnée</translation>
    </message>
    <message>
      <location filename="../../DlgFilletEdges.cpp" line="884"/>
      <source>No valid shape is selected.
Please select a valid shape in the drop-down box first.</source>
      <translation>Aucune forme valide n'est sélectionnée. Veuillez sélectionner d'abord une forme valide dans le menu déroulant.</translation>
    </message>
    <message>
      <location filename="../../DlgFilletEdges.cpp" line="935"/>
      <source>No edge selected</source>
      <translation>Aucune arête sélectionnée</translation>
    </message>
    <message>
      <location filename="../../DlgFilletEdges.cpp" line="936"/>
      <source>No edge entity is checked to fillet.
Please check one or more edge entities first.</source>
      <translation>Aucune arête n'est sélectionnée pour le congé. Veuillez d'abord cocher une ou plusieurs arêtes.</translation>
    </message>
  </context>
  <context>
    <name>PartGui::DlgImportExportIges</name>
    <message>
      <location filename="../../DlgImportExportIges.ui" line="14"/>
      <source>IGES</source>
      <translation>IGES</translation>
    </message>
    <message>
      <location filename="../../DlgImportExportIges.ui" line="20"/>
      <source>Export</source>
      <translation>Exporter</translation>
    </message>
    <message>
      <location filename="../../DlgImportExportIges.ui" line="26"/>
      <source>Units for export of IGES</source>
      <translation>Unités pour l'exportation vers IGES</translation>
    </message>
    <message>
      <location filename="../../DlgImportExportIges.ui" line="47"/>
      <source>Millimeter</source>
      <translation>Millimètre</translation>
    </message>
    <message>
      <location filename="../../DlgImportExportIges.ui" line="52"/>
      <source>Meter</source>
      <translation>Mètre</translation>
    </message>
    <message>
      <location filename="../../DlgImportExportIges.ui" line="57"/>
      <source>Inch</source>
      <translation>Pouce</translation>
    </message>
    <message>
      <location filename="../../DlgImportExportIges.ui" line="65"/>
      <source>Write solids and shells as</source>
      <translation>Exporter les solides et les coques comme</translation>
    </message>
    <message>
      <location filename="../../DlgImportExportIges.ui" line="71"/>
      <source>Groups of Trimmed Surfaces (type 144)</source>
      <translation>Groupes de surfaces ajustées (type 144)</translation>
    </message>
    <message>
      <location filename="../../DlgImportExportIges.ui" line="81"/>
      <source>Solids (type 186) and Shells (type 514) / B-REP mode</source>
      <translation>Solides (type 186) et coques (type 514) / mode B-REP</translation>
    </message>
    <message>
      <location filename="../../DlgImportExportIges.ui" line="94"/>
      <source>Import</source>
      <translation>Importation</translation>
    </message>
    <message>
      <location filename="../../DlgImportExportIges.ui" line="100"/>
      <source>Skip blank entities</source>
      <translation>Ignorer les entités vides</translation>
    </message>
    <message>
      <location filename="../../DlgImportExportIges.ui" line="110"/>
      <source>Header</source>
      <translation>En-tête</translation>
    </message>
    <message>
      <location filename="../../DlgImportExportIges.ui" line="116"/>
      <source>Company</source>
      <translation>Société</translation>
    </message>
    <message>
      <location filename="../../DlgImportExportIges.ui" line="126"/>
      <source>Product</source>
      <translation>Produit</translation>
    </message>
    <message>
      <location filename="../../DlgImportExportIges.ui" line="139"/>
      <source>Author</source>
      <translation>Auteur</translation>
    </message>
  </context>
  <context>
    <name>PartGui::DlgImportExportStep</name>
    <message>
      <location filename="../../DlgImportExportStep.ui" line="14"/>
      <source>STEP</source>
      <translation>STEP</translation>
    </message>
    <message>
      <location filename="../../DlgImportExportStep.ui" line="20"/>
      <source>Header</source>
      <translation>En-tête</translation>
    </message>
    <message>
      <location filename="../../DlgImportExportStep.ui" line="26"/>
      <source>Company</source>
      <translation>Société</translation>
    </message>
    <message>
      <location filename="../../DlgImportExportStep.ui" line="36"/>
      <source>Author</source>
      <translation>Auteur</translation>
    </message>
    <message>
      <location filename="../../DlgImportExportStep.ui" line="46"/>
      <source>Product</source>
      <translation>Produit</translation>
    </message>
    <message>
      <location filename="../../DlgImportExportStep.ui" line="59"/>
      <source>Export</source>
      <translation>Exporter</translation>
    </message>
    <message>
      <location filename="../../DlgImportExportStep.ui" line="66"/>
      <source>Millimeter</source>
      <translation>Millimètre</translation>
    </message>
    <message>
      <location filename="../../DlgImportExportStep.ui" line="71"/>
      <source>Meter</source>
      <translation>Mètre</translation>
    </message>
    <message>
      <location filename="../../DlgImportExportStep.ui" line="76"/>
      <source>Inch</source>
      <translation>Pouce</translation>
    </message>
    <message>
      <location filename="../../DlgImportExportStep.ui" line="97"/>
      <source>Units for export of STEP</source>
      <translation>Unités pour l'exportation STEP</translation>
    </message>
    <message>
      <location filename="../../DlgImportExportStep.ui" line="104"/>
      <source>Scheme</source>
      <translation>Schéma</translation>
    </message>
    <message>
      <location filename="../../DlgImportExportStep.ui" line="130"/>
      <source>Write out curves in parametric space of surface</source>
      <translation>Enregistrer les courbes dans l’espace paramétrique de surface</translation>
    </message>
    <message>
      <location filename="../../DlgImportExportStep.ui" line="153"/>
      <source>Import</source>
      <translation>Importation</translation>
    </message>
    <message>
      <location filename="../../DlgImportExportStep.ui" line="159"/>
      <source>If this is checked, no Compound merge will be done during file reading (slower but higher details).</source>
      <translation>Si cette case est cochée, aucune fusion de composé ne sera faite au cours de la lecture du fichier (plus lent mais plus détaillé).</translation>
    </message>
    <message>
      <location filename="../../DlgImportExportStep.ui" line="162"/>
      <source>Enable STEP Compound merge</source>
      <translation>Activer la fusion de combiné STEP</translation>
    </message>
  </context>
  <context>
    <name>PartGui::DlgPartBox</name>
    <message>
      <location filename="../../DlgPartBox.ui" line="14"/>
      <source>Box definition</source>
      <translation>Définition de boîte</translation>
    </message>
    <message>
      <location filename="../../DlgPartBox.ui" line="20"/>
      <source>Position:</source>
      <translation>Position :</translation>
    </message>
    <message>
      <location filename="../../DlgPartBox.ui" line="78"/>
      <source>Direction:</source>
      <translation>Direction :</translation>
    </message>
    <message>
      <location filename="../../DlgPartBox.ui" line="85"/>
      <source>X:</source>
      <translation>X :</translation>
    </message>
    <message>
      <location filename="../../DlgPartBox.ui" line="92"/>
      <source>Y:</source>
      <translation>Y :</translation>
    </message>
    <message>
      <location filename="../../DlgPartBox.ui" line="99"/>
      <source>Z:</source>
      <translation>Z :</translation>
    </message>
    <message>
      <location filename="../../DlgPartBox.ui" line="109"/>
      <source>Size:</source>
      <translation>Taille :</translation>
    </message>
    <message>
      <location filename="../../DlgPartBox.ui" line="160"/>
      <source>Height:</source>
      <translation>Hauteur :</translation>
    </message>
    <message>
      <location filename="../../DlgPartBox.ui" line="167"/>
      <source>Width:</source>
      <translation>Largeur :</translation>
    </message>
    <message>
      <location filename="../../DlgPartBox.ui" line="174"/>
      <source>Length:</source>
      <translation>Longueur :</translation>
    </message>
  </context>
  <context>
    <name>PartGui::DlgPartCylinder</name>
    <message>
      <location filename="../../DlgPartCylinder.ui" line="14"/>
      <source>Cylinder definition</source>
      <translation>Définition du cylindre</translation>
    </message>
    <message>
      <location filename="../../DlgPartCylinder.ui" line="20"/>
      <source>Position:</source>
      <translation>Position :</translation>
    </message>
    <message>
      <location filename="../../DlgPartCylinder.ui" line="39"/>
      <source>Direction:</source>
      <translation>Direction :</translation>
    </message>
    <message>
      <location filename="../../DlgPartCylinder.ui" line="46"/>
      <source>X:</source>
      <translation>X :</translation>
    </message>
    <message>
      <location filename="../../DlgPartCylinder.ui" line="53"/>
      <source>Z:</source>
      <translation>Z :</translation>
    </message>
    <message>
      <location filename="../../DlgPartCylinder.ui" line="60"/>
      <source>Y:</source>
      <translation>Y :</translation>
    </message>
    <message>
      <location filename="../../DlgPartCylinder.ui" line="109"/>
      <source>Parameter</source>
      <translation>Paramètre</translation>
    </message>
    <message>
      <location filename="../../DlgPartCylinder.ui" line="121"/>
      <source>Height:</source>
      <translation>Hauteur :</translation>
    </message>
    <message>
      <location filename="../../DlgPartCylinder.ui" line="128"/>
      <source>Radius:</source>
      <translation>Rayon :</translation>
    </message>
  </context>
  <context>
    <name>PartGui::DlgPartImportIges</name>
    <message>
      <location filename="../../DlgPartImportIges.ui" line="14"/>
      <source>IGES input file</source>
      <translation>Fichier d'entrée IGES</translation>
    </message>
    <message>
      <location filename="../../DlgPartImportIges.ui" line="20"/>
      <source>File Name</source>
      <translation>Nom du fichier</translation>
    </message>
    <message>
      <location filename="../../DlgPartImportIges.ui" line="54"/>
      <source>...</source>
      <translation>...</translation>
    </message>
  </context>
  <context>
    <name>PartGui::DlgPartImportIgesImp</name>
    <message>
      <location filename="../../DlgPartImportIgesImp.cpp" line="71"/>
      <source>IGES</source>
      <translation>IGES</translation>
    </message>
    <message>
      <location filename="../../DlgPartImportIgesImp.cpp" line="72"/>
      <source>All Files</source>
      <translation>Tous les fichiers</translation>
    </message>
  </context>
  <context>
    <name>PartGui::DlgPartImportStep</name>
    <message>
      <location filename="../../DlgPartImportStep.ui" line="14"/>
      <source>Step input file</source>
      <translation>Fichier d'entrée STEP</translation>
    </message>
    <message>
      <location filename="../../DlgPartImportStep.ui" line="20"/>
      <source>File Name</source>
      <translation>Nom du fichier</translation>
    </message>
    <message>
      <location filename="../../DlgPartImportStep.ui" line="54"/>
      <source>...</source>
      <translation>...</translation>
    </message>
  </context>
  <context>
    <name>PartGui::DlgPartImportStepImp</name>
    <message>
      <location filename="../../DlgPartImportStepImp.cpp" line="70"/>
      <source>STEP</source>
      <translation>STEP</translation>
    </message>
    <message>
      <location filename="../../DlgPartImportStepImp.cpp" line="71"/>
      <source>All Files</source>
      <translation>Tous les fichiers</translation>
    </message>
  </context>
  <context>
    <name>PartGui::DlgPrimitives</name>
    <message>
      <location filename="../../DlgPrimitives.ui" line="14"/>
      <source>Geometric Primitives</source>
      <translation>Primitives géométriques</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.ui" line="33"/>
      <location filename="../../DlgPrimitives.cpp" line="385"/>
      <source>Plane</source>
      <translation>Plan</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.ui" line="42"/>
      <location filename="../../DlgPrimitives.cpp" line="401"/>
      <source>Box</source>
      <translation>Boîte</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.ui" line="51"/>
      <location filename="../../DlgPrimitives.cpp" line="417"/>
      <source>Cylinder</source>
      <translation>Cylindre</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.ui" line="60"/>
      <location filename="../../DlgPrimitives.cpp" line="435"/>
      <source>Cone</source>
      <translation>Cône</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.ui" line="69"/>
      <location filename="../../DlgPrimitives.cpp" line="453"/>
      <source>Sphere</source>
      <translation>Sphère</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.ui" line="78"/>
      <location filename="../../DlgPrimitives.cpp" line="475"/>
      <source>Ellipsoid</source>
      <translation>Ellipsoïde</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.ui" line="87"/>
      <location filename="../../DlgPrimitives.cpp" line="495"/>
      <source>Torus</source>
      <translation>Tore</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.ui" line="96"/>
      <location filename="../../DlgPrimitives.cpp" line="511"/>
      <source>Prism</source>
      <translation>Prisme</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.ui" line="105"/>
      <location filename="../../DlgPrimitives.cpp" line="541"/>
      <source>Wedge</source>
      <translation>Prisme</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.ui" line="114"/>
      <location filename="../../DlgPrimitives.cpp" line="562"/>
      <source>Helix</source>
      <translation>Hélice</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.ui" line="123"/>
      <location filename="../../DlgPrimitives.cpp" line="578"/>
      <source>Spiral</source>
      <translation>Spirale</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.ui" line="132"/>
      <location filename="../../DlgPrimitives.cpp" line="594"/>
      <source>Circle</source>
      <translation>Cercle</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.ui" line="141"/>
      <location filename="../../DlgPrimitives.cpp" line="612"/>
      <source>Ellipse</source>
      <translation>Ellipse</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.ui" line="150"/>
      <source>Point</source>
      <translation>Point</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.ui" line="159"/>
      <location filename="../../DlgPrimitives.cpp" line="650"/>
      <source>Line</source>
      <translation>Ligne</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.ui" line="168"/>
      <location filename="../../DlgPrimitives.cpp" line="664"/>
      <source>Regular polygon</source>
      <translation>Polygone régulier</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.ui" line="180"/>
      <source>Parameter</source>
      <translation>Paramètre</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.ui" line="223"/>
      <location filename="../../DlgPrimitives.ui" line="330"/>
      <source>Width:</source>
      <translation>Largeur :</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.ui" line="230"/>
      <location filename="../../DlgPrimitives.ui" line="323"/>
      <source>Length:</source>
      <translation>Longueur :</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.ui" line="316"/>
      <location filename="../../DlgPrimitives.ui" line="427"/>
      <location filename="../../DlgPrimitives.ui" line="547"/>
      <location filename="../../DlgPrimitives.ui" line="1082"/>
      <location filename="../../DlgPrimitives.ui" line="1321"/>
      <source>Height:</source>
      <translation>Hauteur :</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.ui" line="367"/>
      <location filename="../../DlgPrimitives.ui" line="474"/>
      <location filename="../../DlgPrimitives.ui" line="1328"/>
      <source>Angle:</source>
      <translation>Angle :</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.ui" line="420"/>
      <location filename="../../DlgPrimitives.ui" line="694"/>
      <location filename="../../DlgPrimitives.ui" line="1307"/>
      <location filename="../../DlgPrimitives.ui" line="1429"/>
      <location filename="../../DlgPrimitives.ui" line="1494"/>
      <source>Radius:</source>
      <translation>Rayon :</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.ui" line="554"/>
      <location filename="../../DlgPrimitives.ui" line="754"/>
      <location filename="../../DlgPrimitives.ui" line="1008"/>
      <source>Radius 1:</source>
      <translation>Rayon 1 :</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.ui" line="561"/>
      <location filename="../../DlgPrimitives.ui" line="761"/>
      <location filename="../../DlgPrimitives.ui" line="1001"/>
      <source>Radius 2:</source>
      <translation>Rayon 2 :</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.ui" line="624"/>
      <location filename="../../DlgPrimitives.ui" line="815"/>
      <source>U parameter:</source>
      <translation>Paramètre U :</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.ui" line="631"/>
      <source>V parameters:</source>
      <translation>Paramètres V :</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.ui" line="768"/>
      <source>Radius 3:</source>
      <translation>Rayon 3 :</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.ui" line="838"/>
      <location filename="../../DlgPrimitives.ui" line="928"/>
      <source>V parameter:</source>
      <translation>Paramètre V :</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.ui" line="905"/>
      <source>U Parameter:</source>
      <translation>Paramètre U :</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.ui" line="1055"/>
      <location filename="../../DlgPrimitives.ui" line="1937"/>
      <source>Polygon:</source>
      <translation>Polygone :</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.ui" line="1075"/>
      <location filename="../../DlgPrimitives.ui" line="1957"/>
      <source>Circumradius:</source>
      <translation>Rayon circonscrit :</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.ui" line="1126"/>
      <source>X min/max:</source>
      <translation>X min/max:</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.ui" line="1133"/>
      <source>Y min/max:</source>
      <translation>Y min/max:</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.ui" line="1140"/>
      <source>Z min/max:</source>
      <translation>Z min/max:</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.ui" line="1147"/>
      <source>X2 min/max:</source>
      <translation>X2 min/max:</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.ui" line="1154"/>
      <source>Z2 min/max:</source>
      <translation>Z2 min/max:</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.ui" line="1314"/>
      <source>Pitch:</source>
      <translation>Axe de tangage :</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.ui" line="1335"/>
      <source>Coordinate system:</source>
      <translation>Système de coordonnées:</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.ui" line="1343"/>
      <source>Right-handed</source>
      <translation>Main droite</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.ui" line="1348"/>
      <source>Left-handed</source>
      <translation>Main gauche</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.ui" line="1436"/>
      <source>Growth:</source>
      <translation>Croissance :</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.ui" line="1443"/>
      <source>Number of rotations:</source>
      <translation>Nombre de rotations :</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.ui" line="1501"/>
      <location filename="../../DlgPrimitives.ui" line="1604"/>
      <source>Angle 1:</source>
      <translation>Angle 1:</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.ui" line="1508"/>
      <location filename="../../DlgPrimitives.ui" line="1611"/>
      <source>Angle 2:</source>
      <translation>Angle 2:</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.ui" line="1562"/>
      <source>From three points</source>
      <translation>A partir de trois points</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.ui" line="1590"/>
      <source>Major radius:</source>
      <translation>Rayon majeur:</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.ui" line="1597"/>
      <source>Minor radius:</source>
      <translation>Rayon mineur:</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.ui" line="1679"/>
      <location filename="../../DlgPrimitives.ui" line="1760"/>
      <location filename="../../DlgPrimitives.ui" line="1814"/>
      <source>X:</source>
      <translation>X :</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.ui" line="1689"/>
      <location filename="../../DlgPrimitives.ui" line="1770"/>
      <location filename="../../DlgPrimitives.ui" line="1824"/>
      <source>Y:</source>
      <translation>Y :</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.ui" line="1699"/>
      <location filename="../../DlgPrimitives.ui" line="1780"/>
      <location filename="../../DlgPrimitives.ui" line="1834"/>
      <source>Z:</source>
      <translation>Z :</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.ui" line="1797"/>
      <source>End point</source>
      <translation>Point final</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.ui" line="1807"/>
      <source>Start point</source>
      <translation>Point de départ</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.cpp" line="369"/>
      <location filename="../../DlgPrimitives.cpp" line="668"/>
      <location filename="../../DlgPrimitives.cpp" line="676"/>
      <source>Create %1</source>
      <translation>Créer %1</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.cpp" line="370"/>
      <source>No active document</source>
      <translation>Aucun document actif</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.cpp" line="628"/>
      <source>Vertex</source>
      <translation>Sommet</translation>
    </message>
    <message>
      <location filename="../../DlgPrimitives.cpp" line="856"/>
      <source>&amp;Create</source>
      <translation>&amp;Créer</translation>
    </message>
  </context>
  <context>
    <name>PartGui::DlgRevolution</name>
    <message>
      <location filename="../../DlgRevolution.ui" line="20"/>
      <source>Revolve</source>
      <translation>Révolution</translation>
    </message>
    <message>
      <location filename="../../DlgRevolution.ui" line="32"/>
      <source>If checked, revolving wires will produce solids. If not, revolving a wire yields a shell.</source>
      <translation>Si coché, la rotation des fils produira des solides. Sinon, la rotation d'un fil produit une coque.</translation>
    </message>
    <message>
      <location filename="../../DlgRevolution.ui" line="35"/>
      <source>Create Solid</source>
      <translation>Créer solide</translation>
    </message>
    <message>
      <location filename="../../DlgRevolution.ui" line="52"/>
      <source>Shape</source>
      <translation>Forme</translation>
    </message>
    <message>
      <location filename="../../DlgRevolution.ui" line="71"/>
      <source>Angle:</source>
      <translation>Angle :</translation>
    </message>
    <message>
      <location filename="../../DlgRevolution.ui" line="111"/>
      <source>Revolution axis</source>
      <translation>Axe de révolution</translation>
    </message>
    <message>
      <location filename="../../DlgRevolution.ui" line="119"/>
      <source>Center X:</source>
      <translation>Centre X :</translation>
    </message>
    <message>
      <location filename="../../DlgRevolution.ui" line="139"/>
      <source>Center Y:</source>
      <translation>Centre Y :</translation>
    </message>
    <message>
      <location filename="../../DlgRevolution.ui" line="159"/>
      <source>Center Z:</source>
      <translation>Centre Z :</translation>
    </message>
    <message>
      <location filename="../../DlgRevolution.ui" line="201"/>
      <location filename="../../DlgRevolution.ui" line="242"/>
      <source>Click to set this as axis</source>
      <translation>Cliquez pour définir ceci comme axe</translation>
    </message>
    <message>
      <location filename="../../DlgRevolution.ui" line="204"/>
      <source>Dir. X:</source>
      <translation>Dir. X :</translation>
    </message>
    <message>
      <location filename="../../DlgRevolution.ui" line="245"/>
      <source>Dir. Y:</source>
      <translation>Dir. Y :</translation>
    </message>
    <message>
      <location filename="../../DlgRevolution.ui" line="283"/>
      <source>Dir. Z:</source>
      <translation>Dir. Z :</translation>
    </message>
    <message>
      <location filename="../../DlgRevolution.ui" line="305"/>
      <location filename="../../DlgRevolution.cpp" line="448"/>
      <source>Select reference</source>
      <translation>Sélectionner une référence</translation>
    </message>
    <message>
      <location filename="../../DlgRevolution.ui" line="325"/>
      <source>If checked, revolution will extend forwards and backwards by half the angle.</source>
      <translation>Si coché, la révolution s’étendra de part et d'autre de la moitié de l’angle.</translation>
    </message>
    <message>
      <location filename="../../DlgRevolution.ui" line="328"/>
      <source>Symmetric angle</source>
      <translation>Angle symétrique</translation>
    </message>
    <message>
      <location filename="../../DlgRevolution.cpp" line="173"/>
      <source>Object not found: %1</source>
      <translation>Objet introuvable : %1</translation>
    </message>
    <message>
      <location filename="../../DlgRevolution.cpp" line="254"/>
      <source>Select a shape for revolution, first.</source>
      <translation>Sélectionnez d'abord une forme à révolutionner.</translation>
    </message>
    <message>
      <location filename="../../DlgRevolution.cpp" line="270"/>
      <location filename="../../DlgRevolution.cpp" line="275"/>
      <location filename="../../DlgRevolution.cpp" line="280"/>
      <source>Revolution axis link is invalid.

%1</source>
      <translation>Le lien à la direction d'extrusion est invalide. 

%1</translation>
    </message>
    <message>
      <location filename="../../DlgRevolution.cpp" line="289"/>
      <source>Revolution axis direction is zero-length. It must be non-zero.</source>
      <translation>La direction d’axe de révolution est de longueur nulle. Elle ne doit pas être nulle.</translation>
    </message>
    <message>
      <location filename="../../DlgRevolution.cpp" line="299"/>
      <source>Revolution angle span is zero. It must be non-zero.</source>
      <translation>L'angle de révolution est nul. Il doit être différent de zéro.</translation>
    </message>
    <message>
      <location filename="../../DlgRevolution.cpp" line="428"/>
      <location filename="../../DlgRevolution.cpp" line="432"/>
      <source>Creating Revolve failed.

%1</source>
      <translation>La création de la révolution a échoué.

%1</translation>
    </message>
    <message>
      <location filename="../../DlgRevolution.cpp" line="444"/>
      <source>Selecting... (line or arc)</source>
      <translation>Sélection de... (ligne ou arc)</translation>
    </message>
  </context>
  <context>
    <name>PartGui::DlgSettings3DViewPart</name>
    <message>
      <location filename="../../DlgSettings3DViewPart.ui" line="14"/>
      <source>Shape view</source>
      <translation>Vue de la forme</translation>
    </message>
    <message>
      <location filename="../../DlgSettings3DViewPart.ui" line="39"/>
      <source>Tessellation</source>
      <translation>Tessellation</translation>
    </message>
    <message>
      <location filename="../../DlgSettings3DViewPart.ui" line="59"/>
      <source> %</source>
      <translation>%</translation>
    </message>
    <message>
      <location filename="../../DlgSettings3DViewPart.ui" line="87"/>
      <source>Defines the deviation of tessellation to the actual surface</source>
      <translation>Définit la déviation de tessellation à la surface réelle</translation>
    </message>
    <message>
      <location filename="../../DlgSettings3DViewPart.ui" line="90"/>
      <source>&lt;html&gt;&lt;head&gt;&lt;meta name="qrichtext" content="1" /&gt;&lt;/head&gt;&lt;body style=" white-space: pre-wrap; font-family:MS Shell Dlg 2; font-size:7.8pt; font-weight:400; font-style:normal; text-decoration:none;"&gt;&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"&gt;&lt;span style=" font-weight:600;"&gt;Tessellation&lt;/span&gt;&lt;/p&gt;&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"&gt;&lt;/p&gt;&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"&gt;&lt;span style=" font-weight:400;"&gt;Defines the maximum deviation of the tessellated mesh to the surface. The smaller the value is the slower the render speed which results in increased detail/resolution.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
      <translation>&lt;html&gt;&lt;head&gt;&lt;meta name="qrichtext" content="1" /&gt;&lt;/head&gt;&lt;body style=" white-space: pre-wrap; font-family:MS Shell Dlg 2; font-size:7.8pt; font-weight:400; font-style:normal; text-decoration:none;"&gt;&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"&gt;&lt;span style=" font-weight:600;"&gt;Tessellation&lt;/span&gt;&lt;/p&gt;&lt;p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"&gt;&lt;/p&gt;&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"&gt;&lt;span style=" font-weight:400;"&gt;Définit la déviation maximale de la maille tesselée à la surface. Plus la valeur est lente la vitesse de rendu qui résulte en détail/résolution accrue.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
      <location filename="../../DlgSettings3DViewPart.ui" line="93"/>
      <source>Maximum deviation depending on the model bounding box</source>
      <translation>L'écart maximal suivant la  boîte englobant le modèle</translation>
    </message>
    <message>
      <location filename="../../DlgSettings3DViewPart.ui" line="100"/>
      <source>Maximum angular deflection</source>
      <translation>Déviation angulaire maximale</translation>
    </message>
    <message>
      <location filename="../../DlgSettings3DViewPart.ui" line="107"/>
      <source> °</source>
      <translation> °</translation>
    </message>
    <message>
      <location filename="../../DlgSettings3DViewPartImp.cpp" line="69"/>
      <source>Deviation</source>
      <translation>Déviation</translation>
    </message>
    <message>
      <location filename="../../DlgSettings3DViewPartImp.cpp" line="70"/>
      <source>Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI.</source>
      <translation>Définir une déviation de tessellation trop faible peut ralentir ou geler l'interface.</translation>
    </message>
  </context>
  <context>
    <name>PartGui::DlgSettingsGeneral</name>
    <message>
      <location filename="../../DlgSettingsGeneral.ui" line="14"/>
      <source>General</source>
      <translation>Général</translation>
    </message>
    <message>
      <location filename="../../DlgSettingsGeneral.ui" line="20"/>
      <source>Model settings</source>
      <translation>Paramètres de modèle</translation>
    </message>
    <message>
      <location filename="../../DlgSettingsGeneral.ui" line="26"/>
      <source>Automatically check model after boolean operation</source>
      <translation>Vérifier les modèles automatiquement après une opération booléenne</translation>
    </message>
    <message>
      <location filename="../../DlgSettingsGeneral.ui" line="39"/>
      <source>Automatically refine model after boolean operation</source>
      <translation>Affiner les modèles automatiquement après une opération booléenne</translation>
    </message>
    <message>
      <location filename="../../DlgSettingsGeneral.ui" line="52"/>
      <source>Automatically refine model after sketch-based operation</source>
      <translation>Affiner automatiquement le modèle après une opération d'esquisse</translation>
    </message>
    <message>
      <location filename="../../DlgSettingsGeneral.ui" line="68"/>
      <source>Object naming</source>
      <translation>Nom d'objet</translation>
    </message>
    <message>
      <location filename="../../DlgSettingsGeneral.ui" line="74"/>
      <source>Add name of base object</source>
      <translation>Ajouter un nom à l'objet de base</translation>
    </message>
  </context>
  <context>
    <name>PartGui::DlgSettingsObjectColor</name>
    <message>
      <location filename="../../DlgSettingsObjectColor.ui" line="14"/>
      <source>Part colors</source>
      <translation>Couleurs de la pièce</translation>
    </message>
    <message>
      <location filename="../../DlgSettingsObjectColor.ui" line="20"/>
      <source>Default Part colors</source>
      <translation>Couleurs de pièce par défaut</translation>
    </message>
    <message>
      <location filename="../../DlgSettingsObjectColor.ui" line="34"/>
      <source>Default vertex color</source>
      <translation>Couleur de sommet par défaut</translation>
    </message>
    <message>
      <location filename="../../DlgSettingsObjectColor.ui" line="47"/>
      <source>Bounding box color</source>
      <translation>Couleur de la boîte englobante</translation>
    </message>
    <message>
      <location filename="../../DlgSettingsObjectColor.ui" line="60"/>
      <source>Default shape color</source>
      <translation>Couleur des formes par défaut</translation>
    </message>
    <message>
      <location filename="../../DlgSettingsObjectColor.ui" line="67"/>
      <location filename="../../DlgSettingsObjectColor.ui" line="210"/>
      <source>The default line color for new shapes</source>
      <translation>La couleur de ligne par défaut des nouvelles formes</translation>
    </message>
    <message>
      <location filename="../../DlgSettingsObjectColor.ui" line="87"/>
      <source>The default color for new shapes</source>
      <translation>La couleur par défaut des nouvelles formes</translation>
    </message>
    <message>
      <location filename="../../DlgSettingsObjectColor.ui" line="107"/>
      <location filename="../../DlgSettingsObjectColor.ui" line="129"/>
      <source>The default line thickness for new shapes</source>
      <translation>L'épaisseur de ligne par défaut des nouvelles formes</translation>
    </message>
    <message>
      <location filename="../../DlgSettingsObjectColor.ui" line="110"/>
      <location filename="../../DlgSettingsObjectColor.ui" line="132"/>
      <source>px</source>
      <translation>px</translation>
    </message>
    <message>
      <location filename="../../DlgSettingsObjectColor.ui" line="151"/>
      <source>The color of bounding boxes in the 3D view</source>
      <translation>Couleur de la boîte englobante dans la vue 3D</translation>
    </message>
    <message>
      <location filename="../../DlgSettingsObjectColor.ui" line="177"/>
      <source>Default vertex size</source>
      <translation>Taille de sommet par défaut</translation>
    </message>
    <message>
      <location filename="../../DlgSettingsObjectColor.ui" line="190"/>
      <source>Default line width</source>
      <translation>Épaisseur de trait par défaut</translation>
    </message>
    <message>
      <location filename="../../DlgSettingsObjectColor.ui" line="203"/>
      <source>Default line color</source>
      <translation>Couleur de ligne par défaut</translation>
    </message>
    <message>
      <location filename="../../DlgSettingsObjectColor.ui" line="230"/>
      <source>Random shape color</source>
      <translation>Couleur des formes aléatoire</translation>
    </message>
    <message>
      <location filename="../../DlgSettingsObjectColor.ui" line="261"/>
      <source>Annotations</source>
      <translation>Annotations</translation>
    </message>
    <message>
      <location filename="../../DlgSettingsObjectColor.ui" line="275"/>
      <source>Default text color</source>
      <translation>Couleur de texte par défaut</translation>
    </message>
  </context>
  <context>
    <name>PartGui::FaceColors</name>
    <message>
      <location filename="../../TaskFaceColors.cpp" line="416"/>
      <source>Face colors</source>
      <translation>Couleurs de face</translation>
    </message>
    <message>
      <location filename="../../TaskFaceColors.cpp" line="416"/>
      <source>Do you really want to cancel?</source>
      <translation>Voulez-vous vraiment annuler?</translation>
    </message>
  </context>
  <context>
    <name>PartGui::Location</name>
    <message>
      <location filename="../../Location.ui" line="14"/>
      <source>Location</source>
      <translation>Emplacement</translation>
    </message>
    <message>
      <location filename="../../Location.ui" line="23"/>
      <source>Position</source>
      <translation>Position</translation>
    </message>
    <message>
      <location filename="../../Location.ui" line="47"/>
      <source>3D View</source>
      <translation>Vue 3D</translation>
    </message>
  </context>
  <context>
    <name>PartGui::LoftWidget</name>
    <message>
      <location filename="../../TaskLoft.cpp" line="80"/>
      <source>Available profiles</source>
      <translation>Profils disponibles</translation>
    </message>
    <message>
      <location filename="../../TaskLoft.cpp" line="81"/>
      <source>Selected profiles</source>
      <translation>Profils sélectionnés</translation>
    </message>
    <message>
      <location filename="../../TaskLoft.cpp" line="180"/>
      <source>Too few elements</source>
      <translation>Trop peu d'éléments</translation>
    </message>
    <message>
      <location filename="../../TaskLoft.cpp" line="180"/>
      <source>At least two vertices, edges, wires or faces are required.</source>
      <translation>Au moins deux sommets, arêtes, fils ou faces sont requis.</translation>
    </message>
    <message>
      <location filename="../../TaskLoft.cpp" line="214"/>
      <source>Input error</source>
      <translation>Erreur de saisie</translation>
    </message>
    <message>
      <location filename="../../TaskLoft.cpp" line="243"/>
      <source>Vertex/Edge/Wire/Face</source>
      <translation>Sommet/Arête/Fil/Face</translation>
    </message>
    <message>
      <location filename="../../TaskLoft.cpp" line="244"/>
      <source>Loft</source>
      <translation>Lissage</translation>
    </message>
  </context>
  <context>
    <name>PartGui::Mirroring</name>
    <message>
      <location filename="../../Mirroring.ui" line="14"/>
      <source>Mirroring</source>
      <translation>Mise en miroir</translation>
    </message>
    <message>
      <location filename="../../Mirroring.ui" line="33"/>
      <source>Shapes</source>
      <translation>Formes</translation>
    </message>
    <message>
      <location filename="../../Mirroring.ui" line="41"/>
      <source>Mirror plane:</source>
      <translation>Plan miroir :</translation>
    </message>
    <message>
      <location filename="../../Mirroring.ui" line="49"/>
      <source>XY plane</source>
      <translation>Plan XY</translation>
    </message>
    <message>
      <location filename="../../Mirroring.ui" line="54"/>
      <source>XZ plane</source>
      <translation>Plan XZ</translation>
    </message>
    <message>
      <location filename="../../Mirroring.ui" line="59"/>
      <source>YZ plane</source>
      <translation>Plan YZ</translation>
    </message>
    <message>
      <location filename="../../Mirroring.ui" line="67"/>
      <source>Base point</source>
      <translation>Point de base</translation>
    </message>
    <message>
      <location filename="../../Mirroring.ui" line="73"/>
      <source>x</source>
      <translation>x</translation>
    </message>
    <message>
      <location filename="../../Mirroring.ui" line="96"/>
      <source>y</source>
      <translation>y</translation>
    </message>
    <message>
      <location filename="../../Mirroring.ui" line="119"/>
      <source>z</source>
      <translation>z</translation>
    </message>
    <message>
      <location filename="../../Mirroring.cpp" line="124"/>
      <source>Select a shape for mirroring, first.</source>
      <translation>Sélectionner d'abord une forme à mettre en miroir.</translation>
    </message>
    <message>
      <location filename="../../Mirroring.cpp" line="131"/>
      <source>No such document '%1'.</source>
      <translation>Aucun document '%1'.</translation>
    </message>
  </context>
  <context>
    <name>PartGui::OffsetWidget</name>
    <message>
      <location filename="../../TaskOffset.cpp" line="204"/>
      <source>Input error</source>
      <translation>Erreur de saisie</translation>
    </message>
  </context>
  <context>
    <name>PartGui::ResultModel</name>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="344"/>
      <source>Name</source>
      <translation>Nom</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="346"/>
      <source>Type</source>
      <translation>Type</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="348"/>
      <source>Error</source>
      <translation>Erreur</translation>
    </message>
  </context>
  <context>
    <name>PartGui::ShapeBuilderWidget</name>
    <message>
      <location filename="../../TaskShapeBuilder.cpp" line="208"/>
      <location filename="../../TaskShapeBuilder.cpp" line="227"/>
      <location filename="../../TaskShapeBuilder.cpp" line="255"/>
      <location filename="../../TaskShapeBuilder.cpp" line="296"/>
      <location filename="../../TaskShapeBuilder.cpp" line="348"/>
      <location filename="../../TaskShapeBuilder.cpp" line="400"/>
      <location filename="../../TaskShapeBuilder.cpp" line="463"/>
      <source>Wrong selection</source>
      <translation>Sélection invalide</translation>
    </message>
    <message>
      <location filename="../../TaskShapeBuilder.cpp" line="208"/>
      <location filename="../../TaskShapeBuilder.cpp" line="227"/>
      <source>Select two vertices</source>
      <translation>Sélectionnez deux sommets</translation>
    </message>
    <message>
      <location filename="../../TaskShapeBuilder.cpp" line="255"/>
      <location filename="../../TaskShapeBuilder.cpp" line="348"/>
      <source>Select one or more edges</source>
      <translation>Sélectionnez une ou plusieurs arêtes</translation>
    </message>
    <message>
      <location filename="../../TaskShapeBuilder.cpp" line="296"/>
      <source>Select three or more vertices</source>
      <translation>Sélectionnez au moins trois sommets</translation>
    </message>
    <message>
      <location filename="../../TaskShapeBuilder.cpp" line="400"/>
      <source>Select two or more faces</source>
      <translation>Sélectionnez au moins deux faces</translation>
    </message>
    <message>
      <location filename="../../TaskShapeBuilder.cpp" line="463"/>
      <source>Select only one part object</source>
      <translation>Sélectionnez seulement un objet pièce</translation>
    </message>
    <message>
      <location filename="../../TaskShapeBuilder.cpp" line="515"/>
      <source>Select two vertices to create an edge</source>
      <translation>Sélectionner deux sommets pour créer une arête</translation>
    </message>
    <message>
      <location filename="../../TaskShapeBuilder.cpp" line="522"/>
      <source>Select adjacent edges</source>
      <translation>Sélectionnez des bords adjacents</translation>
    </message>
    <message>
      <location filename="../../TaskShapeBuilder.cpp" line="529"/>
      <source>Select a list of vertices</source>
      <translation>Sélectionnez une liste de sommets</translation>
    </message>
    <message>
      <location filename="../../TaskShapeBuilder.cpp" line="536"/>
      <source>Select a closed set of edges</source>
      <translation>Sélectionner un ensemble fermé d'arêtes</translation>
    </message>
    <message>
      <location filename="../../TaskShapeBuilder.cpp" line="543"/>
      <source>Select adjacent faces</source>
      <translation>Sélectionner les faces adjacentes</translation>
    </message>
    <message>
      <location filename="../../TaskShapeBuilder.cpp" line="550"/>
      <source>All shape types can be selected</source>
      <translation>Tous les types de forme peuvent être sélectionnés</translation>
    </message>
  </context>
  <context>
    <name>PartGui::SweepWidget</name>
    <message>
      <location filename="../../TaskSweep.cpp" line="136"/>
      <source>Available profiles</source>
      <translation>Profils disponibles</translation>
    </message>
    <message>
      <location filename="../../TaskSweep.cpp" line="137"/>
      <source>Selected profiles</source>
      <translation>Profils sélectionnés</translation>
    </message>
    <message>
      <location filename="../../TaskSweep.cpp" line="282"/>
      <location filename="../../TaskSweep.cpp" line="414"/>
      <location filename="../../TaskSweep.cpp" line="422"/>
      <source>Sweep path</source>
      <translation>Chemin de balayage</translation>
    </message>
    <message>
      <location filename="../../TaskSweep.cpp" line="282"/>
      <source>Select one or more connected edges you want to sweep along.</source>
      <translation>Sélectionnez une ou plusieurs arêtes connectées le long desquelles passe le balayage.</translation>
    </message>
    <message>
      <location filename="../../TaskSweep.cpp" line="310"/>
      <source>Too few elements</source>
      <translation>Trop peu d'éléments</translation>
    </message>
    <message>
      <location filename="../../TaskSweep.cpp" line="310"/>
      <source>At least one edge or wire is required.</source>
      <translation>Au moins une arête ou un fil est requis.</translation>
    </message>
    <message>
      <location filename="../../TaskSweep.cpp" line="317"/>
      <source>Wrong selection</source>
      <translation>Sélection invalide</translation>
    </message>
    <message>
      <location filename="../../TaskSweep.cpp" line="317"/>
      <source>'%1' cannot be used as profile and path.</source>
      <translation>'%1' ne peut pas servir de profil et de chemin.</translation>
    </message>
    <message>
      <location filename="../../TaskSweep.cpp" line="355"/>
      <source>Input error</source>
      <translation>Erreur de saisie</translation>
    </message>
    <message>
      <location filename="../../TaskSweep.cpp" line="388"/>
      <source>Done</source>
      <translation>Fait</translation>
    </message>
    <message>
      <location filename="../../TaskSweep.cpp" line="390"/>
      <source>Select one or more connected edges in the 3d view and press 'Done'</source>
      <translation>Sélectionnez une ou plusieurs arêtes connectées dans la vue 3D et appuyez sur « Fait »</translation>
    </message>
    <message>
      <location filename="../../TaskSweep.cpp" line="414"/>
      <location filename="../../TaskSweep.cpp" line="422"/>
      <source>The selected sweep path is invalid.</source>
      <translation>Le chemin de balayage sélectionné n'est pas valide.</translation>
    </message>
    <message>
      <location filename="../../TaskSweep.cpp" line="434"/>
      <source>Vertex/Wire</source>
      <translation>Sommet/Fil</translation>
    </message>
    <message>
      <location filename="../../TaskSweep.cpp" line="435"/>
      <source>Sweep</source>
      <translation>Balayage</translation>
    </message>
  </context>
  <context>
    <name>PartGui::TaskAttacher</name>
    <message>
      <location filename="../../TaskAttacher.ui" line="14"/>
      <source>Form</source>
      <translation>Forme</translation>
    </message>
    <message>
      <location filename="../../TaskAttacher.ui" line="20"/>
      <source>Selection accepted</source>
      <translation>Sélection acceptée</translation>
    </message>
    <message>
      <location filename="../../TaskAttacher.ui" line="35"/>
      <source>Reference 1</source>
      <translation>Référence 1</translation>
    </message>
    <message>
      <location filename="../../TaskAttacher.ui" line="52"/>
      <source>Reference 2</source>
      <translation>Référence 2</translation>
    </message>
    <message>
      <location filename="../../TaskAttacher.ui" line="69"/>
      <source>Reference 3</source>
      <translation>Référence 3</translation>
    </message>
    <message>
      <location filename="../../TaskAttacher.ui" line="86"/>
      <source>Reference 4</source>
      <translation>Référence 4</translation>
    </message>
    <message>
      <location filename="../../TaskAttacher.ui" line="101"/>
      <source>Attachment mode:</source>
      <translation>Mode d'accrochage :</translation>
    </message>
    <message>
      <location filename="../../TaskAttacher.ui" line="121"/>
      <source>AttachmentOffset property. The placement is expressed in local space of object being attached.</source>
      <translation>Propriété AttachmentOffset (compensation d'accrochage). Le placement est exprimé localement par rapport à l'objet auquel il est attaché.</translation>
    </message>
    <message>
      <location filename="../../TaskAttacher.ui" line="124"/>
      <location filename="../../TaskAttacher.cpp" line="319"/>
      <source>Attachment Offset:</source>
      <translation>Compensation d'accrochage :</translation>
    </message>
    <message>
      <location filename="../../TaskAttacher.ui" line="136"/>
      <source>X:</source>
      <translation>X :</translation>
    </message>
    <message>
      <location filename="../../TaskAttacher.ui" line="152"/>
      <source>Y:</source>
      <translation>Y :</translation>
    </message>
    <message>
      <location filename="../../TaskAttacher.ui" line="181"/>
      <source>Z:</source>
      <translation>Z :</translation>
    </message>
    <message>
      <location filename="../../TaskAttacher.ui" line="210"/>
      <source>Yaw:</source>
      <translation>Axe de lacet :</translation>
    </message>
    <message>
      <location filename="../../TaskAttacher.ui" line="223"/>
      <source>Pitch:</source>
      <translation>Axe de tangage :</translation>
    </message>
    <message>
      <location filename="../../TaskAttacher.ui" line="236"/>
      <source>Roll:</source>
      <translation>Axe de roulis :</translation>
    </message>
    <message>
      <location filename="../../TaskAttacher.ui" line="328"/>
      <source>Flip sides</source>
      <translation>Retourner</translation>
    </message>
    <message>
      <location filename="../../TaskAttacher.cpp" line="302"/>
      <source>OCC error: %1</source>
      <translation>Erreur OCC : %1</translation>
    </message>
    <message>
      <location filename="../../TaskAttacher.cpp" line="304"/>
      <source>unknown error</source>
      <translation>erreur inconnue</translation>
    </message>
    <message>
      <location filename="../../TaskAttacher.cpp" line="307"/>
      <source>Attachment mode failed: %1</source>
      <translation>Le mode d'accrochage a échoué : %1</translation>
    </message>
    <message>
      <location filename="../../TaskAttacher.cpp" line="311"/>
      <source>Not attached</source>
      <translation>Non accroché</translation>
    </message>
    <message>
      <location filename="../../TaskAttacher.cpp" line="315"/>
      <source>Attached with mode %1</source>
      <translation>Accroché avec mode %1</translation>
    </message>
    <message>
      <location filename="../../TaskAttacher.cpp" line="319"/>
      <source>Attachment Offset (inactive - not attached):</source>
      <translation>Compensation d'accrochage (inactif - non accroché) :</translation>
    </message>
    <message>
      <location filename="../../TaskAttacher.cpp" line="618"/>
      <source>Face</source>
      <translation>Face</translation>
    </message>
    <message>
      <location filename="../../TaskAttacher.cpp" line="623"/>
      <source>Edge</source>
      <translation>Arête</translation>
    </message>
    <message>
      <location filename="../../TaskAttacher.cpp" line="628"/>
      <source>Vertex</source>
      <translation>Sommet</translation>
    </message>
    <message>
      <location filename="../../TaskAttacher.cpp" line="690"/>
      <source>Selecting...</source>
      <translation>Sélection de...</translation>
    </message>
    <message>
      <location filename="../../TaskAttacher.cpp" line="694"/>
      <source>Reference%1</source>
      <translation>Référence%1</translation>
    </message>
    <message>
      <location filename="../../TaskAttacher.cpp" line="740"/>
      <source>Not editable because rotation part of AttachmentOffset is bound by expressions.</source>
      <translation>Non modifiable parce que la rotation de la compensation d'accrochage est définie par des expressions.</translation>
    </message>
    <message>
      <location filename="../../TaskAttacher.cpp" line="804"/>
      <source>Reference combinations:</source>
      <translation>Combinaisons de référence :</translation>
    </message>
    <message>
      <location filename="../../TaskAttacher.cpp" line="821"/>
      <source>%1 (add %2)</source>
      <translation>%1 (ajouter %2)</translation>
    </message>
    <message>
      <location filename="../../TaskAttacher.cpp" line="826"/>
      <source>%1 (add more references)</source>
      <translation>%1 (ajouter plus de références)</translation>
    </message>
  </context>
  <context>
    <name>PartGui::TaskCheckGeometryDialog</name>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="942"/>
      <source>Shape Content</source>
      <translation>Contenu de la forme</translation>
    </message>
  </context>
  <context>
    <name>PartGui::TaskCheckGeometryResults</name>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="385"/>
      <source>Check Geometry</source>
      <translation>Vérifier la géométrie</translation>
    </message>
    <message>
      <location filename="../../TaskCheckGeometry.cpp" line="421"/>
      <source>Check geometry</source>
      <translation>Vérifier la géométrie</translation>
    </message>
  </context>
  <context>
    <name>PartGui::TaskDlgAttacher</name>
    <message>
      <location filename="../../TaskAttacher.cpp" line="1057"/>
      <source>Datum dialog: Input error</source>
      <translation>Boîte de dialogue de dimension : erreur d’entrée</translation>
    </message>
  </context>
  <context>
    <name>PartGui::TaskFaceColors</name>
    <message>
      <location filename="../../TaskFaceColors.ui" line="14"/>
      <source>Set color per face</source>
      <translation>Définir la couleur des faces</translation>
    </message>
    <message>
      <location filename="../../TaskFaceColors.ui" line="20"/>
      <source>Click on the faces in the 3d view to select them.</source>
      <translation>Cliquer sur les faces dans la vue 3D pour les sélectionner.</translation>
    </message>
    <message>
      <location filename="../../TaskFaceColors.ui" line="39"/>
      <source>Faces:</source>
      <translation>Faces :</translation>
    </message>
    <message>
      <location filename="../../TaskFaceColors.ui" line="59"/>
      <source>Set to default</source>
      <translation>Définir par défaut</translation>
    </message>
    <message>
      <location filename="../../TaskFaceColors.ui" line="66"/>
      <source>Box selection</source>
      <translation>Sélection par boîte</translation>
    </message>
  </context>
  <context>
    <name>PartGui::TaskLoft</name>
    <message>
      <location filename="../../TaskLoft.ui" line="14"/>
      <source>Loft</source>
      <translation>Lissage</translation>
    </message>
    <message>
      <location filename="../../TaskLoft.ui" line="23"/>
      <source>Create solid</source>
      <translation>Créer le solide</translation>
    </message>
    <message>
      <location filename="../../TaskLoft.ui" line="30"/>
      <source>Ruled surface</source>
      <translation>Surface réglée</translation>
    </message>
    <message>
      <location filename="../../TaskLoft.ui" line="50"/>
      <source>Closed</source>
      <translation>Fermé</translation>
    </message>
  </context>
  <context>
    <name>PartGui::TaskOffset</name>
    <message>
      <location filename="../../TaskOffset.ui" line="14"/>
      <location filename="../../TaskOffset.ui" line="20"/>
      <source>Offset</source>
      <translation>Décalage</translation>
    </message>
    <message>
      <location filename="../../TaskOffset.ui" line="34"/>
      <source>Mode</source>
      <translation>Mode</translation>
    </message>
    <message>
      <location filename="../../TaskOffset.ui" line="42"/>
      <source>Skin</source>
      <translation>Couche</translation>
    </message>
    <message>
      <location filename="../../TaskOffset.ui" line="47"/>
      <source>Pipe</source>
      <translation>Tuyau</translation>
    </message>
    <message>
      <location filename="../../TaskOffset.ui" line="52"/>
      <source>RectoVerso</source>
      <translation>Recto/verso</translation>
    </message>
    <message>
      <location filename="../../TaskOffset.ui" line="60"/>
      <source>Join type</source>
      <translation>Type de raccordement</translation>
    </message>
    <message>
      <location filename="../../TaskOffset.ui" line="68"/>
      <source>Arc</source>
      <translation>Arc</translation>
    </message>
    <message>
      <location filename="../../TaskOffset.ui" line="73"/>
      <source>Tangent</source>
      <translation>Tangent</translation>
    </message>
    <message>
      <location filename="../../TaskOffset.ui" line="78"/>
      <location filename="../../TaskOffset.ui" line="86"/>
      <source>Intersection</source>
      <translation>Intersection</translation>
    </message>
    <message>
      <location filename="../../TaskOffset.ui" line="93"/>
      <source>Self-intersection</source>
      <translation>Auto-intersection</translation>
    </message>
    <message>
      <location filename="../../TaskOffset.ui" line="100"/>
      <source>Fill offset</source>
      <translation>Remplir le décalage</translation>
    </message>
    <message>
      <location filename="../../TaskOffset.ui" line="114"/>
      <source>Faces</source>
      <translation>Faces</translation>
    </message>
    <message>
      <location filename="../../TaskOffset.ui" line="141"/>
      <source>Update view</source>
      <translation>Réactualiser la vue</translation>
    </message>
  </context>
  <context>
    <name>PartGui::TaskShapeBuilder</name>
    <message>
      <location filename="../../TaskShapeBuilder.ui" line="14"/>
      <location filename="../../TaskShapeBuilder.ui" line="20"/>
      <source>Create shape</source>
      <translation>Créer la forme</translation>
    </message>
    <message>
      <location filename="../../TaskShapeBuilder.ui" line="26"/>
      <source>Face from vertices</source>
      <translation>Face depuis des sommets</translation>
    </message>
    <message>
      <location filename="../../TaskShapeBuilder.ui" line="33"/>
      <source>Shell from faces</source>
      <translation>Coque à partir de faces</translation>
    </message>
    <message>
      <location filename="../../TaskShapeBuilder.ui" line="40"/>
      <source>Edge from vertices</source>
      <translation>Arête à partir de sommets</translation>
    </message>
    <message>
      <location filename="../../TaskShapeBuilder.ui" line="47"/>
      <source>Face from edges</source>
      <translation>Face à partir d'arêtes</translation>
    </message>
    <message>
      <location filename="../../TaskShapeBuilder.ui" line="54"/>
      <source>Solid from shell</source>
      <translation>Solide depuis une coque</translation>
    </message>
    <message>
      <location filename="../../TaskShapeBuilder.ui" line="68"/>
      <source>Planar</source>
      <translation>Planaire</translation>
    </message>
    <message>
      <location filename="../../TaskShapeBuilder.ui" line="75"/>
      <source>Refine shape</source>
      <translation>Affiner la forme</translation>
    </message>
    <message>
      <location filename="../../TaskShapeBuilder.ui" line="85"/>
      <source>All faces</source>
      <translation>Toutes les faces</translation>
    </message>
    <message>
      <location filename="../../TaskShapeBuilder.ui" line="107"/>
      <source>Create</source>
      <translation>Créer</translation>
    </message>
    <message>
      <location filename="../../TaskShapeBuilder.ui" line="116"/>
      <source>Wire from edges</source>
      <translation>Fil à partir d'arêtes</translation>
    </message>
  </context>
  <context>
    <name>PartGui::TaskSweep</name>
    <message>
      <location filename="../../TaskSweep.ui" line="14"/>
      <source>Sweep</source>
      <translation>Balayage</translation>
    </message>
    <message>
      <location filename="../../TaskSweep.ui" line="23"/>
      <source>Sweep Path</source>
      <translation>Chemin de balayage</translation>
    </message>
    <message>
      <location filename="../../TaskSweep.ui" line="50"/>
      <source>Create solid</source>
      <translation>Créer le solide</translation>
    </message>
    <message>
      <location filename="../../TaskSweep.ui" line="57"/>
      <source>Frenet</source>
      <translation>Frenet</translation>
    </message>
    <message>
      <location filename="../../TaskSweep.cpp" line="464"/>
      <source>Select one or more profiles and select an edge or wire
in the 3D view for the sweep path.</source>
      <translation>Sélectionnez au moins un profil dans la liste, puis une arête ou un fil dans la vue 3D comme chemin.</translation>
    </message>
  </context>
  <context>
    <name>PartGui::ThicknessWidget</name>
    <message>
      <location filename="../../TaskThickness.cpp" line="103"/>
      <location filename="../../TaskThickness.cpp" line="268"/>
      <location filename="../../TaskThickness.cpp" line="278"/>
      <source>Thickness</source>
      <translation>Épaisseur</translation>
    </message>
    <message>
      <location filename="../../TaskThickness.cpp" line="159"/>
      <source>Select faces of the source object and press 'Done'</source>
      <translation>Sélectionnez des faces de l'objet source et cliquez sur 'Terminé'</translation>
    </message>
    <message>
      <location filename="../../TaskThickness.cpp" line="162"/>
      <source>Done</source>
      <translation>Fait</translation>
    </message>
    <message>
      <location filename="../../TaskThickness.cpp" line="233"/>
      <source>Input error</source>
      <translation>Erreur de saisie</translation>
    </message>
  </context>
  <context>
    <name>Part_FaceMaker</name>
    <message>
      <location filename="../../../App/FaceMaker.cpp" line="172"/>
      <source>Simple</source>
      <translation>Simple</translation>
    </message>
    <message>
      <location filename="../../../App/FaceMaker.cpp" line="177"/>
      <source>Makes separate plane face from every wire independently. No support for holes; wires can be on different planes.</source>
      <translation>Construit des faces planes séparées à partir de chaque fil indépendamment. Les trous ne sont pas pris en charge ; les fils peuvent être sur différents plans.</translation>
    </message>
    <message>
      <location filename="../../../App/FaceMakerBullseye.cpp" line="69"/>
      <source>Bull's-eye facemaker</source>
      <translation>Générateur de faces cible</translation>
    </message>
    <message>
      <location filename="../../../App/FaceMakerBullseye.cpp" line="74"/>
      <source>Supports making planar faces with holes with islands.</source>
      <translation>Supporte la création de faces planaires avec des îlots.</translation>
    </message>
    <message>
      <location filename="../../../App/FaceMakerCheese.cpp" line="248"/>
      <source>Cheese facemaker</source>
      <translation>Générateur de faces gruyère</translation>
    </message>
    <message>
      <location filename="../../../App/FaceMakerCheese.cpp" line="253"/>
      <source>Supports making planar faces with holes, but no islands inside holes.</source>
      <translation>Supporte la création de faces planaires avec des trous, mais pas d'îlots à l'intérieur des trous.</translation>
    </message>
    <message>
      <location filename="../../../App/FeatureExtrusion.cpp" line="515"/>
      <source>Part Extrude facemaker</source>
      <translation>Générateur de faces extrusion</translation>
    </message>
    <message>
      <location filename="../../../App/FeatureExtrusion.cpp" line="520"/>
      <source>Supports making faces with holes, does not support nesting.</source>
      <translation>Supporte la création de faces trouées, ne supporte pas l'imbrication.</translation>
    </message>
  </context>
  <context>
    <name>Workbench</name>
    <message>
      <location filename="../../Workbench.cpp" line="37"/>
      <source>&amp;Part</source>
      <translation>&amp;Pièce</translation>
    </message>
    <message>
      <location filename="../../Workbench.cpp" line="38"/>
      <source>&amp;Simple</source>
      <translation>&amp;Simple</translation>
    </message>
    <message>
      <location filename="../../Workbench.cpp" line="39"/>
      <source>&amp;Parametric</source>
      <translation>&amp;Paramétrique</translation>
    </message>
    <message>
      <location filename="../../Workbench.cpp" line="40"/>
      <source>Solids</source>
      <translation>Solides</translation>
    </message>
    <message>
      <location filename="../../Workbench.cpp" line="41"/>
      <source>Part tools</source>
      <translation>Outils de pièces</translation>
    </message>
    <message>
      <location filename="../../Workbench.cpp" line="42"/>
      <source>Boolean</source>
      <translation>Opération booléenne</translation>
    </message>
    <message>
      <location filename="../../Workbench.cpp" line="43"/>
      <source>Primitives</source>
      <translation>Primitives</translation>
    </message>
    <message>
      <location filename="../../Workbench.cpp" line="44"/>
      <source>Join</source>
      <translation>Joindre</translation>
    </message>
    <message>
      <location filename="../../Workbench.cpp" line="45"/>
      <source>Split</source>
      <translation>Scinder</translation>
    </message>
    <message>
      <location filename="../../Workbench.cpp" line="46"/>
      <source>Compound</source>
      <translation>Composé</translation>
    </message>
  </context>
</TS>
