1#!/usr/bin/perl 2# 3# This program is free software: you can redistribute it and/or modify 4# it under the terms of the GNU General Public License as published by 5# the Free Software Foundation, either version 3 of the License, or 6# (at your option) any later version. 7# 8# This program is distributed in the hope that it will be useful, 9# but WITHOUT ANY WARRANTY; without even the implied warranty of 10# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11# GNU General Public License for more details. 12# 13# You should have received a copy of the GNU General Public License 14# along with this program. If not, see <http://www.gnu.org/licenses/>. 15# 16 17use utf8; 18 19# -------------------------------- 20 21$Lang{Start_Archive} = "アーカイブ開始"; 22$Lang{Stop_Dequeue_Archive} = "アーカイブ停止/デキュー"; 23$Lang{Start_Full_Backup} = "フルバックアップ開始"; 24$Lang{Start_Incr_Backup} = "増分バックアップ開始"; 25$Lang{Stop_Dequeue_Backup} = "バックアップ停止/デキュー"; 26$Lang{Restore} = "リストア"; 27 28$Lang{Type_full} = "フル"; 29$Lang{Type_incr} = "インクリメンタル"; 30 31# ----- 32 33$Lang{Only_privileged_users_can_view_admin_options} = "管理者オプションは権限があるユーザのみ見ることができます。"; 34$Lang{H_Admin_Options} = "BackupPCサーバ: 管理者オプション"; 35$Lang{Admin_Options} = "管理者オプション"; 36$Lang{Admin_Options_Page} = <<EOF; 37\${h1(qq{$Lang{Admin_Options}})} 38<br> 39\${h2("サーバ管理")} 40<form name="ReloadForm" action="\$MyURL" method="get"> 41<input type="hidden" name="action" value=""> 42<table class="tableStnd"> 43 <tr><td>サーバ設定の再読込:<td><input type="button" value="再読込" 44 onClick="document.ReloadForm.action.value='Reload'; 45 document.ReloadForm.submit();"> 46</table> 47</form> 48<!-- 49\${h2("サーバの設定")} 50<ul> 51 <li><i>他の設定はここでできます。例えば、</i> 52 <li>サーバ設定の編集 53</ul> 54--> 55EOF 56 57$Lang{Unable_to_connect_to_BackupPC_server} = "BackupPCサーバへ接続できません"; 58$Lang{Unable_to_connect_to_BackupPC_server_error_message} = <<EOF; 59このCGIスクリプト(\$MyURL)は、ホスト \$Conf{ServerHost} のポート \$Conf{ServerPort} で動作しているBackupPCサーバへ接続することができません。 60<br> 61エラー内容: \$err.<br> 62BackupPCが起動していないか、設定エラーがあると思われます。 63本件をシステム管理者へ報告してください。 64EOF 65 66$Lang{Admin_Start_Server} = <<EOF; 67\${h1(qq{$Lang{Unable_to_connect_to_BackupPC_server}})} 68<form action="\$MyURL" method="get"> 69ホスト<tt>\$Conf{ServerHost}</tt> ポート<tt>\$Conf{ServerPort}</tt> 70のBackupPCサーバは起動していません(ちょうど停止しているか、まだ起動していないと思われます)。<br> 71開始しますか? 72<input type="hidden" name="action" value="startServer"> 73<input type="submit" value="サーバ開始" name="ignore"> 74</form> 75EOF 76 77# ----- 78 79$Lang{H_BackupPC_Server_Status} = "BackupPCサーバの状態"; 80 81$Lang{BackupPC_Server_Status_General_Info}= <<EOF; 82\${h2(\"一般サーバ情報\")} 83 84<ul> 85<li> サーバのPIDは \$Info{pid} です。 \$Conf{ServerHost} ホスト上で動作しています。 86 バージョンは \$Info{Version}、 \$serverStartTime に開始しています。 87<li> このサーバ状態は \$now 現在のものです。 88<li> 最後に設定が読み込まれたのは \$configLoadTime です。 89<li> 次のキューイングは \$nextWakeupTime の予定です。 90<li> 他の情報: 91 <ul> 92 <li>最後にスケジュールされた起動から保留中のバックアップ要求: \$numBgQueue 93 <li>保留中のユーザバックアップ要求: \$numUserQueue 94 <li>保留中のコマンド要求: \$numCmdQueue 95 \$poolInfo 96 <li>プールファイルシステムは \$Info{DUlastValue}% 97 (\$DUlastTime 現在)、今日の最大値は \$Info{DUDailyMax}% (\$DUmaxTime)、 98 昨日の最大値は \$Info{DUDailyMaxPrev}%。 99 <li>Inode プールファイルシステムは \$Info{DUInodelastValue}% 100 (\$DUlastTime 現在)、今日の最大値は \$Info{DUInodeDailyMax}% (\$DUInodemaxTime)、 101 昨日の最大値は \$Info{DUInodeDailyMaxPrev}%。 102 </ul> 103</ul> 104EOF 105 106$Lang{BackupPC_Server_Status} = <<EOF; 107\${h1(qq{$Lang{H_BackupPC_Server_Status}})} 108 109<p> 110\${h2("現在実行中のジョブ")} 111<p> 112<table class="tableStnd sortable" border cellspacing="1" cellpadding="3"> 113<tr class="tableheader"><td> ホスト </td> 114 <td> 種別 </td> 115 <td> ユーザ </td> 116 <td> 開始時間 </td> 117 <td> コマンド </td> 118 <td align="center"> PID </td> 119 <td align="center"> 転送 PID </td> 120 <td align="center"> Status </td> 121 <td align="center"> Count </td> 122 </tr> 123\$jobStr 124</table> 125 126<p> 127\$generalInfo 128 129\${h2("注意する必要がある失敗")} 130<p> 131<table class="tableStnd sortable" border cellspacing="1" cellpadding="3"> 132<tr class="tableheader"><td align="center"> ホスト </td> 133 <td align="center"> 種別 </td> 134 <td align="center"> ユーザ </td> 135 <td align="center"> 最終試行 </td> 136 <td align="center"> 詳細 </td> 137 <td align="center"> エラー時刻 </td> 138 <td> 最終エラー (無応答以外) </td></tr> 139\$statusStr 140</table> 141EOF 142 143# -------------------------------- 144$Lang{BackupPC__Server_Summary} = "BackupPC: ホストサマリ"; 145$Lang{BackupPC__Archive} = "BackupPC: アーカイブ"; 146$Lang{BackupPC_Summary} = <<EOF; 147 148\${h1(qq{$Lang{BackupPC__Server_Summary}})} 149<p> 150<ul> 151<li>この表示内容は \$now に更新されたものです。 152<li>プールファイルシステムは \$Info{DUlastValue}% 153 (\$DUlastTime 現在)、今日の最大値は \$Info{DUDailyMax}% (\$DUmaxTime)、 154 昨日の最大値は \$Info{DUDailyMaxPrev}%。 155<li>Inode プールファイルシステムは \$Info{DUInodelastValue}% 156 (\$DUlastTime 現在)、今日の最大値は \$Info{DUInodeDailyMax}% (\$DUInodemaxTime)、 157 昨日の最大値は \$Info{DUInodeDailyMaxPrev}%。 158</ul> 159</p> 160 161\${h2("バックアップが存在するホスト")} 162<p> 163\$hostCntGood 個のホストのバックアップが存在します。 164<ul> 165<li> \$fullTot 個のフルバックアップの合計サイズ \${fullSizeTot}GiB 166 (以前のプーリングと圧縮) 167<li> \$incrTot 個の増分バックアップの合計サイズ \${incrSizeTot}GiB 168 (以前のプーリングと圧縮) 169</ul> 170</p> 171<table class="sortable" id="host_summary_backups" border cellpadding="3" cellspacing="1"> 172<tr class="tableheader"><td> ホスト </td> 173 <td align="center"> ユーザ </td> 174 <td align="center"> コメント </td> 175 <td align="center"> フル </td> 176 <td align="center"> フル世代 (日数) </td> 177 <td align="center"> フルサイズ (GiB) </td> 178 <td align="center"> 速度(MB/s) </td> 179 <td align="center"> 増分 </td> 180 <td align="center"> 増分経過 (日数) </td> 181 <td align="center"> 最終バックアップ (日数) </td> 182 <td align="center"> 状態 </td> 183 <td align="center"> #転送エラー </td> 184 <td align="center"> 最終試行 </td></tr> 185\$strGood 186</table> 187\${h2("バックアップが存在しないホスト")} 188<p> 189\$hostCntNone 個のホストのバックアップが存在しません。 190<p> 191<table class="sortable" id="host_summary_nobackups" border cellpadding="3" cellspacing="1"> 192<tr class="tableheader"><td> ホスト </td> 193 <td align="center"> ユーザ </td> 194 <td align="center"> コメント </td> 195 <td align="center"> フル </td> 196 <td align="center"> フル世代(日) </td> 197 <td align="center"> フルサイズ(GiB) </td> 198 <td align="center"> 速度(MB/s) </td> 199 <td align="center"> #増分</td> 200 <td align="center"> 増分(日) </td> 201 <td align="center"> 最終バックアップ(日)</td> 202 <td align="center"> 状態 </td> 203 <td align="center"> #転送エラー</td> 204 <td align="center"> 最終試行 </td></tr> 205\$strNone 206</table> 207EOF 208 209$Lang{BackupPC_Archive} = <<EOF; 210\${h1(qq{$Lang{BackupPC__Archive}})} 211<script language="javascript" type="text/javascript"> 212<!-- 213 214 function checkAll(location) 215 { 216 for (var i=0;i<document.form1.elements.length;i++) 217 { 218 var e = document.form1.elements[i]; 219 if ((e.checked || !e.checked) && e.name != \'all\') { 220 if (eval("document.form1."+location+".checked")) { 221 e.checked = true; 222 } else { 223 e.checked = false; 224 } 225 } 226 } 227 } 228 229 function toggleThis(checkbox) 230 { 231 var cb = eval("document.form1."+checkbox); 232 cb.checked = !cb.checked; 233 } 234 235//--> 236</script> 237\$hostCntGood ホストのバックアップ済の合計サイズ \${fullSizeTot}GiB 238<p> 239<form name="form1" method="post" action="\$MyURL"> 240<input type="hidden" name="fcbMax" value="\$checkBoxCnt"> 241<input type="hidden" name="type" value="1"> 242<input type="hidden" name="host" value="\${EscHTML(\$archHost)}"> 243<input type="hidden" name="action" value="Archive"> 244<table class="tableStnd" border cellpadding="3" cellspacing="1"> 245<tr class="tableheader"><td align=center> ホスト </td> 246 <td align="center"> ユーザ </td> 247 <td align="center"> バックアップサイズ </td> 248\$strGood 249\$checkAllHosts 250</table> 251</form> 252<p> 253 254EOF 255 256$Lang{BackupPC_Archive2} = <<EOF; 257\${h1(qq{$Lang{BackupPC__Archive}})} 258次のホストのアーカイブについて 259<ul> 260\$HostListStr 261</ul> 262<form action="\$MyURL" method="post"> 263\$hiddenStr 264<input type="hidden" name="action" value="Archive"> 265<input type="hidden" name="host" value="\${EscHTML(\$archHost)}"> 266<input type="hidden" name="type" value="2"> 267<input type="hidden" value="0" name="archive_type"> 268<table class="tableStnd" border cellspacing="1" cellpadding="3"> 269\$paramStr 270<tr> 271 <td colspan=2><input type="submit" value="アーカイブ開始" name="ignore"></td> 272</tr> 273</form> 274</table> 275EOF 276 277$Lang{BackupPC_Archive2_location} = <<EOF; 278<tr> 279 <td>Archive Location/Device</td> 280 <td><input type="text" value="\$ArchiveDest" name="archive_device"></td> 281</tr> 282EOF 283 284$Lang{BackupPC_Archive2_compression} = <<EOF; 285<tr> 286 <td>圧縮</td> 287 <td> 288 <input type="radio" value="0" name="compression" \$ArchiveCompNone>なし<br> 289 <input type="radio" value="1" name="compression" \$ArchiveCompGzip>gzip<br> 290 <input type="radio" value="2" name="compression" \$ArchiveCompBzip2>bzip2 291 </td> 292</tr> 293EOF 294 295$Lang{BackupPC_Archive2_parity} = <<EOF; 296<tr> 297 <td>パリティデータの割合 (0 = 無効, 5 = 一般)</td> 298 <td><input type="numeric" value="\$ArchivePar" name="par"></td> 299</tr> 300EOF 301 302$Lang{BackupPC_Archive2_split} = <<EOF; 303<tr> 304 <td>出力を次へ分離</td> 305 <td><input type="numeric" value="\$ArchiveSplit" name="splitsize">Mバイト</td> 306</tr> 307EOF 308 309# ----------------------------------- 310$Lang{Pool_Stat} = <<EOF; 311 <li>プールは \$info->{"\${name}FileCnt"}ファイルと 312 \$info->{"\${name}DirCnt"}ディレクトリ(\$poolTime 時点)を含む、\${poolSize}GiBのサイズがあります。 313 <li>プールのハッシングは最長 \$info->{"\${name}FileRepMax"} の \$info->{"\${name}FileCntRep"} の繰り返すファイルを提供します。 314 <li>\$poolTime の夜間のクリーンアップによって合計\${poolRmSize}GiBの \$info->{"\${name}FileCntRm"} 個のファイルが 315 削除されました。 316EOF 317 318# -------------------------------- 319$Lang{BackupPC__Backup_Requested_on__host} = "BackupPC: \$host のバックアップ要求"; 320$Lang{BackupPC__Delete_Requested_for_a_backup_of__host} = "BackupPC: Delete Requested for a backup of \$host"; 321# -------------------------------- 322$Lang{REPLY_FROM_SERVER} = <<EOF; 323\${h1(\$str)} 324<p> 325サーバからの返信: \$reply 326<p> 327<a href="\$MyURL?host=\$host">\$host ホームページへ戻る</a>. 328EOF 329# -------------------------------- 330$Lang{BackupPC__Start_Backup_Confirm_on__host} = "BackupPC: バックアップ開始の確認 \$host"; 331# -------------------------------- 332$Lang{Are_you_sure_start} = <<EOF; 333\${h1("本当によいですか?")} 334<p> 335\$host の \$type バックアップを開始します。 336 337<form name="Confirm" action="\$MyURL" method="get"> 338<input type="hidden" name="host" value="\$host"> 339<input type="hidden" name="hostIP" value="\$ipAddr"> 340<input type="hidden" name="doit" value="1"> 341<input type="hidden" name="action" value=""> 342本当に実行してよいですか? 343<input type="button" value="\$buttonText" 344 onClick="document.Confirm.action.value='\$In{action}'; 345 document.Confirm.submit();"> 346<input type="submit" value="いいえ" name="ignore"> 347</form> 348EOF 349# -------------------------------- 350$Lang{BackupPC__Stop_Backup_Confirm_on__host} = "BackupPC: バックアップ停止の確認 \$host"; 351# -------------------------------- 352$Lang{Are_you_sure_stop} = <<EOF; 353 354\${h1("本当によいですか?")} 355 356<p> 357\$host バックアップの中止/デキューをします。 358 359<form name="Confirm" action="\$MyURL" method="get"> 360<input type="hidden" name="host" value="\$host"> 361<input type="hidden" name="doit" value="1"> 362<input type="hidden" name="action" value=""> 363なお、<input type="text" name="backoff" size="10" value="\$backoff"> 時間、他のバックアップを開始しないでください。 364<p> 365本当に実行してよいですか? 366<input type="button" value="\$buttonText" 367 onClick="document.Confirm.action.value='\$In{action}'; 368 document.Confirm.submit();"> 369<input type="submit" value="いいえ" name="ignore"> 370</form> 371 372EOF 373# -------------------------------- 374$Lang{Only_privileged_users_can_view_queues_} = "権限があるユーザのみキューを見ることができます。"; 375# -------------------------------- 376$Lang{Only_privileged_users_can_archive} = "権限があるユーザのみアーカイブすることができます。"; 377# -------------------------------- 378$Lang{BackupPC__Queue_Summary} = "BackupPC: キューサマリ"; 379# -------------------------------- 380$Lang{Backup_Queue_Summary} = <<EOF; 381\${h1("バックアップキューサマリ")} 382\${h2("ユーザキューサマリ")} 383<p> 384現在キューイングされているユーザ要求は次のとおりです。 385</p> 386<table class="tableStnd sortable" border cellspacing="1" cellpadding="3" width="80%"> 387<tr class="tableheader"><td> ホスト </td> 388 <td> Action </td> 389 <td> 要求時間 </td> 390 <td> ユーザ </td></tr> 391\$strUser 392</table> 393 394\${h2("バックグラウンドキューサマリ")} 395<p> 396現在キューイングされているバックグラウンド要求は次のとおりです。</p> 397<table class="tableStnd sortable" border cellspacing="1" cellpadding="3" width="80%"> 398<tr class="tableheader"><td> ホスト </td> 399 <td> Action </td> 400 <td> 要求時間 </td> 401 <td> ユーザ </td></tr> 402\$strBg 403</table> 404\${h2("コマンドキューサマリ")} 405<p> 406現在キューイングされているコマンド要求は次のとおりです。 407</p> 408<table class="tableStnd sortable" border cellspacing="1" cellpadding="3" width="80%"> 409<tr class="tableheader"><td> ホスト </td> 410 <td> Action </td> 411 <td> 要求時間 </td> 412 <td> ユーザ </td> 413 <td> コマンド </td></tr> 414\$strCmd 415</table> 416EOF 417 418# -------------------------------- 419$Lang{Backup_PC__Log_File__file} = "BackupPC: ファイル \$file"; 420$Lang{Log_File__file__comment} = <<EOF; 421\${h1("ファイル \$file \$comment")} 422<p> 423EOF 424# -------------------------------- 425$Lang{Contents_of_log_file} = <<EOF; 426ファイル<tt>\$file</tt>の内容 \$mtimeStr 更新 \$comment 427EOF 428 429# -------------------------------- 430$Lang{skipped__skipped_lines} = "[ \$skipped 行スキップしました。 ]\n"; 431# -------------------------------- 432$Lang{_pre___Can_t_open_log_file__file} = "<pre>\n\$file ログファイルを開くことができません。\n"; 433 434# -------------------------------- 435$Lang{BackupPC__Log_File_History} = "BackupPC: ログファイルの履歴"; 436$Lang{Log_File_History__hdr} = <<EOF; 437\${h1("ログファイル履歴 \$hdr")} 438<p> 439<table class="tableStnd sortable" border cellspacing="1" cellpadding="3" width="80%"> 440<tr class="tableheader"><td align="center"> ファイル </td> 441 <td align="center"> サイズ </td> 442 <td align="center"> 更新時間 </td></tr> 443\$str 444</table> 445EOF 446 447# ------------------------------- 448$Lang{Recent_Email_Summary} = <<EOF; 449\${h1("最近のメールサマリ(日時降順)")} 450<p> 451<table class="tableStnd sortable" border cellspacing="1" cellpadding="3" width="80%"> 452<tr class="tableheader"><td align="center"> 受信者 </td> 453 <td align="center"> ホスト </td> 454 <td align="center"> 日時 </td> 455 <td align="center"> 件名 </td></tr> 456\$str 457</table> 458EOF 459 460 461# ------------------------------ 462$Lang{Browse_backup__num_for__host} = "BackupPC: \$host \$num バックアップの閲覧"; 463 464# ------------------------------ 465$Lang{Restore_Options_for__host} = "BackupPC: \$host リストアオプション"; 466$Lang{Restore_Options_for__host2} = <<EOF; 467\${h1("\$host のリストアオプション")} 468<p> 469共有 \$share から次のファイル/ディレクトリを選択しています。バックアップ番号 #\$num: 470<ul> 471\$fileListStr 472</ul> 473</p><p> 474これらファイル/ディレクトリのリストア方法を3つの中から選ぶことができます。 475次の中から選択してください。 476</p> 477\${h2("オプション1: ダイレクトリストア")} 478<p> 479EOF 480 481$Lang{Restore_Options_for__host_Option1} = <<EOF; 482<b>\$directHost</b>へ直接これらのファイルをリストアします。 483</p><p> 484<b>警告:</b> 既存のファイルは選択したこれらのファイルで上書きされます。 485</p> 486<form action="\$MyURL" method="post" name="direct"> 487<input type="hidden" name="host" value="\${EscHTML(\$host)}"> 488<input type="hidden" name="num" value="\$num"> 489<input type="hidden" name="type" value="3"> 490\$hiddenStr 491<input type="hidden" value="\$In{action}" name="action"> 492<table class="tableStnd" border="0"> 493<tr> 494 <td>ホストへファイルをリストア</td> 495 <td><!--<input type="text" size="40" value="\${EscHTML(\$host)}" 496 name="hostDest">--> 497 <select name="hostDest" onChange="document.direct.shareDest.value=''"> 498 \$hostDestSel 499 </select> 500 <script language="Javascript"> 501 function myOpen(URL) { 502 window.open(URL,'','width=500,height=400'); 503 } 504 </script> 505 <!--<a href="javascript:myOpen('\$MyURL?action=findShares&host='+document.direct.hostDest.options.value)">利用できる共有の検索(未実装)</a>--></td> 506</tr><tr> 507 <td>共有へファイルをリストア</td> 508 <td><input type="text" size="40" value="\${EscHTML(\$share)}" 509 name="shareDest"></td> 510</tr><tr> 511 <td>次のディレクトリへファイルをリストア<br>(共有への相対)</td> 512 <td valign="top"><input type="text" size="40" maxlength="256" 513 value="\${EscHTML(\$pathHdr)}" name="pathHdr"></td> 514</tr><tr> 515 <td><input type="submit" value="リストア開始" name="ignore"></td> 516</table> 517</form> 518EOF 519 520$Lang{Restore_Options_for__host_Option1_disabled} = <<EOF; 521Direct restore has been disabled for host \${EscHTML(\$hostDest)}. 522他のリストアオプションから1つ選択してください。 523EOF 524 525# ------------------------------ 526$Lang{Option_2__Download_Zip_archive} = <<EOF; 527<p> 528\${h2("オプション2: Zipアーカイブのダウンロード")} 529<p> 530選択したファイル/ディレクトリをすべて含んだZIPアーカイブをダウンロードします。 531WinZipのようなローカルアプリケーションで閲覧したり展開することができます。 532</p><p> 533<b>警告:</b> depending upon which files/directories you have selected, 534this archive might be very very large. It might take many minutes to 535create and transfer the archive, and you will need enough local disk 536space to store it. 537</p> 538<form action="\$MyURL" method="post"> 539<input type="hidden" name="host" value="\${EscHTML(\$host)}"> 540<input type="hidden" name="num" value="\$num"> 541<input type="hidden" name="type" value="2"> 542\$hiddenStr 543<input type="hidden" value="\$In{action}" name="action"> 544<input type="checkbox" value="1" name="relative" checked> Make archive relative 545to \${EscHTML(\$pathHdr eq "" ? "/" : \$pathHdr)} 546(otherwise archive will contain full paths). 547<br> 548<table class="tableStnd" border="0"> 549<tr> 550 <td>圧縮 (0=なし, 1=高速,...,9=最高)</td> 551 <td><input type="text" size="6" value="5" name="compressLevel"></td> 552</tr><tr> 553 <td>Code page (e.g. cp866)</td> 554 <td><input type="text" size="6" value="utf8" name="codePage"></td> 555</tr> 556</table> 557<br> 558<input type="submit" value="ZIPファイルのダウンロード" name="ignore"> 559</form> 560EOF 561 562# ------------------------------ 563 564$Lang{Option_2__Download_Zip_archive2} = <<EOF; 565<p> 566\${h2("オプション2: ZIPアーカイブのダウンロード")} 567<p> 568Archive::Zip はインストールされていないのでZIPアーカイブをダウンロードすることができません。 569<a href="http://www.cpan.org">www.cpan.org</a>からArchive::Zipをインストールすることについて、システム管理者にお問い合わせください。 570</p> 571EOF 572 573 574# ------------------------------ 575$Lang{Option_3__Download_Zip_archive} = <<EOF; 576\${h2("オプション3: Tarアーカイブのダウンロード")} 577<p> 578You can download a Tar archive containing all the files/directories you 579have selected. You can then use a local application, such as tar or 580WinZip to view or extract any of the files. 581</p><p> 582<b>Warning:</b> depending upon which files/directories you have selected, 583this archive might be very very large. It might take many minutes to 584create and transfer the archive, and you will need enough local disk 585space to store it. 586</p> 587<form action="\$MyURL" method="post"> 588<input type="hidden" name="host" value="\${EscHTML(\$host)}"> 589<input type="hidden" name="num" value="\$num"> 590<input type="hidden" name="type" value="1"> 591\$hiddenStr 592<input type="hidden" value="\$In{action}" name="action"> 593<input type="checkbox" value="1" name="relative" checked> Make archive relative 594to \${EscHTML(\$pathHdr eq "" ? "/" : \$pathHdr)} 595(otherwise archive will contain full paths). 596<br> 597<input type="submit" value="Download Tar File" name="ignore"> 598</form> 599EOF 600 601 602# ------------------------------ 603$Lang{Restore_Confirm_on__host} = "BackupPC: \$host リストアの確認"; 604 605$Lang{Are_you_sure} = <<EOF; 606\${h1("よいですか?")} 607<p> 608You are about to start a restore directly to the machine \$In{hostDest}. 609The following files will be restored to share \$In{shareDest}, from 610バックアップ番号 \$num: 611<p> 612<table class="tableStnd" border> 613<tr class="tableheader"><td>元のファイル/ディレクトリ</td><td>次の場所にリストアされます。</td></tr> 614\$fileListStr 615</table> 616 617<form name="RestoreForm" action="\$MyURL" method="post"> 618<input type="hidden" name="host" value="\${EscHTML(\$host)}"> 619<input type="hidden" name="hostDest" value="\${EscHTML(\$In{hostDest})}"> 620<input type="hidden" name="shareDest" value="\${EscHTML(\$In{shareDest})}"> 621<input type="hidden" name="pathHdr" value="\${EscHTML(\$In{pathHdr})}"> 622<input type="hidden" name="num" value="\$num"> 623<input type="hidden" name="type" value="4"> 624<input type="hidden" name="action" value=""> 625\$hiddenStr 626本当に実行してよいですか? 627<input type="button" value="\$Lang->{Restore}" 628 onClick="document.RestoreForm.action.value='Restore'; 629 document.RestoreForm.submit();"> 630<input type="submit" value="No" name="ignore"> 631</form> 632EOF 633 634 635# -------------------------- 636$Lang{Restore_Requested_on__hostDest} = "BackupPC: \$hostDest へリストア"; 637$Lang{Reply_from_server_was___reply} = <<EOF; 638\${h1(\$str)} 639<p> 640サーバからの応答: \$reply 641<p> 642<a href="\$MyURL?host=\$hostDest">\$hostDest ホームページ</a>に戻る 643EOF 644 645$Lang{BackupPC_Archive_Reply_from_server} = <<EOF; 646\${h1(\$str)} 647<p> 648サーバからの応答: \$reply 649EOF 650 651 652# -------------------------------- 653$Lang{BackupPC__Delete_Backup_Confirm__num_of__host} = "BackupPC: Delete Backup Confirm #\$num of \$host"; 654# -------------------------------- 655$Lang{A_filled} = "a filled"; 656$Lang{An_unfilled} = "an unfilled"; 657$Lang{Are_you_sure_delete} = <<EOF; 658\${h1("Are you sure?")} 659<p> 660You are about to delete \$filled \$type backup #\$num of \$host. 661 662<form name="Confirm" action="\$MyURL" method="get"> 663 664<input type="hidden" name="host" value="\${EscHTML(\$host)}"> 665<input type="hidden" name="num" value="\$num"> 666 667<input type="hidden" name="doit" value="1"> 668<input type="hidden" name="action" value=""> 669 670Do you really want to do this? 671 672<input type="button" value="\${EscHTML(\$Lang->{CfgEdit_Button_Delete})}" 673 onClick="document.Confirm.action.value='deleteBackup'; 674 document.Confirm.submit();"> 675 676<input type="submit" value="No" name="ignore"> 677</form> 678EOF 679 680# ------------------------- 681$Lang{Host__host_Backup_Summary} = "BackupPC: ホスト \$host バックアップサマリ"; 682 683$Lang{Host__host_Backup_Summary2} = <<EOF; 684\${h1("ホスト \$host バックアップサマリ")} 685<p> 686\$warnStr 687<ul> 688\$statusStr 689</ul> 690</p> 691\${h2("ユーザの操作")} 692<p> 693<form name="StartStopForm" action="\$MyURL" method="get"> 694<input type="hidden" name="host" value="\$host"> 695<input type="hidden" name="action" value=""> 696\$startIncrStr 697<input type="button" value="\$Lang->{Start_Full_Backup}" 698 onClick="document.StartStopForm.action.value='Start_Full_Backup'; 699 document.StartStopForm.submit();"> 700<input type="button" value="\$Lang->{Stop_Dequeue_Backup}" 701 onClick="document.StartStopForm.action.value='Stop_Dequeue_Backup'; 702 document.StartStopForm.submit();"> 703</form> 704</p> 705\${h2("バックアップサマリ")} 706<p> 707閲覧・バックアップファイルのリストアを行いたいバックアップ番号をクリックしてください。 708</p> 709<table class="tableStnd sortable" border cellspacing="1" cellpadding="3"> 710<tr class="tableheader"><td align="center"> バックアップ番号 </td> 711 <td align="center"> 種別 </td> 712 <td align="center"> フィルド </td> 713 <td align="center"> レベル </td> 714 <td align="center"> 開始日時 </td> 715 <td align="center"> 間隔(分) </td> 716 <td align="center"> 経過(日) </td> 717 \$deleteHdrStr 718 <td align="center"> サーババックアップパス </td> 719</tr> 720\$str 721</table> 722<p> 723 724\$restoreStr 725</p> 726\${h2("転送エラーサマリ")} 727<table class="tableStnd sortable" border cellspacing="1" cellpadding="3" width="80%"> 728<tr class="tableheader"><td align="center"> バックアップ番号 </td> 729 <td align="center"> 種別 </td> 730 <td align="center"> ビュー </td> 731 <td align="center"> #転送エラー </td> 732 <td align="center"> #badファイル </td> 733 <td align="center"> #bad共有 </td> 734 <td align="center"> #tarエラー </td> 735</tr> 736\$errStr 737</table> 738 739\${h2("ファイルサイズ/カウント 再利用サマリ")} 740<p> 741存在するファイルはプール内にすでにあります。次の新しいファイルはプールへ追加されます。 742空ファイルとSMBエラーは再利用にはカウントされません。 743</p> 744<table class="tableStnd sortable" border cellspacing="1" cellpadding="3" width="80%"> 745<tr class="tableheader"><td colspan="2" bgcolor="#ffffff"></td> 746 <td align="center" colspan="3"> トータル </td> 747 <td align="center" colspan="2"> 既存ファイル </td> 748 <td align="center" colspan="2"> 新ファイル </td> 749</tr> 750<tr class="tableheader sortheader"> 751 <td align="center"> バックアップ番号 </td> 752 <td align="center"> 種別 </td> 753 <td align="center"> #ファイル </td> 754 <td align="center"> サイズ(MB) </td> 755 <td align="center"> 速度(MB/sec) </td> 756 <td align="center"> #ファイル </td> 757 <td align="center"> サイズ(MB) </td> 758 <td align="center"> #ファイル </td> 759 <td align="center"> サイズ(MB) </td> 760</tr> 761\$sizeStr 762</table> 763 764\${h2("圧縮サマリ")} 765<p> 766すでにプールに入っているものと新しく圧縮されたファイルの圧縮パフォーマンス 767</p> 768<table class="tableStnd sortable" border cellspacing="1" cellpadding="3" width="80%"> 769<tr class="tableheader"><td colspan="3" bgcolor="#ffffff"></td> 770 <td align="center" colspan="3"> 既存ファイル </td> 771 <td align="center" colspan="3"> 新ファイル </td> 772</tr> 773<tr class="tableheader sortheader"><td align="center"> バックアップ番号 </td> 774 <td align="center"> 種別 </td> 775 <td align="center"> 圧縮レベル </td> 776 <td align="center"> サイズ(MB) </td> 777 <td align="center"> 圧縮(MB) </td> 778 <td align="center"> 圧縮 </td> 779 <td align="center"> サイズ(MB) </td> 780 <td align="center"> 圧縮(MB) </td> 781 <td align="center"> 圧縮 </td> 782</tr> 783\$compStr 784</table> 785EOF 786 787$Lang{Host__host_Archive_Summary} = "BackupPC: ホスト \$host アーカイブサマリ"; 788$Lang{Host__host_Archive_Summary2} = <<EOF; 789\${h1("ホスト \$host アーカイブサマリ")} 790<p> 791\$warnStr 792<ul> 793\$statusStr 794</ul> 795 796\${h2("ユーザ操作")} 797<p> 798<form name="StartStopForm" action="\$MyURL" method="get"> 799<input type="hidden" name="archivehost" value="\$host"> 800<input type="hidden" name="host" value="\$host"> 801<input type="hidden" name="action" value=""> 802<input type="button" value="\$Lang->{Start_Archive}" 803 onClick="document.StartStopForm.action.value='Start_Archive'; 804 document.StartStopForm.submit();"> 805<input type="button" value="\$Lang->{Stop_Dequeue_Archive}" 806 onClick="document.StartStopForm.action.value='Stop_Dequeue_Archive'; 807 document.StartStopForm.submit();"> 808</form> 809 810\$ArchiveStr 811 812EOF 813 814# ------------------------- 815$Lang{Error} = "BackupPC: エラー"; 816$Lang{Error____head} = <<EOF; 817\${h1("エラー: \$head")} 818<p>\$mesg</p> 819EOF 820 821# ------------------------- 822$Lang{NavSectionTitle_} = "サーバ"; 823 824# ------------------------- 825$Lang{Backup_browse_for__host} = <<EOF; 826\${h1("\$host のバックアップ閲覧")} 827 828<script language="javascript" type="text/javascript"> 829<!-- 830 831 function checkAll(location) 832 { 833 for (var i=0;i<document.form1.elements.length;i++) 834 { 835 var e = document.form1.elements[i]; 836 if ((e.checked || !e.checked) && e.name != \'all\') { 837 if (eval("document.form1."+location+".checked")) { 838 e.checked = true; 839 } else { 840 e.checked = false; 841 } 842 } 843 } 844 } 845 846 function toggleThis(checkbox) 847 { 848 var cb = eval("document.form1."+checkbox); 849 cb.checked = !cb.checked; 850 } 851 852//--> 853</script> 854 855<form name="form0" method="post" action="\$MyURL"> 856<input type="hidden" name="num" value="\$num"> 857<input type="hidden" name="host" value="\$host"> 858<input type="hidden" name="share" value="\${EscHTML(\$share)}"> 859<input type="hidden" name="action" value="browse"> 860<ul> 861<li>\$backupTime に開始したバックアップ #\$num (\$backupAge 日前) を閲覧しています。 862\$filledBackup 863<li> ディレクトリを入力してください: <input type="text" name="dir" size="50" maxlength="4096" value="\${EscHTML(\$dir)}"> <input type="submit" value="\$Lang->{Go}" name="Submit"> 864<li> 移動したいディレクトリを左下から選択してください 865<li> リストアするファイルを右下から選択してください 866<li> 現在のディレクトリのバックアップ<a href="\$MyURL?action=dirHistory&host=\${EscURI(\$host)}&share=\$shareURI&dir=\$pathURI">履歴</a>を見ることができます。 867</ul> 868</form> 869 870\${h2("\$dirDisplay の内容")} 871<form name="form1" method="post" action="\$MyURL"> 872<input type="hidden" name="num" value="\$num"> 873<input type="hidden" name="host" value="\$host"> 874<input type="hidden" name="share" value="\${EscHTML(\$share)}"> 875<input type="hidden" name="fcbMax" value="\$checkBoxCnt"> 876<input type="hidden" name="action" value="Restore"> 877<br> 878<table width="100%"> 879<tr><td valign="top" width="30%"> 880 <table align="left" border="0" cellpadding="0" cellspacing="0" bgcolor="#ffffff"> 881 \$dirStr 882 </table> 883</td><td width="3%"> 884</td><td valign="top"> 885 <br> 886 <table border width="100%" align="left" cellpadding="3" cellspacing="1"> 887 \$fileHeader 888 \$topCheckAll 889 \$fileStr 890 \$checkAll 891 </table> 892 </td></tr></table> 893<br> 894<!-- 895This is now in the checkAll row 896<input type="submit" name="Submit" value="選択されたファイルをリストア"> 897--> 898</form> 899EOF 900 901# ------------------------------ 902$Lang{DirHistory_backup_for__host} = "BackupPC: \$host のバックアップ履歴ディレクトリ"; 903 904# 905# These two strings are used to build the links for directories and 906# file versions. Files are appended with a version number. 907# 908$Lang{DirHistory_dirLink} = "dir"; 909$Lang{DirHistory_fileLink} = "v"; 910 911$Lang{DirHistory_for__host} = <<EOF; 912\${h1("\$host のディレクトリバックアップ履歴")} 913<p> 914全バックアップをまたいでファイルのそれぞれのバージョンを表示します。 915<ul> 916<li> バックアップ番号をクリックすることでバックアップ閲覧画面に戻ります。 917<li> ディレクトリリンク(\$Lang->{DirHistory_dirLink})をクリックすることで、 918 そのディレクトリ内に移動できます。 919<li> ファイルのバージョンリンク(\$Lang->{DirHistory_fileLink}0, 920 \$Lang->{DirHistory_fileLink}1, ...)をクリックすることで、そのファイルをダウンロードできます。 921<li> 異なるバックアップ間の同じ内容のファイルは同じバージョン番号になります。(PleaseTranslateThis: except between v3 and v4 backups) 922<li> そのバックアップに存在しないファイルやディレクトリについては空欄になります。 923<li> 同じバージョンのファイルでも異なる属性を持っている場合があります。 924 ファイルの属性はバックアップ番号を選択すると見ることができます。 925</ul> 926 927\${h2("\$dirDisplay の履歴")} 928 929<br> 930<table border cellspacing="2" cellpadding="3"> 931<tr class="fviewheader"><td>バックアップ番号</td>\$backupNumStr</tr> 932<tr class="fviewheader"><td>バックアップ日時</td>\$backupTimeStr</tr> 933\$fileStr 934</table> 935EOF 936 937# ------------------------------ 938$Lang{Restore___num_details_for__host} = "BackupPC: リストア #\$num 詳細 \$host"; 939 940$Lang{Restore___num_details_for__host2} = <<EOF; 941\${h1("リストア #\$num 詳細 \$host")} 942<p> 943<table class="tableStnd" border cellspacing="1" cellpadding="3" width="90%"> 944<tr><td class="tableheader"> 番号 </td><td class="border"> \$Restores[\$i]{num} </td></tr> 945<tr><td class="tableheader"> 要求元 </td><td class="border"> \$RestoreReq{user} </td></tr> 946<tr><td class="tableheader"> 要求時間 </td><td class="border"> \$reqTime </td></tr> 947<tr><td class="tableheader"> 結果 </td><td class="border"> \$Restores[\$i]{result} </td></tr> 948<tr><td class="tableheader"> エラーメッセージ </td><td class="border"> \$Restores[\$i]{errorMsg} </td></tr> 949<tr><td class="tableheader"> 元ホスト </td><td class="border"> \$RestoreReq{hostSrc} </td></tr> 950<tr><td class="tableheader"> 元バックアップ番号 </td><td class="border"> \$RestoreReq{num} </td></tr> 951<tr><td class="tableheader"> 元共有 </td><td class="border"> \$RestoreReq{shareSrc} </td></tr> 952<tr><td class="tableheader"> リストア先 </td><td class="border"> \$RestoreReq{hostDest} </td></tr> 953<tr><td class="tableheader"> 共有先 </td><td class="border"> \$RestoreReq{shareDest} </td></tr> 954<tr><td class="tableheader"> 開始日時 </td><td class="border"> \$startTime </td></tr> 955<tr><td class="tableheader"> 間隔 </td><td class="border"> \$duration min </td></tr> 956<tr><td class="tableheader"> ファイル数 </td><td class="border"> \$Restores[\$i]{nFiles} </td></tr> 957<tr><td class="tableheader"> 合計サイズ </td><td class="border"> \${MB} MB </td></tr> 958<tr><td class="tableheader"> 転送率 </td><td class="border"> \$MBperSec MB/sec </td></tr> 959<tr><td class="tableheader"> Tar作成エラー </td><td class="border"> \$Restores[\$i]{tarCreateErrs} </td></tr> 960<tr><td class="tableheader"> 転送エラー </td><td class="border"> \$Restores[\$i]{xferErrs} </td></tr> 961<tr><td class="tableheader"> 転送ログファイル </td><td class="border"> 962<a href="\$MyURL?action=view&type=RestoreLOG&num=\$Restores[\$i]{num}&host=\$host">ビュー</a>, 963<a href="\$MyURL?action=view&type=RestoreErr&num=\$Restores[\$i]{num}&host=\$host">エラー</a> 964</tr></tr> 965</table> 966</p> 967\${h1("ファイル/ディレクトリ一覧")} 968<p> 969<table class="tableStnd" border cellspacing="1" cellpadding="3" width="100%"> 970<tr class="tableheader"><td>元のディレクトリ/ファイル</td><td>リストア</td></tr> 971\$fileListStr 972</table> 973EOF 974 975# ------------------------------ 976$Lang{Archive___num_details_for__host} = "BackupPC: アーカイブ #\$num 詳細 \$host"; 977 978$Lang{Archive___num_details_for__host2} = <<EOF; 979\${h1("アーカイブ #\$num 詳細 \$host")} 980<p> 981<table class="tableStnd" border cellspacing="1" cellpadding="3" width="80%"> 982<tr><td class="tableheader"> 番号 </td><td class="border"> \$Archives[\$i]{num} </td></tr> 983<tr><td class="tableheader"> 要求元 </td><td class="border"> \$ArchiveReq{user} </td></tr> 984<tr><td class="tableheader"> 要求時間 </td><td class="border"> \$reqTime </td></tr> 985<tr><td class="tableheader"> 結果 </td><td class="border"> \$Archives[\$i]{result} </td></tr> 986<tr><td class="tableheader"> エラーメッセージ </td><td class="border"> \$Archives[\$i]{errorMsg} </td></tr> 987<tr><td class="tableheader"> 開始日時 </td><td class="border"> \$startTime </td></tr> 988<tr><td class="tableheader"> 間隔 </td><td class="border"> \$duration min </td></tr> 989<tr><td class="tableheader"> 転送ログファイル </td><td class="border"> 990<a href="\$MyURL?action=view&type=ArchiveLOG&num=\$Archives[\$i]{num}&host=\$host">ビュー</a>, 991<a href="\$MyURL?action=view&type=ArchiveErr&num=\$Archives[\$i]{num}&host=\$host">エラー</a> 992</tr></tr> 993</table> 994<p> 995\${h1("ホスト一覧")} 996<p> 997<table class="tableStnd" border cellspacing="1" cellpadding="3" width="80%"> 998<tr class="tableheader"><td>ホスト</td><td>バックアップ番号</td></tr> 999\$HostListStr 1000</table> 1001EOF 1002 1003# ----------------------------------- 1004$Lang{Email_Summary} = "BackupPC: メールサマリ"; 1005 1006# ----------------------------------- 1007# !! ERROR messages !! 1008# ----------------------------------- 1009$Lang{BackupPC__Lib__new_failed__check_apache_error_log} = "BackupPC::Lib->new failed: check apache error_log\n"; 1010$Lang{Wrong_user__my_userid_is___} = 1011 "Wrong user: my userid is \$>, instead of \$uid" 1012 . "(\$Conf{BackupPCUser})\n"; 1013# $Lang{Only_privileged_users_can_view_PC_summaries} = "Only privileged users can view PC summaries."; 1014$Lang{Only_privileged_users_can_stop_or_start_backups} = 1015 "Only privileged users can stop or start backups on" 1016 . " \${EscHTML(\$host)}."; 1017$Lang{Invalid_number__num} = "番号 \${EscHTML(\$In{num})} が不正です。"; 1018$Lang{Unable_to_open__file__configuration_problem} = "Unable to open \$file: configuration problem?"; 1019$Lang{Only_privileged_users_can_view_log_or_config_files} = "Only privileged users can view log or config files."; 1020$Lang{Only_privileged_users_can_view_log_files} = "Only privileged users can view log files."; 1021$Lang{Only_privileged_users_can_view_email_summaries} = "Only privileged users can view email summaries."; 1022$Lang{Only_privileged_users_can_browse_backup_files} = "Only privileged users can browse backup files" 1023 . " ホスト \${EscHTML(\$In{host})}."; 1024$Lang{Only_privileged_users_can_delete_backups} = "Only privileged users can delete backups" 1025 . " of host \${EscHTML(\$host)}."; 1026$Lang{Empty_host_name} = "ホスト名が空です。"; 1027$Lang{Directory___EscHTML} = "ディレクトリ \${EscHTML(\"\$TopDir/pc/\$host/\$num\")}" 1028 . " は空です。"; 1029$Lang{Can_t_browse_bad_directory_name2} = "Can\'t browse bad directory name" 1030 . " \${EscHTML(\$relDir)}"; 1031$Lang{Only_privileged_users_can_restore_backup_files} = "Only privileged users can restore backup files" 1032 . " for host \${EscHTML(\$In{host})}."; 1033$Lang{Bad_host_name} = "\${EscHTML(\$host)} はホスト名が誤っています。"; 1034$Lang{You_haven_t_selected_any_files__please_go_Back_to} = "何もファイルを選択していません。戻って" 1035 . "いくつかファイルを選択してください。"; 1036$Lang{You_haven_t_selected_any_hosts} = "何もホストを選択していません。戻って" 1037 . "いくつかのホストを選択してください。"; 1038$Lang{Nice_try__but_you_can_t_put} = "Nice try, but you can\'t put \'..\' in any of the file names"; 1039$Lang{Host__doesn_t_exist} = "Host \${EscHTML(\$In{hostDest})} doesn\'t exist"; 1040$Lang{You_don_t_have_permission_to_restore_onto_host} = "You don\'t have permission to restore onto host" 1041 . " \${EscHTML(\$In{hostDest})}"; 1042$Lang{Can_t_open_create__openPath} = "Can\'t open/create " 1043 . "\${EscHTML(\"\$openPath\")}"; 1044$Lang{Only_privileged_users_can_restore_backup_files2} = "Only privileged users can restore backup files" 1045 . " for host \${EscHTML(\$host)}."; 1046$Lang{Empty_host_name} = "ホスト名が空です。"; 1047$Lang{Unknown_host_or_user} = "Unknown host or user \${EscHTML(\$host)}"; 1048$Lang{Only_privileged_users_can_view_information_about} = "Only privileged users can view information about" 1049 . " host \${EscHTML(\$host)}." ; 1050$Lang{Only_privileged_users_can_view_archive_information} = "Only privileged users can view archive information."; 1051$Lang{Only_privileged_users_can_view_restore_information} = "Only privileged users can view restore information."; 1052$Lang{Restore_number__num_for_host__does_not_exist} = "Restore number \$num for host \${EscHTML(\$host)} does" 1053 . " not exist."; 1054$Lang{Archive_number__num_for_host__does_not_exist} = "Archive number \$num for host \${EscHTML(\$host)} does" 1055 . " not exist."; 1056$Lang{Can_t_find_IP_address_for} = "Can\'t find IP address for \${EscHTML(\$host)}"; 1057$Lang{host_is_a_DHCP_host} = <<EOF; 1058\$host is a DHCP host, and I don\'t know its IP address. I checked the 1059netbios name of \$ENV{REMOTE_ADDR}\$tryIP, and found that that machine 1060is not \$host. 1061<p> 1062Until I see \$host at a particular DHCP address, you can only 1063start this request from the client machine itself. 1064EOF 1065 1066# ------------------------------------ 1067# !! Server Mesg !! 1068# ------------------------------------ 1069 1070$Lang{Backup_requested_on_DHCP__host} = "バックアップ要求 on DHCP \$host (\$In{hostIP}) by" 1071 . " \$User from \$ENV{REMOTE_ADDR}"; 1072$Lang{Backup_requested_on__host_by__User} = "\$User による \$host のバックアップ要求"; 1073$Lang{Backup_stopped_dequeued_on__host_by__User} = "\$User による \$host のバックアップ中止/デキュー"; 1074$Lang{Restore_requested_to_host__hostDest__backup___num} = "ホスト\$hostDest のリストア要求 バックアップ #\$num," 1075 . " by \$User from \$ENV{REMOTE_ADDR}"; 1076$Lang{Delete_requested_for_backup_of__host_by__User} = "Delete requested for backup #\$num of \$host" 1077 . " by \$User from \$ENV{REMOTE_ADDR}"; 1078$Lang{Archive_requested} = "\$ENV{REMOTE_ADDR} から \$User によってアーカイブの要求がありました。"; 1079 1080# ------------------------------------------------- 1081# ------- Stuff that was forgotten ---------------- 1082# ------------------------------------------------- 1083 1084$Lang{Status} = "状態"; 1085$Lang{PC_Summary} = "ホストサマリ"; 1086$Lang{LOG_file} = "ログファイル"; 1087$Lang{LOG_files} = "全ログファイル"; 1088$Lang{Old_LOGs} = "旧ログ"; 1089$Lang{Email_summary} = "メールサマリ"; 1090$Lang{Config_file} = "設定ファイル"; 1091# $Lang{Hosts_file} = "ホストファイル"; 1092$Lang{Current_queues} = "現在のキュー"; 1093$Lang{Documentation} = "文章"; 1094 1095#$Lang{Host_or_User_name} = "<small>ホストまたはユーザ名:</small>"; 1096$Lang{Go} = "実行"; 1097$Lang{Hosts} = "ホスト"; 1098$Lang{Select_a_host} = "ホストを選択"; 1099 1100$Lang{There_have_been_no_archives} = "<h2> アーカイブはありません </h2>\n"; 1101$Lang{This_PC_has_never_been_backed_up} = "<h2> このPCはまだバックアップされたことがありません!! </h2>\n"; 1102$Lang{This_PC_is_used_by} = "<li>このPCは \${UserLink(\$user)} によって使用されています"; 1103 1104$Lang{Extracting_only_Errors} = "(エラーだけ抽出)"; 1105$Lang{XferLOG} = "転送ログ"; 1106$Lang{Errors} = "エラー"; 1107 1108# ------------ 1109$Lang{Last_email_sent_to__was_at___subject} = <<EOF; 1110<li>最後のメールは \$mailTime に件名"\$subj"で\${UserLink(\$user)}宛に送りました。 1111EOF 1112# ------------ 1113$Lang{The_command_cmd_is_currently_running_for_started} = <<EOF; 1114<li>\$startTime に開始されたコマンド \$cmd は現在 \$host では実行されていません。 1115EOF 1116 1117# ----------- 1118$Lang{Host_host_is_queued_on_the_background_queue_will_be_backed_up_soon} = <<EOF; 1119<li>ホスト \$host はバックグラウンドキューにキューイングされました(もう少しでバックアップされます)。 1120EOF 1121 1122# ---------- 1123$Lang{Host_host_is_queued_on_the_user_queue__will_be_backed_up_soon} = <<EOF; 1124<li>ホスト \$host はユーザキューにキューイングされました(もう少しでバックアップされます)。 1125EOF 1126 1127# --------- 1128$Lang{A_command_for_host_is_on_the_command_queue_will_run_soon} = <<EOF; 1129<li>\$host へのコマンドはキューイングされました(もう少しで実行されます)。 1130EOF 1131 1132# -------- 1133$Lang{Last_status_is_state_StatusHost_state_reason_as_of_startTime} = <<EOF; 1134<li>最終状態 \"\$Lang->{\$StatusHost{state}}\"\$reason \$startTime. 1135EOF 1136 1137# -------- 1138$Lang{Last_error_is____EscHTML_StatusHost_error} = <<EOF; 1139<li>最終エラー \"\${EscHTML(\$StatusHost{error})}\". 1140EOF 1141 1142# ------ 1143$Lang{Pings_to_host_have_failed_StatusHost_deadCnt__consecutive_times} = <<EOF; 1144<li>\$StatusHost{deadCnt}回連続で \$host は無応答です。 1145EOF 1146 1147# ----- 1148$Lang{Prior_to_that__pings} = "pingの以前は"; 1149 1150# ----- 1151$Lang{priorStr_to_host_have_succeeded_StatusHostaliveCnt_consecutive_times} = <<EOF; 1152<li>\$host への\$priorStr は \$StatusHost{aliveCnt}回連続で成功しています。 1153EOF 1154 1155$Lang{Because__host_has_been_on_the_network_at_least__Conf_BlackoutGoodCnt_consecutive_times___} = <<EOF; 1156<li>\$host は少なくとも \$Conf{BlackoutGoodCnt} 回連続して、 1157\$blackoutStr からバックアップされていません。 1158EOF 1159 1160$Lang{__time0_to__time1_on__days} = "\$days の \$t0 〜 \$t1"; 1161 1162$Lang{Backups_are_deferred_for_hours_hours_change_this_number} = <<EOF; 1163<li>Backups are deferred for \$hours hours 1164(<a href=\"\$MyURL?action=Stop_Dequeue_Backup&host=\$host\">change this number</a>). 1165EOF 1166 1167$Lang{tryIP} = " と \$StatusHost{dhcpHostIP}"; 1168 1169# $Lang{Host_Inhost} = "ホスト \$In{host}"; 1170 1171$Lang{checkAll} = <<EOF; 1172<tr><td class="fviewborder"> 1173<input type="checkbox" name="allFiles" onClick="return checkAll('allFiles');"> 全選択 1174</td><td colspan="5" align="center" class="fviewborder"> 1175<input type="submit" name="Submit" value="選択したファイルのリストア"> 1176</td></tr> 1177EOF 1178 1179$Lang{checkAllHosts} = <<EOF; 1180<tr><td class="fviewborder"> 1181<input type="checkbox" name="allFiles" onClick="return checkAll('allFiles');"> 全選択 1182</td><td colspan="2" align="center" class="fviewborder"> 1183<input type="submit" name="Submit" value="選択したホストのアーカイブ"> 1184</td></tr> 1185EOF 1186 1187$Lang{fileHeader} = <<EOF; 1188 <tr class="fviewheader"><td align=center> 名前</td> 1189 <td align="center"> 種別</td> 1190 <td align="center"> モード</td> 1191 <td align="center"> #</td> 1192 <td align="center"> サイズ</td> 1193 <td align="center"> 更新日時</td> 1194 </tr> 1195EOF 1196 1197$Lang{Home} = "ホーム"; 1198$Lang{Browse} = "バックアップの閲覧"; 1199$Lang{Last_bad_XferLOG} = "最終失敗転送ログ"; 1200$Lang{Last_bad_XferLOG_errors_only} = "最終失敗転送ログ(エラーのみ)"; 1201 1202$Lang{This_display_is_merged_with_backup} = <<EOF; 1203<li>この表示はバックアップ #\$numF とマージされています。 1204EOF 1205 1206$Lang{Visit_this_directory_in_backup} = <<EOF; 1207<li> 閲覧したいバックアップを選択してください: <select onChange="window.location=this.value">\$otherDirs </select> 1208EOF 1209 1210$Lang{Restore_Summary} = <<EOF; 1211\${h2("リストアサマリ")} 1212<p> 1213詳細を閲覧したいリストア番号をクリックしてください。 1214<table class="tableStnd sortable" border cellspacing="1" cellpadding="3" width="80%"> 1215<tr class="tableheader"><td align="center"> リストア番号 </td> 1216 <td align="center"> 結果 </td> 1217 <td align="right"> 開始日時</td> 1218 <td align="right"> 間隔(分)</td> 1219 <td align="right"> ファイル数</td> 1220 <td align="right"> サイズ(MB) </td> 1221 <td align="right"> #tarエラー</td> 1222 <td align="right"> #転送エラー</td> 1223</tr> 1224\$restoreStr 1225</table> 1226<p> 1227EOF 1228 1229$Lang{Archive_Summary} = <<EOF; 1230\${h2("アーカイブサマリ")} 1231<p> 1232アーカイブ番号をクリックすると詳細が確認できます。 1233<table class="tableStnd" border cellspacing="1" cellpadding="3" width="80%"> 1234<tr class="tableheader"><td align="center"> アーカイブ番号 </td> 1235 <td align="center"> 結果 </td> 1236 <td align="right"> 開始日時</td> 1237 <td align="right"> 間隔(分)</td> 1238</tr> 1239\$ArchiveStr 1240</table> 1241<p> 1242EOF 1243 1244$Lang{BackupPC__Documentation} = "BackupPC: 文章"; 1245 1246$Lang{No} = "いいえ"; 1247$Lang{Yes} = "はい"; 1248 1249$Lang{The_directory_is_empty} = <<EOF; 1250<tr><td bgcolor="#ffffff">\$dirDisplay ディレクトリは空です。 1251</td></tr> 1252EOF 1253 1254#$Lang{on} = "オン"; 1255$Lang{off} = "オフ"; 1256 1257$Lang{backupType_full} = "フル"; 1258$Lang{backupType_incr} = "増分"; 1259$Lang{backupType_active} = "active"; 1260$Lang{backupType_partial} = "部分"; 1261 1262$Lang{failed} = "失敗"; 1263$Lang{success} = "成功"; 1264$Lang{and} = "と"; 1265 1266# ------ 1267# Hosts states and reasons 1268$Lang{Status_idle} = "待機"; 1269$Lang{Status_backup_starting} = "バックアップ開始"; 1270$Lang{Status_backup_in_progress} = "バックアップ中"; 1271$Lang{Status_restore_starting} = "リストア開始"; 1272$Lang{Status_restore_in_progress} = "リストア中"; 1273$Lang{Status_admin_pending} = "リンク保留中"; 1274$Lang{Status_admin_running} = "リンク実行中"; 1275 1276$Lang{Reason_backup_done} = "完了"; 1277$Lang{Reason_restore_done} = "リストア完了"; 1278$Lang{Reason_archive_done} = "アーカイブ完了"; 1279$Lang{Reason_nothing_to_do} = "待機"; 1280$Lang{Reason_backup_failed} = "バックアップ失敗"; 1281$Lang{Reason_restore_failed} = "リストア失敗"; 1282$Lang{Reason_archive_failed} = "アーカイブ失敗"; 1283$Lang{Reason_no_ping} = "無応答"; 1284$Lang{Reason_backup_canceled_by_user} = "ユーザによるバックアップ取消"; 1285$Lang{Reason_restore_canceled_by_user} = "ユーザによるリストア取消"; 1286$Lang{Reason_archive_canceled_by_user} = "ユーザによるアーカイブ取消"; 1287$Lang{Disabled_OnlyManualBackups} = "自動無効化"; 1288$Lang{Disabled_AllBackupsDisabled} = "無効化"; 1289 1290 1291# --------- 1292# Email messages 1293 1294# No backup ever 1295$Lang{EMailNoBackupEverSubj} = "BackupPC: \$host の成功したバックアップが存在しません。"; 1296$Lang{EMailNoBackupEverMesg} = <<'EOF'; 1297To: $user$domain 1298cc: 1299Subject: $subj 1300$headers 1301Dear $userName, 1302 1303Your PC ($host) has never been successfully backed up by our 1304PC backup software. PC backups should occur automatically 1305when your PC is connected to the network. You should contact 1306computer support if: 1307 1308 - Your PC has been regularly connected to the network, meaning 1309 there is some configuration or setup problem preventing 1310 backups from occurring. 1311 1312 - You don't want your PC backed up and you want these email 1313 messages to stop. 1314 1315Otherwise, please make sure your PC is connected to the network 1316next time you are in the office. 1317 1318Regards, 1319BackupPC Genie 1320https://backuppc.github.io/backuppc 1321EOF 1322 1323# No recent backup 1324$Lang{EMailNoBackupRecentSubj} = "BackupPC: no recent backups on \$host"; 1325$Lang{EMailNoBackupRecentMesg} = <<'EOF'; 1326To: $user$domain 1327cc: 1328Subject: $subj 1329$headers 1330Dear $userName, 1331 1332Your PC ($host) has not been successfully backed up for $days days. 1333Your PC has been correctly backed up $numBackups times from $firstTime to $days days 1334ago. PC backups should occur automatically when your PC is connected 1335to the network. 1336 1337If your PC has been connected for more than a few hours to the 1338network during the last $days days you should contact IS to find 1339out why backups are not working. 1340 1341Otherwise, if you are out of the office, there's not much you can 1342do, other than manually copying especially critical files to other 1343media. You should be aware that any files you have created or 1344changed in the last $days days (including all new email and 1345attachments) cannot be restored if your PC disk crashes. 1346 1347Regards, 1348BackupPC Genie 1349https://backuppc.github.io/backuppc 1350EOF 1351 1352# Old Outlook files 1353$Lang{EMailOutlookBackupSubj} = "BackupPC: Outlook files on \$host need to be backed up"; 1354$Lang{EMailOutlookBackupMesg} = <<'EOF'; 1355To: $user$domain 1356cc: 1357Subject: $subj 1358$headers 1359Dear $userName, 1360 1361The Outlook files on your PC have $howLong. 1362These files contain all your email, attachments, contact and calendar 1363information. Your PC has been correctly backed up $numBackups times from 1364$firstTime to $lastTime days ago. However, Outlook locks all its files when 1365it is running, preventing these files from being backed up. 1366 1367It is recommended you backup the Outlook files when you are connected 1368to the network by exiting Outlook and all other applications, and, 1369using just your browser, go to this link: 1370 1371 $CgiURL?host=$host 1372 1373Select "Start Incr Backup" twice to start a new incremental backup. 1374You can select "Return to $host page" and then hit "reload" to check 1375the status of the backup. It should take just a few minutes to 1376complete. 1377 1378Regards, 1379BackupPC Genie 1380https://backuppc.github.io/backuppc 1381EOF 1382 1383$Lang{howLong_not_been_backed_up} = "not been backed up successfully"; 1384$Lang{howLong_not_been_backed_up_for_days_days} = "not been backed up for \$days days"; 1385 1386####################################################################### 1387# RSS strings 1388####################################################################### 1389$Lang{RSS_Doc_Title} = "BackupPCサーバ"; 1390$Lang{RSS_Doc_Description} = "RSS feed for BackupPC"; 1391$Lang{RSS_Host_Summary} = <<EOF; 1392Full Count: \$fullCnt; 1393Full Age/days: \$fullAge; 1394Full Size/GiB: \$fullSize; 1395Speed MB/sec: \$fullRate; 1396Incr Count: \$incrCnt; 1397Incr Age/Days: \$incrAge; 1398State: \$host_state; 1399Disabled: \$host_disabled; 1400Last Attempt: \$host_last_attempt; 1401EOF 1402 1403####################################################################### 1404# Configuration editor strings 1405####################################################################### 1406 1407$Lang{Only_privileged_users_can_edit_config_files} = "Only privileged users can edit configuration settings."; 1408$Lang{CfgEdit_Edit_Config} = "設定の編集"; 1409$Lang{CfgEdit_Edit_Hosts} = "ホストの編集"; 1410 1411$Lang{CfgEdit_Title_Server} = "サーバ"; 1412$Lang{CfgEdit_Title_General_Parameters} = "一般のパラメータ"; 1413$Lang{CfgEdit_Title_Wakeup_Schedule} = "起動スケジュール"; 1414$Lang{CfgEdit_Title_Concurrent_Jobs} = "並行ジョブ"; 1415$Lang{CfgEdit_Title_Pool_Filesystem_Limits} = "ファイルシステムのプール上限"; 1416$Lang{CfgEdit_Title_Other_Parameters} = "他のパラメータ"; 1417$Lang{CfgEdit_Title_Remote_Apache_Settings} = "リモートApache の設定"; 1418$Lang{CfgEdit_Title_Program_Paths} = "プログラムパス"; 1419$Lang{CfgEdit_Title_Install_Paths} = "インストールパス"; 1420$Lang{CfgEdit_Title_Email} = "メール"; 1421$Lang{CfgEdit_Title_Email_settings} = "メールの設定"; 1422$Lang{CfgEdit_Title_Email_User_Messages} = "メールユーザメッセージ"; 1423$Lang{CfgEdit_Title_CGI} = "CGI"; 1424$Lang{CfgEdit_Title_Admin_Privileges} = "管理者権限"; 1425$Lang{CfgEdit_Title_Page_Rendering} = "ページ描画"; 1426$Lang{CfgEdit_Title_Paths} = "パス"; 1427$Lang{CfgEdit_Title_User_URLs} = "ユーザURL"; 1428$Lang{CfgEdit_Title_User_Config_Editing} = "ユーザ設定の編集"; 1429$Lang{CfgEdit_Title_Xfer} = "転送"; 1430$Lang{CfgEdit_Title_Xfer_Settings} = "転送設定"; 1431$Lang{CfgEdit_Title_Ftp_Settings} = "FTP設定"; 1432$Lang{CfgEdit_Title_Smb_Settings} = "Smb設定"; 1433$Lang{CfgEdit_Title_Tar_Settings} = "Tar設定"; 1434$Lang{CfgEdit_Title_Rsync_Settings} = "Rsync設定"; 1435$Lang{CfgEdit_Title_Rsyncd_Settings} = "Rsyncd設定"; 1436$Lang{CfgEdit_Title_Archive_Settings} = "アーカイブの設定"; 1437$Lang{CfgEdit_Title_Include_Exclude} = "包含・除外"; 1438$Lang{CfgEdit_Title_Smb_Paths_Commands} = "Smbパス/コマンド"; 1439$Lang{CfgEdit_Title_Tar_Paths_Commands} = "Tarパス/コマンド"; 1440$Lang{CfgEdit_Title_Rsync_Paths_Commands_Args} = "Rsyncパス/コマンド/引数"; 1441$Lang{CfgEdit_Title_Rsyncd_Port_Args} = "Rsyncdポート/引数"; 1442$Lang{CfgEdit_Title_Archive_Paths_Commands} = "アーカイブパス/コマンド"; 1443$Lang{CfgEdit_Title_Schedule} = "スケジュール"; 1444$Lang{CfgEdit_Title_Full_Backups} = "フルバックアップ"; 1445$Lang{CfgEdit_Title_Incremental_Backups} = "増分バックアップ"; 1446$Lang{CfgEdit_Title_Blackouts} = "喪失"; 1447$Lang{CfgEdit_Title_Other} = "その他"; 1448$Lang{CfgEdit_Title_Backup_Settings} = "バックアップの設定"; 1449$Lang{CfgEdit_Title_Client_Lookup} = "クライアント探索"; 1450$Lang{CfgEdit_Title_User_Commands} = "ユーザコマンド"; 1451$Lang{CfgEdit_Title_Hosts} = "ホスト"; 1452 1453$Lang{CfgEdit_Hosts_Comment} = <<EOF; 1454新しいホストの追加は[追加]を選択し名前を入力します。 1455他のホストからホスト毎の設定で起動ためには、NEWHOST=のCOPYHOSTとしてホスト名を入力します。 1456これはNEWHOSTの既存のホストごとの設定が上書きされます。 1457また、既存のホストのためにこれを行うことができます。 1458ホストを削除するには、[削除]ボタンを押してください。 1459追加、削除、およびコンフィギュレーションのコピーには、[保存]を選択するまで、変更は有効になりません。 1460あなたが誤ってホストを削除した場合なので、単にそれを再度追加削除されたホストのバックアップのいずれも削除されません。 1461完全にホストのバックアップを削除するには、手動で\$topDir/pc/HOST以下のファイルを削除する必要があります。 1462EOF 1463 1464$Lang{CfgEdit_Header_Main} = <<EOF; 1465\${h1("主設定エディタ")} 1466EOF 1467 1468$Lang{CfgEdit_Header_Host} = <<EOF; 1469\${h1("ホスト \$host 設定エディタ")} 1470<p> 1471備考: このホスト特有の値に更新したい場合は、「上書き」をチェックしてください。 1472<p> 1473EOF 1474 1475$Lang{CfgEdit_Button_Save} = "保存"; 1476$Lang{CfgEdit_Button_Insert} = "挿入"; 1477$Lang{CfgEdit_Button_Delete} = "削除"; 1478$Lang{CfgEdit_Button_Add} = "追加"; 1479$Lang{CfgEdit_Button_Override} = "上書き"; 1480$Lang{CfgEdit_Button_New_Key} = "新項目"; 1481$Lang{CfgEdit_Button_New_Share} = "New ShareName or '*'"; 1482 1483$Lang{CfgEdit_Error_No_Save} 1484 = "エラー: エラーのために保存されてません"; 1485$Lang{CfgEdit_Error__must_be_an_integer} 1486 = "エラー: \$var は整数である必要があります"; 1487$Lang{CfgEdit_Error__must_be_real_valued_number} 1488 = "エラー: \$var は実在する番号である必要があります"; 1489$Lang{CfgEdit_Error__entry__must_be_an_integer} 1490 = "エラー: \$var エントリー \$k は整数である必要があります"; 1491$Lang{CfgEdit_Error__entry__must_be_real_valued_number} 1492 = "エラー: \$var エントリー \$k は実在する番号である必要があります"; 1493$Lang{CfgEdit_Error__must_be_executable_program} 1494 = "エラー: \$var は有効な実行可能なパスである必要があります"; 1495$Lang{CfgEdit_Error__must_be_valid_option} 1496 = "エラー: \$var は有効なオプションである必要があります"; 1497$Lang{CfgEdit_Error_Copy_host_does_not_exist} 1498 = "\$copyHost のコピーが存在しません。 creating full host name \$fullHost. Delete this host if that is not what you wanted."; 1499 1500$Lang{CfgEdit_Log_Copy_host_config} 1501 = "\$User copied config from host \$fromHost to \$host\n"; 1502$Lang{CfgEdit_Log_Delete_param} 1503 = "\$User deleted \$p from \$conf\n"; 1504$Lang{CfgEdit_Log_Add_param_value} 1505 = "\$User added \$p to \$conf, set to \$value\n"; 1506$Lang{CfgEdit_Log_Change_param_value} 1507 = "\$User changed \$p in \$conf to \$valueNew from \$valueOld\n"; 1508$Lang{CfgEdit_Log_Host_Delete} 1509 = "\$User deleted host \$host\n"; 1510$Lang{CfgEdit_Log_Host_Change} 1511 = "\$User host \$host changed \$key from \$valueOld to \$valueNew\n"; 1512$Lang{CfgEdit_Log_Host_Add} 1513 = "\$User added host \$host: \$value\n"; 1514 1515#end of lang_ja.pm 1516