- changed required File::RsyncP version to 0.50.
[BackupPC.git] / lib / BackupPC / Lang / es.pm
index caa3f75..275763c 100644 (file)
-#!/bin/perl -T\r
-\r
-#my %lang;\r
-\r
-#use strict;\r
-\r
-# --------------------------------\r
-\r
-$Lang{Start_Full_Backup} = "Comenzar copia de seguridad completa";\r
-$Lang{Start_Incr_Backup} = "Comenzar copia de seguridad incremental";\r
-$Lang{Stop_Dequeue_Backup} = "Parar/anular copia de seguridad";\r
-$Lang{Restore} = "Restaurar";\r
-\r
-# -----\r
-\r
-$Lang{H_BackupPC_Server_Status} = "Estado del Servidor BackupPC";\r
-\r
-$Lang{BackupPC_Server_Status}= <<EOF;\r
-\${h1(qq{$Lang{H_BackupPC_Server_Status}})}\r
-\r
-\r
-<p>\r
-\${h2(\"Información General del servidor\")}\r
-\r
-<ul>\r
-<li> El PID del servidor es \$Info{pid}, en el host \$Conf{ServerHost},\r
-     version \$Info{Version}, iniciado el \$serverStartTime.\r
-<li> Esta información de estado se ha generado el \$now.\r
-<li> La cola de PC´s se activará de nuevo el \$nextWakeupTime.\r
-<li> Información adicional:\r
-    <ul>\r
-        <li>\$numBgQueue solicitudes pendientes de copia de seguridad desde la última activación programada,\r
-        <li>\$numUserQueue solicitudes pendientes de copia de seguridad de usuarios,\r
-        <li>\$numCmdQueue solicitudes de comandos pendientes ,\r
-        \$poolInfo\r
-        <li>El sistema de archivos estaba recientemente al \$Info{DUlastValue}%\r
-            (\$DUlastTime), el máximo de hoy es \$Info{DUDailyMax}% (\$DUmaxTime)\r
-            y el máximo de ayer era \$Info{DUDailyMaxPrev}%.\r
-    </ul>\r
-</ul>\r
-\r
-\${h2("Trabajos en Ejecución")}\r
-<p>\r
-<table border>\r
-<tr><td> Host </td>\r
-    <td> Tipo </td>\r
-    <td> Usuario </td>\r
-    <td> Hora de Inicio </td>\r
-    <td> Comando </td>\r
-    <td align="center"> PID </td>\r
-    <td> Transfer. PID </td>\r
-    \$tarPidHdr</tr>\r
-\$jobStr\r
-</table>\r
-<p>\r
-\r
-\${h2("Fallos que Precisan Atención")}\r
-<p>\r
-<table border>\r
-<tr><td align="center"> Host </td>\r
-    <td align="center"> Tipo </td>\r
-    <td align="center"> Usuario </td>\r
-    <td align="center"> Ultimo Intento </td>\r
-    <td align="center"> Detalles </td>\r
-    <td align="center"> Hora del error </td>\r
-    <td> Ultimo error (ping no incluido) </td></tr>\r
-\$statusStr\r
-</table>\r
-EOF\r
-\r
-# --------------------------------\r
-$Lang{BackupPC__Server_Summary} = "BackupPC: Resumen del Servidor";\r
-$Lang{BackupPC_Summary}=<<EOF;\r
-\r
-\${h1(qq{$Lang{BackupPC__Server_Summary}})}\r
-<p>\r
-Este status ha sido generado el \$now.\r
-<p>\r
-\r
-\${h2("Hosts con Buenas Copias de Seguridad")}\r
-<p>\r
-Il y a \$hostCntGood hosts tienen copia de seguridad, de un total de :\r
-<ul>\r
-<li> \$fullTot copias de seguridad completas con tamaño total de \${fullSizeTot} GB\r
-     (antes de agrupar y comprimir),\r
-<li> \$incrTot copias de seguridad incrementales con tamaño total de \${incrSizeTot} GB\r
-     (antes de agrupar y comprimir).\r
-</ul>\r
-<table border>\r
-<tr><td> Host </td>\r
-    <td align="center"> Usuario </td>\r
-    <td align="center"> #Completo </td>\r
-    <td align="center"> Completo Antig./Días </td>\r
-    <td align="center"> Completo Tamaño/GB </td>\r
-    <td align="center"> Velocidad MB/sec </td>\r
-    <td align="center"> #Incrementales </td>\r
-    <td align="center"> Incrementales Antig/Días </td>\r
-    <td align="center"> Estado </td>\r
-    <td align="center"> Ultimo Intento </td></tr>\r
-\$strGood\r
-</table>\r
-<p>\r
-\r
-\${h2("Hosts Sin Copias de Seguridad")}\r
-<p>\r
-Hay \$hostCntNone hosts sin copias de seguridad.\r
-<p>\r
-<table border>\r
-<tr><td> Host </td>\r
-    <td align="center"> Usuario </td>\r
-    <td align="center"> #Completo </td>\r
-    <td align="center"> Completo Antig./Días </td>\r
-    <td align="center"> Completo Tamaño/GB </td>\r
-    <td align="center"> Velocidad MB/sec </td>\r
-    <td align="center"> #Incrementales </td>\r
-    <td align="center"> Incrementales Antig/Días </td>\r
-    <td align="center"> Estado </td>\r
-    <td align="center"> Ultimo Intento </td></tr>\r
-\$strNone\r
-</table>\r
-EOF\r
-\r
-# -----------------------------------\r
-$Lang{Pool_Stat} = <<EOF;\r
-        <li>El grupo tiene \${poolSize}GB incluyendo \$info->{"\${name}FileCnt"} archivos\r
-            y \$info->{"\${name}DirCnt"} directorios (as of \$poolTime),\r
-        <li>El procesamiento del grupo da \$info->{"\${name}FileCntRep"} archivos\r
-            repetidos cuya cadena más larga es \$info->{"\${name}FileRepMax"},\r
-        <li>El proceso de limpieza nocturna ha eliminado \$info->{"\${name}FileCntRm"} archivos de\r
-            tamaño \${poolRmSize}GB (around \$poolTime),\r
-EOF\r
-\r
-# --------------------------------\r
-$Lang{BackupPC__Backup_Requested_on__host} = "BackupPC: Copia de Seguridad Solicitada en \$host";\r
-# --------------------------------\r
-$Lang{REPLY_FROM_SERVER} = <<EOF;\r
-\${h1(\$str)}\r
-<p>\r
-La respuesta del servidor fué: \$reply\r
-<p>\r
-Volver a <a href="\$MyURL?host=\$host">\$host home page</a>.\r
-EOF\r
-# --------------------------------\r
-$Lang{BackupPC__Start_Backup_Confirm_on__host} = "BackupPC: Confirme inicio de copia de seguridad en \$host";\r
-# --------------------------------\r
-$Lang{Are_you_sure_start} = <<EOF;\r
-\${h1("¿Está seguro?")}\r
-<p>\r
-Va a hacer comenzar una copia de seguridad \$type en \$host.\r
-\r
-<form action="\$MyURL" method="get">\r
-<input type="hidden" name="host" value="\$host">\r
-<input type="hidden" name="hostIP" value="\$ipAddr">\r
-<input type="hidden" name="doit" value="1">\r
-¿Realmente quiere hacer esto?\r
-<input type="submit" value="\$In{action}" name="action">\r
-<input type="submit" value="No" name="">\r
-</form>\r
-EOF\r
-# --------------------------------\r
-$Lang{BackupPC__Stop_Backup_Confirm_on__host} = "BackupPC: Confirmación de Parada de Copia de Seguridad en \$host";\r
-# --------------------------------\r
-$Lang{Are_you_sure_stop} = <<EOF;\r
-\r
-\${h1("¿Está seguro?")}\r
-\r
-<p>\r
-Está a punto de parar/quitar de la cola las copias de seguridad en \$host;\r
-\r
-<form action="\$MyURL" method="get">\r
-<input type="hidden" name="host" value="\$host">\r
-<input type="hidden" name="doit" value="1">\r
-Asimismo, por favor no empiece otra copia de seguridad durante\r
-<input type="text" name="backoff" size="10" value="\$backoff"> horas.\r
-<p>\r
-¿Realmente quiere hacer esto?\r
-<input type="submit" value="\$In{action}" name="action">\r
-<input type="submit" value="No" name="">\r
-</form>\r
-\r
-EOF\r
-# --------------------------------\r
-$Lang{Only_privileged_users_can_view_queues_} = "Sólo los administradores pueden ver las colas.";\r
-# --------------------------------\r
-$Lang{BackupPC__Queue_Summary} = "BackupPC: Resumen de la Cola";\r
-# --------------------------------\r
-$Lang{Backup_Queue_Summary} = <<EOF;\r
-\${h1("Resumen de la Cola de Copias de Seguridad")}\r
-<p>\r
-\${h2("Resumen de la Cola de Usuarios")}\r
-<p>\r
-Las siguientes solicitudes de usuarios están actualmente en cola:\r
-<table border>\r
-<tr><td> Host </td>\r
-    <td> Hora Sol. </td>\r
-    <td> Usuario </td></tr>\r
-\$strUser\r
-</table>\r
-<p>\r
-\r
-\${h2("Resumen de Cola en Segundo Plano")}\r
-<p>\r
-Las siguientes solicitudes en segundo plano están actualmente en cola:\r
-<table border>\r
-<tr><td> Host </td>\r
-    <td> Hora Sol. </td>\r
-    <td> Usuario </td></tr>\r
-\$strBg\r
-</table>\r
-<p>\r
-\r
-\${h2("Resumen de Cola de Comandos")}\r
-<p>\r
-Los siguientes comandos están actualmente en cola:\r
-<table border>\r
-<tr><td> Host </td>\r
-    <td> Hora Sol. </td>\r
-    <td> Usuario </td>\r
-    <td> Comando </td></tr>\r
-\$strCmd\r
-</table>\r
-EOF\r
-\r
-# --------------------------------\r
-$Lang{Backup_PC__Log_File__file} = "BackupPC: Archivo de Registro \$file";\r
-$Lang{Log_File__file__comment} = <<EOF;\r
-\${h1("Log File \$file \$comment")}\r
-<p>\r
-EOF\r
-# --------------------------------\r
-$Lang{Contents_of_log_file} = <<EOF;\r
-Contenido del archivo de registro <tt>\$file</tt>, modificado \$mtimeStr \$comment\r
-EOF\r
-\r
-# --------------------------------\r
-$Lang{skipped__skipped_lines} = "[ saltadas \$skipped lineas ]\n";\r
-# --------------------------------\r
-$Lang{_pre___Can_t_open_log_file__file} = "<pre>\nNo puedo abrir el archivo de registro \$file\n";\r
-\r
-# --------------------------------\r
-$Lang{BackupPC__Log_File_History} = "BackupPC: Historial de Archivo de Registro";\r
-$Lang{Log_File_History__hdr} = <<EOF;\r
-\${h1("Historial de Archivo de Registro \$hdr")}\r
-<p>\r
-<table border>\r
-<tr><td align="center"> File </td>\r
-    <td align="center"> Size </td>\r
-    <td align="center"> Hora Modificación </td></tr>\r
-\$str\r
-</table>\r
-EOF\r
-\r
-# -------------------------------\r
-$Lang{Recent_Email_Summary} = <<EOF;\r
-\${h1("Resumen de Mensajes Recientes (Orden de tiempo inverso)")}\r
-<p>\r
-<table border>\r
-<tr><td align="center"> Destinatario </td>\r
-    <td align="center"> Host </td>\r
-    <td align="center"> Hora </td>\r
-    <td align="center"> Asunto </td></tr>\r
-\$str\r
-</table>\r
-EOF\r
\r
-\r
-# ------------------------------\r
-$Lang{Browse_backup__num_for__host} = "BackupPC: Hojear copia de seguridad \$num de \$host";\r
-\r
-# ------------------------------\r
-$Lang{Restore_Options_for__host} = "BackupPC: Opciones de restauración para \$host";\r
-$Lang{Restore_Options_for__host2} = <<EOF;\r
-<p>\r
-Ha seleccionado los siguientes archivos/directorios de\r
-la unidad \$share, copia número #\$num:\r
-<ul>\r
-\$fileListStr\r
-</ul>\r
-<p>\r
-Tiene tres opciones para restaurar estos archivos/directorios.\r
-Por favor, seleccione una de las siguientes opciones.\r
-<p>\r
-\${h2("Opción 1: Restauración Directa")}\r
-<p>\r
-Puede empezar un proceso que restaurará estos archivos directamente en\r
-\$host.\r
-<p>\r
-<b>¡Atención!:</b> ¡Cualquier archivo existente con el mismo nombre que los que ha\r
-seleccionado será sobreescrito!\r
-\r
-<form action="\$MyURL" method="post">\r
-<input type="hidden" name="host" value="\${EscHTML(\$host)}">\r
-<input type="hidden" name="num" value="\$num">\r
-<input type="hidden" name="type" value="3">\r
-\$hiddenStr\r
-<input type="hidden" value="\$In{action}" name="action">\r
-<table border="0">\r
-<tr>\r
-    <td>Restaurar los archivos al host</td>\r
-    <td><input type="text" size="40" value="\${EscHTML(\$host)}"\r
-        name="hostDest"></td>\r
-</tr><tr>\r
-    <td>Restaurar los archivos a la unidad</td>\r
-    <td><input type="text" size="40" value="\${EscHTML(\$share)}"\r
-        name="shareDest"></td>\r
-</tr><tr>\r
-    <td>Restaurar los archivos bajo el directorio<br>(relativo a la unidad)</td>\r
-    <td valign="top"><input type="text" size="40" maxlength="256"\r
-       value="\${EscHTML(\$pathHdr)}" name="pathHdr"></td>\r
-</tr><tr>\r
-    <td><input type="submit" value="Start Restore" name=""></td>\r
-</table>\r
-</form>\r
-EOF\r
-\r
-# ------------------------------\r
-$Lang{Option_2__Download_Zip_archive} = <<EOF;\r
-\r
-\${h2("Opción 2: Descargar archivo Zip")}\r
-<p>\r
-Puede descargar un archivo comprimido (.zip) conteniendo todos los archivos y directorios que\r
-ha seleccionado.  Después puede hacer uso de una aplicación local, como WinZip,\r
-para ver o extraer cualquiera de los archivos.\r
-<p>\r
-<b>¡Atención!:</b> Dependiendo de que archivos/carpetas haya seleccionado,\r
-este archivo puede ser muy grande. Podría tardar muchos minutos\r
-crear y transferir el archivo. Además necesitará suficiente espacio el el disco\r
-local para almacenarlo.\r
-<p>\r
-<form action="\$MyURL" method="post">\r
-<input type="hidden" name="host" value="\${EscHTML(\$host)}">\r
-<input type="hidden" name="num" value="\$num">\r
-<input type="hidden" name="type" value="2">\r
-\$hiddenStr\r
-<input type="hidden" value="\$In{action}" name="action">\r
-<input type="checkbox" value="1" name="relative" checked> Hacer archivo relativo\r
-a \${EscHTML(\$pathHdr eq "" ? "/" : \$pathHdr)}\r
-(en caso contrario el archivo contendrá las rutas completas).\r
-<br>\r
-Compresión (0=desactivada, 1=rápida,...,9=máxima)\r
-<input type="text" size="6" value="5" name="compressLevel">\r
-<br>\r
-<input type="submit" value="Download Zip File" name="">\r
-</form>\r
-EOF\r
-\r
-# ------------------------------\r
-\r
-$Lang{Option_2__Download_Zip_archive2} = <<EOF;\r
-\${h2("Opción 2: Descargar archivo Zip")}\r
-<p>\r
-El programa Archive::Zip no está instalado, de modo que no podrá descargar un\r
-archivo comprimido zip.\r
-Por favor, solicite a su administrador de sistemas que instale Archive::Zip de\r
-<a href="http://www.cpan.org">www.cpan.org</a>.\r
-<p>\r
-EOF\r
-\r
-\r
-# ------------------------------\r
-$Lang{Option_3__Download_Zip_archive} = <<EOF;\r
-\${h2("Opción 3: Descargar archivo Tar")}\r
-<p>\r
-Puede descargar un archivo comprimido (.Tar) conteniendo todos los archivos y\r
-directorios que ha seleccionado. Después puede hacer uso de una aplicación\r
-local, como Tar o WinZip,para ver o extraer cualquiera de los archivos.\r
-<p>\r
-<b>¡Atención!:</b> Dependiendo de que archivos/carpetas haya seleccionado,\r
-este archivo puede ser muy grande. Podría tardar muchos minutos\r
-crear y transferir el archivo. Además necesitará suficiente espacio el el disco\r
-local para almacenarlo.\r
-<p>\r
-<form action="\$MyURL" method="post">\r
-<input type="hidden" name="host" value="\${EscHTML(\$host)}">\r
-<input type="hidden" name="num" value="\$num">\r
-<input type="hidden" name="type" value="1">\r
-\$hiddenStr\r
-<input type="hidden" value="\$In{action}" name="action">\r
-<input type="checkbox" value="1" name="relative" checked> Hacer el archivo\r
-relativo a \${EscHTML(\$pathHdr eq "" ? "/" : \$pathHdr)}\r
-(en caso contrario el archivo contendrá las rutas completas).\r
-<br>\r
-<input type="submit" value="Download Tar File" name="">\r
-</form>\r
-EOF\r
-\r
-\r
-# ------------------------------\r
-$Lang{Restore_Confirm_on__host} = "BackupPC: Restore Confirm on \$host";\r
-\r
-$Lang{Are_you_sure} = <<EOF;\r
-\${h1("¿Está seguro?")}\r
-<p>\r
-Está a punto de comenzar una restauración directamente a la máquina \$In{hostDest}.\r
-Los siguientes archivos serán restaurados en la unidad \$In{shareDest}, de\r
-la copia de seguridad número \$num:\r
-<p>\r
-<table border>\r
-<tr><td>Archivo/Dir Original </td><td>Será restaurado a</td></tr>\r
-\$fileListStr\r
-</table>\r
-\r
-<form action="\$MyURL" method="post">\r
-<input type="hidden" name="host" value="\${EscHTML(\$host)}">\r
-<input type="hidden" name="hostDest" value="\${EscHTML(\$In{hostDest})}">\r
-<input type="hidden" name="shareDest" value="\${EscHTML(\$In{shareDest})}">\r
-<input type="hidden" name="pathHdr" value="\${EscHTML(\$In{pathHdr})}">\r
-<input type="hidden" name="num" value="\$num">\r
-<input type="hidden" name="type" value="4">\r
-\$hiddenStr\r
-Do you really want to do this?\r
-<input type="submit" value="\$In{action}" name="action">\r
-<input type="submit" value="No" name="">\r
-</form>\r
-EOF\r
-\r
-\r
-# --------------------------\r
-$Lang{Restore_Requested_on__hostDest} = "BackupPC: Restauración solicitada en \$hostDest";\r
-$Lang{Reply_from_server_was___reply} = <<EOF;\r
-\${h1(\$str)}\r
-<p>\r
-La respuesta del servidor fué: \$reply\r
-<p>\r
-Go back to <a href="\$MyURL?host=\$hostDest">\$hostDest home page</a>.\r
-EOF\r
-\r
-# -------------------------\r
-$Lang{Host__host_Backup_Summary} = "BackupPC: Host \$host Resumen de Copia de Seguridad";\r
-\r
-$Lang{Host__host_Backup_Summary2} = <<EOF;\r
-\${h1("Host \$host Backup Summary")}\r
-<p>\r
-\$warnStr\r
-<ul>\r
-\$statusStr\r
-</ul>\r
-\r
-\${h2("Acciones del Usuario")}\r
-<p>\r
-<form action="\$MyURL" method="get">\r
-<input type="hidden" name="host" value="\$host">\r
-\$startIncrStr\r
-<input type="submit" value="$Lang{Start_Full_Backup}" name="action">\r
-<input type="submit" value="$Lang{Stop_Dequeue_Backup}" name="action">\r
-</form>\r
-\r
-\${h2("Resumen de Copia de Seguridad")}\r
-<p>\r
-Haga click en el número de copia de seguridad para revisar y restaurar archivos.\r
-<table border>\r
-<tr><td align="center"> Copia Nº </td>\r
-    <td align="center"> Tipo </td>\r
-    <td align="center"> Completo </td>\r
-    <td align="center"> Fecha Inicio </td>\r
-    <td align="center"> Duracion/mn </td>\r
-    <td align="center"> Antigüedad/dias </td>\r
-    <td align="center"> Ruta a la Copia en el Servidor </td>\r
-</tr>\r
-\$str\r
-</table>\r
-<p>\r
-\r
-\$restoreStr\r
-\r
-\${h2("Resumen de Errores de Transferencia")}\r
-<p>\r
-<table border>\r
-<tr><td align="center"> Copia Nº </td>\r
-    <td align="center"> Tipo </td>\r
-    <td align="center"> Ver </td>\r
-    <td align="center"> Nº Xfer errs </td>\r
-    <td align="center"> Nº err. archivos </td>\r
-    <td align="center"> Nº err. unidades </td>\r
-    <td align="center"> Nº err. tar </td>\r
-</tr>\r
-\$errStr\r
-</table>\r
-<p>\r
-\r
-\${h2("Resumen de Total/Tamaño de Archivos Reutilizados")}\r
-<p>\r
-Los archivos existentes son aquellos que ya están en el lote; los nuevos son\r
-aquellos que se han añadido al lote.\r
-Los archivos vacíos y los errores SMB no cuentan en las cifras de reutilizados\r
-ni en la de nuevos.\r
-<table border>\r
-<tr><td colspan="2"></td>\r
-    <td align="center" colspan="3"> Totales </td>\r
-    <td align="center" colspan="2"> Archivos Existentes </td>\r
-    <td align="center" colspan="2"> Archivos Nuevos </td>\r
-</tr>\r
-<tr>\r
-    <td align="center"> Copia Nº </td>\r
-    <td align="center"> Tipo </td>\r
-    <td align="center"> Nº Archivos </td>\r
-    <td align="center"> Tamaño/MB </td>\r
-    <td align="center"> MB/sg </td>\r
-    <td align="center"> Nº Archivos </td>\r
-    <td align="center"> Tamaño/MB </td>\r
-    <td align="center"> Nº Archivos </td>\r
-    <td align="center"> Tamaño/MB </td>\r
-</tr>\r
-\$sizeStr\r
-</table>\r
-<p>\r
-\r
-\${h2("Resumen de Compresión")}\r
-<p>\r
-Efectividad de compresión para los archivos ya existentes en el lote y los\r
-archivos nuevos comprimidos.\r
-<table border>\r
-<tr><td colspan="3"></td>\r
-    <td align="center" colspan="3"> Archivos Existentes </td>\r
-    <td align="center" colspan="3"> Archivos Nuevos </td>\r
-</tr>\r
-<tr><td align="center"> Copia Nº </td>\r
-    <td align="center"> Tipo </td>\r
-    <td align="center"> Nivel Comp </td>\r
-    <td align="center"> Tamaño/MB </td>\r
-    <td align="center"> Comp/MB </td>\r
-    <td align="center"> Comp </td>\r
-    <td align="center"> Tamaño/MB </td>\r
-    <td align="center"> Comp/MB </td>\r
-    <td align="center"> Comp </td>\r
-</tr>\r
-\$compStr\r
-</table>\r
-<p>\r
-EOF\r
-\r
-# -------------------------\r
-$Lang{Error} = "BackupPC: Error";\r
-$Lang{Error____head} = <<EOF;\r
-\${h1("Error: \$head")}\r
-<p>\$mesg</p>\r
-EOF\r
-\r
-# -------------------------\r
-$Lang{NavSectionTitle_} = "Servidor";\r
-\r
-# -------------------------\r
-$Lang{Backup_browse_for__host} = <<EOF;\r
-\${h1("Revisar Copia de seguridad de \$host")}\r
-\r
-<script language="javascript" type="text/javascript">\r
-<!--\r
-\r
-    function checkAll(location)\r
-    {\r
-      for (var i=0;i<document.form1.elements.length;i++)\r
-      {\r
-        var e = document.form1.elements[i];\r
-        if ((e.checked || !e.checked) && e.name != \'all\') {\r
-            if (eval("document.form1."+location+".checked")) {\r
-               e.checked = true;\r
-            } else {\r
-               e.checked = false;\r
-            }\r
-        }\r
-      }\r
-    }\r
-    \r
-    function toggleThis(checkbox)\r
-    {\r
-       var cb = eval("document.form1."+checkbox);\r
-       cb.checked = !cb.checked;       \r
-    }\r
-\r
-//-->\r
-</script>\r
-\r
-<ul>\r
-<li> Está revisando la copia de seguridad Nº\$num, que comenzó hacia las \$backupTime\r
-        (hace \$backupAge dias),\r
-\$filledBackup\r
-<li> Haga click en uno de los directorios de abajo para revisar sus contenidos,\r
-<li> Haga click en un archivo para restaurarlo.\r
-</ul>\r
-\r
-\${h2("Contenido de \${EscHTML(\$dirDisplay)}")}\r
-<form name="form1" method="post" action="\$MyURL">\r
-<input type="hidden" name="num" value="\$num">\r
-<input type="hidden" name="host" value="\$host">\r
-<input type="hidden" name="share" value="\${EscHTML(\$share)}">\r
-<input type="hidden" name="fcbMax" value="\$checkBoxCnt">\r
-<input type="hidden" name="action" value="$Lang{Restore}">\r
-<br>\r
-<table>\r
-<tr><td valign="top">\r
-    <!--Navigate here:-->\r
-    <br><table align="center" border="0" cellpadding="0" cellspacing="0" bgcolor="#ffffff">\r
-    \$dirStr\r
-    </table>\r
-</td><td width="3%">\r
-</td><td valign="top">\r
-    <!--Restore files here:-->\r
-    <br>\r
-    <table cellpadding="0" cellspacing="0" bgcolor="#333333"><tr><td>\r
-        <table border="0" width="100%" align="left" cellpadding="2" cellspacing="1">\r
-        \$fileHeader\r
-        \$topCheckAll\r
-        \$fileStr\r
-        \$checkAll\r
-        </table>\r
-    </td></tr></table>\r
-<br>\r
-<!--\r
-This is now in the checkAll row\r
-<input type="submit" name="Submit" value="Restore selected files">\r
--->\r
-</td></tr></table>\r
-</form>\r
-EOF\r
-\r
-# ------------------------------\r
-$Lang{Restore___num_details_for__host} = "BackupPC: Detalles de la restauración Nº\$num de \$host";\r
-\r
-$Lang{Restore___num_details_for__host2 } = <<EOF;\r
-\${h1("Detalles de la restauración Nº\$num de \$host")}\r
-<p>\r
-<table border>\r
-<tr><td> Número </td><td> \$Restores[\$i]{num} </td></tr>\r
-<tr><td> Solicitado por </td><td> \$RestoreReq{user} </td></tr>\r
-<tr><td> Hora Petición </td><td> \$reqTime </td></tr>\r
-<tr><td> Resultado </td><td> \$Restores[\$i]{result} </td></tr>\r
-<tr><td> Mensaje de Error </td><td> \$Restores[\$i]{errorMsg} </td></tr>\r
-<tr><td> Host Origen </td><td> \$RestoreReq{hostSrc} </td></tr>\r
-<tr><td> Nº copia origen </td><td> \$RestoreReq{num} </td></tr>\r
-<tr><td> Unidad origen </td><td> \$RestoreReq{shareSrc} </td></tr>\r
-<tr><td> Host destino </td><td> \$RestoreReq{hostDest} </td></tr>\r
-<tr><td> Unidad destino </td><td> \$RestoreReq{shareDest} </td></tr>\r
-<tr><td> Hora comienzo </td><td> \$startTime </td></tr>\r
-<tr><td> Duración </td><td> \$duration min </td></tr>\r
-<tr><td> Número de archivos </td><td> \$Restores[\$i]{nFiles} </td></tr>\r
-<tr><td> Tamaño total </td><td> \${MB} MB </td></tr>\r
-<tr><td> Tasa de transferencia </td><td> \$MBperSec MB/sec </td></tr>\r
-<tr><td> Errores creación Tar </td><td> \$Restores[\$i]{tarCreateErrs} </td></tr>\r
-<tr><td> Errores de transferencia </td><td> \$Restores[\$i]{xferErrs} </td></tr>\r
-<tr><td> Archivo registro de transferencia </td><td>\r
-<a href="\$MyURL?action=view&type=RestoreLOG&num=\$Restores[\$i]{num}&host=\$host">View</a>,\r
-<a href="\$MyURL?action=view&type=RestoreErr&num=\$Restores[\$i]{num}&host=\$host">Errors</a>\r
-</tr></tr>\r
-</table>\r
-<p>\r
-\${h1("Lista de Archivos/Directorios")}\r
-<p>\r
-<table border>\r
-<tr><td>Dir/archivo original</td><td>Restaurado a</td></tr>\r
-\$fileListStr\r
-</table>\r
-EOF\r
-\r
-# -----------------------------------\r
-$Lang{Email_Summary} = "BackupPC: Resumen de Correos";\r
-\r
-# -----------------------------------\r
-#  !! ERROR messages !!\r
-# -----------------------------------\r
-$Lang{BackupPC__Lib__new_failed__check_apache_error_log} = "BackupPC::Lib->nuevo ha fallado: revise el error_log de apache\n";\r
-$Lang{Wrong_user__my_userid_is___} =  \r
-              "Usuario erróneo: mi userid es \$>, en lugar de \$uid"\r
-            . "(\$Conf{BackupPCUser})\n";\r
-$Lang{Only_privileged_users_can_view_PC_summaries} = "Sólo los usuarios autorizados pueden ver los resúmenes de PC´s.";\r
-$Lang{Only_privileged_users_can_stop_or_start_backups} = \r
-                  "Sólo los usuarios autorizados pueden comenzar a detener las copias"\r
-               . " \${EscHTML(\$host)}.";\r
-$Lang{Invalid_number__num} = "Número no válido \$num";\r
-$Lang{Unable_to_open__file__configuration_problem} = "No puedo abrir \$file: ¿problema de configuración?";\r
-$Lang{Only_privileged_users_can_view_log_or_config_files} = "Sólo los usuarios autorizados pueden ver registros o archivos de configuración.";\r
-$Lang{Only_privileged_users_can_view_log_files} = "Sólo los usuarios autorizados pueden ver archivos de registro.";\r
-$Lang{Only_privileged_users_can_view_email_summaries} = "Sólo los usuarios autorizados pueden ver resúmenes de correo.";\r
-$Lang{Only_privileged_users_can_browse_backup_files} = "Sólo los usuarios autorizados pueden revisar los archivos de las copias de seguridad"\r
-                . " for host \${EscHTML(\$In{host})}.";\r
-$Lang{Empty_host_name} = "Número de host vacío.";\r
-$Lang{Directory___EscHTML} = "El directorio \${EscHTML(\"\$TopDir/pc/\$host/\$num\")}"\r
-                   . " está vacío";\r
-$Lang{Can_t_browse_bad_directory_name2} = "No puedo mostrar un nombre de directorio erróneo"\r
-                   . " \${EscHTML(\$relDir)}";\r
-$Lang{Only_privileged_users_can_restore_backup_files} = "Sólo los usuarios autorizados pueden restaurar copias de seguridad"\r
-                . " para el host \${EscHTML(\$In{host})}.";\r
-$Lang{Bad_host_name} = "Nombre de host erróneo \${EscHTML(\$host)}";\r
-$Lang{You_haven_t_selected_any_files__please_go_Back_to} = "No ha seleccionado nigún archivo; por favor, vuelva a"\r
-                . " seleccione algunos archivos.";\r
-$Lang{Nice_try__but_you_can_t_put} = "Buen intento, pero no puede usar \'..\' en los nombres de archivo";\r
-$Lang{Host__doesn_t_exist} = "El Host \${EscHTML(\$In{hostDest})} no existe";\r
-$Lang{You_don_t_have_permission_to_restore_onto_host} = "No tiene autorización para restaurar en el host"\r
-                   . " \${EscHTML(\$In{hostDest})}";\r
-$Lang{Can_t_open_create} = "No puedo abrir/crear "\r
-                    . "\${EscHTML(\"\$TopDir/pc/\$hostDest/\$reqFileName\")}";\r
-$Lang{Only_privileged_users_can_restore_backup_files2} = "Sólo los usuarios autorizados pueden restaurar copias de seguridad"\r
-                . " del host \${EscHTML(\$host)}.";\r
-$Lang{Empty_host_name} = "Nombre de host vacío";\r
-$Lang{Unknown_host_or_user} = "Unknown host or user \${EscHTML(\$host)}";\r
-$Lang{Only_privileged_users_can_view_information_about} = "Sólo los usuarios autorizados pueden ver información del"\r
-                . " host \${EscHTML(\$host)}." ;\r
-$Lang{Only_privileged_users_can_view_restore_information} = "Sólo los usuarios autorizados pueden ver información de restauración.";\r
-$Lang{Restore_number__num_for_host__does_not_exist} = "El número de restauración \$num del host \${EscHTML(\$host)} "\r
-               . " no existe.";\r
-\r
-$Lang{Unable_to_connect_to_BackupPC_server} = "Imposible conectar al servidor BackupPC",\r
-            "Este script CGI (\$MyURL) no puede conectar al servidor BackupPC"\r
-          . " en \$Conf{ServerHost} puerto \$Conf{ServerPort}.  El error"\r
-          . " fué: \$err.",\r
-            "Quizá el servidor BackupPC no está activo o hay un "\r
-          . " error de configuración. Por favor informe a su administrador de sistemas.";\r
-\r
-$Lang{Can_t_find_IP_address_for} = "No puedo encontrar la dirección IP de \${EscHTML(\$host)}";\r
-$Lang{host_is_a_DHCP_host} = <<EOF;\r
-\$host es un host DHCP y yo no conozco su dirección IP. He comprobado el\r
-nombre netbios de \$ENV{REMOTE_ADDR}\$tryIP, y he verificado que esa máquina\r
-no es \$host.\r
-<p>\r
-Hasta que vea \$host en una dirección DHCP concreta, sólo puede\r
-comenzar este proceso desde la propia máquina cliente.\r
-EOF\r
-\r
-########################\r
-# ok you can do it then\r
-########################\r
-\r
-$Lang{Backup_requested_on_DHCP__host} = "Copia de seguridad solicitada en DHCP \$host (\$In{hostIP}) por"\r
-                                     . " \$User desde \$ENV{REMOTE_ADDR}";\r
-\r
-$Lang{Backup_requested_on__host_by__User} = "Copia de seguridad solicitada en \$host por \$User";\r
-$Lang{Backup_stopped_dequeued_on__host_by__User} = "Copia de seguridad detenida/desprogramada en \$host por \$User";\r
-$Lang{log_User__User_downloaded_tar_archive_for__host} = "El usuario del registro \$User ha descargado un archivo Tar para \$host,"\r
-                           . " copia de seguridad \$num; los archivos eran: "\r
-                          . " \${join(\", \", \@fileListTrim)}";\r
-\r
-$Lang{log_User__User_downloaded_zip_archive_for__host}= "El usuario del registro \$User ha descargado un archivo Zip para \$host,"\r
-                           . " copia de seguridad \$num; los archivos eran: "\r
-                           . "\${join(\", \", \@fileListTrim)}";\r
-\r
-$Lang{Restore_requested_to_host__hostDest__backup___num} = "Restauración solicitada para el host \$hostDest, copia de seguridad #\$num,"\r
-            . " por \$User desde \$ENV{REMOTE_ADDR}";\r
-\r
-# -------------------------------------------------\r
-# ------- Stuff that was forgotten ----------------\r
-# -------------------------------------------------\r
-\r
-$Lang{Status} = "Estado";\r
-$Lang{PC_Summary} = "Resumen PC";\r
-$Lang{LOG_file} = "Archivo Registro";\r
-$Lang{Old_LOGs} = "Registros antiguos";\r
-$Lang{Email_summary} = "Resumen correo";\r
-$Lang{Config_file} = "Archivo configuración";\r
-$Lang{Hosts_file} = "Archivo Hosts";\r
-$Lang{Current_queues} = "Colas actuales";\r
-$Lang{Documentation} = "Documentación";\r
-\r
-$Lang{Host_or_User_name} = "<small>Host o usuario:</small>";\r
-$Lang{Go} = "Aceptar";\r
-$Lang{Hosts} = "Hosts";\r
-\r
-$Lang{This_PC_has_never_been_backed_up} = "<h2> !Nunca se ha hecho copia de seguridad de este PC! </h2>\n";\r
-$Lang{This_PC_is_used_by} = "<li>This PC es utilizado por \${UserLink(\$user)}";\r
-\r
-# ------------\r
-$Lang{Last_email_sent_to__was_at___subject} = <<EOF;\r
-<li>El último mensaje enviado a  \${UserLink(\$user)} fué a las \$mailTime, asunto "\$subj".\r
-EOF\r
-# ------------\r
-$Lang{The_command_cmd_is_currently_running_for_started} = <<EOF;\r
-<li>El comando \$cmd está ejecutandose para \$host, comenzado a \$startTime.\r
-EOF\r
-\r
-# -----------\r
-$Lang{Host_host_is_queued_on_the_background_queue_will_be_backed_up_soon} = <<EOF;\r
-<li>El host \$host está en cola en la cola en segundo plano (pronto tendrá copia de seguridad).\r
-EOF\r
-\r
-# ----------\r
-$Lang{Host_host_is_queued_on_the_user_queue__will_be_backed_up_soon} = <<EOF;\r
-<li>Host \$host está en cola en la cola de usuarios (pronto tendrá copia de seguridad).\r
-EOF\r
-\r
-# ---------\r
-$Lang{A_command_for_host_is_on_the_command_queue_will_run_soon} = <<EOF;\r
-<li>Un comando para \$host está en la cola de comandos (se ejecutará pronto).\r
-EOF\r
-\r
-# --------\r
-$Lang{Last_status_is_state_StatusHost_state_reason_as_of_startTime} = <<EOF;\r
-<li>El último estado fué \"\$Lang->{\$StatusHost{state}}\"\$reason a las \$startTime.\r
-EOF\r
-\r
-# --------\r
-$Lang{Last_error_is____EscHTML_StatusHost_error} = <<EOF;\r
-<li>El último error fué \"\${EscHTML(\$StatusHost{error})}\"\r
-EOF\r
-\r
-# ------\r
-$Lang{Pings_to_host_have_failed_StatusHost_deadCnt__consecutive_times} = <<EOF;\r
-<li>Los pings a \$host han fallado \$StatusHost{deadCnt} veces consecutivas.\r
-EOF\r
-\r
-# -----\r
-$Lang{Prior_to_that__pings} = "Antes de eso, pings";\r
-\r
-# -----\r
-$Lang{priorStr_to_host_have_succeeded_StatusHostaliveCnt_consecutive_times} = <<EOF;\r
-<li>\$priorStr a \$host han tenido éxito \$StatusHost{aliveCnt}\r
-        veces consecutivas.\r
-EOF\r
-\r
-$Lang{Because__host_has_been_on_the_network_at_least__Conf_BlackoutGoodCnt_consecutive_times___} = <<EOF;\r
-<li>Dado que \$host ha estado en la red al menos \$Conf{BlackoutGoodCnt}\r
-veces consecutivas, no se le realizará copia de seguridad desde \$t0 hasta \$t1 en \$days.\r
-EOF\r
-\r
-$Lang{Backups_are_deferred_for_hours_hours_change_this_number} = <<EOF;\r
-<li>Las copias de seguridad se retrasarán durante \$hours hours\r
-(<a href=\"\$MyURL?action=Stop/Dequeue%20Backup&host=\$host\">Cambie este número</a>).\r
-EOF\r
-\r
-$Lang{tryIP} = " y \$StatusHost{dhcpHostIP}";\r
-\r
-$Lang{Host_Inhost} = "Host \$In{host}";\r
-\r
-$Lang{checkAll} = <<EOF;\r
-<tr bgcolor="#ffffcc"><td>\r
-<input type="checkbox" name="allFiles" onClick="return checkAll('allFiles');">&nbsp;Seleccionar todo\r
-</td><td colspan="5" align="center">\r
-<input type="submit" name="Submit" value="Restaurar los archivos seleccionados">\r
-</td></tr>\r
-EOF\r
-\r
-$Lang{fileHeader} = <<EOF;\r
-    <tr bgcolor="\$Conf{CgiHeaderBgColor}"><td align=center> Nombre</td>\r
-       <td align="center"> Tipo</td>\r
-       <td align="center"> Modo</td>\r
-       <td align="center"> Nº</td>\r
-       <td align="center"> Tamaño</td>\r
-       <td align="center"> Hora Mod.</td>\r
-    </tr>\r
-EOF\r
-\r
-$Lang{Home} = "Principal";\r
-$Lang{Last_bad_XferLOG} = "Ultimo error en registro de transferencia";\r
-$Lang{Last_bad_XferLOG_errors_only} = "Ultimo error en registro de transferencia (errores&nbsp;sólo)";\r
-\r
-$Lang{This_display_is_merged_with_backup} = <<EOF;\r
-<li> Esta pantalla está unida a la copia de seguridad Nº\$numF.\r
-EOF\r
-\r
-$Lang{Visit_this_directory_in_backup} = <<EOF;\r
-<li> Explorar este directorio en copia de seguridad Nº\$otherDirs.\r
-EOF\r
-\r
-$Lang{Restore_Summary} = <<EOF;\r
-\${h2("Resumen de Restauración")}\r
-<p>\r
-Haga click en el número de restauración para ver sus detalles.\r
-<table border>\r
-<tr><td align="center"> Restauración Nº </td>\r
-    <td align="center"> Resultado </td>\r
-    <td align="right"> Fecha Inicio</td>\r
-    <td align="right"> Dur/mins</td>\r
-    <td align="right"> Nº Archivos </td>\r
-    <td align="right"> MB </td>\r
-    <td align="right"> Nº Err. Tar </td>\r
-    <td align="right"> Nº Err. Transf.#xferErrs </td>\r
-</tr>\r
-\$restoreStr\r
-</table>\r
-<p>\r
-EOF\r
-\r
-$Lang{BackupPC__Documentation} = "BackupPC: Documentacion";\r
-\r
-$Lang{No} = "no";\r
-$Lang{Yes} = "si";\r
-\r
-$Lang{The_directory_is_empty} = <<EOF;\r
-<tr><td bgcolor="#ffffff">El directorio \${EscHTML(\$dirDisplay)} está vacio\r
-</td></tr>\r
-EOF\r
-\r
-#$Lang{on} = "activo";\r
-$Lang{off} = "inactivo";\r
-\r
-$Lang{full} = "completo";\r
-$Lang{incremental} = "incremental";\r
-\r
-$Lang{failed} = "fallido";\r
-$Lang{success} = "éxito";\r
-$Lang{and} = "y";\r
-\r
-# ------\r
-# Hosts states and reasons\r
-$Lang{Status_idle} = "inactivo";\r
-$Lang{Status_backup_starting} = "comenzando copia de seguridad";\r
-$Lang{Status_backup_in_progress} = "copia de seguridad ejecutándose";\r
-$Lang{Status_restore_starting} = "comenzando restauración";\r
-$Lang{Status_restore_in_progress} = "restauración ejecutándose";\r
-$Lang{Status_link_pending} = "conexión pendiente";\r
-$Lang{Status_link_running} = "conexión en curso";\r
-\r
-$Lang{Reason_backup_done} = "copia de seguridad realizada";\r
-$Lang{Reason_restore_done} = "restauración realizada";\r
-$Lang{Reason_nothing_to_do} = "nada por hacer";\r
-$Lang{Reason_backup_failed} = "copia de seguridad fallida";\r
-$Lang{Reason_no_ping} = "no hay ping";\r
-$Lang{Reason_backup_canceled_by_user} = "copia cancelada por el usuario";\r
-\r
-# ---------\r
-# Email messages\r
-\r
-# No backup ever\r
-$Lang{EMailNoBackupEverSubj} = "BackupPC: ningúna copia de \$host ha tenido éxito";\r
-$Lang{EMailNoBackupEverMesg} = <<'EOF';\r
-To: $user$domain\r
-cc:\r
-Subject: $subj\r
-\r
-Estimado $userName,\r
-\r
-Su PC ($host) nunca ha completado una copia de seguridad mediante nuestro\r
-programa de copias de seguridad. Las copias de seguridad deberían ejecutarse\r
-automáticamente cuando su PC se conecta a la red. Debería contactar con su\r
-soporte técnico si:\r
-\r
-  - Su ordenador ha estado conectado a la red con regularidad. Esto implicaría\r
-    que existe algún problema de instalación o configuración que impide que se\r
-    realicen las copias de seguridad.\r
-\r
-  - No desea realizar copias de seguridad y no quiere recibir más mensajes\r
-    como éste.\r
-\r
-De no ser así, asegúrese de que su PC está conectado a la red la próxima vez\r
-que esté en la oficina.\r
-\r
-Saludos:\r
-Agente BackupPC\r
-http://backuppc.sourceforge.net\r
-EOF\r
-\r
-# No recent backup\r
-$Lang{EMailNoBackupRecentSubj} = "BackupPC: no hay copias de seguridad recientes de \$host";\r
-$Lang{EMailNoBackupRecentMesg} = <<'EOF';\r
-To: $user$domain\r
-cc:\r
-Subject: $subj\r
-\r
-Estimado $userName,\r
-\r
-No se ha podido completar ninguna copia de seguridad de su PC ($host) durante\r
-$days días.\r
-Su PC ha realizado copias de seguridad correctas $numBackups veces desde\r
-$firstTime hasta hace $days días.\r
-Las copias de seguridad deberían efectuarse automáticamente cuando su PC está\r
-conectado a la red.\r
-\r
-Si su PC ha estado conectado durante algunas horas a la red durante los últimos\r
-$days días debería contactar con su soporte técnico para ver porqué las copias\r
-de seguridad no funcionan adecuadamente.\r
-\r
-Por otro lado, si está fuera de la oficina, no hay mucho que se pueda hacer al\r
-respecto salvo copiar manualmente los archivos especialmente críticos a otro\r
-soporte físico. Debería estar al corriente de que cualquier archivo que haya\r
-creado o modificado en los últimos $days días (incluyendo todo el correo nuevo\r
-y archivos adjuntos) no pueden ser restaurados si su disco se avería.\r
-\r
-Saludos:\r
-Agente BackupPC\r
-http://backuppc.sourceforge.net\r
-EOF\r
-\r
-# Old Outlook files\r
-$Lang{EMailOutlookBackupSubj} = "BackupPC: Los archivos de Outlook de \$host necesitan ser copiados";\r
-$Lang{EMailOutlookBackupMesg} = <<'EOF';\r
-To: $user$domain\r
-cc:\r
-Subject: $subj\r
-\r
-Estimado $userName,\r
-\r
-Los archivos de Outlook de su PC tienen $howLong.\r
-Estos archivos contienen todo su correo, adjuntos, contactos e información de\r
-su agenda. Su PC ha sido correctamente salvaguardado $numBackups veces desde\r
-$firstTime hasta hace $lastTime días.  Sin embargo, Outlook bloquea todos sus\r
-archivos mientras funciona, impidiendo que pueda hacerse copia de seguridad de\r
-los mismos.\r
-\r
-Se le recomienda hacer copia de seguridad de los archivos de Outlook cuando esté\r
-conectado a la red cerrando Outlook y el resto de aplicaciones y utilizando su\r
-navegador de internet. Haga click en este vínculo:\r
-\r
-    $CgiURL?host=$host               \r
-\r
-Seleccione "Comenzar copia de seguridad incremental" dos veces para comenzar\r
-una neva copia de seguridad incremental.\r
-Puede seleccionar "Volver a la página de $host " y hacer click en "refrescar"\r
-para ver el estado del proceso de copia de seguridad. Debería llevarle sólo\r
-unos minutos completar el proceso.\r
-\r
-Saludos:\r
-Agente BackupPC\r
-http://backuppc.sourceforge.net\r
-EOF\r
-\r
-$Lang{howLong_not_been_backed_up} = "no se le ha realizado una copia de seguridad con éxito";\r
-$Lang{howLong_not_been_backed_up_for_days_days} = "no se le ha realizado una copia de seguridad durante \$days días";\r
-\r
-#end of lang_en.pm\r
+#!/bin/perl
+
+#my %lang;
+
+#use strict;
+
+# --------------------------------
+
+$Lang{Start_Archive} = "ENG Start Archive";
+$Lang{Stop_Dequeue_Archive} = "ENG Stop/Dequeue Archive";
+$Lang{Start_Full_Backup} = "Comenzar copia de seguridad completa";
+$Lang{Start_Incr_Backup} = "Comenzar copia de seguridad incremental";
+$Lang{Stop_Dequeue_Backup} = "Parar/anular copia de seguridad";
+$Lang{Restore} = "Restaurar";
+
+$Lang{Type_full} = "ENG full";
+$Lang{Type_incr} = "ENG incremental";
+
+# -----
+
+$Lang{Only_privileged_users_can_view_admin_options} = "ENG Only privileged users can view admin options.";
+$Lang{H_Admin_Options} = "ENG BackupPC Server: Admin Options";
+$Lang{Admin_Options} = "ENG Admin Options";
+$Lang{Admin_Options_Page} = <<EOF;
+ENG
+\${h1(qq{$Lang{Admin_Options}})}
+<br>
+\${h2("Server Control")}
+<form action="\$MyURL" method="get">
+<table>
+<!--<tr><td>Stop the server:<td><input type="submit" name="action" value="Stop">-->
+  <tr><td>Reload the server configuration:<td><input type="submit" name="action" value="Reload">
+</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} = "Imposible conectar al servidor BackupPC",
+            "Este script CGI (\$MyURL) no puede conectar al servidor BackupPC"
+          . " en \$Conf{ServerHost} puerto \$Conf{ServerPort}.  El error"
+          . " fué: \$err.",
+            "Quizá el servidor BackupPC no está activo o hay un "
+          . " error de configuración. Por favor informe a su administrador de sistemas.";
+$Lang{Admin_Start_Server} = <<EOF;
+ENG\${h1(qq{$Lang{Unable_to_connect_to_BackupPC_server}})}
+<form action="\$MyURL" method="get">
+The BackupPC server at <tt>\$Conf{ServerHost}</tt> port <tt>\$Conf{ServerPort}</tt>
+is not currently running (maybe you just stopped it, or haven't yet started it).<br>
+Do you want to start it?
+<input type="hidden" name="action" value="startServer">
+<input type="submit" value="Start Server" name="ignore">
+</form>
+EOF
+
+# -----
+
+$Lang{H_BackupPC_Server_Status} = "Estado del Servidor BackupPC";
+
+$Lang{BackupPC_Server_Status}= <<EOF;
+\${h1(qq{$Lang{H_BackupPC_Server_Status}})}
+
+<p>
+\${h2(\"Información General del servidor\")}
+
+<ul>
+<li> El PID del servidor es \$Info{pid}, en el host \$Conf{ServerHost},
+     version \$Info{Version}, iniciado el \$serverStartTime.
+<li> Esta información de estado se ha generado el \$now.
+<li> ENG The configuration was last loaded at \$configLoadTime
+<li> La cola de PC´s se activará de nuevo el \$nextWakeupTime.
+<li> Información adicional:
+    <ul>
+        <li>\$numBgQueue solicitudes pendientes de copia de seguridad desde la última activación programada,
+        <li>\$numUserQueue solicitudes pendientes de copia de seguridad de usuarios,
+        <li>\$numCmdQueue solicitudes de comandos pendientes ,
+        \$poolInfo
+        <li>El sistema de archivos estaba recientemente al \$Info{DUlastValue}%
+            (\$DUlastTime), el máximo de hoy es \$Info{DUDailyMax}% (\$DUmaxTime)
+            y el máximo de ayer era \$Info{DUDailyMaxPrev}%.
+    </ul>
+</ul>
+
+\${h2("Trabajos en Ejecución")}
+<p>
+<table class="tableStnd" border cellspacing="1" cellpadding="3">
+<tr class="tableheader"><td> Host </td>
+    <td> Tipo </td>
+    <td> Usuario </td>
+    <td> Hora de Inicio </td>
+    <td> Comando </td>
+    <td align="center"> PID </td>
+    <td align="center"> Transfer. PID </td>
+    </tr>
+\$jobStr
+</table>
+<p>
+
+\${h2("Fallos que Precisan Atención")}
+<p>
+<table class="tableStnd" border cellspacing="1" cellpadding="3">
+<tr class="tableheader"><td align="center"> Host </td>
+    <td align="center"> Tipo </td>
+    <td align="center"> Usuario </td>
+    <td align="center"> Ultimo Intento </td>
+    <td align="center"> Detalles </td>
+    <td align="center"> Hora del error </td>
+    <td> Ultimo error (ping no incluido) </td></tr>
+\$statusStr
+</table>
+EOF
+
+# --------------------------------
+$Lang{BackupPC__Server_Summary} = "BackupPC: Resumen del Servidor";
+$Lang{BackupPC__Archive} = "ENG BackupPC: Archive";
+$Lang{BackupPC_Summary}=<<EOF;
+
+\${h1(qq{$Lang{BackupPC__Server_Summary}})}
+<p>
+Este status ha sido generado el \$now.
+</p>
+
+\${h2("Hosts con Buenas Copias de Seguridad")}
+<p>
+Il y a \$hostCntGood hosts tienen copia de seguridad, de un total de :
+<ul>
+<li> \$fullTot copias de seguridad completas con tamaño total de \${fullSizeTot} GB
+     (antes de agrupar y comprimir),
+<li> \$incrTot copias de seguridad incrementales con tamaño total de \${incrSizeTot} GB
+     (antes de agrupar y comprimir).
+</ul>
+</p>
+<table class="tableStnd" border cellpadding="3" cellspacing="1">
+<tr class="tableheader"><td> Host </td>
+    <td align="center"> Usuario </td>
+    <td align="center"> #Completo </td>
+    <td align="center"> Completo Antig./Días </td>
+    <td align="center"> Completo Tamaño/GB </td>
+    <td align="center"> Velocidad MB/sec </td>
+    <td align="center"> #Incrementales </td>
+    <td align="center"> Incrementales Antig/Días </td>
+    <td align="center"> Estado </td>
+    <td align="center"> Ultimo Intento </td></tr>
+\$strGood
+</table>
+<br><br>
+\${h2("Hosts Sin Copias de Seguridad")}
+<p>
+Hay \$hostCntNone hosts sin copias de seguridad.
+<p>
+<table class="tableStnd" border cellpadding="3" cellspacing="1">
+<tr class="tableheader"><td> Host </td>
+    <td align="center"> Usuario </td>
+    <td align="center"> #Completo </td>
+    <td align="center"> Completo Antig./Días </td>
+    <td align="center"> Completo Tamaño/GB </td>
+    <td align="center"> Velocidad MB/sec </td>
+    <td align="center"> #Incrementales </td>
+    <td align="center"> Incrementales Antig/Días </td>
+    <td align="center"> Estado </td>
+    <td align="center"> Ultimo Intento </td></tr>
+\$strNone
+</table>
+EOF
+
+$Lang{BackupPC_Archive} = <<EOF;
+ENG\${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>
+
+There are \$hostCntGood hosts that have been backed up for a total size of \${fullSizeTot}GB
+<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"> User </td>
+    <td align="center"> Backup Size </td>
+\$strGood
+\$checkAllHosts
+</table>
+</form>
+<p>
+
+EOF
+
+$Lang{BackupPC_Archive2} = <<EOF;
+ENG\${h1(qq{$Lang{BackupPC__Archive}})}
+About to archive the following hosts
+<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="Start the Archive" name=""></td>
+</tr>
+</form>
+</table>
+EOF
+
+$Lang{BackupPC_Archive2_location} = <<EOF;
+ENG<tr>
+    <td>Archive Location/Device</td>
+    <td><input type="text" value="\$ArchiveDest" name="archive_device"></td>
+</tr>
+EOF
+
+$Lang{BackupPC_Archive2_compression} = <<EOF;
+ENG<tr>
+    <td>Compression</td>
+    <td>
+    <input type="radio" value="0" name="compression" \$ArchiveCompNone>None<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;
+ENG<tr>
+    <td>Number of Parity Files</td>
+    <td><input type="numeric" value="\$ArchivePar" name="par"></td>
+</tr>
+EOF
+
+$Lang{BackupPC_Archive2_split} = <<EOF;
+ENG<tr>
+    <td>Split output into</td>
+    <td><input type="numeric" value="\$ArchiveSplit" name="splitsize">Megabytes</td>
+</tr>
+EOF
+
+# -----------------------------------
+$Lang{Pool_Stat} = <<EOF;
+        <li>El grupo tiene \${poolSize}GB incluyendo \$info->{"\${name}FileCnt"} archivos
+            y \$info->{"\${name}DirCnt"} directorios (as of \$poolTime),
+        <li>El procesamiento del grupo da \$info->{"\${name}FileCntRep"} archivos
+            repetidos cuya cadena más larga es \$info->{"\${name}FileRepMax"},
+        <li>El proceso de limpieza nocturna ha eliminado \$info->{"\${name}FileCntRm"} archivos de
+            tamaño \${poolRmSize}GB (around \$poolTime),
+EOF
+
+# --------------------------------
+$Lang{BackupPC__Backup_Requested_on__host} = "BackupPC: Copia de Seguridad Solicitada en \$host";
+# --------------------------------
+$Lang{REPLY_FROM_SERVER} = <<EOF;
+\${h1(\$str)}
+<p>
+La respuesta del servidor fué: \$reply
+<p>
+Volver a <a href="\$MyURL?host=\$host">\$host home page</a>.
+EOF
+# --------------------------------
+$Lang{BackupPC__Start_Backup_Confirm_on__host} = "BackupPC: Confirme inicio de copia de seguridad en \$host";
+# --------------------------------
+$Lang{Are_you_sure_start} = <<EOF;
+\${h1("¿Está seguro?")}
+<p>
+Va a hacer comenzar una copia de seguridad \$type en \$host.
+
+<form 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">
+¿Realmente quiere hacer esto?
+<input type="submit" value="\$In{action}" name="action">
+<input type="submit" value="No" name="">
+</form>
+EOF
+# --------------------------------
+$Lang{BackupPC__Stop_Backup_Confirm_on__host} = "BackupPC: Confirmación de Parada de Copia de Seguridad en \$host";
+# --------------------------------
+$Lang{Are_you_sure_stop} = <<EOF;
+
+\${h1("¿Está seguro?")}
+
+<p>
+Está a punto de parar/quitar de la cola las copias de seguridad en \$host;
+
+<form action="\$MyURL" method="get">
+<input type="hidden" name="host" value="\$host">
+<input type="hidden" name="doit" value="1">
+Asimismo, por favor no empiece otra copia de seguridad durante
+<input type="text" name="backoff" size="10" value="\$backoff"> horas.
+<p>
+¿Realmente quiere hacer esto?
+<input type="submit" value="\$In{action}" name="action">
+<input type="submit" value="No" name="">
+</form>
+
+EOF
+# --------------------------------
+$Lang{Only_privileged_users_can_view_queues_} = "Sólo los administradores pueden ver las colas.";
+# --------------------------------
+$Lang{Only_privileged_users_can_archive} = "ENG Only privileged users can Archive.";
+# --------------------------------
+$Lang{BackupPC__Queue_Summary} = "BackupPC: Resumen de la Cola";
+# --------------------------------
+$Lang{Backup_Queue_Summary} = <<EOF;
+\${h1("Resumen de la Cola de Copias de Seguridad")}
+<br><br>
+\${h2("Resumen de la Cola de Usuarios")}
+<p>
+Las siguientes solicitudes de usuarios están actualmente en cola:
+</p>
+<table class="tableStnd" border cellspacing="1" cellpadding="3" width="80%">
+<tr class="tableheader"><td> Host </td>
+    <td> Hora Sol. </td>
+    <td> Usuario </td></tr>
+\$strUser
+</table>
+<br><br>
+
+\${h2("Resumen de Cola en Segundo Plano")}
+<p>
+Las siguientes solicitudes en segundo plano están actualmente en cola:
+</p>
+<table class="tableStnd" border cellspacing="1" cellpadding="3" width="80%">
+<tr class="tableheader"><td> Host </td>
+    <td> Hora Sol. </td>
+    <td> Usuario </td></tr>
+\$strBg
+</table>
+<br><br>
+\${h2("Resumen de Cola de Comandos")}
+<p>
+Los siguientes comandos están actualmente en cola:
+</p>
+<table class="tableStnd" border cellspacing="1" cellpadding="3" width="80%">
+<tr class="tableheader"><td> Host </td>
+    <td> Hora Sol. </td>
+    <td> Usuario </td>
+    <td> Comando </td></tr>
+\$strCmd
+</table>
+EOF
+
+# --------------------------------
+$Lang{Backup_PC__Log_File__file} = "BackupPC: Archivo de Registro \$file";
+$Lang{Log_File__file__comment} = <<EOF;
+\${h1("Log File \$file \$comment")}
+<p>
+EOF
+# --------------------------------
+$Lang{Contents_of_log_file} = <<EOF;
+Contenido del archivo de registro <tt>\$file</tt>, modificado \$mtimeStr \$comment
+EOF
+
+# --------------------------------
+$Lang{skipped__skipped_lines} = "[ saltadas \$skipped lineas ]\n";
+# --------------------------------
+$Lang{_pre___Can_t_open_log_file__file} = "<pre>\nNo puedo abrir el archivo de registro \$file\n";
+
+# --------------------------------
+$Lang{BackupPC__Log_File_History} = "BackupPC: Historial de Archivo de Registro";
+$Lang{Log_File_History__hdr} = <<EOF;
+\${h1("Historial de Archivo de Registro \$hdr")}
+<p>
+<table class="tableStnd" border cellspacing="1" cellpadding="3" width="80%">
+<tr class="tableheader"><td align="center"> File </td>
+    <td align="center"> Size </td>
+    <td align="center"> Hora Modificación </td></tr>
+\$str
+</table>
+EOF
+
+# -------------------------------
+$Lang{Recent_Email_Summary} = <<EOF;
+\${h1("Resumen de Mensajes Recientes (Orden de tiempo inverso)")}
+<p>
+<table class="tableStnd" border cellspacing="1" cellpadding="3" width="80%">
+<tr class="tableheader"><td align="center"> Destinatario </td>
+    <td align="center"> Host </td>
+    <td align="center"> Hora </td>
+    <td align="center"> Asunto </td></tr>
+\$str
+</table>
+EOF
+
+# ------------------------------
+$Lang{Browse_backup__num_for__host} = "BackupPC: Hojear copia de seguridad \$num de \$host";
+
+# ------------------------------
+$Lang{Restore_Options_for__host} = "BackupPC: Opciones de restauración para \$host";
+$Lang{Restore_Options_for__host2} = <<EOF;
+\${h1("Opciones de restauración para \$host")}
+<p>
+Ha seleccionado los siguientes archivos/directorios de
+la unidad \$share, copia número #\$num:
+<ul>
+\$fileListStr
+</ul>
+</p><p>
+Tiene tres opciones para restaurar estos archivos/directorios.
+Por favor, seleccione una de las siguientes opciones.
+</p>
+\${h2("Opción 1: Restauración Directa")}
+<p>
+EOF
+
+$Lang{Restore_Options_for__host_Option1} = <<EOF;
+Puede empezar un proceso que restaurará estos archivos directamente en
+\$host.
+</p><p>
+<b>¡Atención!:</b> ¡Cualquier archivo existente con el mismo nombre que los que ha
+seleccionado será sobreescrito!
+</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">
+<table border="0">
+<tr>
+    <td>Restaurar los archivos al host</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)">Search for available shares (NOT IMPLEMENTED)</a>--></td>
+</tr><tr>
+    <td>Restaurar los archivos a la unidad</td>
+    <td><input type="text" size="40" value="\${EscHTML(\$share)}"
+        name="shareDest"></td>
+</tr><tr>
+    <td>Restaurar los archivos bajo el directorio<br>(relativo a la unidad)</td>
+    <td valign="top"><input type="text" size="40" maxlength="256"
+       value="\${EscHTML(\$pathHdr)}" name="pathHdr"></td>
+</tr><tr>
+    <td><input type="submit" value="Start Restore" name=""></td>
+</table>
+</form>
+EOF
+
+$Lang{Restore_Options_for__host_Option1_disabled} = <<EOF;
+ENG Direct restore has been disabled for host \${EscHTML(\$hostDest)}.
+Please select one of the other restore options.
+EOF
+
+# ------------------------------
+$Lang{Option_2__Download_Zip_archive} = <<EOF;
+<p>
+\${h2("Opción 2: Descargar archivo Zip")}
+<p>
+Puede descargar un archivo comprimido (.zip) conteniendo todos los archivos y directorios que
+ha seleccionado.  Después puede hacer uso de una aplicación local, como WinZip,
+para ver o extraer cualquiera de los archivos.
+</p><p>
+<b>¡Atención!:</b> Dependiendo de que archivos/carpetas haya seleccionado,
+este archivo puede ser muy grande. Podría tardar muchos minutos
+crear y transferir el archivo. Además necesitará suficiente espacio el el disco
+local para almacenarlo.
+</p>
+<form action="\$MyURL" method="post">
+<input type="hidden" name="host" value="\${EscHTML(\$host)}">
+<input type="hidden" name="num" value="\$num">
+<input type="hidden" name="type" value="2">
+\$hiddenStr
+<input type="hidden" value="\$In{action}" name="action">
+<input type="checkbox" value="1" name="relative" checked> Hacer archivo relativo
+a \${EscHTML(\$pathHdr eq "" ? "/" : \$pathHdr)}
+(en caso contrario el archivo contendrá las rutas completas).
+<br>
+Compresión (0=desactivada, 1=rápida,...,9=máxima)
+<input type="text" size="6" value="5" name="compressLevel">
+<br>
+<input type="submit" value="Download Zip File" name="">
+</form>
+EOF
+
+# ------------------------------
+
+$Lang{Option_2__Download_Zip_archive2} = <<EOF;
+<p>
+\${h2("Opción 2: Descargar archivo Zip")}
+<p>
+El programa Archive::Zip no está instalado, de modo que no podrá descargar un
+archivo comprimido zip.
+Por favor, solicite a su administrador de sistemas que instale Archive::Zip de
+<a href="http://www.cpan.org">www.cpan.org</a>.
+</p>
+EOF
+
+
+# ------------------------------
+$Lang{Option_3__Download_Zip_archive} = <<EOF;
+\${h2("Opción 3: Descargar archivo Tar")}
+<p>
+Puede descargar un archivo comprimido (.Tar) conteniendo todos los archivos y
+directorios que ha seleccionado. Después puede hacer uso de una aplicación
+local, como Tar o WinZip,para ver o extraer cualquiera de los archivos.
+</p><p>
+<b>¡Atención!:</b> Dependiendo de que archivos/carpetas haya seleccionado,
+este archivo puede ser muy grande. Podría tardar muchos minutos
+crear y transferir el archivo. Además necesitará suficiente espacio el el disco
+local para almacenarlo.
+</p>
+<form action="\$MyURL" method="post">
+<input type="hidden" name="host" value="\${EscHTML(\$host)}">
+<input type="hidden" name="num" value="\$num">
+<input type="hidden" name="type" value="1">
+\$hiddenStr
+<input type="hidden" value="\$In{action}" name="action">
+<input type="checkbox" value="1" name="relative" checked> Hacer el archivo
+relativo a \${EscHTML(\$pathHdr eq "" ? "/" : \$pathHdr)}
+(en caso contrario el archivo contendrá las rutas completas).
+<br>
+<input type="submit" value="Download Tar File" name="">
+</form>
+EOF
+
+
+# ------------------------------
+$Lang{Restore_Confirm_on__host} = "BackupPC: Restore Confirm on \$host";
+
+$Lang{Are_you_sure} = <<EOF;
+\${h1("¿Está seguro?")}
+<p>
+Está a punto de comenzar una restauración directamente a la máquina \$In{hostDest}.
+Los siguientes archivos serán restaurados en la unidad \$In{shareDest}, de
+la copia de seguridad número \$num:
+<p>
+<table border>
+<tr><td>Archivo/Dir Original </td><td>Será restaurado a</td></tr>
+\$fileListStr
+</table>
+
+<form 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">
+\$hiddenStr
+Do you really want to do this?
+<input type="submit" value="\$In{action}" name="action">
+<input type="submit" value="No" name="">
+</form>
+EOF
+
+
+# --------------------------
+$Lang{Restore_Requested_on__hostDest} = "BackupPC: Restauración solicitada en \$hostDest";
+$Lang{Reply_from_server_was___reply} = <<EOF;
+\${h1(\$str)}
+<p>
+La respuesta del servidor fué: \$reply
+<p>
+ENG Go back to <a href="\$MyURL?host=\$hostDest">\$hostDest home page</a>.
+EOF
+
+$Lang{BackupPC_Archive_Reply_from_server} = <<EOF;
+ENG\${h1(\$str)}
+<p>
+Reply from server was: \$reply
+EOF
+
+# -------------------------
+$Lang{Host__host_Backup_Summary} = "BackupPC: Host \$host Resumen de Copia de Seguridad";
+
+$Lang{Host__host_Backup_Summary2} = <<EOF;
+\${h1("Host \$host Backup Summary")}
+<p>
+\$warnStr
+<ul>
+\$statusStr
+</ul>
+</p>
+\${h2("Acciones del Usuario")}
+<p>
+<form action="\$MyURL" method="get">
+<input type="hidden" name="host" value="\$host">
+\$startIncrStr
+<input type="submit" value="$Lang{Start_Full_Backup}" name="action">
+<input type="submit" value="$Lang{Stop_Dequeue_Backup}" name="action">
+</form>
+</p>
+\${h2("Resumen de Copia de Seguridad")}
+<p>
+Haga click en el número de copia de seguridad para revisar y restaurar archivos.
+</p>
+<table class="tableStnd" border cellspacing="1" cellpadding="3">
+<tr class="tableheader"><td align="center"> Copia Nº </td>
+    <td align="center"> Tipo </td>
+    <td align="center"> Completo </td>
+    <td align="center"> Fecha Inicio </td>
+    <td align="center"> Duracion/mn </td>
+    <td align="center"> Antigüedad/dias </td>
+    <td align="center"> Ruta a la Copia en el Servidor </td>
+</tr>
+\$str
+</table>
+<p>
+
+\$restoreStr
+</p>
+<br><br>
+\${h2("Resumen de Errores de Transferencia")}
+<br><br>
+<table class="tableStnd" border cellspacing="1" cellpadding="3" width="80%">
+<tr class="tableheader"><td align="center"> Copia Nº </td>
+    <td align="center"> Tipo </td>
+    <td align="center"> Ver </td>
+    <td align="center"> Nº Xfer errs </td>
+    <td align="center"> Nº err. archivos </td>
+    <td align="center"> Nº err. unidades </td>
+    <td align="center"> Nº err. tar </td>
+</tr>
+\$errStr
+</table>
+<br><br>
+
+\${h2("Resumen de Total/Tamaño de Archivos Reutilizados")}
+<p>
+Los archivos existentes son aquellos que ya están en el lote; los nuevos son
+aquellos que se han añadido al lote.
+Los archivos vacíos y los errores SMB no cuentan en las cifras de reutilizados
+ni en la de nuevos.
+</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"> Totales </td>
+    <td align="center" colspan="2"> Archivos Existentes </td>
+    <td align="center" colspan="2"> Archivos Nuevos </td>
+</tr>
+<tr class="tableheader">
+    <td align="center"> Copia Nº </td>
+    <td align="center"> Tipo </td>
+    <td align="center"> Nº Archivos </td>
+    <td align="center"> Tamaño/MB </td>
+    <td align="center"> MB/sg </td>
+    <td align="center"> Nº Archivos </td>
+    <td align="center"> Tamaño/MB </td>
+    <td align="center"> Nº Archivos </td>
+    <td align="center"> Tamaño/MB </td>
+</tr>
+\$sizeStr
+</table>
+<br><br>
+
+\${h2("Resumen de Compresión")}
+<p>
+Efectividad de compresión para los archivos ya existentes en el lote y los
+archivos nuevos comprimidos.
+</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"> Archivos Existentes </td>
+    <td align="center" colspan="3"> Archivos Nuevos </td>
+</tr>
+<tr class="tableheader"><td align="center"> Copia Nº </td>
+    <td align="center"> Tipo </td>
+    <td align="center"> Nivel Comp </td>
+    <td align="center"> Tamaño/MB </td>
+    <td align="center"> Comp/MB </td>
+    <td align="center"> Comp </td>
+    <td align="center"> Tamaño/MB </td>
+    <td align="center"> Comp/MB </td>
+    <td align="center"> Comp </td>
+</tr>
+\$compStr
+</table>
+<br><br>
+EOF
+
+$Lang{Host__host_Archive_Summary} = "BackupPC: Host \$host Archive Summary";
+$Lang{Host__host_Archive_Summary2} = <<EOF;
+ENG\${h1("Host \$host Archive Summary")}
+<p>
+\$warnStr
+<ul>
+\$statusStr
+</ul>
+
+\${h2("User Actions")}
+<p>
+<form action="\$MyURL" method="get">
+<input type="hidden" name="archivehost" value="\$host">
+<input type="hidden" name="host" value="\$host">
+<input type="submit" value="$Lang{Start_Archive}" name="action">
+<input type="submit" value="$Lang{Stop_Dequeue_Archive}" name="action">
+</form>
+
+\$ArchiveStr
+
+EOF
+
+# -------------------------
+$Lang{Error} = "BackupPC: Error";
+$Lang{Error____head} = <<EOF;
+\${h1("Error: \$head")}
+<p>\$mesg</p>
+EOF
+
+# -------------------------
+$Lang{NavSectionTitle_} = "Servidor";
+
+# -------------------------
+$Lang{Backup_browse_for__host} = <<EOF;
+\${h1("Revisar Copia de seguridad de \$host")}
+
+<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>
+
+<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> Está revisando la copia de seguridad Nº\$num, que comenzó hacia las \$backupTime
+        (hace \$backupAge dias),
+\$filledBackup
+<li> ENG Enter directory: <input type="text" name="dir" size="50" maxlength="4096" value="\${EscHTML(\$dir)}"> <input type="submit" value="\$Lang->{Go}" name="Submit">
+<li> Haga click en uno de los directorios de abajo para revisar sus contenidos,
+<li> Haga click en un archivo para restaurarlo,
+<li> ENG You can view the backup <a href="\$MyURL?action=dirHistory&host=\${EscURI(\$host)}&share=\$shareURI&dir=\$pathURI">history</a> of the current directory.
+</ul>
+</form>
+
+\${h2("Contenido de \${EscHTML(\$dirDisplay)}")}
+<form name="form1" 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="fcbMax" value="\$checkBoxCnt">
+<input type="hidden" name="action" value="$Lang{Restore}">
+<br>
+<table width="100%">
+<tr><td valign="top">
+    <br><table align="center" border="0" cellpadding="0" cellspacing="0" bgcolor="#ffffff">
+    \$dirStr
+    </table>
+</td><td width="3%">
+</td><td valign="top">
+    <br>
+        <table border="0" width="100%" align="left" cellpadding="3" cellspacing="1">
+        \$fileHeader
+        \$topCheckAll
+        \$fileStr
+        \$checkAll
+        </table>
+    </td></tr></table>
+<br>
+<!--
+This is now in the checkAll row
+<input type="submit" name="Submit" value="Restore selected files">
+-->
+</form>
+EOF
+
+# ------------------------------
+$Lang{DirHistory_backup_for__host} = "(ENGLISH) BackupPC: Directory backup history for \$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}  = "ENG dir";
+$Lang{DirHistory_fileLink} = "ENG v";
+
+$Lang{DirHistory_for__host} = <<EOF;
+ENG\${h1("Directory backup history for \$host")}
+<p>
+This display shows each unique version of files across all
+the backups:
+<ul>
+<li> Click on a backup number to return to the backup browser,
+<li> Click on a directory link (\$Lang->{DirHistory_dirLink}) to navigate
+     into that directory,
+<li> Click on a file version link (\$Lang->{DirHistory_fileLink}0,
+     \$Lang->{DirHistory_fileLink}1, ...) to download that file,
+<li> Files with the same contents between different backups have the same
+     version number,
+<li> Files or directories not present in a particular backup have an
+     empty box.
+<li> Files shown with the same version might have different attributes.
+     Select the backup number to see the file attributes.
+</ul>
+
+\${h2("History of \${EscHTML(\$dirDisplay)}")}
+
+<br>
+<table cellspacing="2" cellpadding="3">
+<tr class="fviewheader"><td>Backup number</td>\$backupNumStr</tr>
+<tr class="fviewheader"><td>Backup time</td>\$backupTimeStr</tr>
+\$fileStr
+</table>
+EOF
+
+# ------------------------------
+$Lang{Restore___num_details_for__host} = "BackupPC: Detalles de la restauración Nº\$num de \$host";
+
+$Lang{Restore___num_details_for__host2 } = <<EOF;
+\${h1("Detalles de la restauración Nº\$num de \$host")}
+<p>
+<table class="tableStnd" border cellspacing="1" cellpadding="3" width="50%">
+<tr><td class="tableheader"> Número </td><td class="border"> \$Restores[\$i]{num} </td></tr>
+<tr><td class="tableheader"> Solicitado por </td><td class="border"> \$RestoreReq{user} </td></tr>
+<tr><td class="tableheader"> Hora Petición </td><td class="border"> \$reqTime </td></tr>
+<tr><td class="tableheader"> Resultado </td><td class="border"> \$Restores[\$i]{result} </td></tr>
+<tr><td class="tableheader"> Mensaje de Error </td><td class="border"> \$Restores[\$i]{errorMsg} </td></tr>
+<tr><td class="tableheader"> Host Origen </td><td class="border"> \$RestoreReq{hostSrc} </td></tr>
+<tr><td class="tableheader"> Nº copia origen </td><td class="border"> \$RestoreReq{num} </td></tr>
+<tr><td class="tableheader"> Unidad origen </td><td class="border"> \$RestoreReq{shareSrc} </td></tr>
+<tr><td class="tableheader"> Host destino </td><td class="border"> \$RestoreReq{hostDest} </td></tr>
+<tr><td class="tableheader"> Unidad destino </td><td class="border"> \$RestoreReq{shareDest} </td></tr>
+<tr><td class="tableheader"> Hora comienzo </td><td class="border"> \$startTime </td></tr>
+<tr><td class="tableheader"> Duración </td><td class="border"> \$duration min </td></tr>
+<tr><td class="tableheader"> Número de archivos </td><td class="border"> \$Restores[\$i]{nFiles} </td></tr>
+<tr><td class="tableheader"> Tamaño total </td><td class="border"> \${MB} MB </td></tr>
+<tr><td class="tableheader"> Tasa de transferencia </td><td class="border"> \$MBperSec MB/sec </td></tr>
+<tr><td class="tableheader"> Errores creación Tar </td><td class="border"> \$Restores[\$i]{tarCreateErrs} </td></tr>
+<tr><td class="tableheader"> Errores de transferencia </td><td class="border"> \$Restores[\$i]{xferErrs} </td></tr>
+<tr><td class="tableheader"> Archivo registro de transferencia </td><td class="border">
+<a href="\$MyURL?action=view&type=RestoreLOG&num=\$Restores[\$i]{num}&host=\$host">View</a>,
+<a href="\$MyURL?action=view&type=RestoreErr&num=\$Restores[\$i]{num}&host=\$host">Errors</a>
+</tr></tr>
+</table>
+</p>
+\${h1("Lista de Archivos/Directorios")}
+<p>
+<table class="tableStnd" border cellspacing="1" cellpadding="3" width="100%">
+<tr class="tableheader"><td>Dir/archivo original</td><td>Restaurado a</td></tr>
+\$fileListStr
+</table>
+EOF
+
+# ------------------------------
+$Lang{Archive___num_details_for__host} = "ENG BackupPC: Archive #\$num details for \$host";
+
+$Lang{Archive___num_details_for__host2 } = <<EOF;
+ENG\${h1("Archive #\$num Details for \$host")}
+<p>
+<table class="tableStnd" border cellspacing="1" cellpadding="3" width="50%">
+<tr><td class="tableheader"> Number </td><td class="border"> \$Archives[\$i]{num} </td></tr>
+<tr><td class="tableheader"> Requested by </td><td class="border"> \$ArchiveReq{user} </td></tr>
+<tr><td class="tableheader"> Request time </td><td class="border"> \$reqTime </td></tr>
+<tr><td class="tableheader"> Result </td><td class="border"> \$Archives[\$i]{result} </td></tr>
+<tr><td class="tableheader"> Error Message </td><td class="border"> \$Archives[\$i]{errorMsg} </td></tr>
+<tr><td class="tableheader"> Start time </td><td class="border"> \$startTime </td></tr>
+<tr><td class="tableheader"> Duration </td><td class="border"> \$duration min </td></tr>
+<tr><td class="tableheader"> Xfer log file </td><td class="border">
+<a href="\$MyURL?action=view&type=ArchiveLOG&num=\$Archives[\$i]{num}&host=\$host">View</a>,
+<a href="\$MyURL?action=view&type=ArchiveErr&num=\$Archives[\$i]{num}&host=\$host">Errors</a>
+</tr></tr>
+</table>
+<p>
+\${h1("Host list")}
+<p>
+<table class="tableStnd" border cellspacing="1" cellpadding="3" width="80%">
+<tr class="tableheader"><td>Host</td><td>Backup Number</td></tr>
+\$HostListStr
+</table>
+EOF
+
+# -----------------------------------
+$Lang{Email_Summary} = "BackupPC: Resumen de Correos";
+
+# -----------------------------------
+#  !! ERROR messages !!
+# -----------------------------------
+$Lang{BackupPC__Lib__new_failed__check_apache_error_log} = "BackupPC::Lib->nuevo ha fallado: revise el error_log de apache\n";
+$Lang{Wrong_user__my_userid_is___} =  
+              "Usuario erróneo: mi userid es \$>, en lugar de \$uid"
+            . "(\$Conf{BackupPCUser})\n";
+# $Lang{Only_privileged_users_can_view_PC_summaries} = "Sólo los usuarios autorizados pueden ver los resúmenes de PC´s.";
+$Lang{Only_privileged_users_can_stop_or_start_backups} = 
+                  "Sólo los usuarios autorizados pueden comenzar a detener las copias"
+               . " \${EscHTML(\$host)}.";
+$Lang{Invalid_number__num} = "Número no válido \$num";
+$Lang{Unable_to_open__file__configuration_problem} = "No puedo abrir \$file: ¿problema de configuración?";
+$Lang{Only_privileged_users_can_view_log_or_config_files} = "Sólo los usuarios autorizados pueden ver registros o archivos de configuración.";
+$Lang{Only_privileged_users_can_view_log_files} = "Sólo los usuarios autorizados pueden ver archivos de registro.";
+$Lang{Only_privileged_users_can_view_email_summaries} = "Sólo los usuarios autorizados pueden ver resúmenes de correo.";
+$Lang{Only_privileged_users_can_browse_backup_files} = "Sólo los usuarios autorizados pueden revisar los archivos de las copias de seguridad"
+                . " for host \${EscHTML(\$In{host})}.";
+$Lang{Empty_host_name} = "Número de host vacío.";
+$Lang{Directory___EscHTML} = "El directorio \${EscHTML(\"\$TopDir/pc/\$host/\$num\")}"
+                   . " está vacío";
+$Lang{Can_t_browse_bad_directory_name2} = "No puedo mostrar un nombre de directorio erróneo"
+                   . " \${EscHTML(\$relDir)}";
+$Lang{Only_privileged_users_can_restore_backup_files} = "Sólo los usuarios autorizados pueden restaurar copias de seguridad"
+                . " para el host \${EscHTML(\$In{host})}.";
+$Lang{Bad_host_name} = "Nombre de host erróneo \${EscHTML(\$host)}";
+$Lang{You_haven_t_selected_any_files__please_go_Back_to} = "No ha seleccionado nigún archivo; por favor, vuelva a"
+                . " seleccione algunos archivos.";
+$Lang{You_haven_t_selected_any_hosts} = "ENG You haven\'t selected any hosts; please go Back to"
+                . " select some hosts.";
+$Lang{Nice_try__but_you_can_t_put} = "Buen intento, pero no puede usar \'..\' en los nombres de archivo";
+$Lang{Host__doesn_t_exist} = "El Host \${EscHTML(\$In{hostDest})} no existe";
+$Lang{You_don_t_have_permission_to_restore_onto_host} = "No tiene autorización para restaurar en el host"
+                   . " \${EscHTML(\$In{hostDest})}";
+$Lang{Can_t_open_create} = "No puedo abrir/crear "
+                    . "\${EscHTML(\"\$TopDir/pc/\$hostDest/\$reqFileName\")}";
+$Lang{Only_privileged_users_can_restore_backup_files2} = "Sólo los usuarios autorizados pueden restaurar copias de seguridad"
+                . " del host \${EscHTML(\$host)}.";
+$Lang{Empty_host_name} = "Nombre de host vacío";
+$Lang{Unknown_host_or_user} = "Unknown host or user \${EscHTML(\$host)}";
+$Lang{Only_privileged_users_can_view_information_about} = "Sólo los usuarios autorizados pueden ver información del"
+                . " host \${EscHTML(\$host)}." ;
+$Lang{Only_privileged_users_can_view_archive_information} = "ENG Only privileged users can view archive information.";
+$Lang{Only_privileged_users_can_view_restore_information} = "Sólo los usuarios autorizados pueden ver información de restauración.";
+$Lang{Restore_number__num_for_host__does_not_exist} = "El número de restauración \$num del host \${EscHTML(\$host)} "
+               . " no existe.";
+$Lang{Archive_number__num_for_host__does_not_exist} = "ENG Archive number \$num for host \${EscHTML(\$host)} does"
+                . " not exist.";
+$Lang{Can_t_find_IP_address_for} = "No puedo encontrar la dirección IP de \${EscHTML(\$host)}";
+$Lang{host_is_a_DHCP_host} = <<EOF;
+\$host es un host DHCP y yo no conozco su dirección IP. He comprobado el
+nombre netbios de \$ENV{REMOTE_ADDR}\$tryIP, y he verificado que esa máquina
+no es \$host.
+<p>
+Hasta que vea \$host en una dirección DHCP concreta, sólo puede
+comenzar este proceso desde la propia máquina cliente.
+EOF
+
+# ------------------------------------
+# !! Server Mesg !!
+# ------------------------------------
+
+$Lang{Backup_requested_on_DHCP__host} = "Copia de seguridad solicitada en DHCP \$host (\$In{hostIP}) por"
+                                     . " \$User desde \$ENV{REMOTE_ADDR}";
+$Lang{Backup_requested_on__host_by__User} = "Copia de seguridad solicitada en \$host por \$User";
+$Lang{Backup_stopped_dequeued_on__host_by__User} = "Copia de seguridad detenida/desprogramada en \$host por \$User";
+$Lang{Restore_requested_to_host__hostDest__backup___num} = "Restauración solicitada para el host \$hostDest, copia de seguridad #\$num,"
+            . " por \$User desde \$ENV{REMOTE_ADDR}";
+$Lang{Archive_requested} = "ENG Archive requested by \$User from \$ENV{REMOTE_ADDR}";
+
+# -------------------------------------------------
+# ------- Stuff that was forgotten ----------------
+# -------------------------------------------------
+
+$Lang{Status} = "Estado";
+$Lang{PC_Summary} = "Resumen PC";
+$Lang{LOG_file} = "Archivo Registro";
+$Lang{LOG_files} = "ENG LOG files";
+$Lang{Old_LOGs} = "Registros antiguos";
+$Lang{Email_summary} = "Resumen correo";
+$Lang{Config_file} = "Archivo configuración";
+$Lang{Hosts_file} = "Archivo Hosts";
+$Lang{Current_queues} = "Colas actuales";
+$Lang{Documentation} = "Documentación";
+
+#$Lang{Host_or_User_name} = "<small>Host o usuario:</small>";
+$Lang{Go} = "Aceptar";
+$Lang{Hosts} = "Hosts";
+$Lang{Select_a_host} = "ENGLISH Select a host...";
+
+$Lang{There_have_been_no_archives} = "<h2> ENG There have been no archives </h2>\n";
+$Lang{This_PC_has_never_been_backed_up} = "<h2> !Nunca se ha hecho copia de seguridad de este PC! </h2>\n";
+$Lang{This_PC_is_used_by} = "<li>This PC es utilizado por \${UserLink(\$user)}";
+
+$Lang{Extracting_only_Errors} = "(Extrayendo sólo Errores)";
+$Lang{XferLOG} = "TransfREG";
+$Lang{Errors}  = "Errores";
+
+# ------------
+$Lang{Last_email_sent_to__was_at___subject} = <<EOF;
+<li>El último mensaje enviado a  \${UserLink(\$user)} fué a las \$mailTime, asunto "\$subj".
+EOF
+# ------------
+$Lang{The_command_cmd_is_currently_running_for_started} = <<EOF;
+<li>El comando \$cmd está ejecutandose para \$host, comenzado a \$startTime.
+EOF
+
+# -----------
+$Lang{Host_host_is_queued_on_the_background_queue_will_be_backed_up_soon} = <<EOF;
+<li>El host \$host está en cola en la cola en segundo plano (pronto tendrá copia de seguridad).
+EOF
+
+# ----------
+$Lang{Host_host_is_queued_on_the_user_queue__will_be_backed_up_soon} = <<EOF;
+<li>Host \$host está en cola en la cola de usuarios (pronto tendrá copia de seguridad).
+EOF
+
+# ---------
+$Lang{A_command_for_host_is_on_the_command_queue_will_run_soon} = <<EOF;
+<li>Un comando para \$host está en la cola de comandos (se ejecutará pronto).
+EOF
+
+# --------
+$Lang{Last_status_is_state_StatusHost_state_reason_as_of_startTime} = <<EOF;
+<li>El último estado fué \"\$Lang->{\$StatusHost{state}}\"\$reason a las \$startTime.
+EOF
+
+# --------
+$Lang{Last_error_is____EscHTML_StatusHost_error} = <<EOF;
+<li>El último error fué \"\${EscHTML(\$StatusHost{error})}\".
+EOF
+
+# ------
+$Lang{Pings_to_host_have_failed_StatusHost_deadCnt__consecutive_times} = <<EOF;
+<li>Los pings a \$host han fallado \$StatusHost{deadCnt} veces consecutivas.
+EOF
+
+# -----
+$Lang{Prior_to_that__pings} = "Antes de eso, pings";
+
+# -----
+$Lang{priorStr_to_host_have_succeeded_StatusHostaliveCnt_consecutive_times} = <<EOF;
+<li>\$priorStr a \$host han tenido éxito \$StatusHost{aliveCnt}
+        veces consecutivas.
+EOF
+
+$Lang{Because__host_has_been_on_the_network_at_least__Conf_BlackoutGoodCnt_consecutive_times___} = <<EOF;
+<li>Dado que \$host ha estado en la red al menos \$Conf{BlackoutGoodCnt}
+veces consecutivas, no se le realizará copia de seguridad desde \$blackoutStr.
+EOF
+
+$Lang{__time0_to__time1_on__days} = "\$t0 hasta \$t1 en \$days";
+
+$Lang{Backups_are_deferred_for_hours_hours_change_this_number} = <<EOF;
+<li>Las copias de seguridad se retrasarán durante \$hours hours
+(<a href=\"\$MyURL?action=\${EscURI(\$Lang->{Stop_Dequeue_Archive})}&host=\$host\">Cambie este número</a>).
+EOF
+
+$Lang{tryIP} = " y \$StatusHost{dhcpHostIP}";
+
+#$Lang{Host_Inhost} = "Host \$In{host}";
+
+$Lang{checkAll} = <<EOF;
+<tr><td class="fviewborder">
+<input type="checkbox" name="allFiles" onClick="return checkAll('allFiles');">&nbsp;Seleccionar todo
+</td><td colspan="5" align="center" class="fviewborder">
+<input type="submit" name="Submit" value="Restaurar los archivos seleccionados">
+</td></tr>
+EOF
+
+$Lang{checkAllHosts} = <<EOF;
+<tr><td class="fviewborder">
+<input type="checkbox" name="allFiles" onClick="return checkAll('allFiles');">&nbsp;ENG Select all
+</td><td colspan="2" align="center" class="fviewborder">
+<input type="submit" name="Submit" value="ENG Archive selected hosts">
+</td></tr>
+EOF
+
+$Lang{fileHeader} = <<EOF;
+    <tr class="fviewheader"><td align=center> Nombre</td>
+       <td align="center"> Tipo</td>
+       <td align="center"> Modo</td>
+       <td align="center"> Nº</td>
+       <td align="center"> Tamaño</td>
+       <td align="center"> Hora Mod.</td>
+    </tr>
+EOF
+
+$Lang{Home} = "Principal";
+$Lang{Browse} = "ENG Browse backups";
+$Lang{Last_bad_XferLOG} = "Ultimo error en registro de transferencia";
+$Lang{Last_bad_XferLOG_errors_only} = "Ultimo error en registro de transferencia (errores&nbsp;sólo)";
+
+$Lang{This_display_is_merged_with_backup} = <<EOF;
+<li> Esta pantalla está unida a la copia de seguridad Nº\$numF.
+EOF
+
+$Lang{Visit_this_directory_in_backup} = <<EOF;
+<li> ENG Select the backup you wish to view: <select onChange="window.location=this.value">\$otherDirs </select>
+EOF
+
+$Lang{Restore_Summary} = <<EOF;
+\${h2("Resumen de Restauración")}
+<p>
+Haga click en el número de restauración para ver sus detalles.
+<table class="tableStnd" border cellspacing="1" cellpadding="3" width="80%">
+<tr class="tableheader"><td align="center"> Restauración Nº </td>
+    <td align="center"> Resultado </td>
+    <td align="right"> Fecha Inicio</td>
+    <td align="right"> Dur/mins</td>
+    <td align="right"> Nº Archivos </td>
+    <td align="right"> MB </td>
+    <td align="right"> Nº Err. Tar </td>
+    <td align="right"> Nº Err. Transf.#xferErrs </td>
+</tr>
+\$restoreStr
+</table>
+<p>
+EOF
+
+$Lang{Archive_Summary} = <<EOF;
+ENG\${h2("Archive Summary")}
+<p>
+Click on the archive number for more details.
+<table class="tableStnd" border cellspacing="1" cellpadding="3" width="80%">
+<tr class="tableheader"><td align="center"> Archive# </td>
+    <td align="center"> Result </td>
+    <td align="right"> Start Date</td>
+    <td align="right"> Dur/mins</td>
+</tr>
+\$ArchiveStr
+</table>
+<p>
+EOF
+
+$Lang{BackupPC__Documentation} = "BackupPC: Documentacion";
+
+$Lang{No} = "no";
+$Lang{Yes} = "si";
+
+$Lang{The_directory_is_empty} = <<EOF;
+<tr><td bgcolor="#ffffff">El directorio \${EscHTML(\$dirDisplay)} está vacio
+</td></tr>
+EOF
+
+#$Lang{on} = "activo";
+$Lang{off} = "inactivo";
+
+$Lang{backupType_full}    = "completo";
+$Lang{backupType_incr}    = "incremental";
+$Lang{backupType_partial} = "ENG partial";
+
+$Lang{failed} = "fallido";
+$Lang{success} = "éxito";
+$Lang{and} = "y";
+
+# ------
+# Hosts states and reasons
+$Lang{Status_idle} = "inactivo";
+$Lang{Status_backup_starting} = "comenzando copia de seguridad";
+$Lang{Status_backup_in_progress} = "copia de seguridad ejecutándose";
+$Lang{Status_restore_starting} = "comenzando restauración";
+$Lang{Status_restore_in_progress} = "restauración ejecutándose";
+$Lang{Status_link_pending} = "conexión pendiente";
+$Lang{Status_link_running} = "conexión en curso";
+
+$Lang{Reason_backup_done} = "copia de seguridad realizada";
+$Lang{Reason_restore_done} = "restauración realizada";
+$Lang{Reason_archive_done}   = "ENG archive done";
+$Lang{Reason_nothing_to_do} = "nada por hacer";
+$Lang{Reason_backup_failed} = "copia de seguridad fallida";
+$Lang{Reason_restore_failed} = "restauración fallida";
+$Lang{Reason_archive_failed} = "ENG archive failed";
+$Lang{Reason_no_ping} = "no hay ping";
+$Lang{Reason_backup_canceled_by_user} = "copia cancelada por el usuario";
+$Lang{Reason_restore_canceled_by_user} = "restauración cancelada por el usuario";
+$Lang{Reason_archive_canceled_by_user} = "ENG archive canceled by user";
+
+# ---------
+# Email messages
+
+# No backup ever
+$Lang{EMailNoBackupEverSubj} = "BackupPC: ningúna copia de \$host ha tenido éxito";
+$Lang{EMailNoBackupEverMesg} = <<'EOF';
+To: $user$domain
+cc:
+Subject: $subj
+
+Estimado $userName,
+
+Su PC ($host) nunca ha completado una copia de seguridad mediante nuestro
+programa de copias de seguridad. Las copias de seguridad deberían ejecutarse
+automáticamente cuando su PC se conecta a la red. Debería contactar con su
+soporte técnico si:
+
+  - Su ordenador ha estado conectado a la red con regularidad. Esto implicaría
+    que existe algún problema de instalación o configuración que impide que se
+    realicen las copias de seguridad.
+
+  - No desea realizar copias de seguridad y no quiere recibir más mensajes
+    como éste.
+
+De no ser así, asegúrese de que su PC está conectado a la red la próxima vez
+que esté en la oficina.
+
+Saludos:
+Agente BackupPC
+http://backuppc.sourceforge.net
+EOF
+
+# No recent backup
+$Lang{EMailNoBackupRecentSubj} = "BackupPC: no hay copias de seguridad recientes de \$host";
+$Lang{EMailNoBackupRecentMesg} = <<'EOF';
+To: $user$domain
+cc:
+Subject: $subj
+
+Estimado $userName,
+
+No se ha podido completar ninguna copia de seguridad de su PC ($host) durante
+$days días.
+Su PC ha realizado copias de seguridad correctas $numBackups veces desde
+$firstTime hasta hace $days días.
+Las copias de seguridad deberían efectuarse automáticamente cuando su PC está
+conectado a la red.
+
+Si su PC ha estado conectado durante algunas horas a la red durante los últimos
+$days días debería contactar con su soporte técnico para ver porqué las copias
+de seguridad no funcionan adecuadamente.
+
+Por otro lado, si está fuera de la oficina, no hay mucho que se pueda hacer al
+respecto salvo copiar manualmente los archivos especialmente críticos a otro
+soporte físico. Debería estar al corriente de que cualquier archivo que haya
+creado o modificado en los últimos $days días (incluyendo todo el correo nuevo
+y archivos adjuntos) no pueden ser restaurados si su disco se avería.
+
+Saludos:
+Agente BackupPC
+http://backuppc.sourceforge.net
+EOF
+
+# Old Outlook files
+$Lang{EMailOutlookBackupSubj} = "BackupPC: Los archivos de Outlook de \$host necesitan ser copiados";
+$Lang{EMailOutlookBackupMesg} = <<'EOF';
+To: $user$domain
+cc:
+Subject: $subj
+
+Estimado $userName,
+
+Los archivos de Outlook de su PC tienen $howLong.
+Estos archivos contienen todo su correo, adjuntos, contactos e información de
+su agenda. Su PC ha sido correctamente salvaguardado $numBackups veces desde
+$firstTime hasta hace $lastTime días.  Sin embargo, Outlook bloquea todos sus
+archivos mientras funciona, impidiendo que pueda hacerse copia de seguridad de
+los mismos.
+
+Se le recomienda hacer copia de seguridad de los archivos de Outlook cuando esté
+conectado a la red cerrando Outlook y el resto de aplicaciones y utilizando su
+navegador de internet. Haga click en este vínculo:
+
+    $CgiURL?host=$host               
+
+Seleccione "Comenzar copia de seguridad incremental" dos veces para comenzar
+una neva copia de seguridad incremental.
+Puede seleccionar "Volver a la página de $host " y hacer click en "refrescar"
+para ver el estado del proceso de copia de seguridad. Debería llevarle sólo
+unos minutos completar el proceso.
+
+Saludos:
+Agente BackupPC
+http://backuppc.sourceforge.net
+EOF
+
+$Lang{howLong_not_been_backed_up} = "no se le ha realizado una copia de seguridad con éxito";
+$Lang{howLong_not_been_backed_up_for_days_days} = "no se le ha realizado una copia de seguridad durante \$days días";
+
+#end of lang_en.pm