move KinoSearch index path to KinoPath config var
[BackupPC.git] / lib / BackupPC / Lang / fr.pm
index d8521ca..f72c193 100644 (file)
@@ -1,29 +1,79 @@
-#!/bin/perl -T
+#!/usr/bin/perl
 
 
-#my %lang;
+#my %Lang;
 #use strict;
 
 # --------------------------------
 
 #use strict;
 
 # --------------------------------
 
+$Lang{Start_Archive} = "Démarrer l'archivage";
+$Lang{Stop_Dequeue_Archive} = "Arrêt/Mise en attente de l'archivage";
 $Lang{Start_Full_Backup} = "Démarrer la sauvegarde complète";
 $Lang{Start_Full_Backup} = "Démarrer la sauvegarde complète";
-$Lang{Start_Incr_Backup} = "Démarrer la sauvegarde incrémentale";
+$Lang{Start_Incr_Backup} = "Démarrer la sauvegarde incrémentielle";
 $Lang{Stop_Dequeue_Backup} = "Arrêter/annuler la sauvegarde";
 $Lang{Restore} = "Restaurer";
 
 $Lang{Stop_Dequeue_Backup} = "Arrêter/annuler la sauvegarde";
 $Lang{Restore} = "Restaurer";
 
+$Lang{Type_full} = "complète";
+$Lang{Type_incr} = "incrémentielle";
+
 # -----
 
 # -----
 
-$Lang{H_BackupPC_Server_Status} = "Status du serveur BackupPC";
-$Lang{BackupPC_Server_Status}= <<EOF;
+$Lang{Only_privileged_users_can_view_admin_options} = "Seuls les utilisateurs privilégiés peuvent voir les options d'administration.";
+$Lang{H_Admin_Options} = "BackupPC: Options d'administration";
+$Lang{Admin_Options} = "Options d'administration";
+$Lang{Admin_Options_Page} = <<EOF;
+\${h1(qq{$Lang{Admin_Options}})}
+<br>
+\${h2("Contrôle du serveur")}
+<form name="ReloadForm" action="\$MyURL" method="get">
+<input type="hidden" name="action" value="">
+<table class="tableStnd">
+  <tr><td>Recharger la configuration:<td><input type="button" value="Recharger"
+     onClick="document.ReloadForm.action.value='Reload';
+              document.ReloadForm.submit();">
+</table>
+</form>
+<!--
+\${h2("Server Configuration")}
+<ul>
+  <li><i>Other options can go here... e.g.,</i>
+  <li>Edit server configuration
+</ul>
+-->
+EOF
+
+$Lang{Unable_to_connect_to_BackupPC_server} = "Impossible de se connecter au serveur BackupPC";
+$Lang{Unable_to_connect_to_BackupPC_server_error_message} = <<EOF;
+Ce script CGI (\$MyURL) est incapable de se connecter au serveur BackupPC
+sur \$Conf{ServerHost} au port \$Conf{ServerPort}.<br>
+L'erreur est: \$err.<br>
+Il est possible que le serveur BackupPC ne fonctionne pas actuellement ou qu'il
+y ait une erreur de configuration. Veuillez contacter votre administrateur système.
+EOF
 
 
-\${h1(qq{$Lang{H_BackupPC_Server_Status}})}
-<p>
+$Lang{Admin_Start_Server} = <<EOF;
+\${h1(qq{$Lang{Unable_to_connect_to_BackupPC_server}})}
+<form action="\$MyURL" method="get">
+Le serveur BackupPC sur <tt>\$Conf{ServerHost}</tt>, port <tt>\$Conf{ServerPort}</tt>
+n'est pas en fonction (vous l'avez peut-être arrêté, ou vous ne l'avez pas encore démarré).<br>
+Voulez-vous le démarrer ?
+<input type="hidden" name="action" value="startServer">
+<input type="submit" value="Démarrer le serveur" name="ignore">
+</form>
+EOF
+
+# -----
+
+$Lang{H_BackupPC_Server_Status} = "État du serveur BackupPC";
+
+$Lang{BackupPC_Server_Status_General_Info}= <<EOF;
 \${h2(\"Informations générales du serveur\")}
 
 <ul>
 <li> Le PID du serveur est \$Info{pid}, sur l\'hôte \$Conf{ServerHost},
      version \$Info{Version}, démarré le \$serverStartTime.
 \${h2(\"Informations générales du serveur\")}
 
 <ul>
 <li> Le PID du serveur est \$Info{pid}, sur l\'hôte \$Conf{ServerHost},
      version \$Info{Version}, démarré le \$serverStartTime.
-<li> Ce rapport à été généré le \$now.
-<li> La prochaine file d\'attente sera remplie le \$nextWakeupTime.
+<li> Ce rapport a été généré le \$now.
+<li> La configuration a été chargée pour la dernière fois à \$configLoadTime.
+<li> La prochaine file d\'attente sera remplie à \$nextWakeupTime.
 <li> Autres infos:
     <ul>
         <li>\$numBgQueue demandes de sauvegardes en attente depuis le dernier réveil automatique,
 <li> Autres infos:
     <ul>
         <li>\$numBgQueue demandes de sauvegardes en attente depuis le dernier réveil automatique,
@@ -31,15 +81,22 @@ $Lang{BackupPC_Server_Status}= <<EOF;
         <li>\$numCmdQueue requêtes de commandes en attente,
         \$poolInfo
         <li>L\'espace de stockage a été récemment rempli à \$Info{DUlastValue}%
         <li>\$numCmdQueue requêtes de commandes en attente,
         \$poolInfo
         <li>L\'espace de stockage a été récemment rempli à \$Info{DUlastValue}%
-            (\$DUlastTime), le maximum d\'aujourd\'hui est \$Info{DUDailyMax}% (\$DUmaxTime)
-            et hier le maximum était \$Info{DUDailyMaxPrev}%.
+            (\$DUlastTime), le maximum aujourd\'hui a été de \$Info{DUDailyMax}% (\$DUmaxTime)
+            et hier le maximum était de \$Info{DUDailyMaxPrev}%.
     </ul>
 </ul>
     </ul>
 </ul>
+EOF
+
+$Lang{BackupPC_Server_Status} = <<EOF;
+\${h1(qq{$Lang{H_BackupPC_Server_Status}})}
+
+<p>
+\$generalInfo
 
 \${h2("Travaux en cours d'exécution")}
 <p>
 
 \${h2("Travaux en cours d'exécution")}
 <p>
-<table border>
-<tr><td> Hôte </td>
+<table class="tableStnd" border cellspacing="1" cellpadding="3">
+<tr class="tableheader"><td> Hôte </td>
     <td> Type </td>
     <td> Utilisateur </td>
     <td> Date de départ </td>
     <td> Type </td>
     <td> Utilisateur </td>
     <td> Date de départ </td>
@@ -53,8 +110,8 @@ $Lang{BackupPC_Server_Status}= <<EOF;
 
 \${h2("Échecs qui demandent de l'attention")}
 <p>
 
 \${h2("Échecs qui demandent de l'attention")}
 <p>
-<table border>
-<tr><td align="center"> Hôte </td>
+<table class="tableStnd" border cellspacing="1" cellpadding="3">
+<tr class="tableheader"><td align="center"> Hôte </td>
     <td align="center"> Type </td>
     <td align="center"> Utilisateur </td>
     <td align="center"> Dernier essai </td>
     <td align="center"> Type </td>
     <td align="center"> Utilisateur </td>
     <td align="center"> Dernier essai </td>
@@ -66,13 +123,19 @@ $Lang{BackupPC_Server_Status}= <<EOF;
 EOF
 
 # --------------------------------
 EOF
 
 # --------------------------------
-$Lang{BackupPC__Server_Summary} = "BackupPC: Résumé du serveur";
+$Lang{BackupPC__Server_Summary} = "BackupPC: Bilan des machines";
+$Lang{BackupPC__Archive} = "BackupPC: Archivage";
 $Lang{BackupPC_Summary}=<<EOF;
 
 \${h1(qq{$Lang{BackupPC__Server_Summary}})}
 <p>
 $Lang{BackupPC_Summary}=<<EOF;
 
 \${h1(qq{$Lang{BackupPC__Server_Summary}})}
 <p>
-Ce statut a été généré le \$now.
-<p>
+<ul>
+<li>Ce statut a été généré le \$now.
+<li>L\'espace de stockage a été récemment rempli à \$Info{DUlastValue}%
+    (\$DUlastTime), le maximum aujourd\'hui a été de \$Info{DUDailyMax}% (\$DUmaxTime)
+    et hier le maximum était de \$Info{DUDailyMaxPrev}%.
+</ul>
+</p>
 
 \${h2("Hôtes avec de bonnes sauvegardes")}
 <p>
 
 \${h2("Hôtes avec de bonnes sauvegardes")}
 <p>
@@ -80,47 +143,152 @@ Il y a \$hostCntGood h
 <ul>
 <li> \$fullTot sauvegardes complètes de tailles cumulées de \${fullSizeTot} Go
      (précédant la mise en commun et la compression),
 <ul>
 <li> \$fullTot sauvegardes complètes de tailles cumulées de \${fullSizeTot} Go
      (précédant la mise en commun et la compression),
-<li> \$incrTot sauvegardes incrémentales de tailles cumulées de \${incrSizeTot} Go
+<li> \$incrTot sauvegardes incrémentielles de tailles cumulées de \${incrSizeTot} Go
      (précédant la mise en commun et la compression).
 </ul>
      (précédant la mise en commun et la compression).
 </ul>
-<table border>
-<tr><td> Hôte </td>
+</p>
+<table class="sortable" id="host_summary_backups" border cellpadding="3" cellspacing="1">
+<tr class="tableheader"><td> Hôte </td>
     <td align="center"> Utilisateur </td>
     <td align="center"> Nb complètes </td>
     <td align="center"> Utilisateur </td>
     <td align="center"> Nb complètes </td>
-    <td align="center"> Complètes Âge/Jours </td>
-    <td align="center"> Complètes Taille/Go </td>
-    <td align="center"> Vitesse Mo/sec </td>
-    <td align="center"> Nb incrémentales </td>
-    <td align="center"> Incrémentales Âge/Jours </td>
+    <td align="center"> Complètes Âge (jours) </td>
+    <td align="center"> Complètes Taille (Go) </td>
+    <td align="center"> Vitesse (Mo/s) </td>
+    <td align="center"> Nb incrémentielles </td>
+    <td align="center"> Incrémentielles Âge (jours) </td>
+    <td align="center"> Dernière sauvegarde (jours) </td>
     <td align="center"> État actuel </td>
     <td align="center"> État actuel </td>
+    <td align="center"> Nb erreurs transfert </td>
     <td align="center"> Dernière tentative </td></tr>
 \$strGood
 </table>
     <td align="center"> Dernière tentative </td></tr>
 \$strGood
 </table>
-<p>
-
+<br><br>
 \${h2("Hôtes sans sauvegardes")}
 <p>
 Il y a \$hostCntNone hôtes sans sauvegardes.
 <p>
 \${h2("Hôtes sans sauvegardes")}
 <p>
 Il y a \$hostCntNone hôtes sans sauvegardes.
 <p>
-<table border>
-<tr><td> Hôte </td>
+<table class="sortable" id="host_summary_nobackups" border cellpadding="3" cellspacing="1">
+<tr class="tableheader"><td> Hôte </td>
     <td align="center"> Utilisateur </td>
     <td align="center"> Nb complètes </td>
     <td align="center"> Utilisateur </td>
     <td align="center"> Nb complètes </td>
-    <td align="center"> Complètes Âge/jour </td>
-    <td align="center"> Complètes Taille/Go </td>
-    <td align="center"> Vitesse Mo/sec </td>
-    <td align="center"> Nb incrémentales </td>
-    <td align="center"> Incrémentales Âge/jours </td>
+    <td align="center"> Complètes Âge (jours) </td>
+    <td align="center"> Complètes Taille (Go) </td>
+    <td align="center"> Vitesse (Mo/s) </td>
+    <td align="center"> Nb incrémentielles </td>
+    <td align="center"> Incrémentielles Âge (jours) </td>
+    <td align="center"> Dernière sauvegarde (jours) </td>
     <td align="center"> État actuel </td>
     <td align="center"> État actuel </td>
+    <td align="center"> Nb erreurs transfert </td>
     <td align="center"> Dernière tentative </td></tr>
 \$strNone
 </table>
 EOF
 
     <td align="center"> Dernière tentative </td></tr>
 \$strNone
 </table>
 EOF
 
+$Lang{BackupPC_Archive}=<<EOF;
+\${h1(qq{$Lang{BackupPC__Archive}})}
+<script language="javascript" type="text/javascript">
+<!--
+
+    function checkAll(location)
+    {
+      for (var i=0;i<document.form1.elements.length;i++)
+      {
+        var e = document.form1.elements[i];
+        if ((e.checked || !e.checked) && e.name != \'all\') {
+            if (eval("document.form1."+location+".checked")) {
+                e.checked = true;
+            } else {
+                e.checked = false;
+            }
+        }
+      }
+    }
+
+    function toggleThis(checkbox)
+    {
+       var cb = eval("document.form1."+checkbox);
+       cb.checked = !cb.checked;
+    }
+
+//-->
+</script>
+
+Il y a \$hostCntGood hôtes qui ont été sauvegardés, représentant \${fullSizeTot} Go
+<p>
+<form name="form1" method="post" action="\$MyURL">
+<input type="hidden" name="fcbMax" value="\$checkBoxCnt">
+<input type="hidden" name="type" value="1">
+<input type="hidden" name="host" value="\${EscHTML(\$archHost)}">
+<input type="hidden" name="action" value="Archive">
+<table class="tableStnd" border cellpadding="3" cellspacing="1">
+<tr class="tableheader"><td align=center> Host</td>
+    <td align="center"> Utilisateur </td>
+    <td align="center"> Taille </td>
+\$strGood
+\$checkAllHosts
+</table>
+</form>
+<p>
+
+EOF
+
+$Lang{BackupPC_Archive2}=<<EOF;
+\${h1(qq{$Lang{BackupPC__Archive}})}
+Prêt à démarrer l'archivage des hôtes suivants
+<ul>
+\$HostListStr
+</ul>
+<form action="\$MyURL" method="post">
+\$hiddenStr
+<input type="hidden" name="action" value="Archive">
+<input type="hidden" name="host" value="\${EscHTML(\$archHost)}">
+<input type="hidden" name="type" value="2">
+<input type="hidden" value="0" name="archive_type">
+<table class="tableStnd" border cellspacing="1" cellpadding="3">
+\$paramStr
+<tr>
+    <td colspan=2><input type="submit" value="Démarrer l'archivage" name="ignore"></td>
+</tr>
+</form>
+</table>
+EOF
+
+$Lang{BackupPC_Archive2_location} = <<EOF;
+<tr>
+    <td>Dispositif/Localisation de l'archive</td>
+    <td><input type="text" value="\$ArchiveDest" name="archive_device"></td>
+</tr>
+EOF
+
+$Lang{BackupPC_Archive2_compression} = <<EOF;
+<tr>
+    <td>Compression</td>
+    <td>
+    <input type="radio" value="0" name="compression" \$ArchiveCompNone>Aucune<br>
+    <input type="radio" value="1" name="compression" \$ArchiveCompGzip>gzip<br>
+    <input type="radio" value="2" name="compression" \$ArchiveCompBzip2>bzip2
+    </td>
+</tr>
+EOF
+
+$Lang{BackupPC_Archive2_parity} = <<EOF;
+<tr>
+    <td>Pourcentage des données de parité (0 = désactivé, 5 = typique)</td>
+    <td><input type="numeric" value="\$ArchivePar" name="par"></td>
+</tr>
+EOF
+
+$Lang{BackupPC_Archive2_split} = <<EOF;
+<tr>
+    <td>Scinder le fichier en fichiers de</td>
+    <td><input type="numeric" value="\$ArchiveSplit" name="splitsize"> Mo</td>
+</tr>
+EOF
+
 # -----------------------------------
 $Lang{Pool_Stat} = <<EOF;
         <li>La mise en commun est constituée de \$info->{"\${name}FileCnt"} fichiers
 # -----------------------------------
 $Lang{Pool_Stat} = <<EOF;
         <li>La mise en commun est constituée de \$info->{"\${name}FileCnt"} fichiers
-            et \$info->{"\${name}DirCnt"} repertoires représentant \${poolSize} Go (depuis le \$poolTime),
+            et \$info->{"\${name}DirCnt"} répertoires représentant \${poolSize} Go (depuis le \$poolTime),
         <li>Le hachage de mise en commun des fichiers donne \$info->{"\${name}FileCntRep"} fichiers répétés
             avec comme plus longue chaîne \$info->{"\${name}FileRepMax"},
         <li>Le nettoyage nocturne a effacé \$info->{"\${name}FileCntRm"} fichiers, soit
         <li>Le hachage de mise en commun des fichiers donne \$info->{"\${name}FileCntRep"} fichiers répétés
             avec comme plus longue chaîne \$info->{"\${name}FileRepMax"},
         <li>Le nettoyage nocturne a effacé \$info->{"\${name}FileCntRm"} fichiers, soit
@@ -133,25 +301,28 @@ $Lang{BackupPC__Backup_Requested_on__host} = "BackupPC: Sauvegarde demand
 $Lang{REPLY_FROM_SERVER} = <<EOF;
 \${h1(\$str)}
 <p>
 $Lang{REPLY_FROM_SERVER} = <<EOF;
 \${h1(\$str)}
 <p>
-La réponse du serveur a été: \$reply
+La réponse du serveur a été : \$reply
 <p>
 Retourner à la page d\'accueil de <a href="\$MyURL?host=\$host">\$host</a>.
 EOF
 # --------------------------------
 <p>
 Retourner à la page d\'accueil de <a href="\$MyURL?host=\$host">\$host</a>.
 EOF
 # --------------------------------
-$Lang{BackupPC__Start_Backup_Confirm_on__host} = "BackupPC: Confirmation du départ de la sauvegarde de \$host";
+$Lang{BackupPC__Start_Backup_Confirm_on__host} = "BackupPC: Confirmation du démarrage de la sauvegarde de \$host";
 # --------------------------------
 $Lang{Are_you_sure_start} = <<EOF;
 # --------------------------------
 $Lang{Are_you_sure_start} = <<EOF;
-\${h1("Êtes vous certain ?")}
+\${h1("Êtes-vous certain ?")}
 <p>
 <p>
-Vous allez bientôt démarrer une sauvegarde <i>\$type</i> depuis \$host.
+Vous allez bientôt démarrer une sauvegarde \$type depuis \$host.
 
 
-<form action="\$MyURL" method="get">
+<form name="Confirm" action="\$MyURL" method="get">
 <input type="hidden" name="host" value="\$host">
 <input type="hidden" name="hostIP" value="\$ipAddr">
 <input type="hidden" name="doit" value="1">
 <input type="hidden" name="host" value="\$host">
 <input type="hidden" name="hostIP" value="\$ipAddr">
 <input type="hidden" name="doit" value="1">
-Voulez vous vraiment le faire ?
-<input type="submit" value="\$In{action}" name="action">
-<input type="submit" value="Non" name="">
+<input type="hidden" name="action" value="">
+Voulez-vous vraiment le faire ?
+<input type="button" value="\$buttonText"
+  onClick="document.Confirm.action.value='\$In{action}';
+           document.Confirm.submit();">
+<input type="submit" value="Non" name="ignore">
 </form>
 EOF
 # --------------------------------
 </form>
 EOF
 # --------------------------------
@@ -159,73 +330,81 @@ $Lang{BackupPC__Stop_Backup_Confirm_on__host} = "BackupPC: Confirmer l\'arr
 # --------------------------------
 $Lang{Are_you_sure_stop} = <<EOF;
 
 # --------------------------------
 $Lang{Are_you_sure_stop} = <<EOF;
 
-\${h1("Êtes vous certain ?")}
+\${h1("Êtes-vous certain ?")}
 
 <p>
 Vous êtes sur le point d\'arrêter/supprimer de la file les sauvegardes de \$host;
 
 
 <p>
 Vous êtes sur le point d\'arrêter/supprimer de la file les sauvegardes de \$host;
 
-<form action="\$MyURL" method="get">
-<input type="hidden" name="host" value="\$host">
-<input type="hidden" name="doit" value="1">
-En outre, prière de ne pas démarrer d\'autres sauvegarde pour
+<form name="Confirm" action="\$MyURL" method="get">
+<input type="hidden" name="host"   value="\$host">
+<input type="hidden" name="doit"   value="1">
+<input type="hidden" name="action" value="">
+En outre, prière de ne pas démarrer d\'autre sauvegarde pendant
 <input type="text" name="backoff" size="10" value="\$backoff"> heures.
 <p>
 <input type="text" name="backoff" size="10" value="\$backoff"> heures.
 <p>
-Voulez vous vraiment le faire ?
-<input type="submit" value="\$In{action}" name="action">
-<input type="submit" value="Non" name="">
+Voulez-vous vraiment le faire ?
+<input type="button" value="\$buttonText"
+  onClick="document.Confirm.action.value='\$In{action}';
+           document.Confirm.submit();">
+<input type="submit" value="Non" name="ignore">
 </form>
 
 EOF
 # --------------------------------
 $Lang{Only_privileged_users_can_view_queues_} = "Seuls les utilisateurs privilégiés peuvent voir les files.";
 # --------------------------------
 </form>
 
 EOF
 # --------------------------------
 $Lang{Only_privileged_users_can_view_queues_} = "Seuls les utilisateurs privilégiés peuvent voir les files.";
 # --------------------------------
+$Lang{Only_privileged_users_can_archive} = "Seuls les utilisateurs privilégiés peuvent archiver.";
+# --------------------------------
 $Lang{BackupPC__Queue_Summary} = "BackupPC: Résumé de la file";
 # --------------------------------
 $Lang{Backup_Queue_Summary} = <<EOF;
 \${h1("Résumé de la file")}
 $Lang{BackupPC__Queue_Summary} = "BackupPC: Résumé de la file";
 # --------------------------------
 $Lang{Backup_Queue_Summary} = <<EOF;
 \${h1("Résumé de la file")}
-<p>
+<br><br>
 \${h2("Résumé des files des utilisateurs")}
 <p>
 Les demandes utilisateurs suivantes sont actuellement en attente :
 \${h2("Résumé des files des utilisateurs")}
 <p>
 Les demandes utilisateurs suivantes sont actuellement en attente :
-<table border>
-<tr><td> Hôte </td>
+</p>
+<table class="tableStnd" border cellspacing="1" cellpadding="3" width="80%">
+<tr class="tableheader"><td> Hôte </td>
     <td> Temps Requis </td>
     <td> Utilisateur </td></tr>
 \$strUser
 </table>
     <td> Temps Requis </td>
     <td> Utilisateur </td></tr>
 \$strUser
 </table>
-<p>
+<br><br>
 
 \${h2("Résumé de la file en arrière plan")}
 <p>
 Les demandes en arrière plan suivantes sont actuellement en attente :
 
 \${h2("Résumé de la file en arrière plan")}
 <p>
 Les demandes en arrière plan suivantes sont actuellement en attente :
-<table border>
-<tr><td> Hôte </td>
+</p>
+<table class="tableStnd" border cellspacing="1" cellpadding="3" width="80%">
+<tr class="tableheader"><td> Hôte </td>
     <td> Temps requis </td>
     <td> Utilisateur </td></tr>
 \$strBg
 </table>
     <td> Temps requis </td>
     <td> Utilisateur </td></tr>
 \$strBg
 </table>
-<p>
-
+<br><br>
 \${h2("Résumé de la file d\'attente des commandes")}
 <p>
 Les demandes de commande suivantes sont actuellement en attente :
 \${h2("Résumé de la file d\'attente des commandes")}
 <p>
 Les demandes de commande suivantes sont actuellement en attente :
-<table border>
-<tr><td> Hôtes </td>
+</p>
+<table class="tableStnd" border cellspacing="1" cellpadding="3" width="80%">
+<tr class="tableheader"><td> Hôtes </td>
     <td> Temps Requis </td>
     <td> Utilisateur </td>
     <td> Commande </td></tr>
 \$strCmd
 </table>
 EOF
     <td> Temps Requis </td>
     <td> Utilisateur </td>
     <td> Commande </td></tr>
 \$strCmd
 </table>
 EOF
+
 # --------------------------------
 # --------------------------------
-$Lang{Backup_PC__Log_File__file} = "BackupPC: Fichier journal \$file";
+$Lang{Backup_PC__Log_File__file} = "BackupPC: Fichier \$file";
 $Lang{Log_File__file__comment} = <<EOF;
 $Lang{Log_File__file__comment} = <<EOF;
-\${h1("Fichier journal \$file \$comment")}
+\${h1("Fichier \$file \$comment")}
 <p>
 EOF
 # --------------------------------
 $Lang{Contents_of_log_file} = <<EOF;
 <p>
 EOF
 # --------------------------------
 $Lang{Contents_of_log_file} = <<EOF;
-Contenu du fichier journal <tt>\$file</tt>, modifié le \$mtimeStr \$comment
+Contenu du fichier <tt>\$file</tt>, modifié le \$mtimeStr \$comment
 EOF
 
 # --------------------------------
 EOF
 
 # --------------------------------
@@ -238,8 +417,8 @@ $Lang{BackupPC__Log_File_History} = "BackupPC: Historique du fichier journal";
 $Lang{Log_File_History__hdr} = <<EOF;
 \${h1("Historique du fichier journal \$hdr")}
 <p>
 $Lang{Log_File_History__hdr} = <<EOF;
 \${h1("Historique du fichier journal \$hdr")}
 <p>
-<table border>
-<tr><td align="center"> Fichier </td>
+<table class="tableStnd" border cellspacing="1" cellpadding="3" width="80%">
+<tr class="tableheader"><td align="center"> Fichier </td>
     <td align="center"> Taille </td>
     <td align="center"> Date de modification </td></tr>
 \$str
     <td align="center"> Taille </td>
     <td align="center"> Date de modification </td></tr>
 \$str
@@ -248,10 +427,10 @@ EOF
 
 # -------------------------------
 $Lang{Recent_Email_Summary} = <<EOF;
 
 # -------------------------------
 $Lang{Recent_Email_Summary} = <<EOF;
-\${h1("Résumé des courriels récents (Du plus récent au plus vieux)")}
+\${h1("Résumé des courriels récents (du plus récent au plus vieux)")}
 <p>
 <p>
-<table border>
-<tr><td align="center"> Destinataire </td>
+<table class="tableStnd" border cellspacing="1" cellpadding="3" width="80%">
+<tr class="tableheader"><td align="center"> Destinataire </td>
     <td align="center"> Hôte </td>
     <td align="center"> Date </td>
     <td align="center"> Sujet </td></tr>
     <td align="center"> Hôte </td>
     <td align="center"> Date </td>
     <td align="center"> Sujet </td></tr>
@@ -266,34 +445,48 @@ $Lang{Browse_backup__num_for__host} = "BackupPC: Navigation dans la sauvegarde \
 # ------------------------------
 $Lang{Restore_Options_for__host} = "BackupPC: Options de restauration sur \$host";
 $Lang{Restore_Options_for__host2} = <<EOF;
 # ------------------------------
 $Lang{Restore_Options_for__host} = "BackupPC: Options de restauration sur \$host";
 $Lang{Restore_Options_for__host2} = <<EOF;
+\${h1("Options de restauration sur \$host")}
 <p>
 <p>
-Vous avez sélectionné les fichiers/repertoires suivants depuis le partage \$share, sauvegarde numéro \$num:
+Vous avez sélectionné les fichiers/répertoires suivants depuis
+le partage \$share, sauvegarde numéro \$num:
 <ul>
 \$fileListStr
 </ul>
 <ul>
 \$fileListStr
 </ul>
-<p>
-Vous avez trois choix pour restaurer ces fichiers/repertoires.
+</p><p>
+Vous avez trois choix pour restaurer ces fichiers/répertoires.
 Veuillez sélectionner une des options suivantes.
 Veuillez sélectionner une des options suivantes.
-<p>
+</p>
 \${h2("Option 1: Restauration directe")}
 <p>
 \${h2("Option 1: Restauration directe")}
 <p>
+EOF
+
+$Lang{Restore_Options_for__host_Option1} = <<EOF;
 Vous pouvez démarrer une restauration de ces fichiers 
 Vous pouvez démarrer une restauration de ces fichiers 
-directement sur \$host.
-<p>
+directement sur <b>\$directHost</b>.
+</p><p>
 <b>Attention:</b>
 <b>Attention:</b>
-tous les fichiers correspondant à ceux que vous avez sélectionnés vont être effacés !
-
-<form action="\$MyURL" method="post">
+tous les fichiers correspondant à ceux que vous avez sélectionnés vont être écrasés !
+</p>
+<form action="\$MyURL" method="post" name="direct">
 <input type="hidden" name="host" value="\${EscHTML(\$host)}">
 <input type="hidden" name="num" value="\$num">
 <input type="hidden" name="type" value="3">
 \$hiddenStr
 <input type="hidden" value="\$In{action}" name="action">
 <input type="hidden" name="host" value="\${EscHTML(\$host)}">
 <input type="hidden" name="num" value="\$num">
 <input type="hidden" name="type" value="3">
 \$hiddenStr
 <input type="hidden" value="\$In{action}" name="action">
-<table border="0">
+<table class="tableStnd" border="0">
 <tr>
 <tr>
-    <td>Restaurer les fichiers vers l\'hôte</td>
-    <td><input type="text" size="40" value="\${EscHTML(\$host)}"
-        name="hostDest"></td>
+    <td>Restaure les fichiers vers l'hôte</td>
+    <td><!--<input type="text" size="40" value="\${EscHTML(\$host)}"
+        name="hostDest">-->
+        <select name="hostDest" onChange="document.direct.shareDest.value=''">
+        \$hostDestSel
+        </select>
+        <script language="Javascript">
+        function myOpen(URL) {
+               window.open(URL,'','width=500,height=400');
+       }
+        </script>
+        <!--<a href="javascript:myOpen('\$MyURL?action=findShares&host='+document.direct.hostDest.options.value)">Chercher les partitions disponibles (NON IMPLANTE)</a>--></td>
 </tr><tr>
     <td>Restaurer les fichiers vers le partage</td>
     <td><input type="text" size="40" value="\${EscHTML(\$share)}"
 </tr><tr>
     <td>Restaurer les fichiers vers le partage</td>
     <td><input type="text" size="40" value="\${EscHTML(\$share)}"
@@ -303,24 +496,28 @@ tous les fichiers correspondant 
     <td valign="top"><input type="text" size="40" maxlength="256"
        value="\${EscHTML(\$pathHdr)}" name="pathHdr"></td>
 </tr><tr>
     <td valign="top"><input type="text" size="40" maxlength="256"
        value="\${EscHTML(\$pathHdr)}" name="pathHdr"></td>
 </tr><tr>
-    <td><input type="submit" value="Démarrer la restauration" name=""></td>
+    <td><input type="submit" value="Démarrer la restauration" name="ignore"></td>
 </table>
 </form>
 EOF
 
 </table>
 </form>
 EOF
 
+$Lang{Restore_Options_for__host_Option1_disabled} = <<EOF;
+La restauration directe a été désactivée pour l'hôte \${EscHTML(\$hostDest)}.
+Veuillez choisir une autre option.
+EOF
 
 # ------------------------------
 $Lang{Option_2__Download_Zip_archive} = <<EOF;
 
 # ------------------------------
 $Lang{Option_2__Download_Zip_archive} = <<EOF;
-
+<p>
 \${h2("Option 2: Télécharger une archive Zip")}
 <p>
 Vous pouvez télécharger une archive compressée (.zip) contenant tous les fichiers/répertoires que vous 
 avez sélectionnés. Vous pouvez utiliser une application locale, comme Winzip, pour voir ou extraire n\'importe quel fichier.
 \${h2("Option 2: Télécharger une archive Zip")}
 <p>
 Vous pouvez télécharger une archive compressée (.zip) contenant tous les fichiers/répertoires que vous 
 avez sélectionnés. Vous pouvez utiliser une application locale, comme Winzip, pour voir ou extraire n\'importe quel fichier.
-<p>
-<b>Attention:</b> en fonction de quels fichiers/répertoires vous avez sélectionné,
-cette archive peut devenir très très large.  Cela peut prendre plusieurs minutes pour créer
-et transférer cette archive, et vous aurez besoin d\'assez d\'espace disque pour le stocker.
-<p>
+</p><p>
+<b>Attention:</b> en fonction des fichiers/répertoires que vous avez sélectionnés,
+cette archive peut devenir très très volumineuse. Cela peut prendre plusieurs minutes pour créer
+et transférer cette archive, et vous aurez besoin d\'assez d\'espace disque pour la stocker.
+</p>
 <form action="\$MyURL" method="post">
 <input type="hidden" name="host" value="\${EscHTML(\$host)}">
 <input type="hidden" name="num" value="\$num">
 <form action="\$MyURL" method="post">
 <input type="hidden" name="host" value="\${EscHTML(\$host)}">
 <input type="hidden" name="num" value="\$num">
@@ -334,7 +531,7 @@ et transf
 Compression (0=désactivée, 1=rapide,...,9=meilleure)
 <input type="text" size="6" value="5" name="compressLevel">
 <br>
 Compression (0=désactivée, 1=rapide,...,9=meilleure)
 <input type="text" size="6" value="5" name="compressLevel">
 <br>
-<input type="submit" value="Télécharger le fichier Zip" name="">
+<input type="submit" value="Télécharger le fichier Zip" name="ignore">
 </form>
 EOF
 
 </form>
 EOF
 
@@ -342,12 +539,14 @@ EOF
 # ------------------------------
 
 $Lang{Option_2__Download_Zip_archive2} = <<EOF;
 # ------------------------------
 
 $Lang{Option_2__Download_Zip_archive2} = <<EOF;
+<p>
 \${h2("Option 2: Télécharger une archive Zip")}
 <p>
 Vous ne pouvez pas télécharger d'archive zip, car Archive::Zip n\'est pas
 \${h2("Option 2: Télécharger une archive Zip")}
 <p>
 Vous ne pouvez pas télécharger d'archive zip, car Archive::Zip n\'est pas
-installé. Veuillez demander à votre administrateur système d\'installer 
+installé. 
+Veuillez demander à votre administrateur système d\'installer 
 Archive::Zip depuis <a href="http://www.cpan.org">www.cpan.org</a>.
 Archive::Zip depuis <a href="http://www.cpan.org">www.cpan.org</a>.
-<p>
+</p>
 EOF
 
 
 EOF
 
 
@@ -355,16 +554,15 @@ EOF
 $Lang{Option_3__Download_Zip_archive} = <<EOF;
 \${h2("Option 3: Télécharger une archive tar")}
 <p>
 $Lang{Option_3__Download_Zip_archive} = <<EOF;
 \${h2("Option 3: Télécharger une archive tar")}
 <p>
-
 Vous pouvez télécharger une archive Tar contenant tous les fichiers/répertoires 
 que vous avez sélectionnés. Vous pourrez alors utiliser une application locale, 
 comme tar ou winzip pour voir ou extraire n\'importe quel fichier.
 Vous pouvez télécharger une archive Tar contenant tous les fichiers/répertoires 
 que vous avez sélectionnés. Vous pourrez alors utiliser une application locale, 
 comme tar ou winzip pour voir ou extraire n\'importe quel fichier.
-<p>
+</p><p>
 <b>Attention:</b> en fonction des fichiers/répertoires que vous avez sélectionnés,
 <b>Attention:</b> en fonction des fichiers/répertoires que vous avez sélectionnés,
-cette archive peut devenir très très large.  Cela peut prendre plusieurs minutes
-pour créer et transférer l\'archive, et vous aurez besoin d'assez
+cette archive peut devenir très très volumineuse.  Cela peut prendre plusieurs minutes
+pour créer et transférer l\'archive, et vous aurez besoin d\'assez
 d\'espace disque local pour la stocker.
 d\'espace disque local pour la stocker.
-<p>
+</p>
 <form action="\$MyURL" method="post">
 <input type="hidden" name="host" value="\${EscHTML(\$host)}">
 <input type="hidden" name="num" value="\$num">
 <form action="\$MyURL" method="post">
 <input type="hidden" name="host" value="\${EscHTML(\$host)}">
 <input type="hidden" name="num" value="\$num">
@@ -375,36 +573,40 @@ d\'espace disque local pour la stocker.
 \${EscHTML(\$pathHdr eq "" ? "/" : \$pathHdr)}
 (Autrement l\'archive contiendra des chemins absolus).
 <br>
 \${EscHTML(\$pathHdr eq "" ? "/" : \$pathHdr)}
 (Autrement l\'archive contiendra des chemins absolus).
 <br>
-<input type="submit" value="Télécharger le fichier Tar" name="">
+<input type="submit" value="Télécharger le fichier Tar" name="ignore">
 </form>
 EOF
 
 
 </form>
 EOF
 
 
-
 # ------------------------------
 $Lang{Restore_Confirm_on__host} = "BackupPC: Confirmation de restauration sur \$host";
 
 $Lang{Are_you_sure} = <<EOF;
 # ------------------------------
 $Lang{Restore_Confirm_on__host} = "BackupPC: Confirmation de restauration sur \$host";
 
 $Lang{Are_you_sure} = <<EOF;
-\${h1("Êtes-vous sur ?")}
+\${h1("Êtes-vous sûr ?")}
 <p>
 <p>
-Vous êtes sur le point de démarrer une restauration directement sur la machine \$In{hostDest}. Les fichiers suivants vont être restaurés dans le partage \$In{shareDest}, depuis la sauvegarde numéro \$num:
+Vous êtes sur le point de démarrer une restauration directement sur 
+la machine \$In{hostDest}. Les fichiers suivants vont être restaurés 
+dans le partage \$In{shareDest}, depuis la sauvegarde numéro \$num:
 <p>
 <p>
-<table border>
-<tr><td>Fichier/Répertoire original</td><td>Va être restauré à</td></tr>
+<table class="tableStnd" border>
+<tr class="tableheader"><td>Fichier/Répertoire original</td><td>Va être restauré à</td></tr>
 \$fileListStr
 </table>
 
 \$fileListStr
 </table>
 
-<form action="\$MyURL" method="post">
+<form name="RestoreForm" action="\$MyURL" method="post">
 <input type="hidden" name="host" value="\${EscHTML(\$host)}">
 <input type="hidden" name="hostDest" value="\${EscHTML(\$In{hostDest})}">
 <input type="hidden" name="shareDest" value="\${EscHTML(\$In{shareDest})}">
 <input type="hidden" name="pathHdr" value="\${EscHTML(\$In{pathHdr})}">
 <input type="hidden" name="num" value="\$num">
 <input type="hidden" name="type" value="4">
 <input type="hidden" name="host" value="\${EscHTML(\$host)}">
 <input type="hidden" name="hostDest" value="\${EscHTML(\$In{hostDest})}">
 <input type="hidden" name="shareDest" value="\${EscHTML(\$In{shareDest})}">
 <input type="hidden" name="pathHdr" value="\${EscHTML(\$In{pathHdr})}">
 <input type="hidden" name="num" value="\$num">
 <input type="hidden" name="type" value="4">
+<input type="hidden" name="action" value="">
 \$hiddenStr
 Voulez-vous vraiment le faire ?
 \$hiddenStr
 Voulez-vous vraiment le faire ?
-<input type="submit" value="\$In{action}" name="action">
-<input type="submit" value="Non" name="">
+<input type="button" value="\$Lang->{Restore}"
+ onClick="document.RestoreForm.action.value='Restore';
+          document.RestoreForm.submit();">
+<input type="submit" value="No" name="ignore">
 </form>
 EOF
 
 </form>
 EOF
 
@@ -413,11 +615,17 @@ $Lang{Restore_Requested_on__hostDest} = "BackupPC: Restauration demand
 $Lang{Reply_from_server_was___reply} = <<EOF;
 \${h1(\$str)}
 <p>
 $Lang{Reply_from_server_was___reply} = <<EOF;
 \${h1(\$str)}
 <p>
-La réponse du serveur est: \$reply
+La réponse du serveur est : \$reply
 <p>
 Retourner à la page d\'accueil de <a href="\$MyURL?host=\$hostDest">\$hostDest </a>.
 EOF
 
 <p>
 Retourner à la page d\'accueil de <a href="\$MyURL?host=\$hostDest">\$hostDest </a>.
 EOF
 
+$Lang{BackupPC_Archive_Reply_from_server} = <<EOF;
+\${h1(\$str)}
+<p>
+La réponse du serveur est : \$reply
+EOF
+
 
 # -------------------------
 $Lang{Host__host_Backup_Summary} = "BackupPC: Résumé de la sauvegarde de l\'hôte \$host ";
 
 # -------------------------
 $Lang{Host__host_Backup_Summary} = "BackupPC: Résumé de la sauvegarde de l\'hôte \$host ";
@@ -429,26 +637,33 @@ $Lang{Host__host_Backup_Summary2} = <<EOF;
 <ul>
 \$statusStr
 </ul>
 <ul>
 \$statusStr
 </ul>
-
+</p>
 \${h2("Actions de l\'utilisateur")}
 <p>
 \${h2("Actions de l\'utilisateur")}
 <p>
-<form action="\$MyURL" method="get">
-<input type="hidden" name="host" value="\$host">
+<form name="StartStopForm" action="\$MyURL" method="get">
+<input type="hidden" name="host"   value="\$host">
+<input type="hidden" name="action" value="">
 \$startIncrStr
 \$startIncrStr
-<input type="submit" value="$Lang{Start_Full_Backup}" name="action">
-<input type="submit" value="$Lang{Stop_Dequeue_Backup}" name="action">
+<input type="button" value="\$Lang->{Start_Full_Backup}"
+ onClick="document.StartStopForm.action.value='Start_Full_Backup';
+          document.StartStopForm.submit();">
+<input type="button" value="\$Lang->{Stop_Dequeue_Backup}"
+ onClick="document.StartStopForm.action.value='Stop_Dequeue_Backup';
+          document.StartStopForm.submit();">
 </form>
 </form>
-
+</p>
 \${h2("Résumé de la sauvegarde")}
 <p>
 Cliquer sur le numéro de l\'archive pour naviguer et restaurer les fichiers de sauvegarde.
 \${h2("Résumé de la sauvegarde")}
 <p>
 Cliquer sur le numéro de l\'archive pour naviguer et restaurer les fichiers de sauvegarde.
-<table border>
-<tr><td align="center"> Sauvegarde n° </td>
+</p>
+<table class="tableStnd" border cellspacing="1" cellpadding="3">
+<tr class="tableheader"><td align="center"> Sauvegarde n° </td>
     <td align="center"> Type </td>
     <td align="center"> Fusionnée </td> 
     <td align="center"> Type </td>
     <td align="center"> Fusionnée </td> 
+    <td align="center"> Niveau </td>
     <td align="center"> Date de démarrage </td>
     <td align="center"> Date de démarrage </td>
-    <td align="center"> Durée/mins </td>
-    <td align="center"> Âge/jours </td>
+    <td align="center"> Durée (min) </td>
+    <td align="center"> Âge (jours) </td>
     <td align="center"> Chemin d\'accès de la sauvegarde sur le serveur </td>
 </tr>
 \$str
     <td align="center"> Chemin d\'accès de la sauvegarde sur le serveur </td>
 </tr>
 \$str
@@ -456,11 +671,12 @@ Cliquer sur le num
 <p>
 
 \$restoreStr
 <p>
 
 \$restoreStr
-
+</p>
+<br><br>
 \${h2("Résumé des erreurs de transfert")}
 \${h2("Résumé des erreurs de transfert")}
-<p>
-<table border>
-<tr><td align="center"> Nb sauvegarde </td>
+<br><br>
+<table class="tableStnd" border cellspacing="1" cellpadding="3" width="80%">
+<tr class="tableheader"><td align="center"> Sauvegarde n° </td>
     <td align="center"> Type </td>
     <td align="center"> Voir </td>
     <td align="center"> Nb erreurs transfert </td>
     <td align="center"> Type </td>
     <td align="center"> Voir </td>
     <td align="center"> Nb erreurs transfert </td>
@@ -470,59 +686,86 @@ Cliquer sur le num
 </tr>
 \$errStr
 </table>
 </tr>
 \$errStr
 </table>
-<p>
+<br><br>
 
 \${h2("Récapitulatif de la taille des fichier et du nombre de réutilisations")}
 <p>
 
 \${h2("Récapitulatif de la taille des fichier et du nombre de réutilisations")}
 <p>
-    Les fichiers existants sont ceux qui sont déjà sur le serveur; 
+Les fichiers existants sont ceux qui sont déjà sur le serveur; 
 Les nouveaux fichiers sont ceux qui ont été ajoutés au serveur.
 Les nouveaux fichiers sont ceux qui ont été ajoutés au serveur.
-Les fichiers vides et les erreurs de SMB ne sont pas comptabilisés parmis les nouveaux et les réutilisés.
-
-<table border>
-<tr><td colspan="2"></td>
+Les fichiers vides et les erreurs de SMB ne sont pas comptabilisés dans les fichiers nouveaux ou réutilisés.
+</p>
+<table class="tableStnd" border cellspacing="1" cellpadding="3" width="80%">
+<tr class="tableheader"><td colspan="2" bgcolor="#ffffff"></td>
     <td align="center" colspan="3"> Totaux </td>
     <td align="center" colspan="2"> Fichiers existants </td>
     <td align="center" colspan="2"> Nouveaux fichiers </td>
 </tr>
     <td align="center" colspan="3"> Totaux </td>
     <td align="center" colspan="2"> Fichiers existants </td>
     <td align="center" colspan="2"> Nouveaux fichiers </td>
 </tr>
-<tr>
-    <td align="center"> Nb de sauvegarde  </td>
+<tr class="tableheader">
+    <td align="center"> Sauvegarde n° </td>
     <td align="center"> Type </td>
     <td align="center"> Nb de Fichiers </td>
     <td align="center"> Type </td>
     <td align="center"> Nb de Fichiers </td>
-    <td align="center"> Taille/Mo </td>
-    <td align="center"> Mo/sec </td>
+    <td align="center"> Taille (Mo) </td>
+    <td align="center"> Mo/s </td>
     <td align="center"> Nb de Fichiers </td>
     <td align="center"> Nb de Fichiers </td>
-    <td align="center"> Taille/Mo </td>
+    <td align="center"> Taille (Mo) </td>
     <td align="center"> Nb de Fichiers </td>
     <td align="center"> Nb de Fichiers </td>
-    <td align="center"> Taille/Mo </td>
+    <td align="center"> Taille (Mo) </td>
 </tr>
 \$sizeStr
 </table>
 </tr>
 \$sizeStr
 </table>
-<p>
+<br><br>
 
 \${h2("Résumé de la compression")}
 <p>
 
 \${h2("Résumé de la compression")}
 <p>
-
 Performance de la compression pour les fichiers déjà sur le serveur et
 récemment compressés.
 Performance de la compression pour les fichiers déjà sur le serveur et
 récemment compressés.
-
-<table border>
-<tr><td colspan="3"></td>
+</p>
+<table class="tableStnd" border cellspacing="1" cellpadding="3" width="80%">
+<tr class="tableheader"><td colspan="3" bgcolor="#ffffff"></td>
     <td align="center" colspan="3"> Fichiers existants </td>
     <td align="center" colspan="3"> Nouveaux fichiers </td>
 </tr>
     <td align="center" colspan="3"> Fichiers existants </td>
     <td align="center" colspan="3"> Nouveaux fichiers </td>
 </tr>
-<tr><td align="center"> Nb de sauvegardes </td>
+<tr class="tableheader"><td align="center"> Nb de sauvegardes </td>
     <td align="center"> Type </td>
     <td align="center"> Niveau de Compression </td>
     <td align="center"> Type </td>
     <td align="center"> Niveau de Compression </td>
-    <td align="center"> Taille/Mo </td>
-    <td align="center"> Comp/Mo </td>
+    <td align="center"> Taille (Mo) </td>
+    <td align="center"> Taille compressée (Mo) </td>
     <td align="center"> Compression </td>
     <td align="center"> Compression </td>
-    <td align="center"> Taille/Mo </td>
-    <td align="center"> Comp/Mo </td>
+    <td align="center"> Taille (Mo) </td>
+    <td align="center"> Taille compressée (Mo) </td>
     <td align="center"> Compression </td>
 </tr>
 \$compStr
 </table>
     <td align="center"> Compression </td>
 </tr>
 \$compStr
 </table>
+<br><br>
+EOF
+
+$Lang{Host__host_Archive_Summary} = "BackupPC: Résumé de l'archivage pour l'hôte \$host";
+$Lang{Host__host_Archive_Summary2} = <<EOF;
+\${h1("Résumé de l\'archivage pour l\'hôte \$host")}
 <p>
 <p>
+\$warnStr
+<ul>
+\$statusStr
+</ul>
+
+\${h2("User Actions")}
+<p>
+<form name="StartStopForm" action="\$MyURL" method="get">
+<input type="hidden" name="archivehost" value="\$host">
+<input type="hidden" name="host" value="\$host">
+<input type="hidden" name="action" value="">
+<input type="button" value="\$Lang->{Start_Archive}"
+ onClick="document.StartStopForm.action.value='Start_Archive';
+          document.StartStopForm.submit();">
+<input type="button" value="\$Lang->{Stop_Dequeue_Archive}"
+ onClick="document.StartStopForm.action.value='Stop_Dequeue_Archive';
+          document.StartStopForm.submit();">
+</form>
+
+
+\$ArchiveStr
+
 EOF
 
 # -------------------------
 EOF
 
 # -------------------------
@@ -535,10 +778,9 @@ EOF
 # -------------------------
 $Lang{NavSectionTitle_} = "Serveur";
 
 # -------------------------
 $Lang{NavSectionTitle_} = "Serveur";
 
-
 # -------------------------
 $Lang{Backup_browse_for__host} = <<EOF;
 # -------------------------
 $Lang{Backup_browse_for__host} = <<EOF;
-\${h1("Navigation dans la sauvegarde pour \$host")}
+\${h1("Navigation dans la sauvegarde de \$host")}
 
 <script language="javascript" type="text/javascript">
 <!--
 
 <script language="javascript" type="text/javascript">
 <!--
@@ -567,13 +809,21 @@ $Lang{Backup_browse_for__host} = <<EOF;
 //-->
 </script>
 
 //-->
 </script>
 
+<form name="form0" method="post" action="\$MyURL">
+<input type="hidden" name="num" value="\$num">
+<input type="hidden" name="host" value="\$host">
+<input type="hidden" name="share" value="\${EscHTML(\$share)}">
+<input type="hidden" name="action" value="browse">
 <ul>
 <li> Vous naviguez dans la sauvegarde n°\$num, qui a commencé vers \$backupTime
         (il y a \$backupAge jours),
 \$filledBackup
 <ul>
 <li> Vous naviguez dans la sauvegarde n°\$num, qui a commencé vers \$backupTime
         (il y a \$backupAge jours),
 \$filledBackup
-<li> Cliquer dans un répertoire ci-dessous pour y naviguer,
-<li> Cliquer dans un fichier ci-dessous pour le restaurer.
+<li> Entrez le répertoire: <input type="text" name="dir" size="50" maxlength="4096" value="\${EscHTML(\$dir)}"> <input type="submit" value="\$Lang->{Go}" name="Submit">
+<li> Cliquer sur un répertoire ci-dessous pour y naviguer,
+<li> Cliquer sur un fichier ci-dessous pour le restaurer,
+<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.
 </ul>
 </ul>
+</form>
 
 \${h2("Contenu de \${EscHTML(\$dirDisplay)}")}
 <form name="form1" method="post" action="\$MyURL">
 
 \${h2("Contenu de \${EscHTML(\$dirDisplay)}")}
 <form name="form1" method="post" action="\$MyURL">
@@ -581,20 +831,17 @@ $Lang{Backup_browse_for__host} = <<EOF;
 <input type="hidden" name="host" value="\$host">
 <input type="hidden" name="share" value="\${EscHTML(\$share)}">
 <input type="hidden" name="fcbMax" value="\$checkBoxCnt">
 <input type="hidden" name="host" value="\$host">
 <input type="hidden" name="share" value="\${EscHTML(\$share)}">
 <input type="hidden" name="fcbMax" value="\$checkBoxCnt">
-<input type="hidden" name="action" value="$Lang{Restore}">
+<input type="hidden" name="action" value="Restore">
 <br>
 <br>
-<table>
-<tr><td valign="top">
-    <!--Navigate here:-->
-    <br><table align="center" border="0" cellpadding="0" cellspacing="0" bgcolor="#ffffff">
+<table width="100%">
+<tr><td valign="top" width="30%">
+    <table align="left" border="0" cellpadding="0" cellspacing="0" bgcolor="#ffffff">
     \$dirStr
     </table>
 </td><td width="3%">
 </td><td valign="top">
     \$dirStr
     </table>
 </td><td width="3%">
 </td><td valign="top">
-    <!--Restore files here:-->
     <br>
     <br>
-    <table cellpadding="0" cellspacing="0" bgcolor="#333333"><tr><td>
-        <table border="0" width="100%" align="left" cellpadding="2" cellspacing="1">
+        <table border width="100%" align="left" cellpadding="3" cellspacing="1">
         \$fileHeader
         \$topCheckAll
         \$fileStr
         \$fileHeader
         \$topCheckAll
         \$fileStr
@@ -606,50 +853,112 @@ $Lang{Backup_browse_for__host} = <<EOF;
 This is now in the checkAll row
 <input type="submit" name="Submit" value="Restore selected files">
 -->
 This is now in the checkAll row
 <input type="submit" name="Submit" value="Restore selected files">
 -->
-</td></tr></table>
 </form>
 EOF
 
 </form>
 EOF
 
+# ------------------------------
+$Lang{DirHistory_backup_for__host} = "BackupPC: Historique des sauvegardes du répertoire courant pour \$host";
+
+#
+# These two strings are used to build the links for directories and
+# file versions.  Files are appended with a version number.
+#
+$Lang{DirHistory_dirLink}  = "rep";
+$Lang{DirHistory_fileLink} = "v";
+
+$Lang{DirHistory_for__host} = <<EOF;
+\${h1("Historique des sauvegardes du répertoire courant pour \$host")}
+<p>
+Cette page montre toutes les version disponibles des fichiers sauvegardés pour le répertoire courant :
+<ul>
+<li> Cliquez sur un numéro de sauvegarde pour revenir à la navigation de sauvegarde,
+<li> Cliquez sur un répertoire (\$Lang->{DirHistory_dirLink}) pour naviguer
+     dans celui-ci.
+<li> Cliquez sur une version d'un fichier (\$Lang->{DirHistory_fileLink}0,
+     \$Lang->{DirHistory_fileLink}1, ...) pour le télécharger.
+<li> Les fichiers avec des contenus identiques pour plusieurs sauvegardes ont 
+     le même numéro de version.
+<li> Les fichiers qui ne sont pas présents sur une sauvegarde en particulier 
+     sont représentés par une boîte vide.
+<li> Les fichiers montrés avec la même version peuvent avoir des attributs différents. 
+     Choisissez le numéro de sauvegarde pour voir les attributs de fichiers.
+</ul>
+
+\${h2("Historique de \${EscHTML(\$dirDisplay)}")}
+
+<br>
+<table border cellspacing="2" cellpadding="3">
+<tr class="fviewheader"><td>Numéro de sauvegarde</td>\$backupNumStr</tr>
+<tr class="fviewheader"><td>Date</td>\$backupTimeStr</tr>
+\$fileStr
+</table>
+EOF
 
 # ------------------------------
 
 # ------------------------------
+$Lang{Restore___num_details_for__host} = "BackupPC: Détails de la restauration n°\$num pour \$host"; 
 
 
-$Lang{Restore___num_details_for__host} = "BackupPC: Détails de la restauration n° \$num pour \$host"; 
-
-$Lang{Restore___num_details_for__host2 } = <<EOF;
-\${h1("Détails de la restauration n° \$num pour \$host")} 
-<p>
-<table border>
-<tr><td> Numéro </td><td> \$Restores[\$i]{num} </td></tr>
-<tr><td> Demandée par </td><td> \$RestoreReq{user} </td></tr>
-<tr><td> Demandée à </td><td> \$reqTime </td></tr>
-<tr><td> Résultat </td><td> \$Restores[\$i]{result} </td></tr>
-<tr><td> Message d'erreur </td><td> \$Restores[\$i]{errorMsg} </td></tr>
-<tr><td> Hôte source </td><td> \$RestoreReq{hostSrc} </td></tr>
-<tr><td> N° de sauvegarde </td><td> \$RestoreReq{num} </td></tr>
-<tr><td> Partition source </td><td> \$RestoreReq{shareSrc} </td></tr>
-<tr><td> Hôte de destination </td><td> \$RestoreReq{hostDest} </td></tr>
-<tr><td> Partition de destination </td><td> \$RestoreReq{shareDest} </td></tr>
-<tr><td> Début </td><td> \$startTime </td></tr>
-<tr><td> Durée </td><td> \$duration min </td></tr>
-<tr><td> Nombre de fichier </td><td> \$Restores[\$i]{nFiles} </td></tr>
-<tr><td> Grosseur totale </td><td> \${MB} Mo </td></tr>
-<tr><td> Taux de transfert </td><td> \$MBperSec Mo/sec </td></tr>
-<tr><td> Erreurs de TarCreate </td><td> \$Restores[\$i]{tarCreateErrs} </td></tr>
-<tr><td> Erreurs de transfert </td><td> \$Restores[\$i]{xferErrs} </td></tr>
-<tr><td> Journal de transfert </td><td>
+$Lang{Restore___num_details_for__host2} = <<EOF;
+\${h1("Détails de la restauration n°\$num pour \$host")} 
+<p>
+<table class="tableStnd" border cellspacing="1" cellpadding="3" width="90%">
+<tr><td class="tableheader"> Numéro </td><td class="border"> \$Restores[\$i]{num} </td></tr>
+<tr><td class="tableheader"> Demandée par </td><td class="border"> \$RestoreReq{user} </td></tr>
+<tr><td class="tableheader"> Demandée à </td><td class="border"> \$reqTime </td></tr>
+<tr><td class="tableheader"> Résultat </td><td class="border"> \$Restores[\$i]{result} </td></tr>
+<tr><td class="tableheader"> Message d'erreur </td><td class="border"> \$Restores[\$i]{errorMsg} </td></tr>
+<tr><td class="tableheader"> Hôte source </td><td class="border"> \$RestoreReq{hostSrc} </td></tr>
+<tr><td class="tableheader"> N° de sauvegarde </td><td class="border"> \$RestoreReq{num} </td></tr>
+<tr><td class="tableheader"> Partition source </td><td class="border"> \$RestoreReq{shareSrc} </td></tr>
+<tr><td class="tableheader"> Hôte de destination </td><td class="border"> \$RestoreReq{hostDest} </td></tr>
+<tr><td class="tableheader"> Partition de destination </td><td class="border"> \$RestoreReq{shareDest} </td></tr>
+<tr><td class="tableheader"> Début </td><td class="border"> \$startTime </td></tr>
+<tr><td class="tableheader"> Durée </td><td class="border"> \$duration min </td></tr>
+<tr><td class="tableheader"> Nombre de fichiers </td><td class="border"> \$Restores[\$i]{nFiles} </td></tr>
+<tr><td class="tableheader"> Taille totale </td><td class="border"> \${MB} Mo </td></tr>
+<tr><td class="tableheader"> Taux de transfert </td><td class="border"> \$MBperSec Mo/s </td></tr>
+<tr><td class="tableheader"> Erreurs de TarCreate </td><td class="border"> \$Restores[\$i]{tarCreateErrs} </td></tr>
+<tr><td class="tableheader"> Erreurs de transfert </td><td class="border"> \$Restores[\$i]{xferErrs} </td></tr>
+<tr><td class="tableheader"> Journal de transfert </td><td class="border">
 <a href="\$MyURL?action=view&type=RestoreLOG&num=\$Restores[\$i]{num}&host=\$host">Visionner</a>,
 <a href="\$MyURL?action=view&type=RestoreErr&num=\$Restores[\$i]{num}&host=\$host">Erreurs</a>
 </tr></tr>
 </table>
 <a href="\$MyURL?action=view&type=RestoreLOG&num=\$Restores[\$i]{num}&host=\$host">Visionner</a>,
 <a href="\$MyURL?action=view&type=RestoreErr&num=\$Restores[\$i]{num}&host=\$host">Erreurs</a>
 </tr></tr>
 </table>
-<p>
+</p>
 \${h1("Liste des Fichiers/Répertoires")}
 <p>
 \${h1("Liste des Fichiers/Répertoires")}
 <p>
-<table border>
-<tr><td>Fichier/répertoire original</td><td>Restauré vers</td></tr>
+<table class="tableStnd" border cellspacing="1" cellpadding="3" width="100%">
+<tr class="tableheader"><td>Fichier/répertoire original</td><td>Restauré vers</td></tr>
 \$fileListStr
 </table>
 EOF
 
 \$fileListStr
 </table>
 EOF
 
+# ------------------------------
+$Lang{Archive___num_details_for__host} = "BackupPC: Détails de l'archivage n°\$num pour \$host";
+
+$Lang{Archive___num_details_for__host2 } = <<EOF;
+\${h1("Détails de l'archivage n°\$num pour \$host")}
+<p>
+<table class="tableStnd" border cellspacing="1" cellpadding="3" width="80%">
+<tr><td class="tableheader"> Numéro </td><td class="border"> \$Archives[\$i]{num} </td></tr>
+<tr><td class="tableheader"> Demandé par </td><td class="border"> \$ArchiveReq{user} </td></tr>
+<tr><td class="tableheader"> Heure de demande </td><td class="border"> \$reqTime </td></tr>
+<tr><td class="tableheader"> Résultat </td><td class="border"> \$Archives[\$i]{result} </td></tr>
+<tr><td class="tableheader"> Message d'erreur </td><td class="border"> \$Archives[\$i]{errorMsg} </td></tr>
+<tr><td class="tableheader"> Heure de début </td><td class="border"> \$startTime </td></tr>
+<tr><td class="tableheader"> Durée </td><td class="border"> \$duration min </td></tr>
+<tr><td class="tableheader"> Journal de transfert </td><td class="border">
+<a href="\$MyURL?action=view&type=ArchiveLOG&num=\$Archives[\$i]{num}&host=\$host">Voir</a>,
+<a href="\$MyURL?action=view&type=ArchiveErr&num=\$Archives[\$i]{num}&host=\$host">Erreurs</a>
+</tr></tr>
+</table>
+<p>
+\${h1("Liste de hôtes")}
+<p>
+<table class="tableStnd" border cellspacing="1" cellpadding="3" width="80%">
+<tr class="tableheader"><td>Host</td><td>Numéro de sauvegarde</td></tr>
+\$HostListStr
+</table>
+EOF
 
 # -----------------------------------
 $Lang{Email_Summary} = "BackupPC: Résumé du courriel";
 
 # -----------------------------------
 $Lang{Email_Summary} = "BackupPC: Résumé du courriel";
@@ -657,55 +966,50 @@ $Lang{Email_Summary} = "BackupPC: R
 # -----------------------------------
 #  !! ERROR messages !!
 # -----------------------------------
 # -----------------------------------
 #  !! ERROR messages !!
 # -----------------------------------
-
-$Lang{BackupPC__Lib__new_failed__check_apache_error_log} = "BackupPC::Lib->new a échoué: regardez le "
-    ."fichier error_log d\'apache\n";
+$Lang{BackupPC__Lib__new_failed__check_apache_error_log} = "BackupPC::Lib->new a échoué: regardez le fichier error_log d\'apache\n";
 $Lang{Wrong_user__my_userid_is___} =  
 $Lang{Wrong_user__my_userid_is___} =  
-              "Mauvais utilisateur: mon userid est \$>, à la place de \$uid (\$Conf{BackupPCUser})\n";
-$Lang{Only_privileged_users_can_view_PC_summaries} = "Seuls les utilisateurs privilégiés peuvent voir les résumés des PC.";
+              "Mauvais utilisateur: mon userid est \$>, à la place de \$uid "
+              . "(\$Conf{BackupPCUser})\n";
+#$Lang{Only_privileged_users_can_view_PC_summaries} = "Seuls les utilisateurs privilégiés peuvent voir les résumés des machines.";
 $Lang{Only_privileged_users_can_stop_or_start_backups} = 
 $Lang{Only_privileged_users_can_stop_or_start_backups} = 
-                  "Seuls les utilisateurs privilégiés peuvent arrêter ou démarrer des sauvegardes sur \${EscHTML(\$host)}.";
+                  "Seuls les utilisateurs privilégiés peuvent arrêter ou démarrer des sauvegardes sur "
+                  . " \${EscHTML(\$host)}.";
 $Lang{Invalid_number__num} = "Numéro invalide \$num";
 $Lang{Invalid_number__num} = "Numéro invalide \$num";
-$Lang{Unable_to_open__file__configuration_problem} = "Impossible d\'ouvrir \$file: problème de configuration ?";
-$Lang{Only_privileged_users_can_view_log_or_config_files} = "Seuls les utilisateurs privilégiés peuvent voir les fichier de jounal ou les fichiers de configuration.";
+$Lang{Unable_to_open__file__configuration_problem} = "Impossible d\'ouvrir \$file : problème de configuration ?";
+$Lang{Only_privileged_users_can_view_log_or_config_files} = "Seuls les utilisateurs privilégiés peuvent voir les fichiers de journal ou les fichiers de configuration.";
 $Lang{Only_privileged_users_can_view_log_files} = "Seuls les utilisateurs privilégiés peuvent voir les fichiers de journal.";
 $Lang{Only_privileged_users_can_view_log_files} = "Seuls les utilisateurs privilégiés peuvent voir les fichiers de journal.";
-$Lang{Only_privileged_users_can_view_email_summaries} = "Seuls les utilisateurs privilégiés peuvent voir les compte-rendu des courriels.";
-$Lang{Only_privileged_users_can_browse_backup_files} = "Seuls les utilisateurs privilégiés peuvent parcourir les fichiers de sauvegarde pour l'hôte \${EscHTML(\$In{host})}.";
+$Lang{Only_privileged_users_can_view_email_summaries} = "Seuls les utilisateurs privilégiés peuvent voir les compte-rendus des courriels.";
+$Lang{Only_privileged_users_can_browse_backup_files} = "Seuls les utilisateurs privilégiés peuvent parcourir les fichiers de sauvegarde"
+                 . " pour l'hôte \${EscHTML(\$In{host})}.";
 $Lang{Empty_host_name} = "Nom d\'hôte vide.";
 $Lang{Directory___EscHTML} = "Le répertoire \${EscHTML(\"\$TopDir/pc/\$host/\$num\")}"
                    . " est vide";
 $Lang{Can_t_browse_bad_directory_name2} = "Ne peut pas parcourir "
 $Lang{Empty_host_name} = "Nom d\'hôte vide.";
 $Lang{Directory___EscHTML} = "Le répertoire \${EscHTML(\"\$TopDir/pc/\$host/\$num\")}"
                    . " est vide";
 $Lang{Can_t_browse_bad_directory_name2} = "Ne peut pas parcourir "
-                   . " \${EscHTML(\$relDir)}:"
-                    . " mauvais nom de répertoire";
+                   . " \${EscHTML(\$relDir)} : mauvais nom de répertoire";
 $Lang{Only_privileged_users_can_restore_backup_files} = "Seuls les utilisateurs privilégiés peuvent restaurer "
 $Lang{Only_privileged_users_can_restore_backup_files} = "Seuls les utilisateurs privilégiés peuvent restaurer "
-                . " des fichiers de sauvegarde"
-                . " pour l\'hôte \${EscHTML(\$In{host})}.";
+                . " des fichiers de sauvegarde pour l\'hôte \${EscHTML(\$In{host})}.";
 $Lang{Bad_host_name} = "Mauvais nom d\'hôte \${EscHTML(\$host)}";
 $Lang{Bad_host_name} = "Mauvais nom d\'hôte \${EscHTML(\$host)}";
-$Lang{You_haven_t_selected_any_files__please_go_Back_to} = "Vous n'avez sélectionné aucun fichier; "
+$Lang{You_haven_t_selected_any_files__please_go_Back_to} = "Vous n\'avez sélectionné aucun fichier ; "
     . "vous pouvez revenir en arrière pour sélectionner des fichiers.";
     . "vous pouvez revenir en arrière pour sélectionner des fichiers.";
-$Lang{Nice_try__but_you_can_t_put} = "Bien tenté, mais vous ne pouvez pas mettre \'..\' dans"
-                                   . " n\'importe quel nom de fichier.";
+$Lang{You_haven_t_selected_any_hosts} = "Vous n\'avez sélectionné aucun hôte ; veuillez retourner à la page précédente pour"
+                . " faire la sélection d\'un hôte.";
+$Lang{Nice_try__but_you_can_t_put} = "Bien tenté, mais vous ne pouvez pas mettre \'..\' dans un nom de fichier.";
 $Lang{Host__doesn_t_exist} = "L'hôte \${EscHTML(\$In{hostDest})} n\'existe pas.";
 $Lang{You_don_t_have_permission_to_restore_onto_host} = "Vous n\'avez pas la permission de restaurer sur l\'hôte"
                    . " \${EscHTML(\$In{hostDest})}";
 $Lang{Host__doesn_t_exist} = "L'hôte \${EscHTML(\$In{hostDest})} n\'existe pas.";
 $Lang{You_don_t_have_permission_to_restore_onto_host} = "Vous n\'avez pas la permission de restaurer sur l\'hôte"
                    . " \${EscHTML(\$In{hostDest})}";
-$Lang{Can_t_open_create} = "Ne peut pas ouvrir/créer ". "\${EscHTML(\"\$TopDir/pc/\$hostDest/\$reqFileName\")}";
+$Lang{Can_t_open_create__openPath} = "Ne peut pas ouvrir/créer "
+               . "\${EscHTML(\"\$openPath\")}";
 $Lang{Only_privileged_users_can_restore_backup_files2} = "Seuls les utilisateurs privilégiés peuvent restaurer"
 $Lang{Only_privileged_users_can_restore_backup_files2} = "Seuls les utilisateurs privilégiés peuvent restaurer"
-                . " des fichiers de sauvegarde"
-                . " pour l\'hôte \${EscHTML(\$host)}.";
+                . " des fichiers de sauvegarde pour l\'hôte \${EscHTML(\$host)}.";
 $Lang{Empty_host_name} = "Nom d\'hôte vide";
 $Lang{Unknown_host_or_user} = "\${EscHTML(\$host)}, hôte ou utilisateur inconnu.";
 $Lang{Only_privileged_users_can_view_information_about} = "Seuls les utilisateurs privilégiés peuvent accéder aux "
                 . " informations sur l\'hôte \${EscHTML(\$host)}." ;
 $Lang{Empty_host_name} = "Nom d\'hôte vide";
 $Lang{Unknown_host_or_user} = "\${EscHTML(\$host)}, hôte ou utilisateur inconnu.";
 $Lang{Only_privileged_users_can_view_information_about} = "Seuls les utilisateurs privilégiés peuvent accéder aux "
                 . " informations sur l\'hôte \${EscHTML(\$host)}." ;
-$Lang{Only_privileged_users_can_view_restore_information} = "Seuls les utilisateurs privilégiés peuvent restaurer "
-    ."des informations.";
-$Lang{Restore_number__num_for_host__does_not_exist} = "Restauration numéro \$num de l\'hôte \${EscHTML(\$host)} n\'existe pas";
+$Lang{Only_privileged_users_can_view_archive_information} = "Seuls les utilisateurs privilégiés peuvent voir les informations d'archivage.";
+$Lang{Only_privileged_users_can_view_restore_information} = "Seuls les utilisateurs privilégiés peuvent restaurer des informations.";
+$Lang{Restore_number__num_for_host__does_not_exist} = "La restauration numéro \$num de l\'hôte \${EscHTML(\$host)} n\'existe pas";
 
 
-$Lang{Unable_to_connect_to_BackupPC_server} = "Impossible de se connecter au server BackupPC."
-          . "Ce script CGI (\$MyURL) ne peut pas se connecter au serveur  BackupPC"
-          . " sur \$Conf{ServerHost} via le port \$Conf{ServerPort}.  L\'erreur est la"
-          . " suivante: \$err.",
-            "Peut-être que BackupPC n\'a pas été lancé ou il y a une erreur "
-          . " de configuration. Veuillez faire suivre ce message à votre administrateur système.";
+$Lang{Archive_number__num_for_host__does_not_exist} = "L\'archive n°\$num pour l\'hôte \${EscHTML(\$host)} n\'existe pas.";
 
 $Lang{Can_t_find_IP_address_for} = "Ne peut pas trouver d\'adresse IP pour \${EscHTML(\$host)}";
 $Lang{host_is_a_DHCP_host} = <<EOF;
 
 $Lang{Can_t_find_IP_address_for} = "Ne peut pas trouver d\'adresse IP pour \${EscHTML(\$host)}";
 $Lang{host_is_a_DHCP_host} = <<EOF;
@@ -717,50 +1021,41 @@ Tant que je ne verrai pas \$host 
 ne pourrez démarrer cette requête que depuis la machine elle même.
 EOF
 
 ne pourrez démarrer cette requête que depuis la machine elle même.
 EOF
 
-
 # ------------------------------------
 # !! Server Mesg !!
 # ------------------------------------
 
 # ------------------------------------
 # !! Server Mesg !!
 # ------------------------------------
 
-# Ne pas mélanger $reply et $str cf vers ligne: 248
-
 $Lang{Backup_requested_on_DHCP__host} = "Demande de sauvegarde sur l\'hôte \$host (\$In{hostIP}) par"
                                      . " \$User depuis \$ENV{REMOTE_ADDR}";
 $Lang{Backup_requested_on__host_by__User} = "Sauvegarde demandée sur \$host par \$User";
 $Lang{Backup_requested_on_DHCP__host} = "Demande de sauvegarde sur l\'hôte \$host (\$In{hostIP}) par"
                                      . " \$User depuis \$ENV{REMOTE_ADDR}";
 $Lang{Backup_requested_on__host_by__User} = "Sauvegarde demandée sur \$host par \$User";
-$Lang{Backup_stopped_dequeued_on__host_by__User} = "Sauvegarde Arrêtée/déprogrammée pour \$host par \$User";
-
-$Lang{log_User__User_downloaded_tar_archive_for__host} = "log L\'utilisateur \$User a téléchargé "
-                           . "l\'archive tar pour \$host,"
-                           . " sauvegarde \$num; Les fichiers étaient: "
-                          . " \${join(\", \", \@fileListTrim)}";
-$Lang{log_User__User_downloaded_zip_archive_for__host}= "log L\'utilisateur \$User a téléchargé "
-                           . "l\'archive zip pour \$host,"
-                           . " Sauvegarde \$num; Les fichiers étaient: "
-                           . "\${join(\", \", \@fileListTrim)}";
+$Lang{Backup_stopped_dequeued_on__host_by__User} = "Sauvegarde arrêtée/déprogrammée pour \$host par \$User";
 $Lang{Restore_requested_to_host__hostDest__backup___num} = "Restauration demandée pour l\'hôte \$hostDest, "
 $Lang{Restore_requested_to_host__hostDest__backup___num} = "Restauration demandée pour l\'hôte \$hostDest, "
-             . "sauvegarde n° \$num,"
-            . " par \$User depuis \$ENV{REMOTE_ADDR}";
+             . "sauvegarde n°\$num, par \$User depuis \$ENV{REMOTE_ADDR}";
+$Lang{Archive_requested} = "Archivage demandé par \$User de \$ENV{REMOTE_ADDR}";
 
 # -------------------------------------------------
 # ------- Stuff that was forgotten ----------------
 # -------------------------------------------------
 
 
 # -------------------------------------------------
 # ------- Stuff that was forgotten ----------------
 # -------------------------------------------------
 
-$Lang{Status} = "Status";
-$Lang{PC_Summary} = "Bilan des PC";
+$Lang{Status} = "État";
+$Lang{PC_Summary} = "Bilan des machines";
 $Lang{LOG_file} = "Fichier journal";
 $Lang{LOG_file} = "Fichier journal";
+$Lang{LOG_files} = "Fichiers journaux";
 $Lang{Old_LOGs} = "Vieux journaux";
 $Lang{Email_summary} = "Résumé des courriels";
 $Lang{Config_file} = "Fichier de configuration";
 $Lang{Old_LOGs} = "Vieux journaux";
 $Lang{Email_summary} = "Résumé des courriels";
 $Lang{Config_file} = "Fichier de configuration";
-$Lang{Hosts_file} = "Fichiers des hôtes";
+$Lang{Hosts_file} = "Fichiers des hôtes";
 $Lang{Current_queues} = "Files actuelles";
 $Lang{Documentation} = "Documentation";
 
 $Lang{Current_queues} = "Files actuelles";
 $Lang{Documentation} = "Documentation";
 
-$Lang{Host_or_User_name} = "<small>Hôte ou Nom d\'utilisateur:</small>";
+#$Lang{Host_or_User_name} = "<small>Hôte ou Nom d\'utilisateur:</small>";
 $Lang{Go} = "Chercher";
 $Lang{Hosts} = "Hôtes";
 $Lang{Go} = "Chercher";
 $Lang{Hosts} = "Hôtes";
+$Lang{Select_a_host} = "Choisissez un hôte...";
 
 
-$Lang{This_PC_has_never_been_backed_up} = "<h2> Ce PC n'a jamais été sauvegardé !! </h2>\n";
-$Lang{This_PC_is_used_by} = "<li>Ce PC est utilisé par \${UserLink(\$user)}";
+$Lang{There_have_been_no_archives} = "<h2> Il n'y a pas d'archives </h2>\n";
+$Lang{This_PC_has_never_been_backed_up} = "<h2> Cette machine n'a jamais été sauvegardée !! </h2>\n";
+$Lang{This_PC_is_used_by} = "<li>Cette machine est utilisée par \${UserLink(\$user)}";
 
 $Lang{Extracting_only_Errors} = "(Extraction des erreurs seulement)";
 $Lang{XferLOG} = "JournalXfer";
 
 $Lang{Extracting_only_Errors} = "(Extraction des erreurs seulement)";
 $Lang{XferLOG} = "JournalXfer";
@@ -768,7 +1063,7 @@ $Lang{Errors}  = "Erreurs";
 
 # ------------
 $Lang{Last_email_sent_to__was_at___subject} = <<EOF;
 
 # ------------
 $Lang{Last_email_sent_to__was_at___subject} = <<EOF;
-<li>Dernier email envoyé à \${UserLink(\$user)} le \$mailTime, avait comme sujet "\$subj".
+<li>Le dernier courriel envoyé à \${UserLink(\$user)} le \$mailTime, avait comme sujet "\$subj".
 EOF
 # ------------
 $Lang{The_command_cmd_is_currently_running_for_started} = <<EOF;
 EOF
 # ------------
 $Lang{The_command_cmd_is_currently_running_for_started} = <<EOF;
@@ -777,17 +1072,17 @@ EOF
 
 # -----------
 $Lang{Host_host_is_queued_on_the_background_queue_will_be_backed_up_soon} = <<EOF;
 
 # -----------
 $Lang{Host_host_is_queued_on_the_background_queue_will_be_backed_up_soon} = <<EOF;
-<li>L\'hôte \$host se trouve dans la liste d\'attente d\'arrière plan (sera sauvegardé bientôt).
+<li>L\'hôte \$host se trouve dans la liste d\'attente d\'arrière plan (il sera sauvegardé bientôt).
 EOF
 
 # ----------
 $Lang{Host_host_is_queued_on_the_user_queue__will_be_backed_up_soon} = <<EOF;
 EOF
 
 # ----------
 $Lang{Host_host_is_queued_on_the_user_queue__will_be_backed_up_soon} = <<EOF;
-<li>L\'hôte \$host se trouve dans la liste d\'attente utilisateur (sera sauvegardé bientôt).
+<li>L\'hôte \$host se trouve dans la liste d\'attente utilisateur (il sera sauvegardé bientôt).
 EOF
 
 # ---------
 $Lang{A_command_for_host_is_on_the_command_queue_will_run_soon} = <<EOF;
 EOF
 
 # ---------
 $Lang{A_command_for_host_is_on_the_command_queue_will_run_soon} = <<EOF;
-<li>Une commande pour l\'hôte \$host est dans la liste d\'attente des commandes (sera lancé bientôt).
+<li>Une commande pour l\'hôte \$host est dans la liste d\'attente des commandes (sera lancée bientôt).
 EOF
 
 # --------
 EOF
 
 # --------
@@ -797,46 +1092,57 @@ EOF
 
 # --------
 $Lang{Last_error_is____EscHTML_StatusHost_error} = <<EOF;
 
 # --------
 $Lang{Last_error_is____EscHTML_StatusHost_error} = <<EOF;
-<li>La dernière erreur est \"\${EscHTML(\$StatusHost{error})}\"
+<li>La dernière erreur est \"\${EscHTML(\$StatusHost{error})}\".
 EOF
 
 # ------
 $Lang{Pings_to_host_have_failed_StatusHost_deadCnt__consecutive_times} = <<EOF;
 EOF
 
 # ------
 $Lang{Pings_to_host_have_failed_StatusHost_deadCnt__consecutive_times} = <<EOF;
-<li>Les pings vers \$host ont échoués \$StatusHost{deadCnt} fois consécutives.
+<li>Les pings vers \$host ont échoué \$StatusHost{deadCnt} fois consécutives.
 EOF
 
 # -----
 EOF
 
 # -----
-$Lang{Prior_to_that__pings} = "Avant cela, pings";
+$Lang{Prior_to_that__pings} = "Avant cela, les pings";
 
 # -----
 $Lang{priorStr_to_host_have_succeeded_StatusHostaliveCnt_consecutive_times} = <<EOF;
 
 # -----
 $Lang{priorStr_to_host_have_succeeded_StatusHostaliveCnt_consecutive_times} = <<EOF;
-<li>Les \$priorStr vers \$host ont réussi \$StatusHost{aliveCnt} fois consécutives.
+<li>Les \$priorStr vers \$host ont réussi \$StatusHost{aliveCnt} 
+            fois consécutives.
 EOF
 
 $Lang{Because__host_has_been_on_the_network_at_least__Conf_BlackoutGoodCnt_consecutive_times___} = <<EOF;
 EOF
 
 $Lang{Because__host_has_been_on_the_network_at_least__Conf_BlackoutGoodCnt_consecutive_times___} = <<EOF;
-<li>Du fait que \$host a été présent sur le réseau au moins \$Conf{BlackoutGoodCnt}
-fois consécutives, il ne sera pas sauvegardé de \$t0 à \$t1 pendant \$days.
+<li>\$host a été présent sur le réseau au moins \$Conf{BlackoutGoodCnt}
+fois consécutives, il ne sera donc pas sauvegardé de \$blackoutStr.
 EOF
 
 EOF
 
+$Lang{__time0_to__time1_on__days} = "\$t0 à \$t1 pendant \$days";
+
 $Lang{Backups_are_deferred_for_hours_hours_change_this_number} = <<EOF;
 <li>Les sauvegardes sont reportées pour \$hours heures
 $Lang{Backups_are_deferred_for_hours_hours_change_this_number} = <<EOF;
 <li>Les sauvegardes sont reportées pour \$hours heures
-(<a href=\"\$MyURL?action=Stop/Dequeue%20Backup&host=\$host\">changer ce nombre</a>).
+(<a href=\"\$MyURL?action=Stop_Dequeue_Backup&host=\$host\">changer ce nombre</a>).
 EOF
 
 $Lang{tryIP} = " et \$StatusHost{dhcpHostIP}";
 
 EOF
 
 $Lang{tryIP} = " et \$StatusHost{dhcpHostIP}";
 
-$Lang{Host_Inhost} = "Hôte \$In{host}";
+$Lang{Host_Inhost} = "Hôte \$In{host}";
 
 $Lang{checkAll} = <<EOF;
 
 $Lang{checkAll} = <<EOF;
-<tr bgcolor="#ffffcc"><td>
+<tr><td class="fviewborder">
 <input type="checkbox" name="allFiles" onClick="return checkAll('allFiles');">&nbsp;Tout sélectionner
 <input type="checkbox" name="allFiles" onClick="return checkAll('allFiles');">&nbsp;Tout sélectionner
-</td><td colspan="5" align="center">
+</td><td colspan="5" align="center" class="fviewborder">
 <input type="submit" name="Submit" value="Restaurer les fichiers sélectionnés">
 </td></tr>
 EOF
 
 <input type="submit" name="Submit" value="Restaurer les fichiers sélectionnés">
 </td></tr>
 EOF
 
+$Lang{checkAllHosts} = <<EOF;
+<tr><td class="fviewborder">
+<input type="checkbox" name="allFiles" onClick="return checkAll('allFiles');">&nbsp;Tout sélectionner
+</td><td colspan="2" align="center" class="fviewborder">
+<input type="submit" name="Submit" value="Archiver les machines sélectionnées">
+</td></tr>
+EOF
+
 $Lang{fileHeader} = <<EOF;
 $Lang{fileHeader} = <<EOF;
-    <tr bgcolor="\$Conf{CgiHeaderBgColor}"><td align=center> Nom</td>
+    <tr class="fviewheader"><td align=center> Nom</td>
        <td align="center"> Type</td>
        <td align="center"> Mode</td>
        <td align="center"> n°</td>
        <td align="center"> Type</td>
        <td align="center"> Mode</td>
        <td align="center"> n°</td>
@@ -846,29 +1152,29 @@ $Lang{fileHeader} = <<EOF;
 EOF
 
 $Lang{Home} = "Accueil";
 EOF
 
 $Lang{Home} = "Accueil";
-$Lang{Last_bad_XferLOG} = "Dernier bilan des transferts échouées";
-$Lang{Last_bad_XferLOG_errors_only} = "Dernier bilan des transferts échouées (erreurs&nbsp;seulement)";
+$Lang{Browse} = "Explorer les sauvegardes";
+$Lang{Last_bad_XferLOG} = "Bilan des derniers transferts échoués";
+$Lang{Last_bad_XferLOG_errors_only} = "Bilan des derniers transferts échoués (erreurs seulement)";
 
 $Lang{This_display_is_merged_with_backup} = <<EOF;
 <li> Cet affichage est fusionné avec la sauvegarde n°\$numF, la plus récente copie intégrale.
 EOF
 
 $Lang{Visit_this_directory_in_backup} = <<EOF;
 
 $Lang{This_display_is_merged_with_backup} = <<EOF;
 <li> Cet affichage est fusionné avec la sauvegarde n°\$numF, la plus récente copie intégrale.
 EOF
 
 $Lang{Visit_this_directory_in_backup} = <<EOF;
-<li> Explorer ce répertoire dans la sauvegarde no \$otherDirs.
+<li> Choisissez la sauvegarde que vous désirez voir : <select onChange="window.location=this.value">\$otherDirs </select>
 EOF
 
 EOF
 
-
 $Lang{Restore_Summary} = <<EOF;
 \${h2("Résumé de la restauration")}
 <p>
 Cliquer sur le numéro de restauration pour plus de détails.
 $Lang{Restore_Summary} = <<EOF;
 \${h2("Résumé de la restauration")}
 <p>
 Cliquer sur le numéro de restauration pour plus de détails.
-<table border>
-<tr><td align="center"> Sauvegarde n° </td>
+<table class="tableStnd" border cellspacing="1" cellpadding="3" width="80%">
+<tr class="tableheader"><td align="center"> Sauvegarde n° </td>
     <td align="center"> Résultat </td>
     <td align="right"> Date de départ</td>
     <td align="center"> Résultat </td>
     <td align="right"> Date de départ</td>
-    <td align="right"> Durée/mins</td>
+    <td align="right"> Durée (min)</td>
     <td align="right"> Nb fichiers </td>
     <td align="right"> Nb fichiers </td>
-    <td align="right"> Mo </td>
+    <td align="right"> Taille (Mo) </td>
     <td align="right"> Nb errs tar </td>
     <td align="right"> Nb errs trans </td>
 </tr>
     <td align="right"> Nb errs tar </td>
     <td align="right"> Nb errs trans </td>
 </tr>
@@ -877,21 +1183,37 @@ Cliquer sur le num
 <p>
 EOF
 
 <p>
 EOF
 
+$Lang{Archive_Summary} = <<EOF;
+\${h2("Résumé de l'archive")}
+<p>
+Cliquez sur le numéro de l'archive pour plus de détails.
+<table class="tableStnd" border cellspacing="1" cellpadding="3" width="80%">
+<tr class="tableheader"><td align="center"> No. Archive </td>
+    <td align="center">Résultat</td>
+    <td align="right">Date début</td>
+    <td align="right">Durée (min)</td>
+</tr>
+\$ArchiveStr
+</table>
+<p>
+EOF
+
 $Lang{BackupPC__Documentation} = "BackupPC: Documentation";
 
 $Lang{No} = "non";
 $Lang{Yes} = "oui";
 
 $Lang{The_directory_is_empty} = <<EOF;
 $Lang{BackupPC__Documentation} = "BackupPC: Documentation";
 
 $Lang{No} = "non";
 $Lang{Yes} = "oui";
 
 $Lang{The_directory_is_empty} = <<EOF;
-<tr><td bgcolor="#ffffff">Le repertoire \${EscHTML(\$dirDisplay)} est vide
+<tr><td bgcolor="#ffffff">Le répertoire \${EscHTML(\$dirDisplay)} est vide
 </td></tr>
 EOF
 
 #$Lang{on} = "actif";
 $Lang{off} = "inactif";
 
 </td></tr>
 EOF
 
 #$Lang{on} = "actif";
 $Lang{off} = "inactif";
 
-$Lang{full} = "complet";
-$Lang{incremental} = "incrémental";
+$Lang{backupType_full}    = "complète";
+$Lang{backupType_incr}    = "incrémentielle";
+$Lang{backupType_partial} = "partielle";
 
 $Lang{failed} = "échec";
 $Lang{success} = "succès";
 
 $Lang{failed} = "échec";
 $Lang{success} = "succès";
@@ -902,17 +1224,24 @@ $Lang{and} = "et";
 $Lang{Status_idle} = "inactif";
 $Lang{Status_backup_starting} = "début de la sauvegarde";
 $Lang{Status_backup_in_progress} = "sauvegarde en cours";
 $Lang{Status_idle} = "inactif";
 $Lang{Status_backup_starting} = "début de la sauvegarde";
 $Lang{Status_backup_in_progress} = "sauvegarde en cours";
-$Lang{Status_restore_starting} = "début de la restoration";
-$Lang{Status_restore_in_progress} = "restoration en cours";
+$Lang{Status_restore_starting} = "début de la restauration";
+$Lang{Status_restore_in_progress} = "restauration en cours";
 $Lang{Status_link_pending} = "en attente de l'édition de liens";
 $Lang{Status_link_running} = "édition de liens en cours";
 
 $Lang{Status_link_pending} = "en attente de l'édition de liens";
 $Lang{Status_link_running} = "édition de liens en cours";
 
-$Lang{Reason_backup_done} = "sauvegarde terminée";
-$Lang{Reason_restore_done} = "restauration terminée";
-$Lang{Reason_nothing_to_do} = "rien à faire";
-$Lang{Reason_backup_failed} = "la sauvegarde a échouée";
-$Lang{Reason_no_ping} = "pas de ping";
-$Lang{Reason_backup_canceled_by_user} = "sauvegarde annulée par l'utilisateur";
+$Lang{Reason_backup_done}    = "sauvegarde terminée";
+$Lang{Reason_restore_done}   = "restauration terminée";
+$Lang{Reason_archive_done}   = "archivage terminé";
+$Lang{Reason_nothing_to_do}  = "rien à faire";
+$Lang{Reason_backup_failed}  = "la sauvegarde a échoué";
+$Lang{Reason_restore_failed} = "la restauration a échoué";
+$Lang{Reason_archive_failed} = "l'archivage a échoué";
+$Lang{Reason_no_ping}        = "pas de ping";
+$Lang{Reason_backup_canceled_by_user}  = "sauvegarde annulée par l'utilisateur";
+$Lang{Reason_restore_canceled_by_user} = "restauration annulée par l'utilisateur";
+$Lang{Reason_archive_canceled_by_user} = "archivage annulé par l'utilisateur";
+$Lang{Disabled_OnlyManualBackups}  = "auto désactivé";  
+$Lang{Disabled_AllBackupsDisabled} = "désactivé";                  
 
 # ---------
 # Email messages
 
 # ---------
 # Email messages
@@ -923,67 +1252,68 @@ $Lang{EMailNoBackupEverMesg} = <<'EOF';
 To: $user$domain
 cc:
 Subject: $subj
 To: $user$domain
 cc:
 Subject: $subj
-
+$headers
 $userName,
 
 Notre logiciel de copies de sécurité n'a jamais réussi à
 $userName,
 
 Notre logiciel de copies de sécurité n'a jamais réussi à
-prendre de sauvegarde de votre ordinateur ($host). Les sauvegardes
-devraient normallement survenir lorsque votre ordinateur est connecté
-au réseau. Vous devriez contacter le support informatique si:
+effectuer la sauvegarde de votre ordinateur ($host). Les sauvegardes
+devraient normalement survenir lorsque votre ordinateur est connecté
+au réseau. Vous devriez contacter le responsable informatique si :
 
   - Votre ordinateur est régulièrement connecté au réseau, ce qui
     signifie qu'il y aurait un problème de configuration
     empêchant les sauvegardes de s'effectuer.
 
 
   - Votre ordinateur est régulièrement connecté au réseau, ce qui
     signifie qu'il y aurait un problème de configuration
     empêchant les sauvegardes de s'effectuer.
 
-  - Vous ne voulez pas qu'il y ait de copies de sécurité de
+  - Vous ne voulez pas qu'il y ait de sauvegardes de
     votre ordinateur ni ne voulez recevoir d'autres messages
     comme celui-ci.
 
     votre ordinateur ni ne voulez recevoir d'autres messages
     comme celui-ci.
 
-Autrement, veuillez vous assurer que votre ordinateur est connecté
-au réseau lorsque ce sera possible.
+Dans le cas contraire, veuillez vous assurer dès que possible que votre 
+ordinateur est correctement connecté au réseau.
 
 Merci de votre attention,
 
 Merci de votre attention,
-BackupPC Genie
+BackupPC Génie
 http://backuppc.sourceforge.net
 EOF
 
 # No recent backup
 http://backuppc.sourceforge.net
 EOF
 
 # No recent backup
-$Lang{EMailNoBackupRecentSubj} = "BackupPC: auncune sauvegarde récente de \$host";
+$Lang{EMailNoBackupRecentSubj} = "BackupPC: aucune sauvegarde récente de \$host";
 $Lang{EMailNoBackupRecentMesg} = <<'EOF';
 To: $user$domain
 cc:
 Subject: $subj
 $Lang{EMailNoBackupRecentMesg} = <<'EOF';
 To: $user$domain
 cc:
 Subject: $subj
-
+$headers
 $userName,
 
 Aucune sauvegarde de votre ordinateur n'a été effectuée depuis $days
 jours. $numBackups sauvegardes ont étés effectuées du $firstTime
 $userName,
 
 Aucune sauvegarde de votre ordinateur n'a été effectuée depuis $days
 jours. $numBackups sauvegardes ont étés effectuées du $firstTime
-jusqu'il y à $days jours. Les sauvegardes devraient normallement
+jusqu'à il y a $days jours. Les sauvegardes devraient normalement
 survenir lorsque votre ordinateur est connecté au réseau.
 
 survenir lorsque votre ordinateur est connecté au réseau.
 
-Si votre ordinateur a été connecté au réseau plus de quelques heures
-durant les derniers $days jours, vous devriez contacter votre support
-informatique pour savoir pourquoi les sauvegardes ne s'effectuent pas.
+Si votre ordinateur a effectivement été connecté au réseau plus de 
+quelques heures durant les derniers $days jours, vous devriez 
+contacter votre responsable informatique pour savoir pourquoi les 
+sauvegardes ne s'effectuent pas correctement.
 
 
-Autrement, si vous êtes en dehors du bureau, il n'y a pas d'autres
-choses que vous pouvez faire, à part faire des copies de vos fichiers
-importants sur d'autres media. Vous devez réaliser que tout fichier crée
+Autrement, si vous êtes en dehors du bureau, il n'y a pas d'autre
+chose que vous pouvez faire, à part faire des copies de vos fichiers
+importants sur d'autres medias. Vous devez réaliser que tout fichier crée
 ou modifié durant les $days derniers jours (incluant les courriels et
 ou modifié durant les $days derniers jours (incluant les courriels et
-les fichiers attachés) ne pourra être restauré si une problème survient
+les fichiers attachés) ne pourra pas être restauré si un problème survient
 avec votre ordinateur.
 
 Merci de votre attention,
 avec votre ordinateur.
 
 Merci de votre attention,
-BackupPC Genie
+BackupPC Génie
 http://backuppc.sourceforge.net
 EOF
 
 # Old Outlook files
 http://backuppc.sourceforge.net
 EOF
 
 # Old Outlook files
-$Lang{EMailOutlookBackupSubj} = "BackupPC: Les fichiers de Outlook sur \$host doivent êtes sauvegardés";
+$Lang{EMailOutlookBackupSubj} = "BackupPC: Les fichiers de Outlook sur \$host doivent être sauvegardés";
 $Lang{EMailOutlookBackupMesg} = <<'EOF';
 To: $user$domain
 cc:
 Subject: $subj
 $Lang{EMailOutlookBackupMesg} = <<'EOF';
 To: $user$domain
 cc:
 Subject: $subj
-
+$headers
 $userName,
 
 Les fichiers Outlook sur votre ordinateur n'ont $howLong. Ces fichiers
 $userName,
 
 Les fichiers Outlook sur votre ordinateur n'ont $howLong. Ces fichiers
@@ -992,24 +1322,154 @@ calendriers. $numBackups sauvegardes ont 
 au $lastTime.  Par contre, Outlook bloque ses fichiers lorsqu'il est
 ouvert, ce qui empêche de les sauvegarder.
 
 au $lastTime.  Par contre, Outlook bloque ses fichiers lorsqu'il est
 ouvert, ce qui empêche de les sauvegarder.
 
-Il est recommendé d'effectuer une sauvegarde de vos fichiers Outlook
-quand vous serez connecté au réseau en quittant Outlook et tout autre
-application, et en visitant ce lien avec votre fureteur web:
+Il est recommandé d'effectuer une sauvegarde de vos fichiers Outlook
+quand vous serez connecté au réseau en quittant Outlook et toute autre
+application, et en visitant ce lien avec votre navigateur web:
 
     $CgiURL?host=$host               
 
 
     $CgiURL?host=$host               
 
-Choisissez "Démarrer la sauvegarde incrémentale" deux fois afin
+Choisissez "Démarrer la sauvegarde incrémentielle" deux fois afin
 d'effectuer une nouvelle sauvegarde. Vous pouvez ensuite choisir
 "Retourner à la page de $host" et appuyer sur "Recharger" dans votre
 d'effectuer une nouvelle sauvegarde. Vous pouvez ensuite choisir
 "Retourner à la page de $host" et appuyer sur "Recharger" dans votre
-fureteur avec de vérifier le bon fonctionnement de la sauvegarde. La
+navigateur avec de vérifier le bon fonctionnement de la sauvegarde. La
 sauvegarde devrait prendre quelques minutes à s'effectuer.
 
 Merci de votre attention,
 sauvegarde devrait prendre quelques minutes à s'effectuer.
 
 Merci de votre attention,
-BackupPC Genie
+BackupPC Génie
 http://backuppc.sourceforge.net
 EOF
 
 http://backuppc.sourceforge.net
 EOF
 
-$Lang{howLong_not_been_backed_up} = "jamais étés sauvegardés";
+$Lang{howLong_not_been_backed_up} = "jamais été sauvegardés";
 $Lang{howLong_not_been_backed_up_for_days_days} = "pas été sauvegardés depuis \$days jours";
 
 $Lang{howLong_not_been_backed_up_for_days_days} = "pas été sauvegardés depuis \$days jours";
 
+#######################################################################
+# RSS strings
+#######################################################################
+$Lang{RSS_Doc_Title}       = "BackupPC Server";
+$Lang{RSS_Doc_Description} = "RSS feed for BackupPC";
+$Lang{RSS_Host_Summary}    = <<EOF;
+Nb complètes : \$fullCnt;
+Complètes Âge (jours) : \$fullAge;
+Complètes Taille (Go) : \$fullSize;
+Vitesse (Mo/s) : \$fullRate;
+Nb incrémentielles : \$incrCnt;
+Incrémentielles Âge (jours) : \$incrAge;
+État actuel : \$host_state;
+Dernière tentative : \$host_last_attempt;
+EOF
+
+#######################################################################
+# Configuration editor strings
+#######################################################################
+
+$Lang{Only_privileged_users_can_edit_config_files} = "Seuls les utilisateurs privilégiés peuvent modifier les paramètres de configuration.";
+$Lang{CfgEdit_Edit_Config} = "Modifier la configuration";
+$Lang{CfgEdit_Edit_Hosts}  = "Modifier les machines";
+
+$Lang{CfgEdit_Title_Server} = "Serveur";
+$Lang{CfgEdit_Title_General_Parameters} = "Paramètres généraux";
+$Lang{CfgEdit_Title_Wakeup_Schedule} = "Horaire des réveils";
+$Lang{CfgEdit_Title_Concurrent_Jobs} = "Tâches concurrentes";
+$Lang{CfgEdit_Title_Pool_Filesystem_Limits} = "Limites du système de fichiers";
+$Lang{CfgEdit_Title_Other_Parameters} = "Autres paramètres";
+$Lang{CfgEdit_Title_Remote_Apache_Settings} = "Options d'Apache à distance";
+$Lang{CfgEdit_Title_Program_Paths} = "Chemins des programmes";
+$Lang{CfgEdit_Title_Install_Paths} = "Chemins d'installation";
+$Lang{CfgEdit_Title_Email} = "Courriel";
+$Lang{CfgEdit_Title_Email_settings} = "Paramètres de courriel";
+$Lang{CfgEdit_Title_Email_User_Messages} = "Messages des usagers par courriel";
+$Lang{CfgEdit_Title_CGI} = "CGI";
+$Lang{CfgEdit_Title_Admin_Privileges} = "Privilèges administrateur";
+$Lang{CfgEdit_Title_Page_Rendering} = "Rendu des pages";
+$Lang{CfgEdit_Title_Paths} = "Chemins";
+$Lang{CfgEdit_Title_User_URLs} = "URL des usagers";
+$Lang{CfgEdit_Title_User_Config_Editing} = "Modifications des configurations des usagers";
+$Lang{CfgEdit_Title_Xfer} = "Xfer";
+$Lang{CfgEdit_Title_Xfer_Settings} = "Paramètres des transfers";
+$Lang{CfgEdit_Title_Ftp_Settings} = "Paramètres de FTP";
+$Lang{CfgEdit_Title_Smb_Settings} = "Paramètres de Smb";
+$Lang{CfgEdit_Title_Tar_Settings} = "Paramètres de Tar";
+$Lang{CfgEdit_Title_Rsync_Settings} = "Paramètres de Rsync";
+$Lang{CfgEdit_Title_Rsyncd_Settings} = "Paramètres de Rsyncd";
+$Lang{CfgEdit_Title_Archive_Settings} = "Paramètres d'archivage";
+$Lang{CfgEdit_Title_Include_Exclude} = "Inclure/Exclure";
+$Lang{CfgEdit_Title_Smb_Paths_Commands} = "Chemins/Commandes Smb";
+$Lang{CfgEdit_Title_Tar_Paths_Commands} = "Chemins/Commandes Tar";
+$Lang{CfgEdit_Title_Rsync_Paths_Commands_Args} = "Chemins/Commandes/Args Rsync";
+$Lang{CfgEdit_Title_Rsyncd_Port_Args} = "Port/Args Rsyncd";
+$Lang{CfgEdit_Title_Archive_Paths_Commands} = "Chemins/Commandes d'archivage";
+$Lang{CfgEdit_Title_Schedule} = "Horaire";
+$Lang{CfgEdit_Title_Full_Backups} = "Sauvegardes complètes";
+$Lang{CfgEdit_Title_Incremental_Backups} = "Sauvegardes incrémentielles";
+$Lang{CfgEdit_Title_Blackouts} = "Suspension";
+$Lang{CfgEdit_Title_Other} = "Divers";
+$Lang{CfgEdit_Title_Backup_Settings} = "Paramètres de sauvegarde";
+$Lang{CfgEdit_Title_Client_Lookup} = "Consultation des clients";
+$Lang{CfgEdit_Title_Other} = "Autre";
+$Lang{CfgEdit_Title_User_Commands} = "Commandes des usagers";
+$Lang{CfgEdit_Title_Hosts} = "Machines";
+
+$Lang{CfgEdit_Hosts_Comment} = <<EOF;
+Pour ajouter une machine, choisissez Ajouter et entrez ensuite le nom. Pour faire
+une copie de la configuration d'une autre machine, entrer le nom de la machine
+comme NOUVEAU=ACOPIER. Cela va écraser toute configuration par défaut pour
+cette machine. Vous pouvez aussi faire cela pour une machine existante.
+Pour détruire une machine, cliquer sur le bouton Détruire. Les ajouts, 
+destructions et modifications ne prennent effet que lorsque que vous cliquez 
+sur le bouton Sauvegarder. Aucune des sauvegardes des machines ne sera
+détruite, donc si vous effacez une machine par erreur, créez-la à nouveau. Pour
+détruire les sauvegardes d'une machine, vous devez effacer les fichiers 
+manuellement dans \$topDir/pc/HOST
+EOF
+
+$Lang{CfgEdit_Header_Main} = <<EOF;
+\${h1("Éditeur de configuration")}
+EOF
+
+$Lang{CfgEdit_Header_Host} = <<EOF;
+\${h1("Éditeur de la configuration de \$host")}
+<p>
+Note: Cochez Écraser pour modifier une valeur spécifique à cette machine.
+<p>
+EOF
+
+$Lang{CfgEdit_Button_Save}     = "Sauvegarder";
+$Lang{CfgEdit_Button_Insert}   = "Insérer";
+$Lang{CfgEdit_Button_Delete}   = "Détruire";
+$Lang{CfgEdit_Button_Add}      = "Ajouter";
+$Lang{CfgEdit_Button_Override} = "Écraser";
+$Lang{CfgEdit_Button_New_Key}  = "Nouvelle clé";
+
+$Lang{CfgEdit_Error_No_Save}
+            = "Erreur: Pas de sauvegarde à cause d'erreurs.";
+$Lang{CfgEdit_Error__must_be_an_integer}
+            = "Erreur: \$var doit être un nombre entier";
+$Lang{CfgEdit_Error__must_be_real_valued_number}
+            = "Erreur: \$var doit être un nombre réel";
+$Lang{CfgEdit_Error__entry__must_be_an_integer}
+            = "Erreur: l'entrée \$k de \$var doit être un nombre entier";
+$Lang{CfgEdit_Error__entry__must_be_real_valued_number}
+            = "Erreur: l'entrée \$k de \$var doit être un nombre réel";
+$Lang{CfgEdit_Error__must_be_executable_program}
+            = "Erreur: \$var doit être un chemin exécutable";
+$Lang{CfgEdit_Error__must_be_valid_option}
+            = "Erreur: \$var doit être une option valide";
+$Lang{CfgEdit_Error_Copy_host_does_not_exist}
+            = "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.";
+
+$Lang{CfgEdit_Log_Copy_host_config}
+            = "\$User a copié la config de \$fromHost à \$host\n";
+$Lang{CfgEdit_Log_Delete_param}
+            = "\$User a détruit \$p de \$conf\n";
+$Lang{CfgEdit_Log_Add_param_value}
+            = "\$User a ajouté \$p à \$conf en fixant sa valeur à \$value\n";
+$Lang{CfgEdit_Log_Change_param_value}
+            = "\$User a changé \$p dans \$conf de \$valueOld à \$valueNew\n";
+$Lang{CfgEdit_Log_Host_Delete}
+            = "\$User a détruit la machine \$host\n";
+$Lang{CfgEdit_Log_Host_Change}
+            = "\$User a changé \$key de \$valueOld à \$valueNew sur \$host\n";
+$Lang{CfgEdit_Log_Host_Add}
+            = "\$User a jouté la machine \$host: \$value\n";
+  
 #end of lang_fr.pm
 #end of lang_fr.pm