/*
 * Wine command prompt
 * Japanese Language Support
 *
 * Copyright (C) 2004 Hajime Segawa
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
 */

/* UTF-8 */
#pragma code_page(65001)

LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT

STRINGTABLE
{
  WCMD_ATTRIB, "ATTRIBのヘルプ\n"
  WCMD_CALL,
"CALL <バッチファイル名> は他のバッチファイルからコマンドを実行する場合\n\
にバッチファイル中で使用します。バッチファイル終了時にコントロールは呼\n\
び出したファイルに戻ります。 CALL コマンドは呼び出される手続きにパラメ\n\
ータを渡すことが可能です。\n\
\n\
呼び出された手続きが行ったカレントディレクトリや環境変数の変更は呼び出\n\
し元に引き継がれます。\n"

  WCMD_CD,     "CDのヘルプ\n"
  WCMD_CHDIR,  "CHDIRのヘルプ\n"

  WCMD_CLS,    "CLSはコンソール画面をクリアします\n"

  WCMD_COPY,   "COPYのヘルプ\n"
  WCMD_CTTY,   "CTTYのヘルプ\n"
  WCMD_DATE,   "DATEのヘルプ\n"
  WCMD_DEL,    "DELのヘルプ\n"
  WCMD_DIR,    "DIRのヘルプ\n"

  WCMD_ECHO,
"ECHO <文字列> は<文字列>を現在のターミナルに表示します。\n\
\n\
ECHO ON は以降にバッチファイルで実行するコマンドを実行前に\n\
ターミナルに表示するようにします。\n\
\n\
ECHO OFF はECHO ONの逆の効果を持ちます。 (ECHOはデフォルト\n\
ではOFFです)。ECHO OFF コマンドは@マークに続けて実行すれば\n\
表示されません。\n"

  WCMD_ERASE,  "ERASEのヘルプ\n"

  WCMD_FOR,
"FOR コマンドはそれぞれのファイルに対してコマンドを実行する\n\
場合に使用します。\n\
\n\
文法: FOR %変数 IN (セット) DO コマンド\n\
\n\
cmd内に存在しないバッチファイル中でFORを使用する場合は%記号\n\
を二重にする必要があります。\n"

  WCMD_GOTO,
"GOTO コマンドはバッチファイル中で実行行を他のステートメントに\n\
移します。\n\
\n\
GOTO 文のターゲットとなるラベルは半角255文字以内ですが、空白\n\
を含んではいけません。(これは他のオペレーティングシステムでは\n\
異なります)。二つ以上同一のラベルが存在する場合は常に最初の物\n\
が実行されます。GOTO文に存在しないラベルを指定した場合はバッ\n\
チファイルの実行を中断します。\n\
\n\
GOTO は対話モードで使用された場合は意味を持ちません。\n"

  WCMD_HELP,   "HELPのヘルプ\n"

  WCMD_IF,
"IF は条件に基づいてコマンドを実行する場合に使用します。\n\
\n\
文法:	IF [NOT] EXIST ファイル名 コマンド\n\
	IF [NOT] 文字列1==文字列2 コマンド\n\
	IF [NOT] ERRORLEVEL 番号 コマンド\n\
\n\
二番目の形式において、文字列1と文字列2はダブルクオートで囲われ\n\
ていなければなりません。大文字と小文字は区別されません。\n"

  WCMD_LABEL,  "LABEL はディスクのボリュームラベルを設定する場合に使用します。\n\
\n\
文法: LABEL [ドライブ:]\n\
コマンドを実行すると指定したドライブの新しいボリューム名を要求します。\n\
ディスクのボリュームラベルはVOLコマンドで表示できます。\n"

  WCMD_MD,     "MDのヘルプ\n"
  WCMD_MKDIR,  "MKDIRのヘルプ\n"
  WCMD_MOVE,
"MOVE はファイルまたはディレクトリをファイルシステム中で新しい場所に移動します。\n\
\n\
移動する対象がディレクトリの場合は、ディレクトリ内の全てのファ\n\
イルとサブディレクトリも移動します。\n\
\n\
MOVE では移動元と移動先のドライブレターが異なる場合、移動は失敗します。\n"

  WCMD_PATH,
"PATH はcmdの検索パスを表示または変更します。\n\
\n\
PATH と入力すると現在のパス設定を表示します(初期状態では\n\
wine.confファイル中で指定された物になっています)。設定を\n\
変更するには、PATHコマンドに続けて新しい設定値を入力して\n\
下さい。\n\
\n\
パスを変更するときにPATH環境変数を使用することも可能です。\n\
例えば：\n\
		PATH %PATH%;c:\\temp\n"

  WCMD_PAUSE,
"PAUSE は画面に「続けるにはリターンキーを押して下さい」と\n\
表示し、ユーザがリターンキーを押すのを待機します。これは\n\
主にバッチファイル中で実行されたコマンドの結果がスクロー\n\
ルする前にユーザが読めるようにしたい場合に有用です。\n"

  WCMD_PROMPT,
"PROMPT はコマンドプロンプトを設定します。\n\
\n\
PROMPT コマンド(と直後のスペース)に続く文字列はcmdが入力待ちの時、\n\
行の先頭に表示されます。\n\
\n\
以下のキャラクタ文字列は特別な意味を持ちます：\n\
\n\
$$    ドル記号            $_    改行                $b    パイプ記号 (|)\n\
$d    現在の日付          $e    エスケープ          $g    > 記号\n\
$l    < 記号              $n    現在のドライブ      $p    現在のパス\n\
$q    等号                $t    現在の時刻          $v    cmdのバージョン\n\
\n\
注意：PROMPTコマンドをプロンプト文字列なしで実行すると、デフォルト値にリ\n\
セットされます。 デフォルト値はカレントディレクトリ(ドライブ名を含みます)\n\
に続いて大なり(>)記号です。\n\
(PROMPT $p$g を実行した時と同様です)\n\
\n\
プロンプトはPROMPT環境変数を編集することでも変更できます。\n\
したがって、'SET PROMPT=文字列'と'PROMPT 文字列'の効果は同じです。\n"

  WCMD_REM,
"REM(と直後のスペース)で始まるコマンドは実行されません。\n\
したがって、バッチファイル中のコメントとして使用できます。\n"

  WCMD_REN,    "RENのヘルプ\n"
  WCMD_RENAME, "RENAMEのヘルプ\n"
  WCMD_RD,     "RDのヘルプ\n"
  WCMD_RMDIR,  "RMDIRのヘルプ\n"

  WCMD_SET,
"SET はcmdの環境変数を表示または変更します。\n\
\n\
パラメータなしでSETを実行すると、現在の全ての環境変数を表示します。\n\
\n\
環境変数の作成または変更を行う場合は次のように記述して下さい：\n\
\n\
      SET <環境変数名>=<値>\n\
\n\
<環境変数名> と <値> は文字列です。等号の手前にスペースを\n\
入れないで下さい。手前にスペースを入れると環境変数名に余分\n\
なスペースが含まれてしまう場合があります。\n\
\n\
Wine環境では、Wineが動作しているOSの環境変数がWin32環境変数に含\n\
まれます。したがって、ネイティブWin32環境より多くの値がセットさ\n\
れています。cmd内からOSの環境変数を変更することができないこと\n\
に注意して下さい。\n"

  WCMD_SHIFT,
"SHIFT はバッチファイル中でリストの先頭から一つのパラメータを取り除く時\n\
に使用します。つまり、パラメータ2がパラメータ1になります。コマンドライン\n\
から呼ばれたときには何も起こりません。\n"

  WCMD_TIME,   "TIMEのヘルプ\n"

  WCMD_TITLE,  "cmdウィンドウのウィンドウタイトルを設定します。文法 TITLE [文字列]\n"

  WCMD_TYPE,
"TYPE <ファイル名> は <ファイル名> をコンソールデバイス(又はリダイレクト\n\
された所)にコピーします。ファイルが可読なテキストファイルかどうかチェック\n\
されません。\n"

  WCMD_VERIFY,
"VERIFY はverifyフラグをセット、クリア、又はテストする時に使用します。有効なフォームは:\n\
\n\
VERIFY ON	フラグをセット\n\
VERIFY OFF	フラグをクリア\n\
VERIFY		ONかOFFか表示\n\
\n\
Wine環境ではverifyフラグは意味を持ちません。\n"

  WCMD_VER,
"VER は動作しているcmdのバージョンを表示します\n"

  WCMD_VOL,    "VOLのヘルプ\n"

  WCMD_PUSHD,  "PUSHD <directoryname> saves the current directory onto a\n\
stack, and then changes the current directory to the supplied one.\n"

  WCMD_POPD,   "POPD changes current directory to the last one saved with\n\
PUSHD.\n"

  WCMD_MORE,   "MORE displays output of files or piped input in pages.\n"

  WCMD_EXIT,
"EXIT は現在のコマンドセッションを終了してcmdを呼び出したOSまたはシェルに戻します。\n"

  WCMD_ALLHELP, "CMD 内蔵のコマンド:\n\
ATTRIB\t\tDOSファイルの属性を表示又は変更\n\
CALL\t\t外部のバッチファイルを呼び出し\n\
CD (CHDIR)\tカレントディレクトリを変更\n\
CLS\t\tコンソール画面をクリア\n\
COPY\t\tファイルをコピー\n\
CTTY\t\t入力/出力デバイスを変更\n\
DATE\t\tシステムの日付を表示又は変更\n\
DEL (ERASE)\tファイルを削除\n\
DIR\t\tディレクトリの内容を表示\n\
ECHO\t\t文字列を直接コンソール出力にコピー\n\
HELP\t\tトピックの詳細なヘルプを表示\n\
MD (MKDIR)\tサブディレクトリを作成\n\
MORE\t\tDisplay output in pages\n\
MOVE\t\tファイルまたはディレクトリツリーを移動\n\
PATH\t\tパスを表示又は設定\n\
POPD\t\tRestores the directory to the last one saved with PUSHD\n\
PROMPT\t\tコマンドプロンプトを変更\n\
PUSHD\t\tChanges to a new directory, saving the current one\n\
REN (RENAME)\tファイルをリネーム\n\
RD (RMDIR)\tサブディレクトリを削除\n\
SET\t\t環境変数を設定又は表示\n\
TIME\t\tシステムの時刻を設定又は表示\n\
TITLE\t\tCMDセッションのウィンドウタイトルを設定\n\
TYPE\t\tテキストファイルの内容を出力\n\
VER\t\tCMDのバージョンを表示\n\
VOL\t\tディスクデバイスのボリュームラベルを表示\n\
EXIT\t\tCMDを終了\n\n\
上記のコマンドに関する詳細を表示するには HELP <コマンド名> と入力して下さい。\n"

  WCMD_CONFIRM, "Are you sure"
  WCMD_YES, "Y"
  WCMD_NO, "N"
  WCMD_NOASSOC, "File association missing for extension %s\n"
  WCMD_NOFTYPE, "No open command associated with file type '%s'\n"
  WCMD_OVERWRITE, "Overwrite %s"
  WCMD_MORESTR, "More..."
  WCMD_TRUNCATEDLINE, "Line in Batch processing possibly truncated. Using:\n"
  WCMD_NYI, "Not Yet Implemented\n\n"
  WCMD_NOARG, "Argument missing\n"
  WCMD_SYNTAXERR, "Syntax error\n"
  WCMD_FILENOTFOUND, "%s : File Not Found\n"
  WCMD_NOCMDHELP, "No help available for %s\n"
  WCMD_NOTARGET, "Target to GOTO not found\n"
  WCMD_CURRENTDATE, "Current Date is %s\n"
  WCMD_CURRENTTIME, "Current Time is %s\n"
  WCMD_NEWDATE, "Enter new date: "
  WCMD_NEWTIME, "Enter new time: "
  WCMD_MISSINGENV, "Environment variable %s not defined\n"
  WCMD_READFAIL, "Failed to open '%s'\n"
  WCMD_CALLINSCRIPT, "Cannot call batch label outside of a batch script\n"
  WCMD_ALL, "A"
  WCMD_DELPROMPT, "%s, Delete"
  WCMD_ECHOPROMPT, "Echo is %s\n"
  WCMD_VERIFYPROMPT, "Verify is %s\n"
  WCMD_VERIFYERR, "Verify must be ON or OFF\n";
  WCMD_ARGERR, "Parameter error\n"
  WCMD_VOLUMEDETAIL, "Volume in drive %c is %s\nVolume Serial Number is %04x-%04x\n\n"
  WCMD_VOLUMEPROMPT, "Volume label (11 characters, ENTER for none)?"
  WCMD_NOPATH, "PATH not found\n"
  WCMD_ANYKEY,"Press Return key to continue: "
  WCMD_CONSTITLE,"Wine Command Prompt"
  WCMD_VERSION,"CMD Version %s\n\n"
  WCMD_MOREPROMPT, "More? "
  WCMD_LINETOOLONG, "The input line is too long.\n"
}

#pragma code_page(default)
