diff --git a/en.pm b/en.pm new file mode 100644 index 0000000..f0eab7a --- /dev/null +++ b/en.pm @@ -0,0 +1,1533 @@ +#!/usr/bin/perl +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# + +# -------------------------------- + +$Lang{Start_Archive} = "Start Archive"; +$Lang{Stop_Dequeue_Archive} = "Stop/Dequeue Archive"; +$Lang{Start_Full_Backup} = "Start Full Backup"; +$Lang{Start_Incr_Backup} = "Start Incr Backup"; +$Lang{Stop_Dequeue_Backup} = "Stop/Dequeue Backup"; +$Lang{Restore} = "Restore"; + +$Lang{Type_full} = "full"; +$Lang{Type_incr} = "incremental"; + +# ----- + +$Lang{Only_privileged_users_can_view_admin_options} = "Only privileged users can view admin options."; +$Lang{H_Admin_Options} = "BackupPC Server: Admin Options"; +$Lang{Admin_Options} = "Admin Options"; +$Lang{Admin_Options_Page} = < +\${h2("Server Control")} +
+ + +
Reload the server configuration: +
+
+ +EOF + +$Lang{Unable_to_connect_to_BackupPC_server} = "Unable to connect to BackupPC server"; +$Lang{Unable_to_connect_to_BackupPC_server_error_message} = < +The error was: \$err.
+Perhaps the BackupPC server is not running or there is a configuration error. +Please report this to your Sys Admin. +EOF + +$Lang{Admin_Start_Server} = < +The BackupPC server at \$Conf{ServerHost} port \$Conf{ServerPort} +is not currently running (maybe you just stopped it, or haven't yet started it).
+Do you want to start it? + + + +EOF + +# ----- + +$Lang{H_BackupPC_Server_Status} = "BackupPC Server Status"; + +$Lang{BackupPC_Server_Status_General_Info}= < +
  • The servers PID is \$Info{pid}, on host \$Conf{ServerHost}, + version \$Info{Version}, started at \$serverStartTime. +
  • This status was generated at \$now. +
  • The configuration was last loaded at \$configLoadTime. +
  • PCs will be next queued at \$nextWakeupTime. +
  • Other info: +
      +
    • \$numBgQueue pending backup requests from last scheduled wakeup, +
    • \$numUserQueue pending user backup requests, +
    • \$numCmdQueue pending command requests, + \$poolInfo +
    • Pool file system was recently at \$Info{DUlastValue}% + (\$DUlastTime), today\'s max is \$Info{DUDailyMax}% (\$DUmaxTime) + and yesterday\'s max was \$Info{DUDailyMaxPrev}%. +
    • Pool file system inode usage was recently at \$Info{DUInodelastValue}% + (\$DUlastTime), today\'s max is \$Info{DUInodeDailyMax}% (\$DUInodemaxTime) + and yesterday\'s max was \$Info{DUInodeDailyMaxPrev}%. +
    + +EOF + +$Lang{BackupPC_Server_Status} = < +\${h2("Currently Running Jobs")} +

    + + + + + + + + + + + +\$jobStr +
    Host Type User Start Time Command PID Xfer PID Status Count
    + +

    +\$generalInfo + +\${h2("Failures that need attention")} +

    + + + + + + + + +\$statusStr +
    Host Type User Last Try Details Error Time Last error (other than no ping)
    +EOF + +# -------------------------------- +$Lang{BackupPC__Server_Summary} = "BackupPC: Host Summary"; +$Lang{BackupPC__Archive} = "BackupPC: Archive"; +$Lang{BackupPC_Summary} = < +

      +
    • This status was generated at \$now. +
    • Pool file system was recently at \$Info{DUlastValue}% + (\$DUlastTime), today\'s max is \$Info{DUDailyMax}% (\$DUmaxTime) + and yesterday\'s max was \$Info{DUDailyMaxPrev}%. +
    • Pool file system inode usage was recently at \$Info{DUInodelastValue}% + (\$DUlastTime), today\'s max is \$Info{DUInodeDailyMax}% (\$DUInodemaxTime) + and yesterday\'s max was \$Info{DUInodeDailyMaxPrev}%. +
    +

    + +\${h2("Hosts with good Backups")} +

    +There are \$hostCntGood hosts that have been backed up, for a total of: +

      +
    • \$fullTot full backups of total size \${fullSizeTot}GiB + (prior to pooling and compression), +
    • \$incrTot incr backups of total size \${incrSizeTot}GiB + (prior to pooling and compression). +
    +

    + + + + + + + + + + + + + + +\$strGood +
    Host User Comment #Full Full Age (days) Full Size (GiB) Speed (MiB/s) #Incr Incr Age (days) Last Backup (days) State #Xfer errs Last attempt
    +\${h2("Hosts with no Backups")} +

    +There are \$hostCntNone hosts with no backups. +

    + + + + + + + + + + + + + + +\$strNone +
    Host User Comment #Full Full Age (days) Full Size (GiB) Speed (MiB/s) #Incr Incr Age/days Last Backup (days) State #Xfer errs Last attempt
    +EOF + +$Lang{BackupPC_Archive} = < + + + +There are \$hostCntGood hosts that have been backed up for a total size of \${fullSizeTot}GiB +

    +

    + + + + + + + + +\$strGood +\$checkAllHosts +
    Host User Backup Size
    +
    +

    + +EOF + +$Lang{BackupPC_Archive2} = < +\$HostListStr + +

    +\$hiddenStr + + + + + +\$paramStr + + + + +
    +EOF + +$Lang{BackupPC_Archive2_location} = < + Archive Location/Device + + +EOF + +$Lang{BackupPC_Archive2_compression} = < + Compression + + None
    + gzip
    + bzip2 + + +EOF + +$Lang{BackupPC_Archive2_parity} = < + Percentage of Parity Data (0 = disable, 5 = typical) + + +EOF + +$Lang{BackupPC_Archive2_split} = < + Split output into + Megabytes + +EOF + +# ----------------------------------- +$Lang{Pool_Stat} = <Pool is \${poolSize}GiB comprising \$info->{"\${name}FileCnt"} files + and \$info->{"\${name}DirCnt"} directories (as of \$poolTime), +
  • Pool hashing gives \$info->{"\${name}FileCntRep"} repeated + files with longest chain \$info->{"\${name}FileRepMax"}, +
  • Nightly cleanup removed \$info->{"\${name}FileCntRm"} files of + size \${poolRmSize}GiB (around \$poolTime), +EOF + +# -------------------------------- +$Lang{BackupPC__Backup_Requested_on__host} = "BackupPC: Backup Requested on \$host"; +$Lang{BackupPC__Delete_Requested_for_a_backup_of__host} = "BackupPC: Delete Requested for a backup of \$host"; +# -------------------------------- +$Lang{REPLY_FROM_SERVER} = < +Reply from server was: \$reply +

    +Go back to \$host home page. +EOF +# -------------------------------- +$Lang{BackupPC__Start_Backup_Confirm_on__host} = "BackupPC: Start Backup Confirm on \$host"; +# -------------------------------- +$Lang{Are_you_sure_start} = < +You are about to start a \$type backup on \$host. + +

    + + + + +Do you really want to do this? + + +
    +EOF +# -------------------------------- +$Lang{BackupPC__Stop_Backup_Confirm_on__host} = "BackupPC: Stop Backup Confirm on \$host"; +# -------------------------------- +$Lang{Are_you_sure_stop} = < +You are about to stop/dequeue backups on \$host; + +
    + + + +Also, please don\'t start another backup for + hours. +

    +Do you really want to do this? + + +

    + +EOF +# -------------------------------- +$Lang{Only_privileged_users_can_view_queues_} = "Only privileged users can view queues."; +# -------------------------------- +$Lang{Only_privileged_users_can_archive} = "Only privileged users can Archive."; +# -------------------------------- +$Lang{BackupPC__Queue_Summary} = "BackupPC: Queue Summary"; +# -------------------------------- +$Lang{Backup_Queue_Summary} = < +The following user requests are currently queued: +

    + + + + + +\$strUser +
    Host Action Req Time User
    + +\${h2("Background Queue Summary")} +

    +The following background requests are currently queued: +

    + + + + + +\$strBg +
    Host Action Req Time User
    +\${h2("Command Queue Summary")} +

    +The following command requests are currently queued: +

    + + + + + + +\$strCmd +
    Host Action Req Time User Command
    +EOF + +# -------------------------------- +$Lang{Backup_PC__Log_File__file} = "BackupPC: File \$file"; +$Lang{Log_File__file__comment} = < +EOF +# -------------------------------- +$Lang{Contents_of_log_file} = <\$file, modified \$mtimeStr \$comment +EOF + +# -------------------------------- +$Lang{skipped__skipped_lines} = "[ skipped \$skipped lines ]\n"; +# -------------------------------- +$Lang{_pre___Can_t_open_log_file__file} = "
    \nCan\'t open log file \$file\n";
    +
    +# --------------------------------
    +$Lang{BackupPC__Log_File_History} = "BackupPC: Log File History";
    +$Lang{Log_File_History__hdr} = <
    +
    +
    +    
    +    
    +\$str
    +
    File Size Modification time
    +EOF + +# ------------------------------- +$Lang{Recent_Email_Summary} = < + + + + + +\$str +
    Recipient Host Time Subject
    +EOF + + +# ------------------------------ +$Lang{Browse_backup__num_for__host} = "BackupPC: Browse backup \$num for \$host"; + +# ------------------------------ +$Lang{Restore_Options_for__host} = "BackupPC: Restore Options for \$host"; +$Lang{Restore_Options_for__host2} = < +You have selected the following files/directories from +share \$share, backup number #\$num: +
      +\$fileListStr +
    +

    +You have three choices for restoring these files/directories. +Please select one of the following options. +

    +\${h2("Option 1: Direct Restore")} +

    +EOF + +$Lang{Restore_Options_for__host_Option1} = <\$directHost. +

    +Warning: any existing files that match the ones you have +selected will be overwritten! +

    +
    + + + +\$hiddenStr + + + + + + + + + + + + + +
    Restore the files to host + + +
    Restore the files to share
    Restore the files below dir
    (relative to share)
    +
    +EOF + +$Lang{Restore_Options_for__host_Option1_disabled} = < +\${h2("Option 2: Download Zip archive")} +

    +You can download a Zip archive containing all the files/directories you have +selected. You can then use a local application, such as WinZip, +to view or extract any of the files. +

    +Warning: depending upon which files/directories you have selected, +this archive might be very very large. It might take many minutes to +create and transfer the archive, and you will need enough local disk +space to store it. +

    +
    + + + +\$hiddenStr + + Make archive relative +to \${EscHTML(\$pathHdr eq "" ? "/" : \$pathHdr)} +(otherwise archive will contain full paths). +
    + + + + + + + + +
    Compression (0=off, 1=fast,...,9=best)
    Code page (e.g. cp866)
    +
    + +
    +EOF + +# ------------------------------ + +$Lang{Option_2__Download_Zip_archive2} = < +\${h2("Option 2: Download Zip archive")} +

    +Archive::Zip is not installed so you will not be able to download a +zip archive. +Please ask your system adminstrator to install Archive::Zip from +www.cpan.org. +

    +EOF + + +# ------------------------------ +$Lang{Option_3__Download_Zip_archive} = < +You can download a Tar archive containing all the files/directories you +have selected. You can then use a local application, such as tar or +WinZip to view or extract any of the files. +

    +Warning: depending upon which files/directories you have selected, +this archive might be very very large. It might take many minutes to +create and transfer the archive, and you will need enough local disk +space to store it. +

    +
    + + + +\$hiddenStr + + Make archive relative +to \${EscHTML(\$pathHdr eq "" ? "/" : \$pathHdr)} +(otherwise archive will contain full paths). +
    + +
    +EOF + + +# ------------------------------ +$Lang{Restore_Confirm_on__host} = "BackupPC: Restore Confirm on \$host"; + +$Lang{Are_you_sure} = < +You are about to start a restore directly to the machine \$In{hostDest}. +The following files will be restored to share \$In{shareDest}, from +backup number \$num: +

    + + +\$fileListStr +
    Original file/dirWill be restored to
    + +

    + + + + + + + +\$hiddenStr +Do you really want to do this? + + +
    +EOF + + +# -------------------------- +$Lang{Restore_Requested_on__hostDest} = "BackupPC: Restore Requested on \$hostDest"; +$Lang{Reply_from_server_was___reply} = < +Reply from server was: \$reply +

    +Go back to \$hostDest home page. +EOF + +$Lang{BackupPC_Archive_Reply_from_server} = < +Reply from server was: \$reply +EOF + + +# -------------------------------- +$Lang{BackupPC__Delete_Backup_Confirm__num_of__host} = "BackupPC: Delete Backup Confirm #\$num of \$host"; +# -------------------------------- +$Lang{A_filled} = "a filled"; +$Lang{An_unfilled} = "an unfilled"; +$Lang{Are_you_sure_delete} = < +You are about to delete \$filled \$type backup #\$num of \$host. + +

    + + + + + + + +Do you really want to do this? + + + + +
    +EOF + +# ------------------------- +$Lang{Host__host_Backup_Summary} = "BackupPC: Host \$host Backup Summary"; + +$Lang{Host__host_Backup_Summary2} = < +\$warnStr +
      +\$statusStr +
    +

    +\${h2("User Actions")} +

    +

    + + +\$startIncrStr + + +
    +

    +\${h2("Backup Summary")} +

    +Click on the backup number to browse and restore backup files. +

    + + + + + + + + + \$deleteHdrStr + + +\$str +
    Backup# Type Filled Level Start Date Duration/mins Age/days Server Backup Path
    +

    + +\$restoreStr +

    +\${h2("Xfer Error Summary")} + + + + + + + + + +\$errStr +
    Backup# Type View #Xfer errs #bad files #bad share #tar errs
    + +\${h2("File Size/Count Reuse Summary")} +

    +Existing files are those already in the pool; new files are those added +to the pool. +Empty files and SMB errors aren\'t counted in the reuse and new counts. +

    + + + + + + + + + + + + + + + + + +\$sizeStr +
    Totals Existing Files New Files
    Backup# Type #Files Size/MiB MiB/sec #Files Size/MiB #Files Size/MiB
    + +\${h2("Compression Summary")} +

    +Compression performance for files already in the pool and newly +compressed files. +

    + + + + + + + + + + + + + + + +\$compStr +
    Existing Files New Files
    Backup# Type Comp Level Size/MiB Comp/MiB Comp Size/MiB Comp/MiB Comp
    +EOF + +$Lang{Host__host_Archive_Summary} = "BackupPC: Host \$host Archive Summary"; +$Lang{Host__host_Archive_Summary2} = < +\$warnStr +
      +\$statusStr +
    + +\${h2("User Actions")} +

    +

    + + + + + +
    + +\$ArchiveStr + +EOF + +# ------------------------- +$Lang{Error} = "BackupPC: Error"; +$Lang{Error____head} = <\$mesg

    +EOF + +# ------------------------- +$Lang{NavSectionTitle_} = "Server"; + +# ------------------------- +$Lang{Backup_browse_for__host} = < + + + +
    + + + + +
      +
    • You are browsing backup #\$num, which started around \$backupTime + (\$backupAge days ago), +\$filledBackup +
    • Enter directory: +
    • Click on a directory below to navigate into that directory, +
    • Click on a file below to restore that file, +
    • You can view the backup history of the current directory. +
    +
    + +\${h2("Contents of \$dirDisplay")} +
    + + + + + +
    + +
    + + \$dirStr +
    +
    + +
    + + \$fileHeader + \$topCheckAll + \$fileStr + \$checkAll +
    +
    +
    + +
    +EOF + +# ------------------------------ +$Lang{DirHistory_backup_for__host} = "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} = "dir"; +$Lang{DirHistory_fileLink} = "v"; + +$Lang{DirHistory_for__host} = < +This display shows each unique version of files across all +the backups: +
      +
    • Click on a backup number to return to the backup browser, +
    • Click on a directory link (\$Lang->{DirHistory_dirLink}) to navigate + into that directory, +
    • Click on a file version link (\$Lang->{DirHistory_fileLink}0, + \$Lang->{DirHistory_fileLink}1, ...) to download that file, +
    • Files with the same contents between different backups have the same + version number (except between v3 and v4 backups), +
    • Files or directories not present in a particular backup have an + empty box. +
    • Files shown with the same version might have different attributes. + Select the backup number to see the file attributes. +
    + +\${h2("History of \$dirDisplay")} + +
    + +\$backupNumStr +\$backupTimeStr +\$fileStr +
    Backup number
    Backup time
    +EOF + +# ------------------------------ +$Lang{Restore___num_details_for__host} = "BackupPC: Restore #\$num details for \$host"; + +$Lang{Restore___num_details_for__host2} = < + + + + + + + + + + + + + + + + + + + +
    Number \$Restores[\$i]{num}
    Requested by \$RestoreReq{user}
    Request time \$reqTime
    Result \$Restores[\$i]{result}
    Error Message \$Restores[\$i]{errorMsg}
    Source host \$RestoreReq{hostSrc}
    Source backup num \$RestoreReq{num}
    Source share \$RestoreReq{shareSrc}
    Destination host \$RestoreReq{hostDest}
    Destination share \$RestoreReq{shareDest}
    Start time \$startTime
    Duration \$duration min
    Number of files \$Restores[\$i]{nFiles}
    Total size \${MB} MiB
    Transfer rate \$MBperSec MiB/sec
    TarCreate errors \$Restores[\$i]{tarCreateErrs}
    Xfer errors \$Restores[\$i]{xferErrs}
    Xfer log file +View, +Errors +
    +

    +\${h1("File/Directory list")} +

    + + +\$fileListStr +
    Original file/dirRestored to
    +EOF + +# ------------------------------ +$Lang{Archive___num_details_for__host} = "BackupPC: Archive #\$num details for \$host"; + +$Lang{Archive___num_details_for__host2 } = < + + + + + + + + + +
    Number \$Archives[\$i]{num}
    Requested by \$ArchiveReq{user}
    Request time \$reqTime
    Result \$Archives[\$i]{result}
    Error Message \$Archives[\$i]{errorMsg}
    Start time \$startTime
    Duration \$duration min
    Xfer log file +View, +Errors +
    +

    +\${h1("Host list")} +

    + + +\$HostListStr +
    HostBackup Number
    +EOF + +# ----------------------------------- +$Lang{Email_Summary} = "BackupPC: Email Summary"; + +# ----------------------------------- +# !! ERROR messages !! +# ----------------------------------- +$Lang{BackupPC__Lib__new_failed__check_apache_error_log} = "BackupPC::Lib->new failed: check apache error_log\n"; +$Lang{Wrong_user__my_userid_is___} = + "Wrong user: my userid is \$>, instead of \$uid" + . "(\$Conf{BackupPCUser})\n"; +# $Lang{Only_privileged_users_can_view_PC_summaries} = "Only privileged users can view PC summaries."; +$Lang{Only_privileged_users_can_stop_or_start_backups} = + "Only privileged users can stop or start backups on" + . " \${EscHTML(\$host)}."; +$Lang{Invalid_number__num} = "Invalid number \${EscHTML(\$In{num})}"; +$Lang{Unable_to_open__file__configuration_problem} = "Unable to open \$file: configuration problem?"; +$Lang{Only_privileged_users_can_view_log_or_config_files} = "Only privileged users can view log or config files."; +$Lang{Only_privileged_users_can_view_log_files} = "Only privileged users can view log files."; +$Lang{Only_privileged_users_can_view_email_summaries} = "Only privileged users can view email summaries."; +$Lang{Only_privileged_users_can_browse_backup_files} = "Only privileged users can browse backup files" + . " for host \${EscHTML(\$In{host})}."; +$Lang{Only_privileged_users_can_delete_backups} = "Only privileged users can delete backups" + . " of host \${EscHTML(\$host)}."; +$Lang{Empty_host_name} = "Empty host name."; +$Lang{Directory___EscHTML} = "Directory \${EscHTML(\"\$TopDir/pc/\$host/\$num\")}" + . " is empty"; +$Lang{Can_t_browse_bad_directory_name2} = "Can\'t browse bad directory name" + . " \${EscHTML(\$relDir)}"; +$Lang{Only_privileged_users_can_restore_backup_files} = "Only privileged users can restore backup files" + . " for host \${EscHTML(\$In{host})}."; +$Lang{Bad_host_name} = "Bad host name \${EscHTML(\$host)}"; +$Lang{You_haven_t_selected_any_files__please_go_Back_to} = "You haven\'t selected any files; please go Back to" + . " select some files."; +$Lang{You_haven_t_selected_any_hosts} = "You haven\'t selected any hosts; please go Back to" + . " select some hosts."; +$Lang{Nice_try__but_you_can_t_put} = "Nice try, but you can\'t put \'..\' in any of the file names"; +$Lang{Host__doesn_t_exist} = "Host \${EscHTML(\$In{hostDest})} doesn\'t exist"; +$Lang{You_don_t_have_permission_to_restore_onto_host} = "You don\'t have permission to restore onto host" + . " \${EscHTML(\$In{hostDest})}"; +$Lang{Can_t_open_create__openPath} = "Can\'t open/create " + . "\${EscHTML(\"\$openPath\")}"; +$Lang{Only_privileged_users_can_restore_backup_files2} = "Only privileged users can restore backup files" + . " for host \${EscHTML(\$host)}."; +$Lang{Empty_host_name} = "Empty host name"; +$Lang{Unknown_host_or_user} = "Unknown host or user \${EscHTML(\$host)}"; +$Lang{Only_privileged_users_can_view_information_about} = "Only privileged users can view information about" + . " host \${EscHTML(\$host)}." ; +$Lang{Only_privileged_users_can_view_archive_information} = "Only privileged users can view archive information."; +$Lang{Only_privileged_users_can_view_restore_information} = "Only privileged users can view restore information."; +$Lang{Restore_number__num_for_host__does_not_exist} = "Restore number \$num for host \${EscHTML(\$host)} does" + . " not exist."; +$Lang{Archive_number__num_for_host__does_not_exist} = "Archive number \$num for host \${EscHTML(\$host)} does" + . " not exist."; +$Lang{Can_t_find_IP_address_for} = "Can\'t find IP address for \${EscHTML(\$host)}"; +$Lang{host_is_a_DHCP_host} = < +Until I see \$host at a particular DHCP address, you can only +start this request from the client machine itself. +EOF + +# ------------------------------------ +# !! Server Mesg !! +# ------------------------------------ + +$Lang{Backup_requested_on_DHCP__host} = "Backup requested on DHCP \$host (\$In{hostIP}) by" + . " \$User from \$ENV{REMOTE_ADDR}"; +$Lang{Backup_requested_on__host_by__User} = "Backup requested on \$host by \$User"; +$Lang{Backup_stopped_dequeued_on__host_by__User} = "Backup stopped/dequeued on \$host by \$User"; +$Lang{Restore_requested_to_host__hostDest__backup___num} = "Restore requested to host \$hostDest, backup #\$num," + . " by \$User from \$ENV{REMOTE_ADDR}"; +$Lang{Delete_requested_for_backup_of__host_by__User} = "Delete requested for backup #\$num of \$host" + . " by \$User from \$ENV{REMOTE_ADDR}"; +$Lang{Archive_requested} = "Archive requested by \$User from \$ENV{REMOTE_ADDR}"; + +# ------------------------------------------------- +# ------- Stuff that was forgotten ---------------- +# ------------------------------------------------- + +$Lang{Status} = "Status"; +$Lang{PC_Summary} = "Host Summary"; +$Lang{LOG_file} = "LOG file"; +$Lang{LOG_files} = "LOG files"; +$Lang{Old_LOGs} = "Old LOGs"; +$Lang{Email_summary} = "Email summary"; +$Lang{Config_file} = "Config file"; +# $Lang{Hosts_file} = "Hosts file"; +$Lang{Current_queues} = "Current queues"; +$Lang{Check} = "Checkup"; +$Lang{Documentation} = "Documentation"; + +#$Lang{Host_or_User_name} = "Host or User name:"; +$Lang{Go} = "Go"; +$Lang{Hosts} = "Hosts"; +$Lang{Select_a_host} = "Select a host..."; + +$Lang{There_have_been_no_archives} = "

    There have been no archives

    \n"; +$Lang{This_PC_has_never_been_backed_up} = "

    This PC has never been backed up!!

    \n"; +$Lang{This_PC_is_used_by} = "
  • This PC is used by \${UserLink(\$user)}"; + +$Lang{Extracting_only_Errors} = "(Extracting only Errors)"; +$Lang{XferLOG} = "XferLOG"; +$Lang{Errors} = "Errors"; + +# ------------ +$Lang{Last_email_sent_to__was_at___subject} = <Last email sent to \${UserLink(\$user)} was at \$mailTime, subject "\$subj". +EOF +# ------------ +$Lang{The_command_cmd_is_currently_running_for_started} = <The command \$cmd is currently running for \$host, started \$startTime. +EOF + +# ----------- +$Lang{Host_host_is_queued_on_the_background_queue_will_be_backed_up_soon} = <Host \$host is queued on the background queue (will be backed up soon). +EOF + +# ---------- +$Lang{Host_host_is_queued_on_the_user_queue__will_be_backed_up_soon} = <Host \$host is queued on the user queue (will be backed up soon). +EOF + +# --------- +$Lang{A_command_for_host_is_on_the_command_queue_will_run_soon} = <A command for \$host is on the command queue (will run soon). +EOF + +# -------- +$Lang{Last_status_is_state_StatusHost_state_reason_as_of_startTime} = <Last status is state \"\$Lang->{\$StatusHost{state}}\"\$reason as of \$startTime. +EOF + +# -------- +$Lang{Last_error_is____EscHTML_StatusHost_error} = <Last error is \"\${EscHTML(\$StatusHost{error})}\". +EOF + +# ------ +$Lang{Pings_to_host_have_failed_StatusHost_deadCnt__consecutive_times} = <Pings to \$host have failed \$StatusHost{deadCnt} consecutive times. +EOF + +# ----- +$Lang{Prior_to_that__pings} = "Prior to that, pings"; + +# ----- +$Lang{priorStr_to_host_have_succeeded_StatusHostaliveCnt_consecutive_times} = <\$priorStr to \$host have succeeded \$StatusHost{aliveCnt} + consecutive times. +EOF + +$Lang{Because__host_has_been_on_the_network_at_least__Conf_BlackoutGoodCnt_consecutive_times___} = <Because \$host has been on the network at least \$Conf{BlackoutGoodCnt} +consecutive times, it will not be backed up from \$blackoutStr. +EOF + +$Lang{__time0_to__time1_on__days} = "\$t0 to \$t1 on \$days"; + +$Lang{Backups_are_deferred_for_hours_hours_change_this_number} = <Backups are deferred for \$hours hours +(change this number). +EOF + +$Lang{tryIP} = " and \$StatusHost{dhcpHostIP}"; + +# $Lang{Host_Inhost} = "Host \$In{host}"; + +$Lang{checkAll} = < + Select all + + + +EOF + +$Lang{checkAllHosts} = < + Select all + + + +EOF + +$Lang{fileHeader} = < Name + Type + Mode + # + Size + Date modified + +EOF + +$Lang{Home} = "Home"; +$Lang{Browse} = "Browse backups"; +$Lang{Last_bad_XferLOG} = "Last bad XferLOG"; +$Lang{Last_bad_XferLOG_errors_only} = "Last bad XferLOG (errors only)"; + +$Lang{This_display_is_merged_with_backup} = < This display is merged with backup #\$numF. +EOF + +$Lang{Visit_this_directory_in_backup} = < Select the backup you wish to view: +EOF + +$Lang{Restore_Summary} = < +Click on the restore number for more details. + + + + + + + + + + +\$restoreStr +
    Restore# Result Start Date Dur/mins #files MiB #tar errs #xferErrs
    +

    +EOF + +$Lang{Archive_Summary} = < +Click on the archive number for more details. + + + + + + +\$ArchiveStr +
    Archive# Result Start Date Dur/mins
    +

    +EOF + +$Lang{BackupPC__Documentation} = "BackupPC: Documentation"; + +$Lang{No} = "no"; +$Lang{Yes} = "yes"; + +$Lang{The_directory_is_empty} = <The directory \$dirDisplay is empty + +EOF + +#$Lang{on} = "on"; +$Lang{off} = "off"; + +$Lang{backupType_full} = "full"; +$Lang{backupType_incr} = "incr"; +$Lang{backupType_active} = "active"; +$Lang{backupType_partial} = "partial"; + +$Lang{failed} = "failed"; +$Lang{success} = "success"; +$Lang{and} = "and"; + +# ------ +# Hosts states and reasons +$Lang{Status_idle} = "idle"; +$Lang{Status_backup_starting} = "backup starting"; +$Lang{Status_backup_in_progress} = "backup in progress"; +$Lang{Status_restore_starting} = "restore starting"; +$Lang{Status_restore_in_progress} = "restore in progress"; +$Lang{Status_admin_pending} = "link pending"; +$Lang{Status_admin_running} = "link running"; + +$Lang{Reason_backup_done} = "done"; +$Lang{Reason_restore_done} = "restore done"; +$Lang{Reason_archive_done} = "archive done"; +$Lang{Reason_nothing_to_do} = "idle"; +$Lang{Reason_backup_failed} = "backup failed"; +$Lang{Reason_restore_failed} = "restore failed"; +$Lang{Reason_archive_failed} = "archive failed"; +$Lang{Reason_no_ping} = "no ping"; +$Lang{Reason_backup_canceled_by_user} = "backup canceled by user"; +$Lang{Reason_restore_canceled_by_user} = "restore canceled by user"; +$Lang{Reason_archive_canceled_by_user} = "archive canceled by user"; +$Lang{Disabled_OnlyManualBackups} = "auto disabled"; +$Lang{Disabled_AllBackupsDisabled} = "disabled"; + + +# --------- +# Email messages + +# No backup ever +$Lang{EMailNoBackupEverSubj} = "BackupPC: no backups of \$host have succeeded"; +$Lang{EMailNoBackupEverMesg} = <<'EOF'; +To: $user$domain +cc: +Subject: $subj +$headers +Dear $userName, + +Your PC ($host) has never been successfully backed up by our +PC backup software. PC backups should occur automatically +when your PC is connected to the network. You should contact +computer support if: + + - Your PC has been regularly connected to the network, meaning + there is some configuration or setup problem preventing + backups from occurring. + + - You don't want your PC backed up and you want these email + messages to stop. + +Otherwise, please make sure your PC is connected to the network +next time you are in the office. + +Regards, +BackupPC Genie +https://backuppc.github.io/backuppc +EOF + +# No recent backup +$Lang{EMailNoBackupRecentSubj} = "BackupPC: no recent backups on \$host"; +$Lang{EMailNoBackupRecentMesg} = <<'EOF'; +To: $user$domain +cc: +Subject: $subj +$headers +Dear $userName, + +Your PC ($host) has not been successfully backed up for $days days. +Your PC has been correctly backed up $numBackups times from $firstTime to $days days +ago. PC backups should occur automatically when your PC is connected +to the network. + +If your PC has been connected for more than a few hours to the +network during the last $days days you should contact IS to find +out why backups are not working. + +Otherwise, if you are out of the office, there's not much you can +do, other than manually copying especially critical files to other +media. You should be aware that any files you have created or +changed in the last $days days (including all new email and +attachments) cannot be restored if your PC disk crashes. + +Regards, +BackupPC Genie +https://backuppc.github.io/backuppc +EOF + +# Old Outlook files +$Lang{EMailOutlookBackupSubj} = "BackupPC: Outlook files on \$host need to be backed up"; +$Lang{EMailOutlookBackupMesg} = <<'EOF'; +To: $user$domain +cc: +Subject: $subj +$headers +Dear $userName, + +The Outlook files on your PC have $howLong. +These files contain all your email, attachments, contact and calendar +information. Your PC has been correctly backed up $numBackups times from +$firstTime to $lastTime days ago. However, Outlook locks all its files when +it is running, preventing these files from being backed up. + +It is recommended you backup the Outlook files when you are connected +to the network by exiting Outlook and all other applications, and, +using just your browser, go to this link: + + $CgiURL?host=$host + +Select "Start Incr Backup" twice to start a new incremental backup. +You can select "Return to $host page" and then hit "reload" to check +the status of the backup. It should take just a few minutes to +complete. + +Regards, +BackupPC Genie +https://backuppc.github.io/backuppc +EOF + +$Lang{howLong_not_been_backed_up} = "not been backed up successfully"; +$Lang{howLong_not_been_backed_up_for_days_days} = "not been backed up for \$days days"; + +####################################################################### +# RSS strings +####################################################################### +$Lang{RSS_Doc_Title} = "BackupPC Server"; +$Lang{RSS_Doc_Description} = "RSS feed for BackupPC"; +$Lang{RSS_Host_Summary} = < +Note: Check Override if you want to modify a value specific to this host. +

    +EOF + +$Lang{CfgEdit_Button_Save} = "Save"; +$Lang{CfgEdit_Button_Insert} = "Insert"; +$Lang{CfgEdit_Button_Delete} = "Delete"; +$Lang{CfgEdit_Button_Add} = "Add"; +$Lang{CfgEdit_Button_Override} = "Override"; +$Lang{CfgEdit_Button_New_Key} = "New Key"; +$Lang{CfgEdit_Button_New_Share} = "New ShareName or '*'"; + +$Lang{CfgEdit_Error_No_Save} + = "Error: No save due to errors"; +$Lang{CfgEdit_Error__must_be_an_integer} + = "Error: \$var must be an integer"; +$Lang{CfgEdit_Error__must_be_real_valued_number} + = "Error: \$var must be a real-valued number"; +$Lang{CfgEdit_Error__entry__must_be_an_integer} + = "Error: \$var entry \$k must be an integer"; +$Lang{CfgEdit_Error__entry__must_be_real_valued_number} + = "Error: \$var entry \$k must be a real-valued number"; +$Lang{CfgEdit_Error__must_be_executable_program} + = "Error: \$var must be a valid executable path"; +$Lang{CfgEdit_Error__must_be_valid_option} + = "Error: \$var must be a valid option"; +$Lang{CfgEdit_Error_Copy_host_does_not_exist} + = "Copy host \$copyHost doesn't exist; creating full host name \$fullHost. Delete this host if that is not what you wanted."; + +$Lang{CfgEdit_Log_Copy_host_config} + = "\$User copied config from host \$fromHost to \$host\n"; +$Lang{CfgEdit_Log_Delete_param} + = "\$User deleted \$p from \$conf\n"; +$Lang{CfgEdit_Log_Add_param_value} + = "\$User added \$p to \$conf, set to \$value\n"; +$Lang{CfgEdit_Log_Change_param_value} + = "\$User changed \$p in \$conf to \$valueNew from \$valueOld\n"; +$Lang{CfgEdit_Log_Host_Delete} + = "\$User deleted host \$host\n"; +$Lang{CfgEdit_Log_Host_Change} + = "\$User host \$host changed \$key from \$valueOld to \$valueNew\n"; +$Lang{CfgEdit_Log_Host_Add} + = "\$User added host \$host: \$value\n"; + +#end of lang_en.pm