# Korean translations for Wine
#
msgid ""
msgstr ""
"Project-Id-Version: Wine\n"
"Report-Msgid-Bugs-To: http://bugs.winehq.org\n"
"POT-Creation-Date: N/A\n"
"PO-Revision-Date: N/A\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: Korean\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#: clock.rc:28
msgid "&Properties"
msgstr "등록 정보(&P)"

#: clock.rc:29
msgid "Ana&log"
msgstr "아날로그(&L)"

#: clock.rc:30
msgid "Digi&tal"
msgstr "디지털(&T)"

#: clock.rc:32
msgid "&Font..."
msgstr "글꼴(&F)..."

#: clock.rc:34
msgid "&Without Titlebar"
msgstr "제목 표시 안함 (&W)"

#: clock.rc:36
msgid "&Seconds"
msgstr "초(&S)"

#: clock.rc:37
msgid "&Date"
msgstr "날짜(&D)"

#: clock.rc:39
msgid "&Always on Top"
msgstr "항상  앞에 (&A)"

#: clock.rc:41
msgid "Inf&o"
msgstr "정보(&O)"

#: clock.rc:42
msgid "&About Clock..."
msgstr "시계 정보(&A)..."

#: clock.rc:48
msgid "Clock"
msgstr "시계"

#: cmd.rc:30
msgid "ATTRIB shows or changes DOS file attributes.\n"
msgstr "ATTRIB는 도스 파일 속성을 보여주거나 고칩니다.\n"

#: cmd.rc:38
msgid ""
"CALL <batchfilename> is used within a batch file to execute commands\n"
"from another batch file. When the batch file exits, control returns to\n"
"the file which called it. The CALL command may supply parameters to the\n"
"called procedure.\n"
"\n"
"Changes to default directory, environment variables etc made within a\n"
"called procedure are inherited by the caller.\n"
msgstr ""
"<배치파일 이름>을 호출(CALL)하는 것은 배치 파일안에서  다른 배치 파일 안의\n"
"명령을 사용하는 것입니다. 배치 파일이 종료하면 , 제어권은  그것을 호출한\n"
"파일한테 돌아갑니다.  CALL 명령은 호출하는 과정에서 매개변수를 가집니다.\n"
"\n"
"기본 디렉토리나 환경변수나 기타를 바꾸는 것은 호출자에 의해 상속되어서 호출"
"된\n"
"과정에만 적용됩니다.\n"

#: cmd.rc:41
msgid ""
"CD <dir> is the short version of CHDIR. It changes the current\n"
"default directory.\n"
msgstr ""
"CD <디렉토리> 는  CHDIR의 단축버젼입니다. 현재 기본 디렉토리를\n"
"바꿉니다.\n"

#: cmd.rc:42
msgid "CHDIR <dir> changes the current default directory.\n"
msgstr "CHDIR <디렉토리> 는 현재 기본 디렉토리를 바꿉니다.\n"

#: cmd.rc:44
msgid "CLS clears the console screen.\n"
msgstr "CLS는 콘솔 화면을 깨끗하게 합니다.\n"

#: cmd.rc:46
msgid "COPY <filename> copies a file.\n"
msgstr "COPY <파일이름> 은 파일을 복사합니다.\n"

#: cmd.rc:47
msgid "CTTY changes the input/output device.\n"
msgstr "CTTY 는 입력/출력 장치를 바꿉니다.\n"

#: cmd.rc:48
msgid "DATE shows or changes the system date.\n"
msgstr "DATE 는 시스템 날짜를 보여주거나 바꿉니다.\n"

#: cmd.rc:49
msgid "DEL <filename> deletes a file or set of files.\n"
msgstr "DEL <파일이름> 은 하나의 파일이나 여러 파일을 지웁니다.\n"

#: cmd.rc:50
msgid "DIR lists the contents of a directory.\n"
msgstr "DIR 는 디렉토리의 내용을 보여줍니다.\n"

#: cmd.rc:60
msgid ""
"ECHO <string> displays <string> on the current terminal device.\n"
"\n"
"ECHO ON causes all subsequent commands in a batch file to be displayed\n"
"on the terminal device before they are executed.\n"
"\n"
"ECHO OFF reverses the effect of a previous ECHO ON (ECHO is OFF by\n"
"default). The ECHO OFF command can be prevented from displaying by\n"
"preceding it with an @ sign.\n"
msgstr ""
"ECHO <문자열>은 <문자열>을 현재 터미널에 보여줍니다.\n"
"\n"
"ECHO ON는 배치파일에서 다음에 오는 모든 명령을 실행괴기 전에 터미널에 보여줍"
"니다\n"
"\n"
"ECHO OFF 는 ECHO ON과 반대의 일을 합니다. (ECHO 는 OFF가 기본)\n"
"ECHO OFF 명령은  신호가 진행되는 걸 보여주는걸 막습니다.\n"

#: cmd.rc:62
msgid "ERASE <filename> deletes a file or set of files.\n"
msgstr "ERASE <파일이름>은 하나의 파일이냐 여러 파일을 지웁니다.\n"

#: cmd.rc:70
msgid ""
"The FOR command is used to execute a command for each of a set of files.\n"
"\n"
"Syntax: FOR %variable IN (set) DO command\n"
"\n"
"The requirement to double the % sign when using FOR in a batch file does\n"
"not exist in wine's cmd.\n"
msgstr ""
"FOR 명령은  파일  모음에서 각각의 명령을 실행시킬 때 사용.\n"
"\n"
"문법: FOR 변수 IN (set) DO 명령\n"
"\n"
"wine의 cmd 안에서 존재하지 않는 배치 파일에 FOR를 사용할려면 두 개의 %가 필요"
"합니다.\n"

#: cmd.rc:82
msgid ""
"The GOTO command transfers execution to another statement within a\n"
"batch file.\n"
"\n"
"The label which is the target of a GOTO may be up to 255 characters\n"
"long but may not include spaces (this is different from other operating\n"
"systems). If two or more identical labels exist in a batch file the\n"
"first one will always be executed. Attempting to GOTO a nonexistent\n"
"label terminates the batch file execution.\n"
"\n"
"GOTO has no effect when used interactively.\n"
msgstr ""
"The GOTO  명령은 배치파일 안에서 다른 부분으로 실행흐름을 바꿉니다.\n"
"\n"
"GOTO의 타겟인 라벨은 공백을 포함해서 255자까지 가능합니다\n"
"(다른 운영체제에서는 다를 수도 있습니다).\n"
"만약 2개나 더 많은 동일한 라벨이 존재할 경우 배치파일은 첫번째 것만\n"
"실행시킬 것입니다. 존재하지 않는 라벨로 GOTO를 시도한다면 배치파일 실행은\n"
"중단됩니다.\n"
"\n"
"GOTO는 대화식으로 사용될 경우 아무 일도 안합니다.\n"

#: cmd.rc:85
msgid ""
"HELP <command> shows brief help details on a topic.\n"
"HELP without an argument shows all CMD built-in commands.\n"
msgstr ""
"HELP <명령>은  주제의 간단한 도움말 정보를 보여줍니 다.\n"
"아무 매개변수가 없는 HELP눈 CMD의 모든 내장 명령을 보여줍니다.\n"

#: cmd.rc:95
msgid ""
"IF is used to conditionally execute a command.\n"
"\n"
"Syntax:\tIF [NOT] EXIST filename command\n"
"IF [NOT] string1==string2 command\n"
"IF [NOT] ERRORLEVEL number command\n"
"\n"
"In the second form of the command, string1 and string2 must be in double\n"
"quotes. The comparison is not case-sensitive.\n"
msgstr ""
"IF는 명령을 선택적으로 실행 할 때 사용한다.\n"
"\n"
"Syntax:\tIF [NOT] EXIST 파일이름 명령\n"
"IF [NOT] string1==string2 명령\n"
"IF [NOT] ERRORLEVEL 숫자 명령\n"
"\n"
"명령의 첫번째 형식에서, string1 과 string2는 반드시 2개의 따옴표로\n"
"둘려놓아야 합니다. 대소문자는 구분하지 않습니다.\n"

#: cmd.rc:101
msgid ""
"LABEL is used to set a disk volume label.\n"
"\n"
"Syntax: LABEL [drive:]\n"
"The command will prompt you for the new volume label for the given drive.\n"
"You can display the disk volume label with the VOL command.\n"
msgstr ""
"LABEL은 디스크 볼륨 라벨을 설정할 때 사용.\n"
"\n"
"Syntax: LABEL [드라이브:]\n"
"이 명령은 당신이 주어진 드라이브에 새 볼륨 라벨울 넣을수 있도록 할것이다.\n"
"VOL 명령으로 디스크 볼륨 라벨을 볼 수 있다.\n"

#: cmd.rc:104
msgid "MD <name> is the short version of MKDIR. It creates a subdirectory.\n"
msgstr ""
"MD <아름> 운 MKDIR의 단축 버젼입니다. 이것은 하위 디렉토리를 만듭니다 .\n"

#: cmd.rc:105
msgid "MKDIR <name> creates a subdirectory.\n"
msgstr "MKDIR <명령> 운 하위 디렉토리를 만듭니다.\n"

#: cmd.rc:112
msgid ""
"MOVE relocates a file or directory to a new point within the file system.\n"
"\n"
"If the item being moved is a directory then all the files and "
"subdirectories\n"
"below the item are moved as well.\n"
"\n"
"MOVE fails if the old and new locations are on different DOS drive letters.\n"
msgstr ""
"MOVE는 파일이나 디렉토리를 파일시스템 안에 있는 새로운 곳으로  재배치함.\n"
"\n"
"만약 옮겨지는 아이템이 하나의 디렉토리라면 모든 파일과 하위 디렉토리 밑에\n"
"있는 파일도 이동될 것이다.\n"
"MOVE는 만약 오래되고 새로운 파일이 다른 도스 드라이브 문자를 가지고 있다면\n"
"실패합니다.\n"

#: cmd.rc:123
msgid ""
"PATH displays or changes the cmd search path.\n"
"\n"
"Entering PATH will display the current PATH setting (initially taken\n"
"from the registry). To change the setting follow the\n"
"PATH command with the new value.\n"
"\n"
"It is also possible to modify the PATH by using the PATH environment\n"
"variable, for example:\n"
"PATH %PATH%;c:\\temp\n"
msgstr ""
"PATH는 cmd 찾기 경로를 보여주거나 바꿉니다.\n"
"\n"
"PATH 입력은 현재 PATH 설정을 보여줄 것입니다   (처음에는\n"
"레지스트리로부터 가져옴). PATH 명령과 함께 새로운 값을 주면\n"
"설정을 바쑬 수 있습니다.\n"
"\n"
"PATH 환경변수를 사용해서 PATH를 고치는 것도 가능합니다\n"
",예를 들어:\n"
"PATH %PATH%;c:\\temp\n"

#: cmd.rc:129
msgid ""
"PAUSE displays a message on the screen 'Press Return key to continue'\n"
"and waits for the user to press the Return key. It is mainly useful in\n"
"batch files to allow the user to read the output of a previous command\n"
"before it scrolls off the screen.\n"
msgstr ""
"PAUSE는 'Press Return key to continue' 메세지를 화면에 보여주고\n"
"사용자가 리턴 키를 누를 때까지 기다림. 이것은 주로 배치파일에서  스크린을\n"
"넘치게 하는 이전 명령의 결과를 읽도록 한다\n"

#: cmd.rc:150
msgid ""
"PROMPT sets the command-line prompt.\n"
"\n"
"The string following the PROMPT command (and the space immediately after)\n"
"appears at the beginning of the line when cmd is waiting for input.\n"
"\n"
"The following character strings have the special meaning shown:\n"
"\n"
"$$    Dollar sign         $_    Linefeed            $b    Pipe sign (|)\n"
"$d    Current date        $e    Escape              $g    > sign\n"
"$l    < sign              $n    Current drive       $p    Current path\n"
"$q    Equal sign          $t    Current time        $v    cmd version\n"
"\n"
"Note that entering the PROMPT command without a prompt-string resets the\n"
"prompt to the default, which is the current directory (which includes the\n"
"current drive letter) followed by a greater-than (>) sign.\n"
"(like a command PROMPT $p$g).\n"
"\n"
"The prompt can also be changed by altering the PROMPT environment variable,\n"
"so the command 'SET PROMPT=text' has the same effect as 'PROMPT text'\n"
msgstr ""
"PROMPT  명령라인 프롬프트 설정.\n"
"\n"
"이 문자는 cmd가 입력을 기다리고 있을 때 시작 줄에 나타나는 PROMPT\n"
"명령(그리고 스페이스 다음에)에 뒤따른다.\n"
"\n"
"뒤의 문자의 문자열의 특별한 의미 설명:\n"
"\n"
"$$    달러 기호         $_   라인피드            $b    파이프 기호 (|)\n"
"$d    C현재 날짜        $e    이스케이프         $g    > 기호\n"
"$l    < 기호            $n    현재 드라이브      $p    현재 경로\n"
"$q    등호 기호         $t    현재 시간          $v    cmd 버젼\n"
"\n"
"프롬프트가 기본상태인 채로 프롬프트문자를 재설정하지 않고 PROMPT 명령을\n"
"사용했을 때 ,이것은 현재 디렉토리 (포함해서현재 드라이브 문자) 에 \"보다 큰"
"(>)\"\n"
"기호가 뒤따른다는 걸 주의하시오. (명령 PROMPT $p$g롸 같이).\n"
"\n"
"이 프롬프트는 PROMPT 환경 변수 값의 변경에 의해 바뀔 수 있습니다,\n"
"그래서 명령 'SET PROMPT=텍스트'는 'PROMPT 텍스트와 같은 일을 합니다\n"

#: cmd.rc:154
msgid ""
"A command line beginning REM (followed by a space) performs no\n"
"action, and can therefore be used as a comment in a batch file.\n"
msgstr ""
"REM으로 시작하는 명령 라인 (공백뒤에 오는) 은 아무일도 안합니다\n"
", 그러므로 배치 파일에서 주석으로 사용됩니다\n"

#: cmd.rc:157
msgid "REN <filename> is the short version of RENAME. It renames a file.\n"
msgstr ""
"REN <파일이름> 은    REANME의 단축 버젼입니다.이것은 파일의 이름을 바꿉니"
"다.\n"

#: cmd.rc:158
msgid "RENAME <filename> renames a file\n"
msgstr "RENAME <파일이름> 은 파일의 이름을 바꿈\n"

#: cmd.rc:160
msgid "RD <dir> is the short version of RMDIR. It deletes a subdirectory.\n"
msgstr ""
"RD <디렉토리> 는 RMDIR의 단축버젼입니다. 이것은 하위 디렉토리를 지웁니다.\n"

#: cmd.rc:161
msgid "RMDIR <dir> deletes a subdirectory.\n"
msgstr "RMDIR <디렉토리>는 하위 디렉토리를 지움.\n"

#: cmd.rc:179
msgid ""
"SET displays or changes the cmd environment variables.\n"
"\n"
"SET without parameters shows all of the current environment.\n"
"\n"
"To create or modify an environment variable the syntax is:\n"
"\n"
"SET <variable>=<value>\n"
"\n"
"where <variable> and <value> are character strings. There must be no\n"
"spaces before the equals sign, nor can the variable name\n"
"have embedded spaces.\n"
"\n"
"Under Wine, the environment of the underlying operating system is\n"
"included into the Win32 environment, there will generally therefore be\n"
"many more values than in a native Win32 implementation. Note that it is\n"
"not possible to affect the operating system environment from within cmd.\n"
msgstr ""
"SET  cmd 환경 변수 보여주거나 바꾸기.\n"
"\n"
"아무 매개변수가 없는 SET은 모든 현재 환경변수를 보여줌.\n"
"\n"
"환경 변수를 만들거나 고칠때 사용하는 문법:\n"
"\n"
"SET <변수>=<값>\n"
"\n"
"<변수> 과 <값>은 캐릭터-문자열 이다. 반드시 등호(=)기호 앞에 어떤\n"
"공백도 있어선 안되고, 변수 이름에 내부 공백도 있을 수 없다.\n"
"\n"
"Wine 아래에서, 운영체제 밑의 환경은 Win32 환경에 포함됩니다, 그것은\n"
"일반적으로 네이티브 Win32 구현에는 더 많은 값이 있어야 된 다는 것을\n"
"의미합니다. 이것은 cmd안에서 운영체제 환경이 영향을 미치는거 것은\n"
"가능하지 않다는 것을 기억하시오.\n"

#: cmd.rc:184
msgid ""
"SHIFT is used in a batch file to remove one parameter from the head of\n"
"the list, so parameter 2 becomes parameter 1 and so on. It has no effect\n"
"if called from the command line.\n"
msgstr ""
"SHIFT 는 배치파일에서 매개변수의 첫번째 것을 지우는데 사용한다,\n"
"그래서 매개변수 2가 매개변수 1이 된다. 이것은 명령 라인에서 사용했을\n"
"경우 아무 일도 안 합니다.\n"

#: cmd.rc:186
msgid "TIME sets or shows the current system time.\n"
msgstr "TIME 은 현재 시스템 시간을 보여 줍니다.\n"

#: cmd.rc:188
msgid "Sets the window title for the cmd window, syntax TITLE [string]\n"
msgstr "cmd창의 창 제목 설정, 문법 TITLE [문자열]\n"

#: cmd.rc:192
msgid ""
"TYPE <filename> copies <filename> to the console device (or elsewhere\n"
"if redirected). No check is made that the file is readable text.\n"
msgstr ""
"TYPE <파일이름>  <파일 이름>를 콘솔 장치로 복사 (만약 방향이 재정의 된다면\n"
"어디나). 아무 에러가 없으면 그 파일을 읽을 수 있는 텍스트입니다.\n"

#: cmd.rc:201
msgid ""
"VERIFY is used to set, clear or test the verify flag. Valid forms are:\n"
"\n"
"VERIFY ON\tSet the flag\n"
"VERIFY OFF\tClear the flag\n"
"VERIFY\t\tDisplays ON or OFF as appropriate.\n"
"\n"
"The verify flag has no function in Wine.\n"
msgstr ""
"VERIFY는 검증 플래그를 설정하고 제거하거나 테스트하는데 사용됩니다. 올바른 형"
"식은:\n"
"\n"
"VERIFY ON\t플래그 설정\n"
"VERIFY OFF\t플래그 제거\n"
"VERIFY\t\tON 이나 OF 같이 적절하게 보여줌.\n"
"\n"
"이 검증 플래그는 Wine에서는 아무 기능을 안함.\n"

#: cmd.rc:204
msgid "VER displays the version of cmd you are running\n"
msgstr "VER  당신이 실행시킨 cmd 버젼 보여줌\n"

#: cmd.rc:206
msgid "VOL shows the volume label of a disk device.\n"
msgstr "VOL 은 디스크 장치의 볼륨 라벨을 보여줍니다.\n"

#: cmd.rc:209
msgid ""
"PUSHD <directoryname> saves the current directory onto a\n"
"stack, and then changes the current directory to the supplied one.\n"
msgstr ""
"PUSHD <디렉토리 이름> 은 현재 디렉토리를 스택에 저장한다.\n"
"그리고 현재 디렉토리를 요청한 디렉토리로 바꾼다.\n"

#: cmd.rc:212
msgid ""
"POPD changes current directory to the last one saved with\n"
"PUSHD.\n"
msgstr "POPD는 현재 디렉토리를 PUSH로 마지막으로 저장했던 것으로 바꾼다.\n"

#: cmd.rc:214
msgid "MORE displays output of files or piped input in pages.\n"
msgstr ""
"MORE는 파일 출력을 보여주거나 페이지의 파이프로도 된 입력을 보여준다.\n"

#: cmd.rc:218
msgid ""
"CHOICE displays a text and waits, until the User\n"
"presses an allowed Key from a selectable list.\n"
"CHOICE is mainly used to build a menu selection in a batch file.\n"
msgstr ""
"CHOICE는 텍스트를 보여주고, 사용자가 선택된 목록에서  \n"
"허용하는 키를 누를 때까지 기다립니다.\n"
"CHOICE는 주로 배치 파일에서 메뉴 선택을 넣는 데 사용됩니다..\n"

#: cmd.rc:222
msgid ""
"EXIT terminates the current command session and returns\n"
"to the operating system or shell from which you invoked cmd.\n"
msgstr ""
"EXIT는 현재 명령 세션을 중단시키고 운영체제로 돌아가거나 cmd를\n"
"호출한 셀로 돌아갑니다.\n"

#: cmd.rc:253
msgid ""
"CMD built-in commands are:\n"
"ATTRIB\t\tShow or change DOS file attributes\n"
"CALL\t\tInvoke a batch file from inside another\n"
"CD (CHDIR)\tChange current default directory\n"
"CHOICE\t\tWait for an keypress from a selectable list\n"
"CLS\t\tClear the console screen\n"
"COPY\t\tCopy file\n"
"CTTY\t\tChange input/output device\n"
"DATE\t\tShow or change the system date\n"
"DEL (ERASE)\tDelete a file or set of files\n"
"DIR\t\tList the contents of a directory\n"
"ECHO\t\tCopy text directly to the console output\n"
"HELP\t\tShow brief help details on a topic\n"
"MD (MKDIR)\tCreate a subdirectory\n"
"MORE\t\tDisplay output in pages\n"
"MOVE\t\tMove a file, set of files or directory tree\n"
"PATH\t\tSet or show the search path\n"
"POPD\t\tRestores the directory to the last one saved with PUSHD\n"
"PROMPT\t\tChange the command prompt\n"
"PUSHD\t\tChanges to a new directory, saving the current one\n"
"REN (RENAME)\tRename a file\n"
"RD (RMDIR)\tDelete a subdirectory\n"
"SET\t\tSet or show environment variables\n"
"TIME\t\tSet or show the current system time\n"
"TITLE\t\tSet the window title for the CMD session\n"
"TYPE\t\tType the contents of a text file\n"
"VER\t\tShow the current version of CMD\n"
"VOL\t\tShow the volume label of a disk device\n"
"EXIT\t\tClose down CMD\n"
"\n"
"Enter HELP <command> for further information on any of the above commands\n"
msgstr ""
"CMD 내부 명령들:\n"
"ATTRIB\t\t도스 파일 속 보여주거나 바꾸기\n"
"CALL\t\tI배치 파일 안에서 다른 파일  불러오기\n"
"CD (CHDIR)\t현제 기본 디렉토리 바꾸기\n"
"CHOICE\t\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\t페이지 출력 보여주기\n"
"MOVE\t\t파일 이나 여러 파일,그리고 디렉토리 구조 이동\n"
"PATH\t\t탐색 경로 보여주거나 설정하기\n"
"POPD\t\tPUSHD로 마지막으로 저장했던 디렉토리로 돌아가기\n"
"PROMPT\t\t명령 프롬프트 바꾸기\n"
"PUSHD\t\t현재 디렉토리를 저장하고, 새 디렉토리롤 바꾸기\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"

#: cmd.rc:255
msgid "Are you sure"
msgstr "당신은 확신합니까?"

#: cmd.rc:256
msgctxt "Yes key"
msgid "Y"
msgstr "예"

#: cmd.rc:257
msgctxt "No key"
msgid "N"
msgstr "아니오"

#: cmd.rc:258
msgid "File association missing for extension %s\n"
msgstr "이 파일확장자 %s에 연결된 풀그림이 없습니다.\n"

#: cmd.rc:259
msgid "No open command associated with file type '%s'\n"
msgstr "이 파일 형식 '%s'과 연결된 어떠한 명령도 없습니다.'\n"

#: cmd.rc:260
msgid "Overwrite %s"
msgstr "%s 덮어쓰기"

#: cmd.rc:261
msgid "More..."
msgstr "더 많이..."

#: cmd.rc:262
msgid "Line in Batch processing possibly truncated. Using:\n"
msgstr "배치 작업의 줄은 아마도 불완전한 것 같습니다. 사용법:\n"

#: cmd.rc:263
msgid ""
"Not Yet Implemented\n"
"\n"
msgstr ""
"아직 구현되지 않았습니다\n"
"\n"

#: cmd.rc:264
msgid "Argument missing\n"
msgstr "인수가 없습니다\n"

#: cmd.rc:265
msgid "Syntax error\n"
msgstr "문법 에러\n"

#: cmd.rc:266
msgid "%s : File Not Found\n"
msgstr "%s :파일을 찾을 수 없습니다\n"

#: cmd.rc:267
msgid "No help available for %s\n"
msgstr "%s를 위한 어떠한 도움말도 찾을 수 없습니다\n"

#: cmd.rc:268
msgid "Target to GOTO not found\n"
msgstr "GOTO 타겟을 찾을 수 없습니다\n"

#: cmd.rc:269
msgid "Current Date is %s\n"
msgstr "현재 날짜는 %s\n"

#: cmd.rc:270
msgid "Current Time is %s\n"
msgstr "현재 시간은 %s\n"

#: cmd.rc:271
msgid "Enter new date: "
msgstr "새 날짜 입력: "

#: cmd.rc:272
msgid "Enter new time: "
msgstr "새 시간 입력: "

#: cmd.rc:273
msgid "Environment variable %s not defined\n"
msgstr "환경 변수 %s 는 정의되지 않았습니다\n"

#: cmd.rc:274
msgid "Failed to open '%s'\n"
msgstr "'%s' 열기 실패\n"

#: cmd.rc:275
msgid "Cannot call batch label outside of a batch script\n"
msgstr "배치 스크립트 밖의 배치 라벨은 불러올수 없습니다\n"

#: cmd.rc:276
msgctxt "All key"
msgid "A"
msgstr "A"

#: cmd.rc:277
msgid "%s, Delete"
msgstr "%s, 삭제"

#: cmd.rc:278
msgid "Echo is %s\n"
msgstr "에코(Echo)는 %s\n"

#: cmd.rc:279
msgid "Verify is %s\n"
msgstr "검증(Verify)은 %s\n"

#: cmd.rc:280
msgid "Verify must be ON or OFF\n"
msgstr "검증(Verify)은 반드시 ON 이나 OFF가 되어야 합니다.\n"

#: cmd.rc:281
msgid "Parameter error\n"
msgstr "매개변수 에러\n"

#: cmd.rc:282
msgid ""
"Volume in drive %c is %s\n"
"Volume Serial Number is %04x-%04x\n"
"\n"
msgstr ""
"%c 드라이브의 볼륨은 %s\n"
" 볼륨 시리얼 번호는 %04x-%04x\n"
"\n"

#: cmd.rc:283
msgid "Volume label (11 characters, ENTER for none)?"
msgstr "볼륨 라벨 (11 글자, ENTER는 없음과 같음)?"

#: cmd.rc:284
msgid "PATH not found\n"
msgstr "PATH를 찾을 수 없습니다\n"

#: cmd.rc:285
msgid "Press Return key to continue: "
msgstr "리턴 키를 누르면 계속: "

#: cmd.rc:286
msgid "Wine Command Prompt"
msgstr "Wine 명령 입력대기"

#: cmd.rc:287
msgid ""
"CMD Version %s\n"
"\n"
msgstr ""
"CMD 버젼 %s\n"
"\n"

#: cmd.rc:288
msgid "More? "
msgstr " 더? "

#: cmd.rc:289
msgid "The input line is too long.\n"
msgstr "이 출력 줄은 너무 깁니다.\n"

#: ipconfig.rc:27
msgid "Usage: ipconfig [ /? | /all ]\n"
msgstr "사용법: ipconfig [ /? | /all ]\n"

#: ipconfig.rc:28
msgid "Error: Unknown or invalid command line parameters specified\n"
msgstr "에러: 알수 없거나 올바르지 않은 명령어 라인 매개변수가 지정됨\n"

#: ipconfig.rc:29
msgid "%s adapter %s\n"
msgstr "%s 어댑터 %s\n"

#: ipconfig.rc:30
msgid "Ethernet"
msgstr "이더넷"

#: ipconfig.rc:31
msgid "Unknown"
msgstr "알 수 없음"

#: ipconfig.rc:32
msgid "Connection-specific DNS suffix"
msgstr "Connection-specific DNS suffix"

#: ipconfig.rc:33
msgid "IP address"
msgstr "IP 주소"

#: ipconfig.rc:34
msgid "Hostname"
msgstr "호스트이름"

#: ipconfig.rc:35
msgid "Node type"
msgstr "노드 형식"

#: ipconfig.rc:36
msgid "Broadcast"
msgstr "브로드캐스트"

#: ipconfig.rc:37
msgid "Peer-to-peer"
msgstr "피어 투 피어"

#: ipconfig.rc:38
msgid "Mixed"
msgstr "Mixed"

#: ipconfig.rc:39
msgid "Hybrid"
msgstr "Hybrid"

#: ipconfig.rc:40
msgid "IP routing enabled"
msgstr "IP 라우팅 가능"

#: ipconfig.rc:41
msgid "Description"
msgstr "설명"

#: ipconfig.rc:42
msgid "Physical address"
msgstr "물리 주소"

#: ipconfig.rc:43
msgid "DHCP enabled"
msgstr "DHCP 가능"

#: ipconfig.rc:44
msgid "Yes"
msgstr "예"

#: ipconfig.rc:45
msgid "No"
msgstr "아니오"

#: ipconfig.rc:46
msgid "Default gateway"
msgstr "기본 게이트웨이"

#: net.rc:27
msgid ""
"The syntax of this command is:\n"
"\n"
"NET [ HELP | START | STOP | USE ]\n"
msgstr ""
"이 명령어의 문법:\n"
"\n"
"NET [ HELP | START | STOP | USE ]\n"

#: net.rc:28
msgid "Specify service name to start.\n"
msgstr "지정된 서비스  시작.\n"

#: net.rc:29
msgid "Specify service name to stop.\n"
msgstr "지정된 서비스  정지.\n"

#: net.rc:30
msgid "Stopping dependent service: %s\n"
msgstr "종속된 서비스 정지중: %s\n"

#: net.rc:31
msgid "Could not stop service %s\n"
msgstr "%s 서비스를 정지할 수 없습니다\n"

#: net.rc:32
msgid "Could not get handle to service control manager.\n"
msgstr "서비스 제어 관리자를 다룰 수 없습니다.\n"

#: net.rc:33
msgid "Could not get handle to service.\n"
msgstr "서비스 핸들을 얻을 수 없습니다.\n"

#: net.rc:34
msgid "The %s service is starting.\n"
msgstr "%s 서비스는 시작중.\n"

#: net.rc:35
msgid "The %s service was started successfully.\n"
msgstr " %s 서비스 시작 성공.\n"

#: net.rc:36
msgid "The %s service failed to start.\n"
msgstr "%s 서비스 시작 실패.\n"

#: net.rc:37
msgid "The %s service is stopping.\n"
msgstr "%s  서비스 정지.\n"

#: net.rc:38
msgid "The %s service was stopped successfully.\n"
msgstr "%s 서비스 정지 성공.\n"

#: net.rc:39
msgid "The %s service failed to stop.\n"
msgstr "%s 서비스 정지 실패.\n"

#: net.rc:40
msgid ""
"The syntax of this command is:\n"
"\n"
"NET HELP command\n"
"    -or-\n"
"NET command /HELP\n"
"\n"
"   Commands available are:\n"
"   NET HELP    NET START    NET STOP    NET USE\n"
msgstr ""
"명령어 문법:\n"
"\n"
"NET HELP 명령어\n"
"    -or-\n"
"NET 명령어  /HELP\n"
"\n"
"    가능한 명령어:\n"
"   NET HELP    NET START    NET STOP    NET USE\n"

#: net.rc:42
msgid "There are no entries in the list.\n"
msgstr "리스트가 비어 있습니다.\n"

#: net.rc:43
msgid ""
"\n"
"Status  Local   Remote\n"
"---------------------------------------------------------------\n"
msgstr ""
"\n"
"상태  로컬   원격\n"
"---------------------------------------------------------------\n"

#: net.rc:44
msgid "%s      %S      %S      Open resources: %lu\n"
msgstr "%s      %S      %S      열린 리소스: %lu\n"

#: reg.rc:27
msgid ""
"The syntax of this command is:\n"
"\n"
"REG [ ADD | DELETE | QUERY ]\n"
"REG command /?\n"
msgstr ""
"명령어 형식:\n"
"\n"
"REG [ ADD | DELETE | QUERY ]\n"
"REG 명령어 /?\n"

#: reg.rc:28
msgid ""
"REG ADD key_name [/v value_name | /ve] [/t type] [/s separator] [/d data] [/"
"f]\n"
msgstr "REG ADD 값 [/v 값 | /ve] [/t 형식] [/s 분리기호] [/d 데이타] [/f]\n"

#: reg.rc:29
msgid "REG DELETE key_name [/v value_name | /ve | /va] [/f]\n"
msgstr "REG DELETE 키 이름 [/v 값 | /ve | /va] [/f]\n"

#: reg.rc:30
msgid "REG QUERY key_name [/v value_name | /ve] [/s]\n"
msgstr "REG QUERY 키 이름 [/v 값| /ve] [/s]\n"

#: reg.rc:31
msgid "The operation completed successfully\n"
msgstr "작업이 성공적으로 끝났습니다\n"

#: reg.rc:32
msgid "Error: Invalid key name\n"
msgstr "에러: 올바르지 않은 키 이름\n"

#: reg.rc:33
msgid "Error: Invalid command line parameters\n"
msgstr "에러:올바르지 않은 명령라인 매개변수\n"

#: reg.rc:34
msgid "Error: Unable to add keys to remote machine\n"
msgstr "에러: 원격 머신에  키를 더하는 것은 가능하지 않습니다\n"

#: reg.rc:35
msgid ""
"Error: The system was unable to find the specified registry key or value\n"
msgstr "에러: 이 시스템에서 지정된 레지스트리 키나 값을 찾을수 없습니다\n"

#: start.rc:45
msgid ""
"Start a program, or open a document in the program normally used for files "
"with that suffix.\n"
"Usage:\n"
"start [options] program_filename [...]\n"
"start [options] document_filename\n"
"\n"
"Options:\n"
"/M[inimized] Start the program minimized.\n"
"/MAX[imized] Start the program maximized.\n"
"/R[estored]  Start the program normally (neither minimized nor maximized).\n"
"/W[ait]      Wait for started program to finish, then exit with its exit "
"code.\n"
"/Unix        Use a Unix filename and start the file like windows explorer.\n"
"/ProgIDOpen  Open a document using the following progID.\n"
"/L           Show end-user license.\n"
"\n"
"start.exe version 0.2 Copyright (C) 2003, Dan Kegel\n"
"Start comes with ABSOLUTELY NO WARRANTY; for details run with /L option.\n"
"This is free software, and you are welcome to redistribute it\n"
"under certain conditions; run 'start /L' for details.\n"
msgstr ""
"풀그림을 실행시키거나 보통 파일에 첨가해서 사용되는  풀그림으로 문서 열기\n"
"Usage:\n"
"start [옵션] 풀그림이나 파일 이름 [...]\n"
"start [옵션] 문서 파일 이름\n"
"\n"
"Options:\n"
"/M[inimized] 풀그림 최소화 상태로 실행.\n"
"/MAX[imized] 풀그림 최대화 상태로 실행.\n"
"/R[estored]  풀그림을 보통상태로 시작시키기 (최소화도 아니고 최대화도 아"
"님).\n"
"/W[ait]      시작된 풀그림이 끝날 때까지 기다림, 끝날 때 종료코드를 남김.\n"
"/Unix        윈도우 익스플로어같이 유닉스 파일이름을 사용해서 시작.\n"
"/ProgIDOpen  지정한 progID를 사용해서 문서 열기.\n"
"/L           사용자 라이센스 보여줌\n"
"\n"
"start.exe version 0.2 Copyright (C) 2003, Dan Kegel\n"
"Start comes with ABSOLUTELY NO WARRANTY; for details run with /L option.\n"
"This is free software, and you are welcome to redistribute it\n"
"under certain conditions; run 'start /L' for details.\n"

#: start.rc:63
msgid ""
"start.exe version 0.2 Copyright (C) 2003, Dan Kegel\n"
"This program is free software; you can redistribute it and/or\n"
"modify it under the terms of the GNU Lesser Public License\n"
"as published by the Free Software Foundation; either version 2.1\n"
"of the License, or (at your option) any later version.\n"
"\n"
"This program is distributed in the hope that it will be useful,\n"
"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
"GNU Lesser Public License for more details.\n"
"\n"
"You should have received a copy of the GNU Lesser Public License\n"
"along with this program; if not, write to the Free Software\n"
"Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.\n"
"\n"
"See the COPYING.LIB file for license information.\n"
msgstr ""
"start.exe version 0.2 Copyright (C) 2003, Dan Kegel\n"
"This program is free software; you can redistribute it and/or\n"
"modify it under the terms of the GNU Lesser Public License\n"
"as published by the Free Software Foundation; either version 2.1\n"
"of the License, or (at your option) any later version.\n"
"\n"
"This program is distributed in the hope that it will be useful,\n"
"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
"GNU Lesser Public License for more details.\n"
"\n"
"You should have received a copy of the GNU Lesser Public License\n"
"along with this program; if not, write to the Free Software\n"
"Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.\n"
"\n"
"See the COPYING.LIB file for license information.\n"

#: start.rc:65
msgid ""
"Application could not be started, or no application associated with the "
"specified file.\n"
"ShellExecuteEx failed"
msgstr ""
"프로그램을 실행할 수 없거나, 지정된 파일에 연결된 프로그램이 없습니다.\n"
"ShellExecuteEx 실패"

#: start.rc:67
msgid "Could not translate the specified Unix filename to a DOS filename."
msgstr "지정된 Unix 파일명을 DOS 파일명으로 바꿀 수 없습니다."

#: taskkill.rc:27
msgid "Usage: taskkill [/?] [/f] [/im ProcessName | /pid ProcessID]\n"
msgstr "사용법: taskkill [/?] [/f] [/im 프로세스이름 | /pid 프로세스ID]\n"

#: taskkill.rc:28
msgid "Error: Unknown or invalid command line option specified.\n"
msgstr "에러: 알수 없거나 올바르지 않은 명령라인 옵션이 지정되었습니다.\n"

#: taskkill.rc:29
msgid "Error: Invalid command line parameter specified.\n"
msgstr "에러: 올바르지 않은 명령어 라인 옵션이 지정되었습니다.\n"

#: taskkill.rc:30
msgid "Error: One of options /im or /pid must be specified.\n"
msgstr "에러: /im 니 /pid  옵션중의 하나는 반드시 지정되어야합니다.\n"

#: taskkill.rc:31
msgid "Error: Option %s expects a command line parameter.\n"
msgstr "에러: 롭션 %s 는 하나의 명령어라인 매개변수가 올것으로 예상합니다.\n"

#: taskkill.rc:32
msgid "Error: Options /im and /pid are mutually exclusive.\n"
msgstr "에러:  /im 와 /pid 옵션은 같이 사용할 수 없습니다.\n"

#: taskkill.rc:33
msgid "Close message sent to top-level windows of process with PID %u.\n"
msgstr "PID %u 의 프로세스의 최상위 창에 닫는 메세지 보냈습니다.\n"

#: taskkill.rc:34
msgid ""
"Close message sent to top-level windows of process \"%s\" with PID %u.\n"
msgstr "PID %u 의 프로세스 \"%s\"의 최상위 창에 닫는 메세지 보냈습니다.\n"

#: taskkill.rc:35
msgid "Process with PID %u was forcibly terminated.\n"
msgstr "PID %u 의 프로세스는 강제로 종료되었습니다.\n"

#: taskkill.rc:36
msgid "Process \"%s\" with PID %u was forcibly terminated.\n"
msgstr "PID %u 의 프로세스 \"%s\" 는 강제로 종료되엇습니다.\n"

#: taskkill.rc:37
msgid "Error: Could not find process \"%s\".\n"
msgstr "에러: 프로세스 \"%s\"를 찾을 수 없습니다.\n"

#: taskkill.rc:38
msgid "Error: Unable to enumerate the process list.\n"
msgstr "에러: 프로세스 목록을 열거 할 수 업습니다.\n"

#: taskkill.rc:39
msgid "Error: Unable to terminate process \"%s\".\n"
msgstr "에러: \"%s\" 프로세스를 중단시킬 수 없습니다.\n"

#: taskkill.rc:40
msgid "Error: Process self-termination is not permitted.\n"
msgstr "에러: 프로세스 자가 종료는 허용되지 않습니다.\n"
