1#!/usr/bin/perl
2#
3#   This program is free software: you can redistribute it and/or modify
4#   it under the terms of the GNU General Public License as published by
5#   the Free Software Foundation, either version 3 of the License, or
6#   (at your option) any later version.
7#
8#   This program is distributed in the hope that it will be useful,
9#   but WITHOUT ANY WARRANTY; without even the implied warranty of
10#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11#   GNU General Public License for more details.
12#
13#   You should have received a copy of the GNU General Public License
14#   along with this program.  If not, see <http://www.gnu.org/licenses/>.
15#
16
17use utf8;
18
19# --------------------------------
20
21$Lang{Start_Archive}        = "Démarrer l'archivage";
22$Lang{Stop_Dequeue_Archive} = "Arrêt/Mise en attente de l'archivage";
23$Lang{Start_Full_Backup}    = "Démarrer la sauvegarde complète";
24$Lang{Start_Incr_Backup}    = "Démarrer la sauvegarde incrémentielle";
25$Lang{Stop_Dequeue_Backup}  = "Arrêter/annuler la sauvegarde";
26$Lang{Restore}              = "Restaurer";
27
28$Lang{Type_full} = "complète";
29$Lang{Type_incr} = "incrémentielle";
30
31# -----
32
33$Lang{Only_privileged_users_can_view_admin_options} =
34  "Seuls les utilisateurs privilégiés peuvent voir les options d'administration.";
35$Lang{H_Admin_Options}    = "BackupPC: Options d'administration";
36$Lang{Admin_Options}      = "Options d'administration";
37$Lang{Admin_Options_Page} = <<EOF;
38\${h1(qq{$Lang{Admin_Options}})}
39<br>
40\${h2("Contrôle du serveur")}
41<form name="ReloadForm" action="\$MyURL" method="get">
42<input type="hidden" name="action" value="">
43<table class="tableStnd">
44  <tr><td>Recharger la configuration:<td><input type="button" value="Recharger"
45     onClick="document.ReloadForm.action.value='Reload';
46              document.ReloadForm.submit();">
47</table>
48</form>
49<!--
50\${h2("Server Configuration")}
51<ul>
52  <li><i>Other options can go here... e.g.,</i>
53  <li>Edit server configuration
54</ul>
55-->
56EOF
57
58$Lang{Unable_to_connect_to_BackupPC_server}               = "Impossible de se connecter au serveur BackupPC";
59$Lang{Unable_to_connect_to_BackupPC_server_error_message} = <<EOF;
60Ce script CGI (\$MyURL) est incapable de se connecter au serveur BackupPC
61sur \$Conf{ServerHost} au port \$Conf{ServerPort}.<br>
62L'erreur est: \$err.<br>
63Il est possible que le serveur BackupPC ne fonctionne pas actuellement ou qu'il
64y ait une erreur de configuration. Veuillez contacter votre administrateur système.
65EOF
66
67$Lang{Admin_Start_Server} = <<EOF;
68\${h1(qq{$Lang{Unable_to_connect_to_BackupPC_server}})}
69<form action="\$MyURL" method="get">
70Le serveur BackupPC sur <tt>\$Conf{ServerHost}</tt>, port <tt>\$Conf{ServerPort}</tt>
71n'est pas en fonction (vous l'avez peut-être arrêté, ou vous ne l'avez pas encore démarré).<br>
72Voulez-vous le démarrer ?
73<input type="hidden" name="action" value="startServer">
74<input type="submit" value="Démarrer le serveur" name="ignore">
75</form>
76EOF
77
78# -----
79
80$Lang{H_BackupPC_Server_Status} = "État du serveur BackupPC";
81
82$Lang{BackupPC_Server_Status_General_Info} = <<EOF;
83\${h2(\"Informations générales du serveur\")}
84
85<ul>
86<li> Le PID du serveur est \$Info{pid}, sur l\'hôte \$Conf{ServerHost},
87     version \$Info{Version}, démarré le \$serverStartTime.
88<li> Ce rapport a été généré le \$now.
89<li> La configuration a été chargée pour la dernière fois à \$configLoadTime.
90<li> La prochaine file d\'attente sera remplie à \$nextWakeupTime.
91<li> Autres infos:
92    <ul>
93        <li>\$numBgQueue demandes de sauvegardes en attente depuis le dernier réveil automatique,
94        <li>\$numUserQueue requêtes de sauvegardes utilisateur en attente,
95        <li>\$numCmdQueue requêtes de commandes en attente,
96        \$poolInfo
97        <li>L\'espace de stockage a été récemment rempli à \$Info{DUlastValue}%
98            (\$DUlastTime), le maximum aujourd\'hui a été de \$Info{DUDailyMax}% (\$DUmaxTime)
99            et hier le maximum était de \$Info{DUDailyMaxPrev}%.
100        <li>Inode L\'espace de stockage a été récemment rempli à \$Info{DUInodelastValue}%
101            (\$DUlastTime), le maximum aujourd\'hui a été de \$Info{DUInodeDailyMax}% (\$DUInodemaxTime)
102            et hier le maximum était de \$Info{DUInodeDailyMaxPrev}%.
103    </ul>
104</ul>
105EOF
106
107$Lang{BackupPC_Server_Status} = <<EOF;
108\${h1(qq{$Lang{H_BackupPC_Server_Status}})}
109
110<p>
111\${h2("Travaux en cours d'exécution")}
112<p>
113<table class="tableStnd sortable" border cellspacing="1" cellpadding="3">
114<tr class="tableheader"><td> Hôte </td>
115    <td> Type </td>
116    <td> Utilisateur </td>
117    <td> Date de départ </td>
118    <td> Commande </td>
119    <td align="center"> PID </td>
120    <td align="center"> PID du transfert </td>
121    <td align="center"> Status </td>
122    <td align="center"> Count </td>
123    </tr>
124\$jobStr
125</table>
126
127<p>
128\$generalInfo
129
130\${h2("Échecs qui demandent de l'attention")}
131<p>
132<table class="tableStnd sortable" border cellspacing="1" cellpadding="3">
133<tr class="tableheader"><td align="center"> Hôte </td>
134    <td align="center"> Type </td>
135    <td align="center"> Utilisateur </td>
136    <td align="center"> Dernier essai </td>
137    <td align="center"> Détails </td>
138    <td align="center"> Date d\'erreur </td>
139    <td> Dernière erreur (autre que pas de ping) </td></tr>
140\$statusStr
141</table>
142EOF
143
144# --------------------------------
145$Lang{BackupPC__Server_Summary} = "BackupPC: Bilan des machines";
146$Lang{BackupPC__Archive}        = "BackupPC: Archivage";
147$Lang{BackupPC_Summary}         = <<EOF;
148
149\${h1(qq{$Lang{BackupPC__Server_Summary}})}
150<p>
151<ul>
152<li>Ce statut a été généré le \$now.
153<li>L\'espace de stockage a été récemment rempli à \$Info{DUlastValue}%
154    (\$DUlastTime), le maximum aujourd\'hui a été de \$Info{DUDailyMax}% (\$DUmaxTime)
155    et hier le maximum était de \$Info{DUDailyMaxPrev}%.
156<li>Inode L\'espace de stockage a été récemment rempli à \$Info{DUInodelastValue}%
157    (\$DUlastTime), le maximum aujourd\'hui a été de \$Info{DUInodeDailyMax}% (\$DUInodemaxTime)
158    et hier le maximum était de \$Info{DUInodeDailyMaxPrev}%.
159</ul>
160</p>
161
162\${h2("Hôtes avec de bonnes sauvegardes")}
163<p>
164Il y a \$hostCntGood hôtes ayant été sauvegardés, pour un total de :
165<ul>
166<li> \$fullTot sauvegardes complètes de tailles cumulées de \${fullSizeTot} Go
167     (précédant la mise en commun et la compression),
168<li> \$incrTot sauvegardes incrémentielles de tailles cumulées de \${incrSizeTot} Go
169     (précédant la mise en commun et la compression).
170</ul>
171</p>
172<table class="sortable" id="host_summary_backups" border cellpadding="3" cellspacing="1">
173<tr class="tableheader"><td> Hôte </td>
174    <td align="center"> Utilisateur </td>
175    <td align="center"> Commentaire </td>
176    <td align="center"> Nb complètes </td>
177    <td align="center"> Complètes Âge (jours) </td>
178    <td align="center"> Complètes Taille (Go) </td>
179    <td align="center"> Vitesse (Mo/s) </td>
180    <td align="center"> Nb incrémentielles </td>
181    <td align="center"> Incrémentielles Âge (jours) </td>
182    <td align="center"> Dernière sauvegarde (jours) </td>
183    <td align="center"> État actuel </td>
184    <td align="center"> Nb erreurs transfert </td>
185    <td align="center"> Dernière tentative </td></tr>
186\$strGood
187</table>
188\${h2("Hôtes sans sauvegardes")}
189<p>
190Il y a \$hostCntNone hôtes sans sauvegardes.
191<p>
192<table class="sortable" id="host_summary_nobackups" border cellpadding="3" cellspacing="1">
193<tr class="tableheader"><td> Hôte </td>
194    <td align="center"> Utilisateur </td>
195    <td align="center"> Commentaire </td>
196    <td align="center"> Nb complètes </td>
197    <td align="center"> Complètes Âge (jours) </td>
198    <td align="center"> Complètes Taille (Go) </td>
199    <td align="center"> Vitesse (Mo/s) </td>
200    <td align="center"> Nb incrémentielles </td>
201    <td align="center"> Incrémentielles Âge (jours) </td>
202    <td align="center"> Dernière sauvegarde (jours) </td>
203    <td align="center"> État actuel </td>
204    <td align="center"> Nb erreurs transfert </td>
205    <td align="center"> Dernière tentative </td></tr>
206\$strNone
207</table>
208EOF
209
210$Lang{BackupPC_Archive} = <<EOF;
211\${h1(qq{$Lang{BackupPC__Archive}})}
212<script language="javascript" type="text/javascript">
213<!--
214
215    function checkAll(location)
216    {
217      for (var i=0;i<document.form1.elements.length;i++)
218      {
219        var e = document.form1.elements[i];
220        if ((e.checked || !e.checked) && e.name != \'all\') {
221            if (eval("document.form1."+location+".checked")) {
222                e.checked = true;
223            } else {
224                e.checked = false;
225            }
226        }
227      }
228    }
229
230    function toggleThis(checkbox)
231    {
232       var cb = eval("document.form1."+checkbox);
233       cb.checked = !cb.checked;
234    }
235
236//-->
237</script>
238
239Il y a \$hostCntGood hôtes qui ont été sauvegardés, représentant \${fullSizeTot} Go
240<p>
241<form name="form1" method="post" action="\$MyURL">
242<input type="hidden" name="fcbMax" value="\$checkBoxCnt">
243<input type="hidden" name="type" value="1">
244<input type="hidden" name="host" value="\${EscHTML(\$archHost)}">
245<input type="hidden" name="action" value="Archive">
246<table class="tableStnd" border cellpadding="3" cellspacing="1">
247<tr class="tableheader"><td align=center> Host</td>
248    <td align="center"> Utilisateur </td>
249    <td align="center"> Taille </td>
250\$strGood
251\$checkAllHosts
252</table>
253</form>
254<p>
255
256EOF
257
258$Lang{BackupPC_Archive2} = <<EOF;
259\${h1(qq{$Lang{BackupPC__Archive}})}
260Prêt à démarrer l'archivage des hôtes suivants
261<ul>
262\$HostListStr
263</ul>
264<form action="\$MyURL" method="post">
265\$hiddenStr
266<input type="hidden" name="action" value="Archive">
267<input type="hidden" name="host" value="\${EscHTML(\$archHost)}">
268<input type="hidden" name="type" value="2">
269<input type="hidden" value="0" name="archive_type">
270<table class="tableStnd" border cellspacing="1" cellpadding="3">
271\$paramStr
272<tr>
273    <td colspan=2><input type="submit" value="Démarrer l'archivage" name="ignore"></td>
274</tr>
275</form>
276</table>
277EOF
278
279$Lang{BackupPC_Archive2_location} = <<EOF;
280<tr>
281    <td>Dispositif/Localisation de l'archive</td>
282    <td><input type="text" value="\$ArchiveDest" name="archive_device"></td>
283</tr>
284EOF
285
286$Lang{BackupPC_Archive2_compression} = <<EOF;
287<tr>
288    <td>Compression</td>
289    <td>
290    <input type="radio" value="0" name="compression" \$ArchiveCompNone>Aucune<br>
291    <input type="radio" value="1" name="compression" \$ArchiveCompGzip>gzip<br>
292    <input type="radio" value="2" name="compression" \$ArchiveCompBzip2>bzip2
293    </td>
294</tr>
295EOF
296
297$Lang{BackupPC_Archive2_parity} = <<EOF;
298<tr>
299    <td>Pourcentage des données de parité (0 = désactivé, 5 = typique)</td>
300    <td><input type="numeric" value="\$ArchivePar" name="par"></td>
301</tr>
302EOF
303
304$Lang{BackupPC_Archive2_split} = <<EOF;
305<tr>
306    <td>Scinder le fichier en fichiers de</td>
307    <td><input type="numeric" value="\$ArchiveSplit" name="splitsize"> Mo</td>
308</tr>
309EOF
310
311# -----------------------------------
312$Lang{Pool_Stat} = <<EOF;
313        <li>La mise en commun est constituée de \$info->{"\${name}FileCnt"} fichiers
314            et \$info->{"\${name}DirCnt"} répertoires représentant \${poolSize} Go (depuis le \$poolTime),
315        <li>Le hachage de mise en commun des fichiers donne \$info->{"\${name}FileCntRep"} fichiers répétés
316            avec comme plus longue chaîne \$info->{"\${name}FileRepMax"},
317        <li>Le nettoyage nocturne a effacé \$info->{"\${name}FileCntRm"} fichiers, soit
318            \${poolRmSize} Go (vers \$poolTime),
319EOF
320
321# -----------------------------------
322$Lang{BackupPC__Backup_Requested_on__host}              = "BackupPC: Sauvegarde demandée sur \$host";
323$Lang{BackupPC__Delete_Requested_for_a_backup_of__host} = "BackupPC: Delete Requested for a backup of \$host";
324
325# --------------------------------
326$Lang{REPLY_FROM_SERVER} = <<EOF;
327\${h1(\$str)}
328<p>
329La réponse du serveur a été : \$reply
330<p>
331Retourner à la page d\'accueil de <a href="\$MyURL?host=\$host">\$host</a>.
332EOF
333
334# --------------------------------
335$Lang{BackupPC__Start_Backup_Confirm_on__host} = "BackupPC: Confirmation du démarrage de la sauvegarde de \$host";
336
337# --------------------------------
338$Lang{Are_you_sure_start} = <<EOF;
339\${h1("Êtes-vous certain ?")}
340<p>
341Vous allez bientôt démarrer une sauvegarde \$type depuis \$host.
342
343<form name="Confirm" action="\$MyURL" method="get">
344<input type="hidden" name="host" value="\$host">
345<input type="hidden" name="hostIP" value="\$ipAddr">
346<input type="hidden" name="doit" value="1">
347<input type="hidden" name="action" value="">
348Voulez-vous vraiment le faire ?
349<input type="button" value="\$buttonText"
350  onClick="document.Confirm.action.value='\$In{action}';
351           document.Confirm.submit();">
352<input type="submit" value="Non" name="ignore">
353</form>
354EOF
355
356# --------------------------------
357$Lang{BackupPC__Stop_Backup_Confirm_on__host} = "BackupPC: Confirmer l\'arrêt de la sauvegarde sur \$host";
358
359# --------------------------------
360$Lang{Are_you_sure_stop} = <<EOF;
361
362\${h1("Êtes-vous certain ?")}
363
364<p>
365Vous êtes sur le point d\'arrêter/supprimer de la file les sauvegardes de \$host;
366
367<form name="Confirm" action="\$MyURL" method="get">
368<input type="hidden" name="host"   value="\$host">
369<input type="hidden" name="doit"   value="1">
370<input type="hidden" name="action" value="">
371En outre, prière de ne pas démarrer d\'autre sauvegarde pendant
372<input type="text" name="backoff" size="10" value="\$backoff"> heures.
373<p>
374Voulez-vous vraiment le faire ?
375<input type="button" value="\$buttonText"
376  onClick="document.Confirm.action.value='\$In{action}';
377           document.Confirm.submit();">
378<input type="submit" value="Non" name="ignore">
379</form>
380
381EOF
382
383# --------------------------------
384$Lang{Only_privileged_users_can_view_queues_} = "Seuls les utilisateurs privilégiés peuvent voir les files.";
385
386# --------------------------------
387$Lang{Only_privileged_users_can_archive} = "Seuls les utilisateurs privilégiés peuvent archiver.";
388
389# --------------------------------
390$Lang{BackupPC__Queue_Summary} = "BackupPC: Résumé de la file";
391
392# --------------------------------
393$Lang{Backup_Queue_Summary} = <<EOF;
394\${h1("Résumé de la file")}
395\${h2("Résumé des files des utilisateurs")}
396<p>
397Les demandes utilisateurs suivantes sont actuellement en attente :
398</p>
399<table class="tableStnd sortable" border cellspacing="1" cellpadding="3" width="80%">
400<tr class="tableheader"><td> Hôte </td>
401    <td> Action </td>
402    <td> Temps Requis </td>
403    <td> Utilisateur </td></tr>
404\$strUser
405</table>
406
407\${h2("Résumé de la file en arrière plan")}
408<p>
409Les demandes en arrière plan suivantes sont actuellement en attente :
410</p>
411<table class="tableStnd sortable" border cellspacing="1" cellpadding="3" width="80%">
412<tr class="tableheader"><td> Hôte </td>
413    <td> Action </td>
414    <td> Temps requis </td>
415    <td> Utilisateur </td></tr>
416\$strBg
417</table>
418\${h2("Résumé de la file d\'attente des commandes")}
419<p>
420Les demandes de commande suivantes sont actuellement en attente :
421</p>
422<table class="tableStnd sortable" border cellspacing="1" cellpadding="3" width="80%">
423<tr class="tableheader"><td> Hôtes </td>
424    <td> Action </td>
425    <td> Temps Requis </td>
426    <td> Utilisateur </td>
427    <td> Commande </td></tr>
428\$strCmd
429</table>
430EOF
431
432# --------------------------------
433$Lang{Backup_PC__Log_File__file} = "BackupPC: Fichier \$file";
434$Lang{Log_File__file__comment}   = <<EOF;
435\${h1("Fichier \$file \$comment")}
436<p>
437EOF
438
439# --------------------------------
440$Lang{Contents_of_log_file} = <<EOF;
441Contenu du fichier <tt>\$file</tt>, modifié le \$mtimeStr \$comment
442EOF
443
444# --------------------------------
445$Lang{skipped__skipped_lines} = "[ \$skipped lignes sautées ]\n";
446
447# --------------------------------
448$Lang{_pre___Can_t_open_log_file__file} = "<pre>\nNe peut pas ouvrir le fichier journal \$file\n";
449
450# --------------------------------
451$Lang{BackupPC__Log_File_History} = "BackupPC: Historique du fichier journal";
452$Lang{Log_File_History__hdr}      = <<EOF;
453\${h1("Historique du fichier journal \$hdr")}
454<p>
455<table class="tableStnd sortable" border cellspacing="1" cellpadding="3" width="80%">
456<tr class="tableheader"><td align="center"> Fichier </td>
457    <td align="center"> Taille </td>
458    <td align="center"> Date de modification </td></tr>
459\$str
460</table>
461EOF
462
463# -------------------------------
464$Lang{Recent_Email_Summary} = <<EOF;
465\${h1("Résumé des courriels récents (du plus récent au plus vieux)")}
466<p>
467<table class="tableStnd sortable" border cellspacing="1" cellpadding="3" width="80%">
468<tr class="tableheader"><td align="center"> Destinataire </td>
469    <td align="center"> Hôte </td>
470    <td align="center"> Date </td>
471    <td align="center"> Sujet </td></tr>
472\$str
473</table>
474EOF
475
476# ------------------------------
477$Lang{Browse_backup__num_for__host} = "BackupPC: Navigation dans la sauvegarde \$num de \$host";
478
479# ------------------------------
480$Lang{Restore_Options_for__host}  = "BackupPC: Options de restauration sur \$host";
481$Lang{Restore_Options_for__host2} = <<EOF;
482\${h1("Options de restauration sur \$host")}
483<p>
484Vous avez sélectionné les fichiers/répertoires suivants depuis
485le partage \$share, sauvegarde numéro \$num:
486<ul>
487\$fileListStr
488</ul>
489</p><p>
490Vous avez trois choix pour restaurer ces fichiers/répertoires.
491Veuillez sélectionner une des options suivantes.
492</p>
493\${h2("Option 1: Restauration directe")}
494<p>
495EOF
496
497$Lang{Restore_Options_for__host_Option1} = <<EOF;
498Vous pouvez démarrer une restauration de ces fichiers
499directement sur <b>\$directHost</b>.
500</p><p>
501<b>Attention:</b>
502tous les fichiers correspondant à ceux que vous avez sélectionnés vont être écrasés !
503</p>
504<form action="\$MyURL" method="post" name="direct">
505<input type="hidden" name="host" value="\${EscHTML(\$host)}">
506<input type="hidden" name="num" value="\$num">
507<input type="hidden" name="type" value="3">
508\$hiddenStr
509<input type="hidden" value="\$In{action}" name="action">
510<table class="tableStnd" border="0">
511<tr>
512    <td>Restaure les fichiers vers l'hôte</td>
513    <td><!--<input type="text" size="40" value="\${EscHTML(\$host)}"
514	 name="hostDest">-->
515	 <select name="hostDest" onChange="document.direct.shareDest.value=''">
516	 \$hostDestSel
517	 </select>
518	 <script language="Javascript">
519	 function myOpen(URL) {
520		window.open(URL,'','width=500,height=400');
521	}
522	 </script>
523	 <!--<a href="javascript:myOpen('\$MyURL?action=findShares&host='+document.direct.hostDest.options.value)">Chercher les partitions disponibles (NON IMPLANTE)</a>--></td>
524</tr><tr>
525    <td>Restaurer les fichiers vers le partage</td>
526    <td><input type="text" size="40" value="\${EscHTML(\$share)}"
527	 name="shareDest"></td>
528</tr><tr>
529    <td>Restaurer les fichiers du répertoire<br>(relatif au partage)</td>
530    <td valign="top"><input type="text" size="40" maxlength="256"
531	value="\${EscHTML(\$pathHdr)}" name="pathHdr"></td>
532</tr><tr>
533    <td><input type="submit" value="Démarrer la restauration" name="ignore"></td>
534</table>
535</form>
536EOF
537
538$Lang{Restore_Options_for__host_Option1_disabled} = <<EOF;
539La restauration directe a été désactivée pour l'hôte \${EscHTML(\$hostDest)}.
540Veuillez choisir une autre option.
541EOF
542
543# ------------------------------
544$Lang{Option_2__Download_Zip_archive} = <<EOF;
545<p>
546\${h2("Option 2: Télécharger une archive Zip")}
547<p>
548Vous pouvez télécharger une archive compressée (.zip) contenant tous les fichiers/répertoires que vous
549avez sélectionnés. Vous pouvez utiliser une application locale, comme Winzip, pour voir ou extraire n\'importe quel fichier.
550</p><p>
551<b>Attention:</b> en fonction des fichiers/répertoires que vous avez sélectionnés,
552cette archive peut devenir très très volumineuse. Cela peut prendre plusieurs minutes pour créer
553et transférer cette archive, et vous aurez besoin d\'assez d\'espace disque pour la stocker.
554</p>
555<form action="\$MyURL" method="post">
556<input type="hidden" name="host" value="\${EscHTML(\$host)}">
557<input type="hidden" name="num" value="\$num">
558<input type="hidden" name="type" value="2">
559\$hiddenStr
560<input type="hidden" value="\$In{action}" name="action">
561<input type="checkbox" value="1" name="relative" checked> Faire l\'archive relative à
562\${EscHTML(\$pathHdr eq "" ? "/" : \$pathHdr)}
563(Autrement l\'archive contiendra les chemins complets).
564<br>
565<table class="tableStnd" border="0">
566<tr>
567    <td>Compression (0=désactivée, 1=rapide,...,9=meilleure)</td>
568    <td><input type="text" size="6" value="5" name="compressLevel"></td>
569</tr><tr>
570    <td>Code page (e.g. cp866)</td>
571    <td><input type="text" size="6" value="utf8" name="codePage"></td>
572</tr>
573</table>
574<br>
575<input type="submit" value="Télécharger le fichier Zip" name="ignore">
576</form>
577EOF
578
579# ------------------------------
580
581$Lang{Option_2__Download_Zip_archive2} = <<EOF;
582<p>
583\${h2("Option 2: Télécharger une archive Zip")}
584<p>
585Vous ne pouvez pas télécharger d'archive zip, car Archive::Zip n\'est pas
586installé.
587Veuillez demander à votre administrateur système d\'installer
588Archive::Zip depuis <a href="http://www.cpan.org">www.cpan.org</a>.
589</p>
590EOF
591
592# ------------------------------
593$Lang{Option_3__Download_Zip_archive} = <<EOF;
594\${h2("Option 3: Télécharger une archive tar")}
595<p>
596Vous pouvez télécharger une archive Tar contenant tous les fichiers/répertoires
597que vous avez sélectionnés. Vous pourrez alors utiliser une application locale,
598comme tar ou winzip pour voir ou extraire n\'importe quel fichier.
599</p><p>
600<b>Attention:</b> en fonction des fichiers/répertoires que vous avez sélectionnés,
601cette archive peut devenir très très volumineuse.  Cela peut prendre plusieurs minutes
602pour créer et transférer l\'archive, et vous aurez besoin d\'assez
603d\'espace disque local pour la stocker.
604</p>
605<form action="\$MyURL" method="post">
606<input type="hidden" name="host" value="\${EscHTML(\$host)}">
607<input type="hidden" name="num" value="\$num">
608<input type="hidden" name="type" value="1">
609\$hiddenStr
610<input type="hidden" value="\$In{action}" name="action">
611<input type="checkbox" value="1" name="relative" checked> Faire l\'archive relative à
612\${EscHTML(\$pathHdr eq "" ? "/" : \$pathHdr)}
613(Autrement l\'archive contiendra des chemins absolus).
614<br>
615<input type="submit" value="Télécharger le fichier Tar" name="ignore">
616</form>
617EOF
618
619# ------------------------------
620$Lang{Restore_Confirm_on__host} = "BackupPC: Confirmation de restauration sur \$host";
621
622$Lang{Are_you_sure} = <<EOF;
623\${h1("Êtes-vous sûr ?")}
624<p>
625Vous êtes sur le point de démarrer une restauration directement sur
626la machine \$In{hostDest}. Les fichiers suivants vont être restaurés
627dans le partage \$In{shareDest}, depuis la sauvegarde numéro \$num:
628<p>
629<table class="tableStnd" border>
630<tr class="tableheader"><td>Fichier/Répertoire original</td><td>Va être restauré à</td></tr>
631\$fileListStr
632</table>
633
634<form name="RestoreForm" action="\$MyURL" method="post">
635<input type="hidden" name="host" value="\${EscHTML(\$host)}">
636<input type="hidden" name="hostDest" value="\${EscHTML(\$In{hostDest})}">
637<input type="hidden" name="shareDest" value="\${EscHTML(\$In{shareDest})}">
638<input type="hidden" name="pathHdr" value="\${EscHTML(\$In{pathHdr})}">
639<input type="hidden" name="num" value="\$num">
640<input type="hidden" name="type" value="4">
641<input type="hidden" name="action" value="">
642\$hiddenStr
643Voulez-vous vraiment le faire ?
644<input type="button" value="\$Lang->{Restore}"
645 onClick="document.RestoreForm.action.value='Restore';
646          document.RestoreForm.submit();">
647<input type="submit" value="No" name="ignore">
648</form>
649EOF
650
651# --------------------------
652$Lang{Restore_Requested_on__hostDest} = "BackupPC: Restauration demandée sur \$hostDest";
653$Lang{Reply_from_server_was___reply}  = <<EOF;
654\${h1(\$str)}
655<p>
656La réponse du serveur est : \$reply
657<p>
658Retourner à la page d\'accueil de <a href="\$MyURL?host=\$hostDest">\$hostDest </a>.
659EOF
660
661$Lang{BackupPC_Archive_Reply_from_server} = <<EOF;
662\${h1(\$str)}
663<p>
664La réponse du serveur est : \$reply
665EOF
666
667# --------------------------------
668$Lang{BackupPC__Delete_Backup_Confirm__num_of__host} = "BackupPC: Delete Backup Confirm #\$num of \$host";
669
670# --------------------------------
671$Lang{A_filled}            = "a filled";
672$Lang{An_unfilled}         = "an unfilled";
673$Lang{Are_you_sure_delete} = <<EOF;
674\${h1("Are you sure?")}
675<p>
676You are about to delete \$filled \$type backup #\$num of \$host.
677
678<form name="Confirm" action="\$MyURL" method="get">
679
680<input type="hidden" name="host" value="\${EscHTML(\$host)}">
681<input type="hidden" name="num" value="\$num">
682
683<input type="hidden" name="doit" value="1">
684<input type="hidden" name="action" value="">
685
686Do you really want to do this?
687
688<input type="button" value="\${EscHTML(\$Lang->{CfgEdit_Button_Delete})}"
689 onClick="document.Confirm.action.value='deleteBackup';
690          document.Confirm.submit();">
691
692<input type="submit" value="No" name="ignore">
693</form>
694EOF
695
696# -------------------------
697$Lang{Host__host_Backup_Summary} = "BackupPC: Résumé de la sauvegarde de l\'hôte \$host ";
698
699$Lang{Host__host_Backup_Summary2} = <<EOF;
700\${h1("Résumé de la sauvegarde de l\'hôte \$host ")}
701<p>
702\$warnStr
703<ul>
704\$statusStr
705</ul>
706</p>
707\${h2("Actions de l\'utilisateur")}
708<p>
709<form name="StartStopForm" action="\$MyURL" method="get">
710<input type="hidden" name="host"   value="\$host">
711<input type="hidden" name="action" value="">
712\$startIncrStr
713<input type="button" value="\$Lang->{Start_Full_Backup}"
714 onClick="document.StartStopForm.action.value='Start_Full_Backup';
715          document.StartStopForm.submit();">
716<input type="button" value="\$Lang->{Stop_Dequeue_Backup}"
717 onClick="document.StartStopForm.action.value='Stop_Dequeue_Backup';
718          document.StartStopForm.submit();">
719</form>
720</p>
721\${h2("Résumé de la sauvegarde")}
722<p>
723Cliquer sur le numéro de l\'archive pour naviguer et restaurer les fichiers de sauvegarde.
724</p>
725<table class="tableStnd sortable" border cellspacing="1" cellpadding="3">
726<tr class="tableheader"><td align="center"> Sauvegarde n° </td>
727    <td align="center"> Type </td>
728    <td align="center"> Fusionnée </td>
729    <td align="center"> Niveau </td>
730    <td align="center"> Date de démarrage </td>
731    <td align="center"> Durée (min) </td>
732    <td align="center"> Âge (jours) </td>
733    <td align="center"> Garder </td>
734    \$deleteHdrStr
735    <td align="center"> Commentaire </td>
736</tr>
737\$str
738</table>
739<p>
740
741\$restoreStr
742</p>
743\${h2("Résumé des erreurs de transfert")}
744<table class="tableStnd sortable" border cellspacing="1" cellpadding="3" width="80%">
745<tr class="tableheader"><td align="center"> Sauvegarde n° </td>
746    <td align="center"> Type </td>
747    <td align="center"> Voir </td>
748    <td align="center"> Nb erreurs transfert </td>
749    <td align="center"> Nb mauvais fichiers </td>
750    <td align="center"> Nb mauvais partages </td>
751    <td align="center"> Nb erreurs tar </td>
752</tr>
753\$errStr
754</table>
755
756\${h2("Récapitulatif de la taille des fichiers et du nombre de réutilisations")}
757<p>
758Les fichiers existants sont ceux qui sont déjà sur le serveur;
759Les nouveaux fichiers sont ceux qui ont été ajoutés au serveur.
760Les fichiers vides et les erreurs de SMB ne sont pas comptabilisés dans les fichiers nouveaux ou réutilisés.
761</p>
762<table class="tableStnd sortable" border cellspacing="1" cellpadding="3" width="80%">
763<tr class="tableheader"><td colspan="2" bgcolor="#ffffff"></td>
764    <td align="center" colspan="3"> Totaux </td>
765    <td align="center" colspan="2"> Fichiers existants </td>
766    <td align="center" colspan="2"> Nouveaux fichiers </td>
767</tr>
768<tr class="tableheader sortheader">
769    <td align="center"> Sauvegarde n° </td>
770    <td align="center"> Type </td>
771    <td align="center"> Nb de Fichiers </td>
772    <td align="center"> Taille (Mo) </td>
773    <td align="center"> Mo/s </td>
774    <td align="center"> Nb de Fichiers </td>
775    <td align="center"> Taille (Mo) </td>
776    <td align="center"> Nb de Fichiers </td>
777    <td align="center"> Taille (Mo) </td>
778</tr>
779\$sizeStr
780</table>
781
782\${h2("Résumé de la compression")}
783<p>
784Performance de la compression pour les fichiers déjà sur le serveur et
785récemment compressés.
786</p>
787<table class="tableStnd sortable" border cellspacing="1" cellpadding="3" width="80%">
788<tr class="tableheader"><td colspan="3" bgcolor="#ffffff"></td>
789    <td align="center" colspan="3"> Fichiers existants </td>
790    <td align="center" colspan="3"> Nouveaux fichiers </td>
791</tr>
792<tr class="tableheader sortheader"><td align="center"> Nb de sauvegardes </td>
793    <td align="center"> Type </td>
794    <td align="center"> Niveau de Compression </td>
795    <td align="center"> Taille (Mo) </td>
796    <td align="center"> Taille compressée (Mo) </td>
797    <td align="center"> Compression </td>
798    <td align="center"> Taille (Mo) </td>
799    <td align="center"> Taille compressée (Mo) </td>
800    <td align="center"> Compression </td>
801</tr>
802\$compStr
803</table>
804EOF
805
806$Lang{Host__host_Archive_Summary}  = "BackupPC: Résumé de l'archivage pour l'hôte \$host";
807$Lang{Host__host_Archive_Summary2} = <<EOF;
808\${h1("Résumé de l\'archivage pour l\'hôte \$host")}
809<p>
810\$warnStr
811<ul>
812\$statusStr
813</ul>
814
815\${h2("User Actions")}
816<p>
817<form name="StartStopForm" action="\$MyURL" method="get">
818<input type="hidden" name="archivehost" value="\$host">
819<input type="hidden" name="host" value="\$host">
820<input type="hidden" name="action" value="">
821<input type="button" value="\$Lang->{Start_Archive}"
822 onClick="document.StartStopForm.action.value='Start_Archive';
823          document.StartStopForm.submit();">
824<input type="button" value="\$Lang->{Stop_Dequeue_Archive}"
825 onClick="document.StartStopForm.action.value='Stop_Dequeue_Archive';
826          document.StartStopForm.submit();">
827</form>
828
829
830\$ArchiveStr
831
832EOF
833
834# -------------------------
835$Lang{Error}         = "BackupPC: Erreur";
836$Lang{Error____head} = <<EOF;
837\${h1("Erreur: \$head")}
838<p>\$mesg</p>
839EOF
840
841# -------------------------
842$Lang{NavSectionTitle_} = "Serveur";
843
844# -------------------------
845$Lang{Backup_browse_for__host} = <<EOF;
846\${h1("Navigation dans la sauvegarde de \$host")}
847
848<script language="javascript" type="text/javascript">
849<!--
850
851    function checkAll(location)
852    {
853      for (var i=0;i<document.form1.elements.length;i++)
854      {
855        var e = document.form1.elements[i];
856        if ((e.checked || !e.checked) && e.name != \'all\') {
857            if (eval("document.form1."+location+".checked")) {
858            	e.checked = true;
859            } else {
860            	e.checked = false;
861            }
862        }
863      }
864    }
865
866    function toggleThis(checkbox)
867    {
868       var cb = eval("document.form1."+checkbox);
869       cb.checked = !cb.checked;
870    }
871
872//-->
873</script>
874
875<ul>
876<li> Vous naviguez dans la sauvegarde n°\$num, qui a commencé vers \$backupTime
877        (il y a \$backupAge jours),
878\$filledBackup
879<li>
880<form name="formDir" method="post" action="\$MyURL">
881<input type="hidden" name="num" value="\$num">
882<input type="hidden" name="host" value="\$host">
883<input type="hidden" name="share" value="\${EscHTML(\$share)}">
884<input type="hidden" name="action" value="browse">
885Entrez le répertoire: <input type="text" name="dir" size="60" maxlength="4096" value="\${EscHTML(\$dir)}">
886    <input type="submit" value="\$Lang->{Go}" name="Submit">
887</form>
888<li>
889<form name="formComment" method="post" action="\$MyURL">
890<input type="hidden" name="num" value="\$num">
891<input type="hidden" name="host" value="\$host">
892<input type="hidden" name="share" value="\${EscHTML(\$share)}">
893<input type="hidden" name="action" value="browse">
894Commentaire: <input type="text" name="comment" class="inputCompact" size="60" maxlength="4096" value="\${EscHTML(\$comment)}">
895    <input type="submit" value="\$Lang->{CfgEdit_Button_Save}" name="SetComment">
896</form>
897<li> Cliquer sur un répertoire ci-dessous pour y naviguer,
898<li> Cliquer sur un fichier ci-dessous pour le restaurer,
899<li> Vous pouvez voir l'<a href="\$MyURL?action=dirHistory&host=\${EscURI(\$host)}&share=\$shareURI&dir=\$pathURI">historique</a> des différentes sauvegardes du répertoire courant.
900\$share2pathStr
901</ul>
902</form>
903
904\${h2("Contenu de \$dirDisplay")}
905<form name="form1" method="post" action="\$MyURL">
906<input type="hidden" name="num" value="\$num">
907<input type="hidden" name="host" value="\$host">
908<input type="hidden" name="share" value="\${EscHTML(\$share)}">
909<input type="hidden" name="fcbMax" value="\$checkBoxCnt">
910<input type="hidden" name="action" value="Restore">
911<br>
912<table width="100%">
913<tr><td valign="top" width="30%">
914    <table align="left" border="0" cellpadding="0" cellspacing="0" bgcolor="#ffffff">
915    \$dirStr
916    </table>
917</td><td width="3%">
918</td><td valign="top">
919    <br>
920        <table border width="100%" align="left" cellpadding="3" cellspacing="1">
921        \$fileHeader
922        \$topCheckAll
923        \$fileStr
924        \$checkAll
925        </table>
926    </td></tr></table>
927<br>
928<!--
929This is now in the checkAll row
930<input type="submit" name="Submit" value="Restore selected files">
931-->
932</form>
933EOF
934
935$Lang{Browse_ClientShareName2Path} = <<EOF;
936<li> Mappage du nom de partage sur le chemin client réel (ClientShareName2Path):
937    <ul>
938\$share2pathStr
939    </ul>
940EOF
941
942# ------------------------------
943$Lang{DirHistory_backup_for__host} = "BackupPC: Historique des sauvegardes du répertoire courant pour \$host";
944
945#
946# These two strings are used to build the links for directories and
947# file versions.  Files are appended with a version number.
948#
949$Lang{DirHistory_dirLink}  = "rep";
950$Lang{DirHistory_fileLink} = "v";
951
952$Lang{DirHistory_for__host} = <<EOF;
953\${h1("Historique des sauvegardes du répertoire courant pour \$host")}
954<p>
955Cette page montre toutes les version disponibles des fichiers sauvegardés pour le répertoire courant :
956<ul>
957<li> Cliquez sur un numéro de sauvegarde pour revenir à la navigation de sauvegarde,
958<li> Cliquez sur un répertoire (\$Lang->{DirHistory_dirLink}) pour naviguer
959     dans celui-ci.
960<li> Cliquez sur une version d'un fichier (\$Lang->{DirHistory_fileLink}0,
961     \$Lang->{DirHistory_fileLink}1, ...) pour le télécharger.
962<li> Les fichiers avec des contenus identiques pour plusieurs sauvegardes ont
963     le même numéro de version, sauf entre des sauvegardes en v3 et v4.
964<li> Les fichiers qui ne sont pas présents sur une sauvegarde en particulier
965     sont représentés par une boîte vide.
966<li> Les fichiers montrés avec la même version peuvent avoir des attributs différents.
967     Choisissez le numéro de sauvegarde pour voir les attributs de fichiers.
968</ul>
969
970\${h2("Historique de \$dirDisplay")}
971
972<br>
973<table border cellspacing="2" cellpadding="3">
974<tr class="fviewheader"><td>Numéro de sauvegarde</td>\$backupNumStr</tr>
975<tr class="fviewheader"><td>Date</td>\$backupTimeStr</tr>
976\$fileStr
977</table>
978EOF
979
980# ------------------------------
981$Lang{Restore___num_details_for__host} = "BackupPC: Détails de la restauration n°\$num pour \$host";
982
983$Lang{Restore___num_details_for__host2} = <<EOF;
984\${h1("Détails de la restauration n°\$num pour \$host")}
985<p>
986<table class="tableStnd" border cellspacing="1" cellpadding="3" width="90%">
987<tr><td class="tableheader"> Numéro </td><td class="border"> \$Restores[\$i]{num} </td></tr>
988<tr><td class="tableheader"> Demandée par </td><td class="border"> \$RestoreReq{user} </td></tr>
989<tr><td class="tableheader"> Demandée à </td><td class="border"> \$reqTime </td></tr>
990<tr><td class="tableheader"> Résultat </td><td class="border"> \$Restores[\$i]{result} </td></tr>
991<tr><td class="tableheader"> Message d'erreur </td><td class="border"> \$Restores[\$i]{errorMsg} </td></tr>
992<tr><td class="tableheader"> Hôte source </td><td class="border"> \$RestoreReq{hostSrc} </td></tr>
993<tr><td class="tableheader"> N° de sauvegarde </td><td class="border"> \$RestoreReq{num} </td></tr>
994<tr><td class="tableheader"> Partition source </td><td class="border"> \$RestoreReq{shareSrc} </td></tr>
995<tr><td class="tableheader"> Hôte de destination </td><td class="border"> \$RestoreReq{hostDest} </td></tr>
996<tr><td class="tableheader"> Partition de destination </td><td class="border"> \$RestoreReq{shareDest} </td></tr>
997<tr><td class="tableheader"> Début </td><td class="border"> \$startTime </td></tr>
998<tr><td class="tableheader"> Durée </td><td class="border"> \$duration min </td></tr>
999<tr><td class="tableheader"> Nombre de fichiers </td><td class="border"> \$Restores[\$i]{nFiles} </td></tr>
1000<tr><td class="tableheader"> Taille totale </td><td class="border"> \${MB} Mo </td></tr>
1001<tr><td class="tableheader"> Taux de transfert </td><td class="border"> \$MBperSec Mo/s </td></tr>
1002<tr><td class="tableheader"> Erreurs de TarCreate </td><td class="border"> \$Restores[\$i]{tarCreateErrs} </td></tr>
1003<tr><td class="tableheader"> Erreurs de transfert </td><td class="border"> \$Restores[\$i]{xferErrs} </td></tr>
1004<tr><td class="tableheader"> Journal de transfert </td><td class="border">
1005<a href="\$MyURL?action=view&type=RestoreLOG&num=\$Restores[\$i]{num}&host=\$host">Visionner</a>,
1006<a href="\$MyURL?action=view&type=RestoreErr&num=\$Restores[\$i]{num}&host=\$host">Erreurs</a>
1007</tr></tr>
1008</table>
1009</p>
1010\${h1("Liste des Fichiers/Répertoires")}
1011<p>
1012<table class="tableStnd" border cellspacing="1" cellpadding="3" width="100%">
1013<tr class="tableheader"><td>Fichier/répertoire original</td><td>Restauré vers</td></tr>
1014\$fileListStr
1015</table>
1016EOF
1017
1018# ------------------------------
1019$Lang{Archive___num_details_for__host} = "BackupPC: Détails de l'archivage n°\$num pour \$host";
1020
1021$Lang{Archive___num_details_for__host2} = <<EOF;
1022\${h1("Détails de l'archivage n°\$num pour \$host")}
1023<p>
1024<table class="tableStnd" border cellspacing="1" cellpadding="3" width="80%">
1025<tr><td class="tableheader"> Numéro </td><td class="border"> \$Archives[\$i]{num} </td></tr>
1026<tr><td class="tableheader"> Demandé par </td><td class="border"> \$ArchiveReq{user} </td></tr>
1027<tr><td class="tableheader"> Heure de demande </td><td class="border"> \$reqTime </td></tr>
1028<tr><td class="tableheader"> Résultat </td><td class="border"> \$Archives[\$i]{result} </td></tr>
1029<tr><td class="tableheader"> Message d'erreur </td><td class="border"> \$Archives[\$i]{errorMsg} </td></tr>
1030<tr><td class="tableheader"> Heure de début </td><td class="border"> \$startTime </td></tr>
1031<tr><td class="tableheader"> Durée </td><td class="border"> \$duration min </td></tr>
1032<tr><td class="tableheader"> Journal de transfert </td><td class="border">
1033<a href="\$MyURL?action=view&type=ArchiveLOG&num=\$Archives[\$i]{num}&host=\$host">Voir</a>,
1034<a href="\$MyURL?action=view&type=ArchiveErr&num=\$Archives[\$i]{num}&host=\$host">Erreurs</a>
1035</tr></tr>
1036</table>
1037<p>
1038\${h1("Liste de hôtes")}
1039<p>
1040<table class="tableStnd" border cellspacing="1" cellpadding="3" width="80%">
1041<tr class="tableheader"><td>Host</td><td>Numéro de sauvegarde</td></tr>
1042\$HostListStr
1043</table>
1044EOF
1045
1046# -----------------------------------
1047$Lang{Email_Summary} = "BackupPC: Résumé du courriel";
1048
1049# -----------------------------------
1050#  !! ERROR messages !!
1051# -----------------------------------
1052$Lang{BackupPC__Lib__new_failed__check_apache_error_log} =
1053  "BackupPC::Lib->new a échoué: regardez le fichier error_log d\'apache\n";
1054$Lang{Wrong_user__my_userid_is___} =
1055  "Mauvais utilisateur: mon userid est \$>, à la place de \$uid (\$Conf{BackupPCUser})\n";
1056
1057#$Lang{Only_privileged_users_can_view_PC_summaries} = "Seuls les utilisateurs privilégiés peuvent voir les résumés des machines.";
1058$Lang{Only_privileged_users_can_stop_or_start_backups} =
1059  "Seuls les utilisateurs privilégiés peuvent arrêter ou démarrer des sauvegardes sur  \${EscHTML(\$host)}.";
1060$Lang{Invalid_number__num}                         = "Numéro invalide \${EscHTML(\$In{num})}";
1061$Lang{Unable_to_open__file__configuration_problem} = "Impossible d\'ouvrir \$file : problème de configuration ?";
1062$Lang{Only_privileged_users_can_view_log_or_config_files} =
1063  "Seuls les utilisateurs privilégiés peuvent voir les fichiers de journal ou les fichiers de configuration.";
1064$Lang{Only_privileged_users_can_view_log_files} =
1065  "Seuls les utilisateurs privilégiés peuvent voir les fichiers de journal.";
1066$Lang{Only_privileged_users_can_view_email_summaries} =
1067  "Seuls les utilisateurs privilégiés peuvent voir les compte-rendus des courriels.";
1068$Lang{Only_privileged_users_can_browse_backup_files} =
1069    "Seuls les utilisateurs privilégiés peuvent parcourir les fichiers de sauvegarde"
1070  . " pour l'hôte \${EscHTML(\$In{host})}.";
1071$Lang{Only_privileged_users_can_delete_backups} =
1072  "Only privileged users can delete backups of host \${EscHTML(\$host)}.";
1073$Lang{Empty_host_name}                  = "Nom d\'hôte vide.";
1074$Lang{Directory___EscHTML}              = "Le répertoire \${EscHTML(\"\$TopDir/pc/\$host/\$num\")} est vide";
1075$Lang{Can_t_browse_bad_directory_name2} = "Ne peut pas parcourir  \${EscHTML(\$relDir)} : mauvais nom de répertoire";
1076$Lang{Only_privileged_users_can_restore_backup_files} = "Seuls les utilisateurs privilégiés peuvent restaurer "
1077  . " des fichiers de sauvegarde pour l\'hôte \${EscHTML(\$In{host})}.";
1078$Lang{Bad_host_name} = "Mauvais nom d\'hôte \${EscHTML(\$host)}";
1079$Lang{You_haven_t_selected_any_files__please_go_Back_to} =
1080  "Vous n\'avez sélectionné aucun fichier ; vous pouvez revenir en arrière pour sélectionner des fichiers.";
1081$Lang{You_haven_t_selected_any_hosts} =
1082    "Vous n\'avez sélectionné aucun hôte ; veuillez retourner à la page précédente pour"
1083  . " faire la sélection d\'un hôte.";
1084$Lang{Nice_try__but_you_can_t_put} = "Bien tenté, mais vous ne pouvez pas mettre \'..\' dans un nom de fichier.";
1085$Lang{Host__doesn_t_exist}         = "L'hôte \${EscHTML(\$In{hostDest})} n\'existe pas.";
1086$Lang{You_don_t_have_permission_to_restore_onto_host} =
1087  "Vous n\'avez pas la permission de restaurer sur l\'hôte \${EscHTML(\$In{hostDest})}";
1088$Lang{Can_t_open_create__openPath}                     = "Ne peut pas ouvrir/créer \${EscHTML(\"\$openPath\")}";
1089$Lang{Only_privileged_users_can_restore_backup_files2} = "Seuls les utilisateurs privilégiés peuvent restaurer"
1090  . " des fichiers de sauvegarde pour l\'hôte \${EscHTML(\$host)}.";
1091$Lang{Empty_host_name}      = "Nom d\'hôte vide";
1092$Lang{Unknown_host_or_user} = "\${EscHTML(\$host)}, hôte ou utilisateur inconnu.";
1093$Lang{Only_privileged_users_can_view_information_about} =
1094  "Seuls les utilisateurs privilégiés peuvent accéder aux  informations sur l\'hôte \${EscHTML(\$host)}.";
1095$Lang{Only_privileged_users_can_view_archive_information} =
1096  "Seuls les utilisateurs privilégiés peuvent voir les informations d'archivage.";
1097$Lang{Only_privileged_users_can_view_restore_information} =
1098  "Seuls les utilisateurs privilégiés peuvent restaurer des informations.";
1099$Lang{Restore_number__num_for_host__does_not_exist} =
1100  "La restauration numéro \$num de l\'hôte \${EscHTML(\$host)} n\'existe pas";
1101
1102$Lang{Archive_number__num_for_host__does_not_exist} =
1103  "L\'archive n°\$num pour l\'hôte \${EscHTML(\$host)} n\'existe pas.";
1104
1105$Lang{Can_t_find_IP_address_for} = "Ne peut pas trouver d\'adresse IP pour \${EscHTML(\$host)}";
1106$Lang{host_is_a_DHCP_host}       = <<EOF;
1107L\'hôte est un serveur DHCP, et je ne connais pas son adresse IP. J\'ai
1108vérifié le nom netbios de \$ENV{REMOTE_ADDR}\$tryIP, et j\'ai trouvé que
1109cette machine n\'est pas \$host.
1110<p>
1111Tant que je ne verrai pas \$host à une adresse DHCP particulière, vous
1112ne pourrez démarrer cette requête que depuis la machine elle même.
1113EOF
1114
1115# ------------------------------------
1116# !! Server Mesg !!
1117# ------------------------------------
1118
1119$Lang{Backup_requested_on_DHCP__host} =
1120  "Demande de sauvegarde sur l\'hôte \$host (\$In{hostIP}) par \$User depuis \$ENV{REMOTE_ADDR}";
1121$Lang{Backup_requested_on__host_by__User}        = "Sauvegarde demandée sur \$host par \$User";
1122$Lang{Backup_stopped_dequeued_on__host_by__User} = "Sauvegarde arrêtée/déprogrammée pour \$host par \$User";
1123$Lang{Restore_requested_to_host__hostDest__backup___num} =
1124  "Restauration demandée pour l\'hôte \$hostDest, sauvegarde n°\$num, par \$User depuis \$ENV{REMOTE_ADDR}";
1125$Lang{Delete_requested_for_backup_of__host_by__User} =
1126  "Delete requested for backup #\$num of \$host by \$User from \$ENV{REMOTE_ADDR}";
1127$Lang{Archive_requested} = "Archivage demandé par \$User de \$ENV{REMOTE_ADDR}";
1128
1129# -------------------------------------------------
1130# ------- Stuff that was forgotten ----------------
1131# -------------------------------------------------
1132
1133$Lang{Status}        = "État";
1134$Lang{PC_Summary}    = "Bilan des machines";
1135$Lang{LOG_file}      = "Fichier journal";
1136$Lang{LOG_files}     = "Fichiers journaux";
1137$Lang{Old_LOGs}      = "Vieux journaux";
1138$Lang{Email_summary} = "Résumé des courriels";
1139$Lang{Config_file}   = "Fichier de configuration";
1140
1141# $Lang{Hosts_file} = "Fichiers des hôtes";
1142$Lang{Current_queues} = "Files actuelles";
1143$Lang{Documentation}  = "Documentation";
1144
1145#$Lang{Host_or_User_name} = "<small>Hôte ou Nom d\'utilisateur:</small>";
1146$Lang{Go}            = "Chercher";
1147$Lang{Hosts}         = "Hôtes";
1148$Lang{Select_a_host} = "Choisissez un hôte...";
1149
1150$Lang{There_have_been_no_archives}      = "<h2> Il n'y a pas d'archives </h2>\n";
1151$Lang{This_PC_has_never_been_backed_up} = "<h2> Cette machine n'a jamais été sauvegardée !! </h2>\n";
1152$Lang{This_PC_is_used_by}               = "<li>Cette machine est utilisée par \${UserLink(\$user)}";
1153
1154$Lang{Extracting_only_Errors} = "(Extraction des erreurs seulement)";
1155$Lang{XferLOG}                = "JournalXfer";
1156$Lang{Errors}                 = "Erreurs";
1157
1158# ------------
1159$Lang{Last_email_sent_to__was_at___subject} = <<EOF;
1160<li>Le dernier courriel envoyé à \${UserLink(\$user)} le \$mailTime, avait comme sujet "\$subj".
1161EOF
1162
1163# ------------
1164$Lang{The_command_cmd_is_currently_running_for_started} = <<EOF;
1165<li>La commande \$cmd s\'exécute actuellement sur \$host, démarrée le \$startTime.
1166EOF
1167
1168# -----------
1169$Lang{Host_host_is_queued_on_the_background_queue_will_be_backed_up_soon} = <<EOF;
1170<li>L\'hôte \$host se trouve dans la liste d\'attente d\'arrière plan (il sera sauvegardé bientôt).
1171EOF
1172
1173# ----------
1174$Lang{Host_host_is_queued_on_the_user_queue__will_be_backed_up_soon} = <<EOF;
1175<li>L\'hôte \$host se trouve dans la liste d\'attente utilisateur (il sera sauvegardé bientôt).
1176EOF
1177
1178# ---------
1179$Lang{A_command_for_host_is_on_the_command_queue_will_run_soon} = <<EOF;
1180<li>Une commande pour l\'hôte \$host est dans la liste d\'attente des commandes (sera lancée bientôt).
1181EOF
1182
1183# --------
1184$Lang{Last_status_is_state_StatusHost_state_reason_as_of_startTime} = <<EOF;
1185<li>L\'état courant est \"\$Lang->{\$StatusHost{state}}\"\$reason depuis \$startTime.
1186EOF
1187
1188# --------
1189$Lang{Last_error_is____EscHTML_StatusHost_error} = <<EOF;
1190<li>La dernière erreur est \"\${EscHTML(\$StatusHost{error})}\".
1191EOF
1192
1193# ------
1194$Lang{Pings_to_host_have_failed_StatusHost_deadCnt__consecutive_times} = <<EOF;
1195<li>Les pings vers \$host ont échoué \$StatusHost{deadCnt} fois consécutives.
1196EOF
1197
1198# -----
1199$Lang{Prior_to_that__pings} = "Avant cela, les pings";
1200
1201# -----
1202$Lang{priorStr_to_host_have_succeeded_StatusHostaliveCnt_consecutive_times} = <<EOF;
1203<li>Les \$priorStr vers \$host ont réussi \$StatusHost{aliveCnt}
1204            fois consécutives.
1205EOF
1206
1207$Lang{Because__host_has_been_on_the_network_at_least__Conf_BlackoutGoodCnt_consecutive_times___} = <<EOF;
1208<li>\$host a été présent sur le réseau au moins \$Conf{BlackoutGoodCnt}
1209fois consécutives, il ne sera donc pas sauvegardé de \$blackoutStr.
1210EOF
1211
1212$Lang{__time0_to__time1_on__days} = "\$t0 à \$t1 pendant \$days";
1213
1214$Lang{Backups_are_deferred_for_hours_hours_change_this_number} = <<EOF;
1215<li>Les sauvegardes sont reportées pour \$hours heures
1216(<a href=\"\$MyURL?action=Stop_Dequeue_Backup&host=\$host\">changer ce nombre</a>).
1217EOF
1218
1219$Lang{tryIP} = " et \$StatusHost{dhcpHostIP}";
1220
1221# $Lang{Host_Inhost} = "Hôte \$In{host}";
1222
1223$Lang{checkAll} = <<EOF;
1224<tr><td class="fviewborder">
1225<input type="checkbox" name="allFiles" onClick="return checkAll('allFiles');">&nbsp;Tout sélectionner
1226</td><td colspan="5" align="center" class="fviewborder">
1227<input type="submit" name="Submit" value="Restaurer les fichiers sélectionnés">
1228</td></tr>
1229EOF
1230
1231$Lang{checkAllHosts} = <<EOF;
1232<tr><td class="fviewborder">
1233<input type="checkbox" name="allFiles" onClick="return checkAll('allFiles');">&nbsp;Tout sélectionner
1234</td><td colspan="2" align="center" class="fviewborder">
1235<input type="submit" name="Submit" value="Archiver les machines sélectionnées">
1236</td></tr>
1237EOF
1238
1239$Lang{fileHeader} = <<EOF;
1240    <tr class="fviewheader"><td align=center> Nom</td>
1241       <td align="center"> Type</td>
1242       <td align="center"> Mode</td>
1243       <td align="center"> n°</td>
1244       <td align="center"> Taille</td>
1245       <td align="center"> Date de modification</td>
1246    </tr>
1247EOF
1248
1249$Lang{Home}                         = "Accueil";
1250$Lang{Browse}                       = "Explorer les sauvegardes";
1251$Lang{Last_bad_XferLOG}             = "Bilan des derniers transferts échoués";
1252$Lang{Last_bad_XferLOG_errors_only} = "Bilan des derniers transferts échoués (erreurs seulement)";
1253
1254$Lang{This_display_is_merged_with_backup} = <<EOF;
1255<li> Cet affichage est fusionné avec la sauvegarde n°\$numF, la plus récente copie intégrale.
1256EOF
1257
1258$Lang{Visit_this_directory_in_backup} = <<EOF;
1259<li> Choisissez la sauvegarde que vous désirez voir : <select onChange="window.location=this.value">\$otherDirs </select>
1260EOF
1261
1262$Lang{Restore_Summary} = <<EOF;
1263\${h2("Résumé de la restauration")}
1264<p>
1265Cliquer sur le numéro de restauration pour plus de détails.
1266<table class="tableStnd sortable" border cellspacing="1" cellpadding="3" width="80%">
1267<tr class="tableheader"><td align="center"> Sauvegarde n° </td>
1268    <td align="center"> Résultat </td>
1269    <td align="right"> Date de départ</td>
1270    <td align="right"> Durée (min)</td>
1271    <td align="right"> Nb fichiers </td>
1272    <td align="right"> Taille (Mo) </td>
1273    <td align="right"> Nb errs tar </td>
1274    <td align="right"> Nb errs trans </td>
1275</tr>
1276\$restoreStr
1277</table>
1278<p>
1279EOF
1280
1281$Lang{Archive_Summary} = <<EOF;
1282\${h2("Résumé de l'archive")}
1283<p>
1284Cliquez sur le numéro de l'archive pour plus de détails.
1285<table class="tableStnd" border cellspacing="1" cellpadding="3" width="80%">
1286<tr class="tableheader"><td align="center"> No. Archive </td>
1287    <td align="center">Résultat</td>
1288    <td align="right">Date début</td>
1289    <td align="right">Durée (min)</td>
1290</tr>
1291\$ArchiveStr
1292</table>
1293<p>
1294EOF
1295
1296$Lang{BackupPC__Documentation} = "BackupPC: Documentation";
1297
1298$Lang{No}  = "non";
1299$Lang{Yes} = "oui";
1300
1301$Lang{The_directory_is_empty} = <<EOF;
1302<tr><td bgcolor="#ffffff">Le répertoire \$dirDisplay est vide
1303</td></tr>
1304EOF
1305
1306#$Lang{on} = "actif";
1307$Lang{off} = "inactif";
1308
1309$Lang{backupType_full}    = "complète";
1310$Lang{backupType_incr}    = "incrémentielle";
1311$Lang{backupType_active}  = "active";
1312$Lang{backupType_partial} = "partielle";
1313
1314$Lang{failed}  = "échec";
1315$Lang{success} = "succès";
1316$Lang{and}     = "et";
1317
1318# ------
1319# Hosts states and reasons
1320$Lang{Status_idle}                = "inactif";
1321$Lang{Status_backup_starting}     = "début de la sauvegarde";
1322$Lang{Status_backup_in_progress}  = "sauvegarde en cours";
1323$Lang{Status_restore_starting}    = "début de la restauration";
1324$Lang{Status_restore_in_progress} = "restauration en cours";
1325$Lang{Status_admin_pending}       = "en attente de l'édition de liens";
1326$Lang{Status_admin_running}       = "édition de liens en cours";
1327
1328$Lang{Reason_backup_done}              = "sauvegarde terminée";
1329$Lang{Reason_restore_done}             = "restauration terminée";
1330$Lang{Reason_archive_done}             = "archivage terminé";
1331$Lang{Reason_nothing_to_do}            = "rien à faire";
1332$Lang{Reason_backup_failed}            = "la sauvegarde a échoué";
1333$Lang{Reason_restore_failed}           = "la restauration a échoué";
1334$Lang{Reason_archive_failed}           = "l'archivage a échoué";
1335$Lang{Reason_no_ping}                  = "pas de ping";
1336$Lang{Reason_backup_canceled_by_user}  = "sauvegarde annulée par l'utilisateur";
1337$Lang{Reason_restore_canceled_by_user} = "restauration annulée par l'utilisateur";
1338$Lang{Reason_archive_canceled_by_user} = "archivage annulé par l'utilisateur";
1339$Lang{Disabled_OnlyManualBackups}      = "auto désactivé";
1340$Lang{Disabled_AllBackupsDisabled}     = "désactivé";
1341
1342# ---------
1343# Email messages
1344
1345# No backup ever
1346$Lang{EMailNoBackupEverSubj} = "BackupPC: aucune sauvegarde de \$host n'a réussi";
1347$Lang{EMailNoBackupEverMesg} = <<'EOF';
1348To: $user$domain
1349cc:
1350Subject: $subj
1351$headers
1352$userName,
1353
1354Notre logiciel de copies de sécurité n'a jamais réussi à
1355effectuer la sauvegarde de votre ordinateur ($host). Les sauvegardes
1356devraient normalement survenir lorsque votre ordinateur est connecté
1357au réseau. Vous devriez contacter le responsable informatique si :
1358
1359  - Votre ordinateur est régulièrement connecté au réseau, ce qui
1360    signifie qu'il y aurait un problème de configuration
1361    empêchant les sauvegardes de s'effectuer.
1362
1363  - Vous ne voulez pas qu'il y ait de sauvegardes de
1364    votre ordinateur ni ne voulez recevoir d'autres messages
1365    comme celui-ci.
1366
1367Dans le cas contraire, veuillez vous assurer dès que possible que votre
1368ordinateur est correctement connecté au réseau.
1369
1370Merci de votre attention,
1371BackupPC Génie
1372https://backuppc.github.io/backuppc
1373EOF
1374
1375# No recent backup
1376$Lang{EMailNoBackupRecentSubj} = "BackupPC: aucune sauvegarde récente de \$host";
1377$Lang{EMailNoBackupRecentMesg} = <<'EOF';
1378To: $user$domain
1379cc:
1380Subject: $subj
1381$headers
1382$userName,
1383
1384Aucune sauvegarde de votre ordinateur n'a été effectuée depuis $days
1385jours. $numBackups sauvegardes ont étés effectuées du $firstTime
1386jusqu'à il y a $days jours. Les sauvegardes devraient normalement
1387survenir lorsque votre ordinateur est connecté au réseau.
1388
1389Si votre ordinateur a effectivement été connecté au réseau plus de
1390quelques heures durant les derniers $days jours, vous devriez
1391contacter votre responsable informatique pour savoir pourquoi les
1392sauvegardes ne s'effectuent pas correctement.
1393
1394Autrement, si vous êtes en dehors du bureau, il n'y a pas d'autre
1395chose que vous pouvez faire, à part faire des copies de vos fichiers
1396importants sur d'autres medias. Vous devez réaliser que tout fichier crée
1397ou modifié durant les $days derniers jours (incluant les courriels et
1398les fichiers attachés) ne pourra pas être restauré si un problème survient
1399avec votre ordinateur.
1400
1401Merci de votre attention,
1402BackupPC Génie
1403https://backuppc.github.io/backuppc
1404EOF
1405
1406# Old Outlook files
1407$Lang{EMailOutlookBackupSubj} = "BackupPC: Les fichiers de Outlook sur \$host doivent être sauvegardés";
1408$Lang{EMailOutlookBackupMesg} = <<'EOF';
1409To: $user$domain
1410cc:
1411Subject: $subj
1412$headers
1413$userName,
1414
1415Les fichiers Outlook sur votre ordinateur n'ont $howLong. Ces fichiers
1416contiennent tous vos courriels, fichiers attachés, carnets d'adresses et
1417calendriers. $numBackups sauvegardes ont étés effectuées du $firstTime
1418au $lastTime.  Par contre, Outlook bloque ses fichiers lorsqu'il est
1419ouvert, ce qui empêche de les sauvegarder.
1420
1421Il est recommandé d'effectuer une sauvegarde de vos fichiers Outlook
1422quand vous serez connecté au réseau en quittant Outlook et toute autre
1423application, et en visitant ce lien avec votre navigateur web:
1424
1425    $CgiURL?host=$host
1426
1427Choisissez "Démarrer la sauvegarde incrémentielle" deux fois afin
1428d'effectuer une nouvelle sauvegarde. Vous pouvez ensuite choisir
1429"Retourner à la page de $host" et appuyer sur "Recharger" dans votre
1430navigateur avec de vérifier le bon fonctionnement de la sauvegarde. La
1431sauvegarde devrait prendre quelques minutes à s'effectuer.
1432
1433Merci de votre attention,
1434BackupPC Génie
1435https://backuppc.github.io/backuppc
1436EOF
1437
1438$Lang{howLong_not_been_backed_up}               = "jamais été sauvegardés";
1439$Lang{howLong_not_been_backed_up_for_days_days} = "pas été sauvegardés depuis \$days jours";
1440
1441#######################################################################
1442# RSS strings
1443#######################################################################
1444$Lang{RSS_Doc_Title}       = "BackupPC Server";
1445$Lang{RSS_Doc_Description} = "RSS feed for BackupPC";
1446$Lang{RSS_Host_Summary}    = <<EOF;
1447Nb complètes : \$fullCnt;
1448Complètes Âge (jours) : \$fullAge;
1449Complètes Taille (Go) : \$fullSize;
1450Vitesse (Mo/s) : \$fullRate;
1451Nb incrémentielles : \$incrCnt;
1452Incrémentielles Âge (jours) : \$incrAge;
1453État actuel : \$hostState;
1454Désactivée: \$hostDisabled;
1455Dernière tentative : \$hostLastAttempt;
1456EOF
1457
1458#######################################################################
1459# Configuration editor strings
1460#######################################################################
1461
1462$Lang{Only_privileged_users_can_edit_config_files} =
1463  "Seuls les utilisateurs privilégiés peuvent modifier les paramètres de configuration.";
1464$Lang{CfgEdit_Edit_Config} = "Modifier la configuration";
1465$Lang{CfgEdit_Edit_Hosts}  = "Modifier les machines";
1466
1467$Lang{CfgEdit_Title_Server}                    = "Serveur";
1468$Lang{CfgEdit_Title_General_Parameters}        = "Paramètres généraux";
1469$Lang{CfgEdit_Title_Wakeup_Schedule}           = "Horaire des réveils";
1470$Lang{CfgEdit_Title_Concurrent_Jobs}           = "Tâches concurrentes";
1471$Lang{CfgEdit_Title_Pool_Filesystem_Limits}    = "Limites du système de fichiers";
1472$Lang{CfgEdit_Title_Other_Parameters}          = "Autres paramètres";
1473$Lang{CfgEdit_Title_Remote_Apache_Settings}    = "Options d'Apache à distance";
1474$Lang{CfgEdit_Title_Program_Paths}             = "Chemins des programmes";
1475$Lang{CfgEdit_Title_Install_Paths}             = "Chemins d'installation";
1476$Lang{CfgEdit_Title_Email}                     = "Courriel";
1477$Lang{CfgEdit_Title_Email_settings}            = "Paramètres de courriel";
1478$Lang{CfgEdit_Title_Email_User_Messages}       = "Messages des usagers par courriel";
1479$Lang{CfgEdit_Title_CGI}                       = "CGI";
1480$Lang{CfgEdit_Title_Admin_Privileges}          = "Privilèges administrateur";
1481$Lang{CfgEdit_Title_Page_Rendering}            = "Rendu des pages";
1482$Lang{CfgEdit_Title_Paths}                     = "Chemins";
1483$Lang{CfgEdit_Title_User_URLs}                 = "URL des usagers";
1484$Lang{CfgEdit_Title_User_Config_Editing}       = "Modifications des configurations des usagers";
1485$Lang{CfgEdit_Title_Xfer}                      = "Xfer";
1486$Lang{CfgEdit_Title_Xfer_Settings}             = "Paramètres des transfers";
1487$Lang{CfgEdit_Title_Ftp_Settings}              = "Paramètres de FTP";
1488$Lang{CfgEdit_Title_Smb_Settings}              = "Paramètres de Smb";
1489$Lang{CfgEdit_Title_Tar_Settings}              = "Paramètres de Tar";
1490$Lang{CfgEdit_Title_Rsync_Settings}            = "Paramètres de Rsync";
1491$Lang{CfgEdit_Title_Rsyncd_Settings}           = "Paramètres de Rsyncd";
1492$Lang{CfgEdit_Title_Archive_Settings}          = "Paramètres d'archivage";
1493$Lang{CfgEdit_Title_Include_Exclude}           = "Inclure/Exclure";
1494$Lang{CfgEdit_Title_Smb_Paths_Commands}        = "Chemins/Commandes Smb";
1495$Lang{CfgEdit_Title_Tar_Paths_Commands}        = "Chemins/Commandes Tar";
1496$Lang{CfgEdit_Title_Rsync_Paths_Commands_Args} = "Chemins/Commandes/Args Rsync";
1497$Lang{CfgEdit_Title_Rsyncd_Port_Args}          = "Port/Args Rsyncd";
1498$Lang{CfgEdit_Title_Archive_Paths_Commands}    = "Chemins/Commandes d'archivage";
1499$Lang{CfgEdit_Title_Schedule}                  = "Horaire";
1500$Lang{CfgEdit_Title_Full_Backups}              = "Sauvegardes complètes";
1501$Lang{CfgEdit_Title_Incremental_Backups}       = "Sauvegardes incrémentielles";
1502$Lang{CfgEdit_Title_Blackouts}                 = "Suspension";
1503$Lang{CfgEdit_Title_Other}                     = "Divers";
1504$Lang{CfgEdit_Title_Backup_Settings}           = "Paramètres de sauvegarde";
1505$Lang{CfgEdit_Title_Client_Lookup}             = "Consultation des clients";
1506$Lang{CfgEdit_Title_User_Commands}             = "Commandes des usagers";
1507$Lang{CfgEdit_Title_Hosts}                     = "Machines";
1508
1509$Lang{CfgEdit_Hosts_Comment} = <<EOF;
1510Pour ajouter une machine, choisissez Ajouter et entrez ensuite le nom. Pour faire
1511une copie de la configuration d'une autre machine, entrer le nom de la machine
1512comme NOUVEAU=ACOPIER. Cela va écraser toute configuration par défaut pour
1513cette machine. Vous pouvez aussi faire cela pour une machine existante.
1514Pour détruire une machine, cliquer sur le bouton Détruire. Les ajouts,
1515destructions et modifications ne prennent effet que lorsque que vous cliquez
1516sur le bouton Sauvegarder. Aucune des sauvegardes des machines ne sera
1517détruite, donc si vous effacez une machine par erreur, créez-la à nouveau. Pour
1518détruire les sauvegardes d'une machine, vous devez effacer les fichiers
1519manuellement dans \$topDir/pc/HOST
1520EOF
1521
1522$Lang{CfgEdit_Header_Main} = <<EOF;
1523\${h1("Éditeur de configuration")}
1524EOF
1525
1526$Lang{CfgEdit_Header_Host} = <<EOF;
1527\${h1("Éditeur de la configuration de \$host")}
1528<p>
1529Note: Cochez Écraser pour modifier une valeur spécifique à cette machine.
1530<p>
1531EOF
1532
1533$Lang{CfgEdit_Button_Save}      = "Sauvegarder";
1534$Lang{CfgEdit_Button_Insert}    = "Insérer";
1535$Lang{CfgEdit_Button_Delete}    = "Détruire";
1536$Lang{CfgEdit_Button_Add}       = "Ajouter";
1537$Lang{CfgEdit_Button_Override}  = "Écraser";
1538$Lang{CfgEdit_Button_New_Key}   = "Nouvelle clé";
1539$Lang{CfgEdit_Button_New_Share} = "New ShareName or '*'";
1540
1541$Lang{CfgEdit_Error_No_Save}                            = "Erreur: Pas de sauvegarde à cause d'erreurs.";
1542$Lang{CfgEdit_Error__must_be_an_integer}                = "Erreur: \$var doit être un nombre entier";
1543$Lang{CfgEdit_Error__must_be_real_valued_number}        = "Erreur: \$var doit être un nombre réel";
1544$Lang{CfgEdit_Error__entry__must_be_an_integer}         = "Erreur: l'entrée \$k de \$var doit être un nombre entier";
1545$Lang{CfgEdit_Error__entry__must_be_real_valued_number} = "Erreur: l'entrée \$k de \$var doit être un nombre réel";
1546$Lang{CfgEdit_Error__must_be_executable_program}        = "Erreur: \$var doit être un chemin exécutable";
1547$Lang{CfgEdit_Error__must_be_valid_option}              = "Erreur: \$var doit être une option valide";
1548$Lang{CfgEdit_Error_Copy_host_does_not_exist} =
1549  "La machine \$copyHost ne peut être copiée, car elle n'existe pas ; création d'une machine nommée \$fullHost.  Détruisez cette machine si ce n'est pas ce que vous vouliez.";
1550
1551$Lang{CfgEdit_Log_Copy_host_config}   = "\$User a copié la config de \$fromHost à \$host\n";
1552$Lang{CfgEdit_Log_Delete_param}       = "\$User a détruit \$p de \$conf\n";
1553$Lang{CfgEdit_Log_Add_param_value}    = "\$User a ajouté \$p à \$conf en fixant sa valeur à \$value\n";
1554$Lang{CfgEdit_Log_Change_param_value} = "\$User a changé \$p dans \$conf de \$valueOld à \$valueNew\n";
1555$Lang{CfgEdit_Log_Host_Delete}        = "\$User a détruit la machine \$host\n";
1556$Lang{CfgEdit_Log_Host_Change}        = "\$User a changé \$key de \$valueOld à \$valueNew sur \$host\n";
1557$Lang{CfgEdit_Log_Host_Add}           = "\$User a jouté la machine \$host: \$value\n";
1558
1559#end of lang_fr.pm
1560