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