# French translations for Wine
#
msgid ""
msgstr ""
"Project-Id-Version: Wine\n"
"Report-Msgid-Bugs-To: http://bugs.winehq.org\n"
"POT-Creation-Date: N/A\n"
"PO-Revision-Date: N/A\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: French\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#: clock.rc:28
msgid "&Properties"
msgstr "&Propriétés"

#: clock.rc:29
msgid "Ana&log"
msgstr "Ana&logique"

#: clock.rc:30
msgid "Digi&tal"
msgstr "&Numérique"

#: clock.rc:32
msgid "&Font..."
msgstr "&Police..."

#: clock.rc:34
msgid "&Without Titlebar"
msgstr "Sans &barre de titre"

#: clock.rc:36
msgid "&Seconds"
msgstr "&Secondes"

#: clock.rc:37
msgid "&Date"
msgstr "&Date"

#: clock.rc:39
msgid "&Always on Top"
msgstr "&Toujours visible"

#: clock.rc:41
msgid "Inf&o"
msgstr "Inf&o"

#: clock.rc:42
msgid "&About Clock..."
msgstr "À &propos de l'horloge"

#: clock.rc:48
msgid "Clock"
msgstr "Horloge"

#: cmd.rc:30
msgid "ATTRIB shows or changes DOS file attributes.\n"
msgstr "ATTRIB affiche ou modifie les attributs de fichiers DOS.\n"

#: cmd.rc:38
msgid ""
"CALL <batchfilename> is used within a batch file to execute commands\n"
"from another batch file. When the batch file exits, control returns to\n"
"the file which called it. The CALL command may supply parameters to the\n"
"called procedure.\n"
"\n"
"Changes to default directory, environment variables etc made within a\n"
"called procedure are inherited by the caller.\n"
msgstr ""
"CALL <fichierbatch> sert à appeler un fichier batch\n"
"depuis un autre fichier batch. Quand le fichier batch sort, le contrôle "
"revient\n"
"au fichier qui l'a appelé. La commande CALL doit être suivie des paramètres\n"
"de la procédure appelée.\n"
"\n"
"Les changements de répertoire courant, de variables d'environnement etc. "
"faits\n"
"dans une procédure appelée sont transmis à l'appelant.\n"

#: cmd.rc:41
msgid ""
"CD <dir> is the short version of CHDIR. It changes the current\n"
"default directory.\n"
msgstr ""
"CD <rép> est la version courte de CHDIR. Elle change lerépertoire courant "
"par défaut.\n"

#: cmd.rc:42
msgid "CHDIR <dir> changes the current default directory.\n"
msgstr "CHDIR <rép> change le répertoire courant par défaut.\n"

#: cmd.rc:44
msgid "CLS clears the console screen.\n"
msgstr "CLS efface l'écran de la console.\n"

#: cmd.rc:46
msgid "COPY <filename> copies a file.\n"
msgstr "COPY copie un ou plusieurs fichiers.\n"

#: cmd.rc:47
msgid "CTTY changes the input/output device.\n"
msgstr "CTTY change le périphérique d'entrée/sortie.\n"

#: cmd.rc:48
msgid "DATE shows or changes the system date.\n"
msgstr "DATE affiche ou modifie la date système.\n"

#: cmd.rc:49
msgid "DEL <filename> deletes a file or set of files.\n"
msgstr "DEL <fichiers> efface un fichier ou un groupe de fichiers.\n"

#: cmd.rc:50
msgid "DIR lists the contents of a directory.\n"
msgstr "DIR liste le contenu d'un répertoire.\n"

#: cmd.rc:60
msgid ""
"ECHO <string> displays <string> on the current terminal device.\n"
"\n"
"ECHO ON causes all subsequent commands in a batch file to be displayed\n"
"on the terminal device before they are executed.\n"
"\n"
"ECHO OFF reverses the effect of a previous ECHO ON (ECHO is OFF by\n"
"default). The ECHO OFF command can be prevented from displaying by\n"
"preceding it with an @ sign.\n"
msgstr ""
"ECHO <chaîne> affiche <chaîne> sur la console courante.\n"
"\n"
"ECHO ON provoque l'affichage de toutes les commandes sur la console\n"
"avant leur exécution.\n"
"\n"
"ECHO OFF annule l'effet de tout ECHO ON antérieur (ECHO est OFF par\n"
"défaut). On peut empêcher l'affichage de ECHO OFF en le faisant\n"
"précéder d'un signe @.\n"

#: cmd.rc:62
msgid "ERASE <filename> deletes a file or set of files.\n"
msgstr "ERASE <fichiers> efface un ou plusieurs fichiers.\n"

#: cmd.rc:70
msgid ""
"The FOR command is used to execute a command for each of a set of files.\n"
"\n"
"Syntax: FOR %variable IN (set) DO command\n"
"\n"
"The requirement to double the % sign when using FOR in a batch file does\n"
"not exist in wine's cmd.\n"
msgstr ""
"La commande FOR sert à exécuter une commande pour chaque fichier d'un groupe "
"de fichiers.\n"
"\n"
"Syntaxe : FOR %variable IN (groupe) DO commande\n"
"\n"
"La nécessité de doubler le signe '%' lorsque l'on utilise FOR dans un "
"fichier batch\n"
"n'existe pas dans cmd.\n"

#: cmd.rc:82
msgid ""
"The GOTO command transfers execution to another statement within a\n"
"batch file.\n"
"\n"
"The label which is the target of a GOTO may be up to 255 characters\n"
"long but may not include spaces (this is different from other operating\n"
"systems). If two or more identical labels exist in a batch file the\n"
"first one will always be executed. Attempting to GOTO a nonexistent\n"
"label terminates the batch file execution.\n"
"\n"
"GOTO has no effect when used interactively.\n"
msgstr ""
"La commande GOTO transfère l'exécution à une autre commande (située\n"
"après une étiquette donnée) dans un fichier batch.\n"
"\n"
"L'étiquette cible du GOTO a une longueur de maximum 255 caractères\n"
"mais ne peut inclure d'espaces (à la différence d'autres systèmes\n"
"d'exploitation). Si deux étiquettes identiques (ou plus) sont dans le même\n"
"fichier, seule la première sera utilisée. Essayer de sauter vers une "
"étiquette\n"
"non existante termine l'exécution du fichier batch.\n"
"\n"
"GOTO n'a pas d'effet si utilisé interactivement.\n"

#: cmd.rc:85
msgid ""
"HELP <command> shows brief help details on a topic.\n"
"HELP without an argument shows all CMD built-in commands.\n"
msgstr "Affiche une brève aide sur les commandes internes de CMD\n"

#: cmd.rc:95
msgid ""
"IF is used to conditionally execute a command.\n"
"\n"
"Syntax:\tIF [NOT] EXIST filename command\n"
"IF [NOT] string1==string2 command\n"
"IF [NOT] ERRORLEVEL number command\n"
"\n"
"In the second form of the command, string1 and string2 must be in double\n"
"quotes. The comparison is not case-sensitive.\n"
msgstr ""
"IF est utilisé pour exécuter une commande de façon conditionnelle.\n"
"\n"
"Syntaxe :\tIF [NOT] EXIST nomfichier commande\n"
"IF [NOT] chaîne1==chaîne2 commande\n"
"IF [NOT] ERRORLEVEL nombre commande\n"
"\n"
"Dans la deuxième forme de la commande, chaîne1 et chaîne2 doivent être\n"
"entre guillemets. La comparaison est insensible à la casse.\n"

#: cmd.rc:101
msgid ""
"LABEL is used to set a disk volume label.\n"
"\n"
"Syntax: LABEL [drive:]\n"
"The command will prompt you for the new volume label for the given drive.\n"
"You can display the disk volume label with the VOL command.\n"
msgstr ""
"LABEL sert à modifier le nom de volume d'un disque.\n"
"\n"
"Syntaxe : LABEL [lecteur:]\n"
"La commande demande le nouveau nom de volume pour le lecteur spécifié.\n"
"Vous pouvez afficher le nom de volume avec la commande VOL.\n"

#: cmd.rc:104
msgid "MD <name> is the short version of MKDIR. It creates a subdirectory.\n"
msgstr "MD est la version courte de MKDIR. Elle crée un répertoire.\n"

#: cmd.rc:105
msgid "MKDIR <name> creates a subdirectory.\n"
msgstr "MKDIR <rép> crée un répertoire.\n"

#: cmd.rc:112
msgid ""
"MOVE relocates a file or directory to a new point within the file system.\n"
"\n"
"If the item being moved is a directory then all the files and "
"subdirectories\n"
"below the item are moved as well.\n"
"\n"
"MOVE fails if the old and new locations are on different DOS drive letters.\n"
msgstr ""
"MOVE déplace un fichier, un groupe de fichiers ou un répertoire\n"
"à un autre endroit dans le système de fichiers. Si l'objet déplacé est un "
"répertoire, alors\n"
"tous les fichiers et sous-répertoires de l'objet sont également déplacés.\n"
"MOVE échoue si l'ancien et le nouvel emplacement sont sur des lecteurs DOS "
"différents.\n"

#: cmd.rc:123
msgid ""
"PATH displays or changes the cmd search path.\n"
"\n"
"Entering PATH will display the current PATH setting (initially taken\n"
"from the registry). To change the setting follow the\n"
"PATH command with the new value.\n"
"\n"
"It is also possible to modify the PATH by using the PATH environment\n"
"variable, for example:\n"
"PATH %PATH%;c:\\temp\n"
msgstr ""
"PATH affiche ou change le chemin de recherche de cmd.\n"
"\n"
"Entrer PATH seul affiche le réglage courant de PATH (dont la valeur\n"
"initiale provient de la base de registre). Pour changer\n"
"le réglage, faites suivre la commande PATH par la nouvelle valeur.\n"
"Il est aussi possible de modifier le PATH en utilisant la variable\n"
"d'environnement PATH, par exemple :\n"
"PATH %PATH%;c:\\temp\n"

#: cmd.rc:129
msgid ""
"PAUSE displays a message on the screen 'Press Return key to continue'\n"
"and waits for the user to press the Return key. It is mainly useful in\n"
"batch files to allow the user to read the output of a previous command\n"
"before it scrolls off the screen.\n"
msgstr ""
"PAUSE affiche un message sur l'écran : 'Pressez Entrée pour continuer'\n"
"et attend que l'utilisateur presse la touche Entrée. PAUSE est surtout "
"utilisé dans\n"
"les fichiers batchs pour permettre à l'utilisateur de lire la sortie de\n"
"la dernière commande avant qu'elle ne disparaisse de l'écran.\n"

#: cmd.rc:150
msgid ""
"PROMPT sets the command-line prompt.\n"
"\n"
"The string following the PROMPT command (and the space immediately after)\n"
"appears at the beginning of the line when cmd is waiting for input.\n"
"\n"
"The following character strings have the special meaning shown:\n"
"\n"
"$$    Dollar sign         $_    Linefeed            $b    Pipe sign (|)\n"
"$d    Current date        $e    Escape              $g    > sign\n"
"$l    < sign              $n    Current drive       $p    Current path\n"
"$q    Equal sign          $t    Current time        $v    cmd version\n"
"\n"
"Note that entering the PROMPT command without a prompt-string resets the\n"
"prompt to the default, which is the current directory (which includes the\n"
"current drive letter) followed by a greater-than (>) sign.\n"
"(like a command PROMPT $p$g).\n"
"\n"
"The prompt can also be changed by altering the PROMPT environment variable,\n"
"so the command 'SET PROMPT=text' has the same effect as 'PROMPT text'\n"
msgstr ""
"PROMPT règle l'invite de commande.\n"
"\n"
"La chaîne suivant la commande PROMPT (ainsi que le blanc la suivant "
"directement)\n"
"apparaît au début de la ligne quand cmd attend une entrée texte.\n"
"\n"
"Les chaînes de caractères suivantes ont une signification spéciale :\n"
"\n"
"$$    Signe dollar        $_    Saut de ligne       $b    Barre verticale "
"(|)\n"
"$d    Date courante       $e    Escape              $g    Signe >\n"
"$l    Signe <             $n    Lecteur courant     $p    Répertoire "
"courant\n"
"$q    Signe =             $t    Heure courante      $v    Version de cmd\n"
"\n"
"Notez qu'entrer la commande PROMPT sans texte d'invite remet l'invite\n"
"à sa valeur par défaut, à savoir la lettre du lecteur courant suivie de\n"
"son répertoire courant et d'un signe plus-grand-que (>).\n"
"(c.-à-d. la commande PROMPT $p$g).\n"
"\n"
"L'invite peut aussi être adaptée en modifiant la variable d'environnement\n"
"PROMPT ; ainsi la commande 'SET PROMPT=texte' a le même effet que 'PROMPT "
"texte'\n"

#: cmd.rc:154
msgid ""
"A command line beginning REM (followed by a space) performs no\n"
"action, and can therefore be used as a comment in a batch file.\n"
msgstr ""
"Une ligne de commande commençant par REM (suivi d'une espace) n'engendre\n"
"aucune action, et peut donc servir de commentaire dans un fichier batch.\n"

#: cmd.rc:157
msgid "REN <filename> is the short version of RENAME. It renames a file.\n"
msgstr "REN est la version courte de RENAME. Elle renomme un fichier.\n"

#: cmd.rc:158
msgid "RENAME <filename> renames a file\n"
msgstr "RENAME renomme un fichier.\n"

#: cmd.rc:160
msgid "RD <dir> is the short version of RMDIR. It deletes a subdirectory.\n"
msgstr "RD est la version courte de RMDIR. Elle efface un répertoire.\n"

#: cmd.rc:161
msgid "RMDIR <dir> deletes a subdirectory.\n"
msgstr "RMDIR efface un sous-répertoire.\n"

#: cmd.rc:179
msgid ""
"SET displays or changes the cmd environment variables.\n"
"\n"
"SET without parameters shows all of the current environment.\n"
"\n"
"To create or modify an environment variable the syntax is:\n"
"\n"
"SET <variable>=<value>\n"
"\n"
"where <variable> and <value> are character strings. There must be no\n"
"spaces before the equals sign, nor can the variable name\n"
"have embedded spaces.\n"
"\n"
"Under Wine, the environment of the underlying operating system is\n"
"included into the Win32 environment, there will generally therefore be\n"
"many more values than in a native Win32 implementation. Note that it is\n"
"not possible to affect the operating system environment from within cmd.\n"
msgstr ""
"SET affiche ou change les variables d'environnement de cmd.\n"
"\n"
"SET sans paramètre affiche l'environnement courant.\n"
"\n"
"Pour créer et modifier une variable d'environnement, la syntaxe est :\n"
"\n"
"SET <variable>=<valeur>\n"
"\n"
"où <variable> et <valeur> sont des chaînes de caractères. Il ne peut y avoir "
"aucun\n"
"espace autour du signe '=', ni dans <variable>.\n"
"\n"
"\n"
"Sous Wine, l'environnement du système hôte est\n"
"inclus dans l'environnement Win32, il y aura par conséquent généralement\n"
"bien plus de valeurs que dans un système Win32 natif. Notez qu'il\n"
"n'est pas possible de modifier l'environnement du système d'exploitation "
"dans cmd.\n"

#: cmd.rc:184
msgid ""
"SHIFT is used in a batch file to remove one parameter from the head of\n"
"the list, so parameter 2 becomes parameter 1 and so on. It has no effect\n"
"if called from the command line.\n"
msgstr ""
"SHIFT est utilisé dans un fichier batch pour enlever le premier paramètre de "
"la\n"
"liste ; ainsi, le paramètre 2 devient paramètre 1 et ainsi de suite. Il est "
"sans effet\n"
"s'il est appelé depuis la ligne de commande.\n"

#: cmd.rc:186
msgid "TIME sets or shows the current system time.\n"
msgstr "TIME règle ou affiche l'heure système courante.\n"

#: cmd.rc:188
msgid "Sets the window title for the cmd window, syntax TITLE [string]\n"
msgstr ""
"Définit le titre de la fenêtre pour la session cmd, Syntaxe : TITLE "
"[chaîne]\n"

#: cmd.rc:192
msgid ""
"TYPE <filename> copies <filename> to the console device (or elsewhere\n"
"if redirected). No check is made that the file is readable text.\n"
msgstr ""
"TYPE <nomfichier> affiche <nomfichier> sur la console (ou ailleurs\n"
"si redirigé). Aucun test n'est fait pour voir si le fichier contient bien du "
"texte.\n"

#: cmd.rc:201
msgid ""
"VERIFY is used to set, clear or test the verify flag. Valid forms are:\n"
"\n"
"VERIFY ON\tSet the flag\n"
"VERIFY OFF\tClear the flag\n"
"VERIFY\t\tDisplays ON or OFF as appropriate.\n"
"\n"
"The verify flag has no function in Wine.\n"
msgstr ""
"VERIFY est utilisé pour positionner, effacer ou tester l'indicateur de "
"vérification.\n"
"\n"
"Les formes suivantes sont correctes :\n"
"VERIFY ON\tPositionne l'indicateur\n"
"VERIFY OFF\tEfface l'indicateur\n"
"VERIFY\t\tAffiche l'état ON ou OFF de l'indicateur.\n"
"\n"
"L'indicateur de vérification n'a pas de fonction dans Wine.\n"

#: cmd.rc:204
msgid "VER displays the version of cmd you are running\n"
msgstr "VER affiche la version de cmd utilisée.\n"

#: cmd.rc:206
msgid "VOL shows the volume label of a disk device.\n"
msgstr "Aide de VOL\n"

#: cmd.rc:209
msgid ""
"PUSHD <directoryname> saves the current directory onto a\n"
"stack, and then changes the current directory to the supplied one.\n"
msgstr ""
"PUSHD <répertoire> enregistre le répertoire courant sur\n"
"une pile et remplace le répertoire courant par le répertoire spécifié.\n"

#: cmd.rc:212
msgid ""
"POPD changes current directory to the last one saved with\n"
"PUSHD.\n"
msgstr ""
"POPD change le répertoire courant par le dernier enregistré à l'aide de\n"
"PUSHD.\n"

#: cmd.rc:214
msgid "MORE displays output of files or piped input in pages.\n"
msgstr "MORE affiche le contenu de fichiers ou l'entrée standard par pages.\n"

#: cmd.rc:218
msgid ""
"CHOICE displays a text and waits, until the User\n"
"presses an allowed Key from a selectable list.\n"
"CHOICE is mainly used to build a menu selection in a batch file.\n"
msgstr ""
"CHOICE affiche un message et bloque jusqu'à ce que l'utilisateur appuie\n"
"sur une des touches spécifiées dans une liste configurable.\n"
"CHOICE est principalement utilisé pour construire une sélection de menu dans "
"un fichier batch.\n"

#: cmd.rc:222
msgid ""
"EXIT terminates the current command session and returns\n"
"to the operating system or shell from which you invoked cmd.\n"
msgstr ""
"EXIT termine la session de ligne de commande et retourne\n"
"au système d'exploitation ou au shell où vous avez invoqué cmd.\n"

#: cmd.rc:253
msgid ""
"CMD built-in commands are:\n"
"ATTRIB\t\tShow or change DOS file attributes\n"
"CALL\t\tInvoke a batch file from inside another\n"
"CD (CHDIR)\tChange current default directory\n"
"CHOICE\t\tWait for an keypress from a selectable list\n"
"CLS\t\tClear the console screen\n"
"COPY\t\tCopy file\n"
"CTTY\t\tChange input/output device\n"
"DATE\t\tShow or change the system date\n"
"DEL (ERASE)\tDelete a file or set of files\n"
"DIR\t\tList the contents of a directory\n"
"ECHO\t\tCopy text directly to the console output\n"
"HELP\t\tShow brief help details on a topic\n"
"MD (MKDIR)\tCreate a subdirectory\n"
"MORE\t\tDisplay output in pages\n"
"MOVE\t\tMove a file, set of files or directory tree\n"
"PATH\t\tSet or show the search path\n"
"POPD\t\tRestores the directory to the last one saved with PUSHD\n"
"PROMPT\t\tChange the command prompt\n"
"PUSHD\t\tChanges to a new directory, saving the current one\n"
"REN (RENAME)\tRename a file\n"
"RD (RMDIR)\tDelete a subdirectory\n"
"SET\t\tSet or show environment variables\n"
"TIME\t\tSet or show the current system time\n"
"TITLE\t\tSet the window title for the CMD session\n"
"TYPE\t\tType the contents of a text file\n"
"VER\t\tShow the current version of CMD\n"
"VOL\t\tShow the volume label of a disk device\n"
"EXIT\t\tClose down CMD\n"
"\n"
"Enter HELP <command> for further information on any of the above commands\n"
msgstr ""
"Les commandes intégrées de CMD sont :\n"
"ATTRIB\t\tAffiche ou modifie les attributs de fichiers DOS\n"
"CALL\t\tInvoque un fichier batch à l'intérieur d'un autre\n"
"CD (CHDIR)\tChange le répertoire courant par défaut\n"
"CHOICE\t\tAttend l'appui d'une touche appartenant à une liste configurable\n"
"CLS\t\tEfface l'écran\n"
"COPY\t\tCopie un ou plusieurs fichiers\n"
"CTTY\t\tChange le périphérique d'entrée/sortie\n"
"DATE\t\tAffiche ou modifie la date système\n"
"DEL (ERASE)\tEfface un fichier ou un groupe de fichiers\n"
"DIR\t\tListe le contenu d'un répertoire\n"
"ECHO\t\tAffiche du texte sur la console\n"
"HELP\t\tAffiche de brefs détails sur l'utilisation d'une commande\n"
"MD (MKDIR)\tCrée un répertoire\n"
"MORE\t\tAffiche du texte par pages\n"
"MOVE\t\tDéplace un fichier, un groupe de fichiers ou un répertoire\n"
"PATH\t\tRègle ou affiche le chemin de recherche\n"
"POPD\t\tRemplace le répertoire courant par le dernier enregistré avec PUSHD\n"
"PROMPT\t\tChange l'invite de commande\n"
"PUSHD\t\tChange de répertoire en enregistrant le répertoire courant\n"
"REN (RENAME)\tRenomme un fichier\n"
"RD (RMDIR)\tEfface un répertoire\n"
"SET\t\tRègle ou affiche les variables d'environnement\n"
"TIME\t\tRègle ou affiche l'heure système courante\n"
"TITLE\t\tRègle le titre de la fenêtre pour la session CMD\n"
"TYPE\t\tAffiche le contenu d'un fichier texte\n"
"VER\t\tAffiche la version de cmd utilisée.\n"
"VOL\t\tAffiche le nom de volume d'un lecteur de disque\n"
"EXIT\t\tQuitte CMD\n"
"\n"
"Entrez HELP <commande> pour plus d'informations sur les commandes ci-dessus\n"

#: cmd.rc:255
msgid "Are you sure"
msgstr "Êtes-vous sûr"

#: cmd.rc:256
msgctxt "Yes key"
msgid "Y"
msgstr "O"

#: cmd.rc:257
msgctxt "No key"
msgid "N"
msgstr "N"

#: cmd.rc:258
msgid "File association missing for extension %s\n"
msgstr "Association de fichier manquante pour l'extension %s\n"

#: cmd.rc:259
msgid "No open command associated with file type '%s'\n"
msgstr ""
"Aucune commande d'ouverture n'est associée avec le type de fichier « %s »\n"

#: cmd.rc:260
msgid "Overwrite %s"
msgstr "Écraser %s"

#: cmd.rc:261
msgid "More..."
msgstr "Plus..."

#: cmd.rc:262
msgid "Line in Batch processing possibly truncated. Using:\n"
msgstr "Ligne du processus batch probablement tronquée. Utilisation de :\n"

#: cmd.rc:263
msgid ""
"Not Yet Implemented\n"
"\n"
msgstr ""
"Pas encore implémenté\n"
"\n"

#: cmd.rc:264
msgid "Argument missing\n"
msgstr "Argument manquant\n"

#: cmd.rc:265
msgid "Syntax error\n"
msgstr "Erreur de syntaxe\n"

#: cmd.rc:266
msgid "%s : File Not Found\n"
msgstr "%s : fichier non trouvé\n"

#: cmd.rc:267
msgid "No help available for %s\n"
msgstr "Pas d'aide disponible pour %s\n"

#: cmd.rc:268
msgid "Target to GOTO not found\n"
msgstr "La destination de l'instruction GOTO n'a pas été trouvée\n"

#: cmd.rc:269
msgid "Current Date is %s\n"
msgstr "La date courante est %s\n"

#: cmd.rc:270
msgid "Current Time is %s\n"
msgstr "L'heure courante est %s\n"

#: cmd.rc:271
msgid "Enter new date: "
msgstr "Saisissez la nouvelle date : "

#: cmd.rc:272
msgid "Enter new time: "
msgstr "Saisissez la nouvelle heure : "

#: cmd.rc:273
msgid "Environment variable %s not defined\n"
msgstr "La variable d'environnement %s n'est pas définie\n"

#: cmd.rc:274
msgid "Failed to open '%s'\n"
msgstr "Impossible d'ouvrir « %s »\n"

#: cmd.rc:275
msgid "Cannot call batch label outside of a batch script\n"
msgstr "Impossible d'appeler une étiquette de batch hors d'un script batch\n"

#: cmd.rc:276
msgctxt "All key"
msgid "A"
msgstr "T"

#: cmd.rc:277
msgid "%s, Delete"
msgstr "%s, Supprimer"

#: cmd.rc:278
msgid "Echo is %s\n"
msgstr "Echo est %s\n"

#: cmd.rc:279
msgid "Verify is %s\n"
msgstr "Verify est %s\n"

#: cmd.rc:280
msgid "Verify must be ON or OFF\n"
msgstr "Verify doit être ON ou OFF\n"

#: cmd.rc:281
msgid "Parameter error\n"
msgstr "Erreur de paramètre\n"

#: cmd.rc:282
msgid ""
"Volume in drive %c is %s\n"
"Volume Serial Number is %04x-%04x\n"
"\n"
msgstr ""
"Le volume dans le lecteur %c est %s\n"
"Le numéro de série du volume est %04x-%04x\n"
"\n"

#: cmd.rc:283
msgid "Volume label (11 characters, ENTER for none)?"
msgstr "Étiquette du volume (11 caractères, ENTRÉE pour aucun) ?"

#: cmd.rc:284
msgid "PATH not found\n"
msgstr "PATH non trouvé\n"

#: cmd.rc:285
msgid "Press Return key to continue: "
msgstr "Appuyez sur ENTRÉE pour continuer : "

#: cmd.rc:286
msgid "Wine Command Prompt"
msgstr "Invite de commande Wine"

#: cmd.rc:287
msgid ""
"CMD Version %s\n"
"\n"
msgstr ""
"CMD version %s\n"
"\n"

#: cmd.rc:288
msgid "More? "
msgstr "Plus ? "

#: cmd.rc:289
msgid "The input line is too long.\n"
msgstr "La ligne d'entrée est trop longue.\n"

#: ipconfig.rc:27
msgid "Usage: ipconfig [ /? | /all ]\n"
msgstr "Usage : ipconfig [ /? | /all ]\n"

#: ipconfig.rc:28
msgid "Error: Unknown or invalid command line parameters specified\n"
msgstr ""
"Erreur : les paramètres de ligne de commande spécifiés sont inconnus ou "
"invalides\n"

#: ipconfig.rc:29
msgid "%s adapter %s\n"
msgstr "Adaptateur %s %s\n"

#: ipconfig.rc:30
msgid "Ethernet"
msgstr "Ethernet"

#: ipconfig.rc:31
msgid "Unknown"
msgstr "Inconnu"

#: ipconfig.rc:32
msgid "Connection-specific DNS suffix"
msgstr "Suffixe DNS propre à la connexion"

#: ipconfig.rc:33
msgid "IP address"
msgstr "Adresse IP"

#: ipconfig.rc:34
msgid "Hostname"
msgstr "Nom d'hôte"

#: ipconfig.rc:35
msgid "Node type"
msgstr "Type de nœud"

#: ipconfig.rc:36
msgid "Broadcast"
msgstr "Diffusion"

#: ipconfig.rc:37
msgid "Peer-to-peer"
msgstr "Pair à pair"

#: ipconfig.rc:38
msgid "Mixed"
msgstr "Mixte"

#: ipconfig.rc:39
msgid "Hybrid"
msgstr "Hybride"

#: ipconfig.rc:40
msgid "IP routing enabled"
msgstr "Routage IP activé"

#: ipconfig.rc:41
msgid "Description"
msgstr "Description"

#: ipconfig.rc:42
msgid "Physical address"
msgstr "Adresse physique"

#: ipconfig.rc:43
msgid "DHCP enabled"
msgstr "DHCP activé"

#: ipconfig.rc:44
msgid "Yes"
msgstr "Oui"

#: ipconfig.rc:45
msgid "No"
msgstr "Non"

#: ipconfig.rc:46
msgid "Default gateway"
msgstr "Passerelle par défaut"

#: net.rc:27
msgid ""
"The syntax of this command is:\n"
"\n"
"NET [ HELP | START | STOP | USE ]\n"
msgstr ""
"La syntaxe de cette commande est :\n"
"\n"
"NET [ HELP | START | STOP | USE ]\n"

#: net.rc:28
msgid "Specify service name to start.\n"
msgstr "Spécifie le service à démarrer.\n"

#: net.rc:29
msgid "Specify service name to stop.\n"
msgstr "Spécifie le service à arrêter.\n"

#: net.rc:30
msgid "Stopping dependent service: %s\n"
msgstr "Arrêt du service dépendant : %s\n"

#: net.rc:31
msgid "Could not stop service %s\n"
msgstr "Impossible d'arrêter le service %s\n"

#: net.rc:32
msgid "Could not get handle to service control manager.\n"
msgstr "Impossible d'obtenir le gestionnaire de contrôle de service.\n"

#: net.rc:33
msgid "Could not get handle to service.\n"
msgstr "Impossible d'obtenir le service.\n"

#: net.rc:34
msgid "The %s service is starting.\n"
msgstr "Le service %s démarre.\n"

#: net.rc:35
msgid "The %s service was started successfully.\n"
msgstr "Le service %s a démarré avec succès.\n"

#: net.rc:36
msgid "The %s service failed to start.\n"
msgstr "Le service %s n'a pas pu être démarré.\n"

#: net.rc:37
msgid "The %s service is stopping.\n"
msgstr "Le service %s est en train d'être arrêté.\n"

#: net.rc:38
msgid "The %s service was stopped successfully.\n"
msgstr "Le service %s a été arrêté avec succès.\n"

#: net.rc:39
msgid "The %s service failed to stop.\n"
msgstr "Le service %s n'a pas pu être arrêté.\n"

#: net.rc:40
msgid ""
"The syntax of this command is:\n"
"\n"
"NET HELP command\n"
"    -or-\n"
"NET command /HELP\n"
"\n"
"   Commands available are:\n"
"   NET HELP    NET START    NET STOP    NET USE\n"
msgstr ""
"La syntaxe de cette commande est :\n"
"\n"
"NET HELP commande\n"
"    -ou-\n"
"NET commande /HELP\n"
"\n"
"   Les commandes disponibles sont :\n"
"   NET HELP    NET START    NET STOP    NET USE\n"

#: net.rc:42
msgid "There are no entries in the list.\n"
msgstr "Il n'y a pas d'entrées dans la liste.\n"

#: net.rc:43
msgid ""
"\n"
"Status  Local   Remote\n"
"---------------------------------------------------------------\n"
msgstr ""
"\n"
"Statut    Local   Distant\n"
"---------------------------------------------------------------\n"

#: net.rc:44
msgid "%s      %S      %S      Open resources: %lu\n"
msgstr "%s      %S      %S      Ressources ouvertes : %lu\n"

#: reg.rc:27
msgid ""
"The syntax of this command is:\n"
"\n"
"REG [ ADD | DELETE | QUERY ]\n"
"REG command /?\n"
msgstr ""
"La syntaxe de cette commande est :\n"
"\n"
"REG [ ADD | DELETE | QUERY ]\n"
"REG commande /?\n"

#: reg.rc:28
msgid ""
"REG ADD key_name [/v value_name | /ve] [/t type] [/s separator] [/d data] [/"
"f]\n"
msgstr ""
"REG ADD nom_de_clé [/v nom_de_valeur | /ve] [/t type] [/s séparateur] [/d "
"données] [/f]\n"

#: reg.rc:29
msgid "REG DELETE key_name [/v value_name | /ve | /va] [/f]\n"
msgstr "REG DELETE nom_de_clé [/v nom_de_valeur | /ve | /va] [/f]\n"

#: reg.rc:30
msgid "REG QUERY key_name [/v value_name | /ve] [/s]\n"
msgstr "REG QUERY nom_de_clé [/v nom_de_valeur | /ve] [/s]\n"

#: reg.rc:31
msgid "The operation completed successfully\n"
msgstr "L'opération s'est terminée avec succès\n"

#: reg.rc:32
msgid "Error: Invalid key name\n"
msgstr "Erreur : nom de clé non valable\n"

#: reg.rc:33
msgid "Error: Invalid command line parameters\n"
msgstr "Erreur : paramètre de ligne de commande non valable\n"

#: reg.rc:34
msgid "Error: Unable to add keys to remote machine\n"
msgstr "Erreur : impossible d'ajouter des clés à une machine distante\n"

#: reg.rc:35
msgid ""
"Error: The system was unable to find the specified registry key or value\n"
msgstr ""
"Erreur : le système n'a pas pu trouver la clé ou la valeur de registre "
"spécifiée\n"

#: start.rc:45
msgid ""
"Start a program, or open a document in the program normally used for files "
"with that suffix.\n"
"Usage:\n"
"start [options] program_filename [...]\n"
"start [options] document_filename\n"
"\n"
"Options:\n"
"/M[inimized] Start the program minimized.\n"
"/MAX[imized] Start the program maximized.\n"
"/R[estored]  Start the program normally (neither minimized nor maximized).\n"
"/W[ait]      Wait for started program to finish, then exit with its exit "
"code.\n"
"/Unix        Use a Unix filename and start the file like windows explorer.\n"
"/ProgIDOpen  Open a document using the following progID.\n"
"/L           Show end-user license.\n"
"\n"
"start.exe version 0.2 Copyright (C) 2003, Dan Kegel\n"
"Start comes with ABSOLUTELY NO WARRANTY; for details run with /L option.\n"
"This is free software, and you are welcome to redistribute it\n"
"under certain conditions; run 'start /L' for details.\n"
msgstr ""
"Lance un programme, ou ouvre un document dans le programme normalement "
"associé à cette extension.\n"
"Usage :\n"
"start [options] fichier_programme [...]\n"
"start [options] fichier_document\n"
"\n"
"Options :\n"
"/M[inimized]       Lance le programme minimisé.\n"
"/MAX[imized]       Lance le programme maximisé.\n"
"/R[estored]        Lance le programme normalement (ni minimisé ni "
"maximisé).\n"
"/W[ait]            Attend que le programme lancé se termine, et renvoie "
"ensuite son code de sortie.\n"
"/ProgIDOpen progID Ouvre un document en utilisant le programme identifié par "
"progID.\n"
"/L                 Affiche la licence d'utilisation.\n"
"\n"
"start.exe version 0.2 Copyright (C) 2003, Dan Kegel\n"
"Start est fourni sans AUCUNE GARANTIE ; pour les détails lancez avec "
"l'option /L.\n"
"Ceci est un logiciel libre, et vous êtes invité à le redistribuer\n"
"sous certaines conditions ; lancez 'start /L' pour les détails.\n"

#: start.rc:63
msgid ""
"start.exe version 0.2 Copyright (C) 2003, Dan Kegel\n"
"This program is free software; you can redistribute it and/or\n"
"modify it under the terms of the GNU Lesser Public License\n"
"as published by the Free Software Foundation; either version 2.1\n"
"of the License, or (at your option) any later version.\n"
"\n"
"This program is distributed in the hope that it will be useful,\n"
"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
"GNU Lesser Public License for more details.\n"
"\n"
"You should have received a copy of the GNU Lesser Public License\n"
"along with this program; if not, write to the Free Software\n"
"Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.\n"
"\n"
"See the COPYING.LIB file for license information.\n"
msgstr ""
"start.exe version 0.2 Copyright (C) 2003, Dan Kegel\n"
"Ce programme est un logiciel libre ; vous pouvez le redistribuer et/ou\n"
"le modifier suivant les termes de la Licence Générale Publique Limitée GNU\n"
"telle que publiée par la Free Software Foundation ; soit la version 2.1\n"
"de la Licence, soit (à votre gré) toute version ultérieure.\n"
"\n"
"Ce programme est distribué dans l’espoir qu'il sera utile, mais\n"
"SANS AUCUNE GARANTIE : sans même la garantie implicite de\n"
"COMMERCIALISABILITÉ ou d’ADÉQUATION À UN OBJECTIF PARTICULIER. Consultez\n"
"la Licence Générale Publique Limitée pour plus de détails.\n"
"\n"
"Vous devriez avoir reçu une copie de la Licence Générale Publique Limitée\n"
"GNU avec ce programme ; si ce n’est pas le cas, écrivez à la :\n"
"Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,\n"
"MA 02110-1301, USA.\n"
"\n"
"Référez-vous au fichier COPYING.LIB pour plus d’informations sur la "
"licence.\n"

#: start.rc:65
msgid ""
"Application could not be started, or no application associated with the "
"specified file.\n"
"ShellExecuteEx failed"
msgstr ""
"Le programme n'a pas pu être lancé, ou aucun programme n'est associé au "
"fichier spécifié.\n"
"ShellExecuteEx a échoué"

#: start.rc:67
msgid "Could not translate the specified Unix filename to a DOS filename."
msgstr ""
"Le nom de fichier Unix spécifié n'a pas pu être converti en nom de fichier "
"DOS."

#: taskkill.rc:27
msgid "Usage: taskkill [/?] [/f] [/im ProcessName | /pid ProcessID]\n"
msgstr "Usage : taskkill [/?] [/f] [/im NomProcessus | /pid IdProcessus]\n"

#: taskkill.rc:28
msgid "Error: Unknown or invalid command line option specified.\n"
msgstr "Erreur : option de ligne de commande inconnue ou invalide.\n"

#: taskkill.rc:29
msgid "Error: Invalid command line parameter specified.\n"
msgstr "Erreur : paramètre de ligne de commande invalide.\n"

#: taskkill.rc:30
msgid "Error: One of options /im or /pid must be specified.\n"
msgstr "Erreur : une des options /im ou /pid doit être spécifiée.\n"

#: taskkill.rc:31
msgid "Error: Option %s expects a command line parameter.\n"
msgstr "Erreur : l'option %s requiert un paramètre de ligne de commande.\n"

#: taskkill.rc:32
msgid "Error: Options /im and /pid are mutually exclusive.\n"
msgstr "Erreur : les options /im et /pid sont incompatibles.\n"

#: taskkill.rc:33
msgid "Close message sent to top-level windows of process with PID %u.\n"
msgstr ""
"Message de fermeture envoyé aux fenêtres supérieures du processus de PID "
"%u.\n"

#: taskkill.rc:34
msgid ""
"Close message sent to top-level windows of process \"%s\" with PID %u.\n"
msgstr ""
"Message de fermeture envoyé aux fenêtres supérieures du processus \"%s\" de "
"PID %u.\n"

#: taskkill.rc:35
msgid "Process with PID %u was forcibly terminated.\n"
msgstr "Le processus de PID %u a été terminé brutalement.\n"

#: taskkill.rc:36
msgid "Process \"%s\" with PID %u was forcibly terminated.\n"
msgstr "Le processus \"%s\" de PID %u a été terminé brutalement.\n"

#: taskkill.rc:37
msgid "Error: Could not find process \"%s\".\n"
msgstr "Erreur : processus \"%s\" introuvable.\n"

#: taskkill.rc:38
msgid "Error: Unable to enumerate the process list.\n"
msgstr "Erreur : impossible d'énumérer la liste de processus.\n"

#: taskkill.rc:39
msgid "Error: Unable to terminate process \"%s\".\n"
msgstr "Erreur : impossible de terminer le processus \"%s\".\n"

#: taskkill.rc:40
msgid "Error: Process self-termination is not permitted.\n"
msgstr "Erreur : un processus ne peut pas s'auto-terminer.\n"
