/*
 * OleView (Ko.rc)
 * Korean Language Support
 *
 * Copyright 2006 Piotr Caban
 * Copyright 2006,2010 YunSong Hwang
 *
 * 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
 */

#include "resource.h"

#pragma code_page(65001)

LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT

IDM_MENU MENU
{
    POPUP "파일(&F)"
    {
        MENUITEM "파일에 연결(&B)...",    IDM_BIND
        MENUITEM "타입 라이브러리 보기(&V)...",    IDM_TYPELIB
        MENUITEM SEPARATOR
        MENUITEM "시스템 설정(&S)...",    IDM_SYSCONF
        MENUITEM "레지스트리 편집기 실행(&R)",    IDM_REGEDIT
        MENUITEM SEPARATOR
        MENUITEM "나가기(&X)",    IDM_EXIT
    }
    POPUP " 객체(&O)"
    {
        POPUP "&CoCreateInstance 플래그"
        {
            MENUITEM "CLSCTX_&INPROC_SERVER",    IDM_FLAG_INSERV,CHECKED
            MENUITEM "CLSCTX_INPROC_&HANDLER",    IDM_FLAG_INHANDL
            MENUITEM "CLSCTX_&LOCAL_SERVER",        IDM_FLAG_LOCSERV,CHECKED
            MENUITEM "CLSCTX_&REMOTE_SERVER",    IDM_FLAG_REMSERV
        }
        MENUITEM SEPARATOR
        MENUITEM "타입 정보 보기(&T)",    IDM_TYPEINFO, GRAYED
        MENUITEM SEPARATOR
        MENUITEM "인스턴스 만들기(&I)",    IDM_CREATEINST, GRAYED
        MENUITEM "인스턴트 온(Instance &On) 만들기...",    IDM_CREATEINSTON, GRAYED
        MENUITEM "인스턴트 해제하기(&R)",    IDM_RELEASEINST, GRAYED
        MENUITEM SEPARATOR
        MENUITEM "C&LSID를 클립보드로 복사",    IDM_COPYCLSID, GRAYED
        MENUITEM "&HTML 객체 태그를 클립보드로 복사", IDM_HTMLTAG, GRAYED
        MENUITEM SEPARATOR
        MENUITEM "보기(&V)...",    IDM_VIEW, GRAYED
    }
    POPUP "보기(&V)"
    {
        MENUITEM "전문가 모드(&E)",    IDM_EXPERT,CHECKED
        MENUITEM SEPARATOR
        MENUITEM "컴포넌트 분류 숨기기(&H)",    IDM_HIDDEN, GRAYED
        MENUITEM SEPARATOR
        MENUITEM "도구바(&T)",    IDM_TOOLBAR,CHECKED
        MENUITEM "상태바(&S)",    IDM_STATUSBAR,CHECKED
        MENUITEM SEPARATOR
        MENUITEM "새로 고침(&R)\tF5",    IDM_REFRESH
    }
    POPUP "도움말(&H)"
    {
        MENUITEM "OleView 정보(&A)",    IDM_ABOUT
    }
}

IDM_TYPELIB MENU
{
	POPUP "파일(&F)"
	{
		MENUITEM "다른 이름으로 저장(&S)...",    IDM_SAVEAS
		MENUITEM "닫기(&C)",  IDM_CLOSE
	}
	POPUP "보기(&V)"
	{
		MENUITEM "타입 종류에 따라 구분(&G)", IDM_GROUP
		MENUITEM SEPARATOR
		MENUITEM "도구바(&T)",    IDM_TOOLBAR
		MENUITEM "상태바(&S)", IDM_STATUSBAR,CHECKED
	}
}


STRINGTABLE
{
    IDS_APPNAME            "OleView"
    IDS_APPTITLE           "OleView"
    IDS_READY              "준비"
    IDS_ABOUT              "OleView - OLE/COM 객체 뷰어"
    IDS_ABOUTVER           "버젼 1.0"
    IDS_TYPELIBTITLE       "ITypeLib 뷰어"
    IDS_OPEN               "열기"
    IDS_OPEN_TYPELIB_FILTER "TypeLib 파일 (*.tlb;*.olb;*.dll;*.ocx;*.exe)\0*.tlb;*.olb;*.dll;*.ocx;*.exe\0All Files (*.*)\0*.*\0\0"

    IDM_BIND,              "파일 별명으로 파일 연결"
    IDM_TYPELIB,           "타입 라이브러리 파일을 열고 내용 보기"
    IDM_SYSCONF,           "머신 전체의 DCOM설정 바꾸기"
    IDM_REGEDIT,           "Wine 레지스트리 편집기 실행"
    IDM_EXIT,              "바뀐 것을 저장할지 물어보고 프로그램 끝내기"
    IDM_CREATEINST,        "선택된 객체의 인스턴트 만들기"
    IDM_CREATEINSTON,      "지정된 머신의 선택된 객체의 인스턴트 만들기"
    IDM_RELEASEINST,       "현재 선택된 객체 인스턴트 해제하기"
    IDM_COPYCLSID,         "현재 선택된 항목의 GUID를 클립보드로 복사"
    IDM_VIEW,              "선택된 항목의 뷰어 보기"
    IDM_FLAG_INSERV,       "CoGetClassObject이 호출될 때 Use CLSCTX_INPROC_SERVER 사용"
    IDM_FLAG_INHANDL,      "CoGetClassObject이 호출될 때 Use CLSCTX_INPROC_HANDLER 사용"
    IDM_FLAG_LOCSERV,      "CoGetClassObject이 호출될 때 CLSCTX_LOCAL_SERVER 사용"
    IDM_FLAG_REMSERV,      "CoGetClassObject이 호출될 때 CLSCTX_REMOTE_SERVER  사용"
    IDM_EXPERT,            "전문가와 초보자 모드 전환e"
    IDM_HIDDEN,            "컴포넌트 목록 보기(보이지 않더라도)"
    IDM_TOOLBAR,           "도구바 보기/숨기기"
    IDM_STATUSBAR,         "상태바 보기/숨기기"
    IDM_REFRESH,           "모든 목록 새로 고침"
    IDM_ABOUT,             "프로그램 정보, 버젼, 저작권 보여주기"

    IDM_SAVEAS,            ".IDL 이나 .H file로 저장"
    IDM_CLOSE,             "창 닫기"
    IDM_GROUP,             "타입정보를 타입에 따라 분류"

    IDS_TREE_OC,           "ObjectClasses"
    IDS_TREE_GBCC,         "컴포턴트 분류"
    IDS_TREE_O1O,          "OLE 1.0 객체"
    IDS_TREE_CLO,          "COM 라이브러리 객체"
    IDS_TREE_AO,           "모든 객체"
    IDS_TREE_AID,          "프로그램 IDs"
    IDS_TREE_TL,           "타입 라이브러리"
    IDS_TL_VER,            "ver."
    IDS_TREE_I,            "인터페이스"

    IDS_TAB_REG,           "Registry"
    IDS_TAB_IMPL,          "Implementation"
    IDS_TAB_ACTIV,         "Activation"

    IDS_CGCOFAIL,          "CoGetClassObject 실패."
    IDS_ERROR_UNKN,        "알수 없는 에러"
    IDS_TRUE,              "참"
    IDS_FALSE,             "거짓"
    IDS_BYTES,             "바이트"

    IDS_ERROR_LOADTYPELIB, "LoadTypeLib( %s ) 실패 ($%x)"
    IDS_INHERITINTERFACES, "Inherited Interfaces"
}

DLG_CREATEINSTON DIALOG 0, 0, 250, 41
STYLE DS_MODALFRAME | DS_NOIDLEMSG | WS_CAPTION | WS_SYSMENU
CAPTION "다른 머신(machine)에 접속"
FONT 9, "MS Shell Dlg"
{
    LTEXT   "머신(&Machine) 이름:", -1, 5, 6, 190, 8
    EDITTEXT    IDC_MACHINE, 5, 16, 190, 12, WS_BORDER | WS_TABSTOP | ES_AUTOHSCROLL
    DEFPUSHBUTTON   "확인(&O)", IDOK, 200, 5, 45, 14
    PUSHBUTTON  "취소(&C)", IDCANCEL, 200, 22, 45, 14
}

DLG_SYSCONF DIALOG 0, 0, 170, 100
STYLE DS_MODALFRAME | DS_NOIDLEMSG | WS_CAPTION | WS_SYSMENU
CAPTION "시스템 설정"
FONT 9, "MS Shell Dlg"
{
    LTEXT   "시스템 셋팅", -1, 5, 6, 160, 8
    CHECKBOX    "DCOM 허용(&E)", IDC_ENABLEDCOM, 5, 20, 160, 10, WS_TABSTOP | WS_GROUP | BS_AUTOCHECKBOX
    CHECKBOX    "원격 연결 허용(&R) (Win95만 해당)", IDC_ENABLEREMOTE, 5, 35, 160, 10, WS_TABSTOP | WS_GROUP | BS_AUTOCHECKBOX
    LTEXT   "이 셋팅은 오직 레지스트리 값만 바꿉니다.\nWIne의 성능에는 아무 영향을 안 미칩니다.", -1, 5, 50, 160, 40
    DEFPUSHBUTTON   "확인(&O)", IDOK, 70, 80, 45, 14
    PUSHBUTTON  "취소(&C)", IDCANCEL, 120, 80, 45, 14
}

DLG_DEFAULT_IV DIALOG 0, 0, 280, 50
STYLE DS_MODALFRAME | DS_NOIDLEMSG | WS_CAPTION | WS_SYSMENU
CAPTION "기본 인터페이스 보기"
FONT 9, "MS Shell Dlg"
{
  LTEXT   "인터페이스", -1, 5, 6, 50, 8
  LTEXT   "", IDC_LABEL, 60, 6, 145, 8
  LTEXT   "IID:", -1, 5, 16, 50, 8
  LTEXT   "", IDC_IDENTIFIER, 60, 16, 165, 8
  DEFPUSHBUTTON   "닫기(&C)", IDCANCEL, 230, 6, 45, 14
  PUSHBUTTON  "타입 정보 보기(&V)", IDC_VIEWTYPEINFO, 6, 31, 70, 14, WS_DISABLED
}

DLG_IPERSIST_IV DIALOG 0, 0, 280, 29
STYLE DS_MODALFRAME | DS_NOIDLEMSG | WS_CAPTION | WS_SYSMENU
CAPTION "IPersist 인터페이스 보기"
FONT 9, "MS Shell Dlg"
{
  LTEXT   "클래스 이름:", -1, 5, 6, 50, 8
  LTEXT   "", IDC_LABEL, 60, 6, 145, 8
  LTEXT   "CLSID:", -1, 5, 16, 50, 8
  LTEXT   "", IDC_IDENTIFIER, 60, 16, 165, 8
  DEFPUSHBUTTON   "닫기(&C)", IDCANCEL, 230, 6, 45, 14
}

DLG_IPERSISTSTREAM_IV DIALOG 0, 0, 280, 68
STYLE DS_MODALFRAME | DS_NOIDLEMSG | WS_CAPTION | WS_SYSMENU
CAPTION "IPersistStream 인터페이스 보기"
FONT 9, "MS Shell Dlg"
{
  LTEXT   "클래스 이름:", -1, 5, 6, 50, 8
  LTEXT   "", IDC_LABEL, 60, 6, 145, 8
  LTEXT   "CLSID:", -1, 5, 16, 50, 8
  LTEXT   "", IDC_IDENTIFIER, 60, 16, 165, 8
  DEFPUSHBUTTON   "닫기(&C)", IDCANCEL, 230, 6, 45, 14
  PUSHBUTTON  "&IsDirty", IDC_ISDIRTY_BUTTON, 6, 31, 50, 14
  LTEXT   "???", IDC_ISDIRTY, 60, 34, 145, 8
  PUSHBUTTON  "&GetSizeMax", IDC_GETSIZEMAX_BUTTON, 6, 49, 50, 14
  LTEXT   "???", IDC_GETSIZEMAX, 60, 52, 145, 8
}
