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