-#!/bin/perl -T
+#!/bin/perl
#my %lang;
# --------------------------------
+$Lang{Start_Archive} = "Comenzar archivado";
+$Lang{Stop_Dequeue_Archive} = "Parar/anular archivado";
$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} = "completo";
+$Lang{Type_incr} = "incremental";
+
# -----
-$Lang{H_BackupPC_Server_Status} = "Estado del Servidor BackupPC";
+$Lang{Only_privileged_users_can_view_admin_options} = "Sólo los superusuarios pueden ver las opciones de administración.";
+$Lang{H_Admin_Options} = "Servidor BackupPC: Opciones de administración";
+$Lang{Admin_Options} = "Opciones de administración";
+$Lang{Admin_Options_Page} = <<EOF;
+\${h1(qq{$Lang{Admin_Options}})}
+<br>
+\${h2("Control del Servidor")}
+<form action="\$MyURL" method="get">
+<table>
+<!--<tr><td>Para el servidor:<td><input type="submit" name="action" value="Stop">-->
+ <tr><td>Actualizar configuración del servidor:<td><input type="submit" name="action" value="Reload">
+</table>
+</form>
+<!--
+\${h2("Server Configuration")}
+<ul>
+ <li><i>Espacio para otras opciones... e.j.,</i>
+ <li>Editar configuración del servidor
+</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;
+\${h1(qq{$Lang{Unable_to_connect_to_BackupPC_server}})}
+<form action="\$MyURL" method="get">
+El servidor BackupPC en <tt>\$Conf{ServerHost}</tt> port <tt>\$Conf{ServerPort}</tt>
+no está en funcionamiento ahora (puede haberlo detenido o no haberlo arrancado aún).<br>
+¿Quiere inicializarlo?
+<input type="hidden" name="action" value="startServer">
+<input type="submit" value="Start Server" name="ignore">
+</form>
+EOF
-$Lang{BackupPC_Server_Status}= <<EOF;
-\${h1(qq{$Lang{H_BackupPC_Server_Status}})}
+# -----
+$Lang{H_BackupPC_Server_Status} = "Estado del Servidor BackupPC";
-<p>
+$Lang{BackupPC_Server_Status_General_Info}= <<EOF;
\${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> La última configuración ha sido cargada a las \$configLoadTime
<li> La cola de PC´s se activará de nuevo el \$nextWakeupTime.
<li> Información adicional:
<ul>
y el máximo de ayer era \$Info{DUDailyMaxPrev}%.
</ul>
</ul>
+EOF
+
+$Lang{BackupPC_Server_Status} = <<EOF;
+\${h1(qq{$Lang{H_BackupPC_Server_Status}})}
+
+<p>
+\$generalInfo
\${h2("Trabajos en Ejecución")}
<p>
-<table border>
-<tr><td> Host </td>
+<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>
\${h2("Fallos que Precisan Atención")}
<p>
-<table border>
-<tr><td align="center"> Host </td>
+<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>
# --------------------------------
$Lang{BackupPC__Server_Summary} = "BackupPC: Resumen del Servidor";
+$Lang{BackupPC__Archive} = "BackupPC: Archivo";
$Lang{BackupPC_Summary}=<<EOF;
\${h1(qq{$Lang{BackupPC__Server_Summary}})}
<p>
Este status ha sido generado el \$now.
-<p>
+</p>
\${h2("Hosts con Buenas Copias de Seguridad")}
<p>
<li> \$incrTot copias de seguridad incrementales con tamaño total de \${incrSizeTot} GB
(antes de agrupar y comprimir).
</ul>
-<table border>
-<tr><td> Host </td>
+</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"> Ultimo Intento </td></tr>
\$strGood
</table>
-<p>
-
+<br><br>
\${h2("Hosts Sin Copias de Seguridad")}
<p>
Hay \$hostCntNone hosts sin copias de seguridad.
<p>
-<table border>
-<tr><td> Host </td>
+<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>
</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>
+
+Hay \$hostCntGood hosts que tienen copia de seguridad con un tamaño total de \${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;
+\${h1(qq{$Lang{BackupPC__Archive}})}
+Se va a hacer copia de seguridad de los siguientes 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;
+<tr>
+ <td>Ubicación de archivo/Dispositivo</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>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;
+<tr>
+ <td>Porcentaje de datos de paridad (0 = deshabilitado, 5 = normal)</td>
+ <td><input type="numeric" value="\$ArchivePar" name="par"></td>
+</tr>
+EOF
+
+$Lang{BackupPC_Archive2_split} = <<EOF;
+<tr>
+ <td>Dividir resultado en</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
# --------------------------------
$Lang{Only_privileged_users_can_view_queues_} = "Sólo los administradores pueden ver las colas.";
# --------------------------------
+$Lang{Only_privileged_users_can_archive} = "Sólo los administradores pueden archivar.";
+# --------------------------------
$Lang{BackupPC__Queue_Summary} = "BackupPC: Resumen de la Cola";
# --------------------------------
$Lang{Backup_Queue_Summary} = <<EOF;
\${h1("Resumen de la Cola de Copias de Seguridad")}
-<p>
+<br><br>
\${h2("Resumen de la Cola de Usuarios")}
<p>
Las siguientes solicitudes de usuarios están actualmente en cola:
-<table border>
-<tr><td> Host </td>
+</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>
-<p>
+<br><br>
\${h2("Resumen de Cola en Segundo Plano")}
<p>
Las siguientes solicitudes en segundo plano están actualmente en cola:
-<table border>
-<tr><td> Host </td>
+</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>
-<p>
-
+<br><br>
\${h2("Resumen de Cola de Comandos")}
<p>
Los siguientes comandos están actualmente en cola:
-<table border>
-<tr><td> Host </td>
+</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>
$Lang{Log_File_History__hdr} = <<EOF;
\${h1("Historial de Archivo de Registro \$hdr")}
<p>
-<table border>
-<tr><td align="center"> File </td>
+<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
$Lang{Recent_Email_Summary} = <<EOF;
\${h1("Resumen de Mensajes Recientes (Orden de tiempo inverso)")}
<p>
-<table border>
-<tr><td align="center"> Destinatario </td>
+<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>
# ------------------------------
$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><p>
Tiene tres opciones para restaurar estos archivos/directorios.
Por favor, seleccione una de las siguientes opciones.
-<p>
+</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><p>
<b>¡Atención!:</b> ¡Cualquier archivo existente con el mismo nombre que los que ha
seleccionado será sobreescrito!
-
-<form action="\$MyURL" method="post">
+</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">
<table border="0">
<tr>
<td>Restaurar los archivos al host</td>
- <td><input type="text" size="40" value="\${EscHTML(\$host)}"
- name="hostDest"></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)}"
</form>
EOF
+$Lang{Restore_Options_for__host_Option1_disabled} = <<EOF;
+Se ha deshabilitado la restauración directa para el host \${EscHTML(\$hostDest)}.
+Por favor seleccione una de las otras opciones de restauración.
+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><p>
<b>¡Atención!:</b> Dependiendo de que archivos/carpetas haya seleccionado,
-este archivo puede ser muy grande. Podría tardar muchos minutos
+este archivo puede ser muy grande. Podría tardar muchos minutos en
crear y transferir el archivo. Además necesitará suficiente espacio el el disco
local para almacenarlo.
-<p>
+</p>
<form action="\$MyURL" method="post">
<input type="hidden" name="host" value="\${EscHTML(\$host)}">
<input type="hidden" name="num" value="\$num">
# ------------------------------
$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>
+</p>
EOF
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><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>
+</p>
<form action="\$MyURL" method="post">
<input type="hidden" name="host" value="\${EscHTML(\$host)}">
<input type="hidden" name="num" value="\$num">
# ------------------------------
-$Lang{Restore_Confirm_on__host} = "BackupPC: Restore Confirm on \$host";
+$Lang{Restore_Confirm_on__host} = "BackupPC: Confirme restauración en \$host";
$Lang{Are_you_sure} = <<EOF;
\${h1("¿Está seguro?")}
<input type="hidden" name="num" value="\$num">
<input type="hidden" name="type" value="4">
\$hiddenStr
-Do you really want to do this?
+¿Realmente quiere hacer esto?
<input type="submit" value="\$In{action}" name="action">
<input type="submit" value="No" name="">
</form>
<p>
La respuesta del servidor fué: \$reply
<p>
-Go back to <a href="\$MyURL?host=\$hostDest">\$hostDest home page</a>.
+volver a <a href="\$MyURL?host=\$hostDest">\$hostDest home page</a>.
+EOF
+
+$Lang{BackupPC_Archive_Reply_from_server} = <<EOF;
+\${h1(\$str)}
+<p>
+La respuesta del servidor fué: \$reply
EOF
# -------------------------
<ul>
\$statusStr
</ul>
-
+</p>
\${h2("Acciones del Usuario")}
<p>
<form action="\$MyURL" method="get">
<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.
-<table border>
-<tr><td align="center"> Copia Nº </td>
+</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>
<p>
\$restoreStr
-
+</p>
+<br><br>
\${h2("Resumen de Errores de Transferencia")}
-<p>
-<table border>
-<tr><td align="center"> Copia Nº </td>
+<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>
</tr>
\$errStr
</table>
-<p>
+<br><br>
\${h2("Resumen de Total/Tamaño de Archivos Reutilizados")}
<p>
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.
-<table border>
-<tr><td colspan="2"></td>
+</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>
+<tr class="tableheader">
<td align="center"> Copia Nº </td>
<td align="center"> Tipo </td>
<td align="center"> Nº Archivos </td>
</tr>
\$sizeStr
</table>
-<p>
+<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.
-<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"> Archivos Existentes </td>
<td align="center" colspan="3"> Archivos Nuevos </td>
</tr>
-<tr><td align="center"> Copia Nº </td>
+<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>
</tr>
\$compStr
</table>
+<br><br>
+EOF
+
+$Lang{Host__host_Archive_Summary} = "BackupPC: Host \$host Archive Summary";
+$Lang{Host__host_Archive_Summary2} = <<EOF;
+\${h1("Resumen de archivo del Host \$host")}
+<p>
+\$warnStr
+<ul>
+\$statusStr
+</ul>
+
+\${h2("Acciones de usuario")}
<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
# -------------------------
//-->
</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> Introduzca el directorio: <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> (ENGLISH) You can view the backup <a href="\$MyURL?action=dirHistory&host=\${EscURI(\$host)}&share=\$shareURI&dir=\$pathURI">history</a> of the current directory.
+<li> Puede ver la copia de seguridad <a href="\$MyURL?action=dirHistory&host=\${EscURI(\$host)}&share=\$shareURI&dir=\$pathURI">history</a> del directorio actual.
</ul>
+</form>
\${h2("Contenido de \${EscHTML(\$dirDisplay)}")}
<form name="form1" method="post" action="\$MyURL">
<input type="hidden" name="fcbMax" value="\$checkBoxCnt">
<input type="hidden" name="action" value="$Lang{Restore}">
<br>
-<table>
+<table width="100%">
<tr><td valign="top">
- <!--Navigate here:-->
<br><table align="center" border="0" cellpadding="0" cellspacing="0" bgcolor="#ffffff">
\$dirStr
</table>
</td><td width="3%">
</td><td valign="top">
- <!--Restore files here:-->
<br>
- <table cellpadding="0" cellspacing="0" bgcolor="#333333"><tr><td>
- <table border="0" width="100%" align="left" cellpadding="2" cellspacing="1">
+ <table border="0" width="100%" align="left" cellpadding="3" cellspacing="1">
\$fileHeader
\$topCheckAll
\$fileStr
This is now in the checkAll row
<input type="submit" name="Submit" value="Restore selected files">
-->
-</td></tr></table>
</form>
EOF
# ------------------------------
-$Lang{DirHistory_backup_for__host} = "(ENGLISH) BackupPC: Directory backup history for \$host";
+$Lang{DirHistory_backup_for__host} = "BackupPC: Histórico de copia de seguridad del directorio en \$host";
-$Lang{DirHistory_for__host} = <<EOF;
-(ENGLISH)
-\${h1("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} = "dir";
+$Lang{DirHistory_fileLink} = "v";
-This display shows each unique version of files across all
-the backups:
+$Lang{DirHistory_for__host} = <<EOF;
+\${h1("Histórico de copia de seguridad del directorio en \$host")}
+<p>
+Esta pantalla muestra cada versión única de archivos de entre todas
+las copias de seguridad:
<ul>
-<li> Click on a backup number to return to the backup browser,
-<li> Click on a directory link to navigate into that directory,
-<li> Click on a file version link to download that file.
+<li> Haga click en un número de copia de seguridad para volver al explorador de copias de seguridad,
+<li> Haga click en un vínculo de directorio (\$Lang->{DirHistory_dirLink}) para navegar
+ en ese directorio,
+<li> Haga click en un vínculo de versión de archivo (\$Lang->{DirHistory_fileLink}0,
+ \$Lang->{DirHistory_fileLink}1, ...) para descargar ese archivo,
+<li> Los archivos con diferentes contenidos entre distintas copias de seguridad tienen el mismo
+ número de versión,
+<li> Los archivos o directorios que no existen en una copia concreta tienen una
+ celda vacía.
+<li> Los archivos mostrados con la misma versión pueden tener diferentes atributos.
+ Seleccione el número de copia de seguridad para ver los atributos del archivo.
</ul>
\${h2("History of \${EscHTML(\$dirDisplay)}")}
<br>
-<table border>
-<tr><td>Backup number</td>\$backupNumStr</tr>
-<tr><td>Backup time</td>\$backupTimeStr</tr>
+<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;
+$Lang{Restore___num_details_for__host2} = <<EOF;
\${h1("Detalles de la restauración Nº\$num de \$host")}
<p>
-<table border>
-<tr><td> Número </td><td> \$Restores[\$i]{num} </td></tr>
-<tr><td> Solicitado por </td><td> \$RestoreReq{user} </td></tr>
-<tr><td> Hora Petición </td><td> \$reqTime </td></tr>
-<tr><td> Resultado </td><td> \$Restores[\$i]{result} </td></tr>
-<tr><td> Mensaje de Error </td><td> \$Restores[\$i]{errorMsg} </td></tr>
-<tr><td> Host Origen </td><td> \$RestoreReq{hostSrc} </td></tr>
-<tr><td> Nº copia origen </td><td> \$RestoreReq{num} </td></tr>
-<tr><td> Unidad origen </td><td> \$RestoreReq{shareSrc} </td></tr>
-<tr><td> Host destino </td><td> \$RestoreReq{hostDest} </td></tr>
-<tr><td> Unidad destino </td><td> \$RestoreReq{shareDest} </td></tr>
-<tr><td> Hora comienzo </td><td> \$startTime </td></tr>
-<tr><td> Duración </td><td> \$duration min </td></tr>
-<tr><td> Número de archivos </td><td> \$Restores[\$i]{nFiles} </td></tr>
-<tr><td> Tamaño total </td><td> \${MB} MB </td></tr>
-<tr><td> Tasa de transferencia </td><td> \$MBperSec MB/sec </td></tr>
-<tr><td> Errores creación Tar </td><td> \$Restores[\$i]{tarCreateErrs} </td></tr>
-<tr><td> Errores de transferencia </td><td> \$Restores[\$i]{xferErrs} </td></tr>
-<tr><td> Archivo registro de transferencia </td><td>
+<table class="tableStnd" border cellspacing="1" cellpadding="3" width="90%">
+<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>
+</p>
\${h1("Lista de Archivos/Directorios")}
<p>
-<table border>
-<tr><td>Dir/archivo original</td><td>Restaurado a</td></tr>
+<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} = "BackupPC: Copia de seguridad #\$num .Detalles de \$host";
+
+$Lang{Archive___num_details_for__host2 } = <<EOF;
+\${h1("Copia de seguridad #\$num Detalles de \$host")}
+<p>
+<table class="tableStnd" border cellspacing="1" cellpadding="3" width="80%">
+<tr><td class="tableheader"> Número </td><td class="border"> \$Archives[\$i]{num} </td></tr>
+<tr><td class="tableheader"> Solicitado por </td><td class="border"> \$ArchiveReq{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"> \$Archives[\$i]{result} </td></tr>
+<tr><td class="tableheader"> Mensaje de error </td><td class="border"> \$Archives[\$i]{errorMsg} </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"> Archivo registro Xfer </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>Copia de seguridad número</td></tr>
+\$HostListStr
+</table>
+EOF
+
# -----------------------------------
$Lang{Email_Summary} = "BackupPC: Resumen de Correos";
$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_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{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} = "No ha seleccionado ningún host; por favor vuelva a"
+ . " 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"
$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} = "Sólo los administradores pueden ver información de archivo.";
$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{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{Archive_number__num_for_host__does_not_exist} = "La copia de seguridad \$num del host \${EscHTML(\$host)} "
+ . " no existe.";
$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
comenzar este proceso desde la propia máquina cliente.
EOF
-########################
-# ok you can do it then
-########################
+# ------------------------------------
+# !! 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} = "Archivo solicitado por \$User desde \$ENV{REMOTE_ADDR}";
# -------------------------------------------------
# ------- Stuff that was forgotten ----------------
$Lang{Status} = "Estado";
$Lang{PC_Summary} = "Resumen PC";
$Lang{LOG_file} = "Archivo Registro";
+$Lang{LOG_files} = "Archivos de registro";
$Lang{Old_LOGs} = "Registros antiguos";
$Lang{Email_summary} = "Resumen correo";
$Lang{Config_file} = "Archivo configuración";
$Lang{Current_queues} = "Colas actuales";
$Lang{Documentation} = "Documentación";
-$Lang{Host_or_User_name} = "<small>Host o usuario:</small>";
+#$Lang{Host_or_User_name} = "<small>Host o usuario:</small>";
$Lang{Go} = "Aceptar";
$Lang{Hosts} = "Hosts";
+$Lang{Select_a_host} = "Seleccione un host...";
+$Lang{There_have_been_no_archives} = "<h2> No ha habido archivos </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{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 \$t0 hasta \$t1 en \$days.
+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=Stop/Dequeue%20Backup&host=\$host\">Cambie este número</a>).
+(<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{Host_Inhost} = "Host \$In{host}";
$Lang{checkAll} = <<EOF;
-<tr bgcolor="#ffffcc"><td>
+<tr><td class="fviewborder">
<input type="checkbox" name="allFiles" onClick="return checkAll('allFiles');"> Seleccionar todo
-</td><td colspan="5" align="center">
+</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');"> Seleccionar todo
+</td><td colspan="2" align="center" class="fviewborder">
+<input type="submit" name="Submit" value="Archivar los hosts seleccionados">
+</td></tr>
+EOF
+
$Lang{fileHeader} = <<EOF;
- <tr bgcolor="\$Conf{CgiHeaderBgColor}"><td align=center> Nombre</td>
+ <tr class="fviewheader"><td align=center> Nombre</td>
<td align="center"> Tipo</td>
<td align="center"> Modo</td>
<td align="center"> Nº</td>
EOF
$Lang{Home} = "Principal";
+$Lang{Browse} = "Explorar copias de seguridad";
$Lang{Last_bad_XferLOG} = "Ultimo error en registro de transferencia";
$Lang{Last_bad_XferLOG_errors_only} = "Ultimo error en registro de transferencia (errores sólo)";
EOF
$Lang{Visit_this_directory_in_backup} = <<EOF;
-<li> Explorar este directorio en copia de seguridad Nº\$otherDirs.
+<li> Seleccione la copia de seguridad que desea ver: <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 border>
-<tr><td align="center"> Restauración Nº </td>
+<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>
<p>
EOF
+$Lang{Archive_Summary} = <<EOF;
+\${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"> Resultado </td>
+ <td align="right"> Hora comienzo</td>
+ <td align="right"> Dur/mins</td>
+</tr>
+\$ArchiveStr
+</table>
+<p>
+EOF
+
$Lang{BackupPC__Documentation} = "BackupPC: Documentacion";
$Lang{No} = "no";
#$Lang{on} = "activo";
$Lang{off} = "inactivo";
-$Lang{full} = "completo";
-$Lang{incremental} = "incremental";
+$Lang{backupType_full} = "completo";
+$Lang{backupType_incr} = "incremental";
+$Lang{backupType_partial} = "parcial";
$Lang{failed} = "fallido";
$Lang{success} = "éxito";
$Lang{Reason_backup_done} = "copia de seguridad realizada";
$Lang{Reason_restore_done} = "restauración realizada";
+$Lang{Reason_archive_done} = "archivado realizado";
$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} = "ha fallado el archivado";
$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} = "archivado cancelado por el usuario";
# ---------
# Email messages
$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
+