/*
 * Copyright 1998 Juergen Schmied
 *
 * 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 "shresdef.h"

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

LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT

MENU_001 MENU DISCARDABLE
BEGIN
	MENUITEM "大きいアイコン(&G)",	FCIDM_SHVIEW_BIGICON
	MENUITEM "小さいアイコン(&M)",	FCIDM_SHVIEW_SMALLICON
	MENUITEM "一覧(&L)",		FCIDM_SHVIEW_LISTVIEW
	MENUITEM "詳細(&D)",		FCIDM_SHVIEW_REPORTVIEW
END

/*
 shellview background menu
*/
MENU_002 MENU DISCARDABLE
BEGIN
	POPUP ""
	BEGIN
	  POPUP "表示(&V)"
	  BEGIN
	    MENUITEM "大きいアイコン(&G)",	FCIDM_SHVIEW_BIGICON
	    MENUITEM "小さいアイコン(&M)",	FCIDM_SHVIEW_SMALLICON
	    MENUITEM "一覧(&L)",		FCIDM_SHVIEW_LISTVIEW
	    MENUITEM "詳細(&D)",	FCIDM_SHVIEW_REPORTVIEW
	  END
	  MENUITEM SEPARATOR
	  POPUP "アイコンの整列(&I)"
	  BEGIN
	    MENUITEM "名前順(&N)",	0x30	/* column 0 */
	    MENUITEM "種類順(&T)",	0x32	/* column 2 */
	    MENUITEM "サイズ順(&S)",	0x31	/* ... */
	    MENUITEM "日付順(&D)",	0x33
	    MENUITEM SEPARATOR
	    MENUITEM "アイコンの自動整列(&A)",	FCIDM_SHVIEW_AUTOARRANGE
	  END
	  MENUITEM "等間隔に整列",	FCIDM_SHVIEW_SNAPTOGRID
	  MENUITEM SEPARATOR
	  MENUITEM "更新",		FCIDM_SHVIEW_REFRESH
	  MENUITEM SEPARATOR
	  MENUITEM "貼り付け",		FCIDM_SHVIEW_INSERT
	  MENUITEM "ショートカットの貼り付け",	FCIDM_SHVIEW_INSERTLINK
	  MENUITEM SEPARATOR
	  POPUP "新規作成"
	  BEGIN
	    MENUITEM "新規フォルダ(&F)",	FCIDM_SHVIEW_NEWFOLDER
	    MENUITEM "新規ショートカット(&L)",	FCIDM_SHVIEW_NEWLINK
	    MENUITEM SEPARATOR
	  END
	  MENUITEM SEPARATOR
	  MENUITEM "プロパティ",	FCIDM_SHVIEW_PROPERTIES
	END
END

/*
 shellview item menu
*/
MENU_SHV_FILE MENU DISCARDABLE
BEGIN
	POPUP ""
	BEGIN
	  MENUITEM "選択(&S)"		FCIDM_SHVIEW_OPEN
	  MENUITEM "エクスプローラ(&X)",	FCIDM_SHVIEW_EXPLORE
	  MENUITEM "開く(&O)",		FCIDM_SHVIEW_OPEN
	  MENUITEM SEPARATOR
	  MENUITEM "切り取り(&U)",		FCIDM_SHVIEW_CUT
	  MENUITEM "コピー(&C)",		FCIDM_SHVIEW_COPY
	  MENUITEM SEPARATOR
	  MENUITEM "ショートカットの作成(&L)",	FCIDM_SHVIEW_CREATELINK
	  MENUITEM "削除(&D)",		FCIDM_SHVIEW_DELETE
	  MENUITEM "名前の変更(&R)",		FCIDM_SHVIEW_RENAME
	  MENUITEM SEPARATOR
	  MENUITEM "プロパティ(&P)",	FCIDM_SHVIEW_PROPERTIES
	END
END

MENU_CPANEL MENU
BEGIN
    POPUP "ファイル(&F)"
    BEGIN
        MENUITEM SEPARATOR
        MENUITEM "終了(&X)", IDM_CPANEL_EXIT
    END

    POPUP "表示(&V)"
    BEGIN
        MENUITEM "大きいアイコン(&G)", FCIDM_SHVIEW_BIGICON
        MENUITEM "小さいアイコン(&M)", FCIDM_SHVIEW_SMALLICON
        MENUITEM "一覧(&L)", FCIDM_SHVIEW_LISTVIEW
        MENUITEM "詳細(&D)", FCIDM_SHVIEW_REPORTVIEW
    END

    POPUP "ヘルプ(&H)"
    BEGIN
        MENUITEM "コントロール パネルについて(&A)...", IDM_CPANEL_ABOUT
    END
END

SHBRSFORFOLDER_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 15, 40, 188, 192
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU | DS_MODALFRAME | DS_SETFONT | DS_3DLOOK
CAPTION "フォルダの参照"
FONT 9, "MS Shell Dlg"
{
 DEFPUSHBUTTON "OK", 1, 80, 176, 50, 12, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP
 PUSHBUTTON "キャンセル", 2, 134, 176, 50, 12, WS_GROUP | WS_TABSTOP
 LTEXT "", IDD_TITLE, 4, 4, 180, 12
 LTEXT "", IDD_STATUS, 4, 25, 180, 12
 CONTROL "", IDD_TREEVIEW, "SysTreeView32",
	TVS_HASBUTTONS | TVS_HASLINES | TVS_LINESATROOT |
	WS_BORDER | WS_TABSTOP,
	4, 40, 180, 120
}

SHNEWBRSFORFOLDER_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 15, 40, 218, 196
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU | WS_SIZEBOX | DS_MODALFRAME | DS_SETFONT | DS_3DLOOK
CAPTION "フォルダの参照"
FONT 9, "MS Shell Dlg"
{
 LTEXT "", IDD_TITLE, 10, 8, 198, 24
 LTEXT "", IDD_STATUS, 10, 25, 198, 12
 LTEXT "フォルダ:", IDD_FOLDER, 10, 156, 40, 12
 CONTROL "", IDD_TREEVIEW, "SysTreeView32",
	TVS_HASBUTTONS | TVS_HASLINES | TVS_LINESATROOT |
	WS_BORDER | WS_TABSTOP,
	12, 38, 194, 105
 EDITTEXT IDD_FOLDERTEXT, 46, 150, 160, 14, WS_BORDER | WS_GROUP | WS_TABSTOP
 PUSHBUTTON "新しいフォルダの作成(&M)", IDD_MAKENEWFOLDER, 12, 174, 70, 14, WS_GROUP | WS_TABSTOP
 DEFPUSHBUTTON "OK", IDOK, 102, 174, 50, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP
 PUSHBUTTON "キャンセル", IDCANCEL, 156, 174, 50, 14, WS_GROUP | WS_TABSTOP
}

SHELL_YESTOALL_MSGBOX DIALOG 200, 100, 280, 90
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "メッセージ"
FONT 9, "MS Shell Dlg"
{
    DEFPUSHBUTTON "はい(&Y)", IDYES, 34, 69, 53, 14, WS_GROUP | WS_TABSTOP
    PUSHBUTTON "すべてはい(&A)", IDD_YESTOALL, 92, 69, 65, 14, WS_GROUP | WS_TABSTOP
    PUSHBUTTON "いいえ(&N)", IDNO, 162, 69, 53, 14, WS_GROUP | WS_TABSTOP
    PUSHBUTTON "キャンセル(&C)", IDCANCEL, 220, 69, 53, 14, WS_GROUP | WS_TABSTOP
    ICON "", IDD_ICON, 10, 10, 16, 16
    LTEXT "", IDD_MESSAGE, 40, 10, 238, 52, 0
}

SHELL_ABOUT_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 15, 40, 220, 152
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "%s について"
FONT 10, "MS Shell Dlg"
{
 DEFPUSHBUTTON "OK", IDOK, 153, 133, 60, 12, WS_TABSTOP
 PUSHBUTTON "Wine ライセンス(&L)...", IDC_ABOUT_LICENSE, 153, 113, 60, 12, WS_TABSTOP
 LISTBOX IDC_ABOUT_LISTBOX, 8, 65, 137, 82, LBS_NOTIFY | WS_VSCROLL | WS_BORDER
 ICON "", stc1, 10, 10, 30, 30
 LTEXT "", IDC_ABOUT_STATIC_TEXT1, 42, 10, 170, 10
 LTEXT "", IDC_ABOUT_STATIC_TEXT2, 42, 22, 170, 10
 LTEXT "Running on %s", IDC_ABOUT_STATIC_TEXT3, 42, 34, 170, 10
 LTEXT "Wine was brought to you by:", IDC_ABOUT_WINE_TEXT, 8, 54, 204, 10
}

SHELL_RUN_DLG DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 227, 95
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION ""
FONT 9, "MS Shell Dlg"
{
 ICON "", IDC_RUNDLG_ICON, 7, 11, 18, 20, WS_VISIBLE
 LTEXT "実行するプログラムまたは、開くフォルダ名や ドキュメント名、 インターネット リソース名を入力してください。", IDC_RUNDLG_DESCRIPTION, 36, 11, 182, 18
 LTEXT "名前(&O):", IDC_RUNDLG_LABEL, 7, 39, 24, 10
 CONTROL "", IDC_RUNDLG_EDITPATH, "COMBOBOX", WS_TABSTOP | WS_GROUP | WS_VSCROLL | WS_VISIBLE | CBS_DISABLENOSCROLL | CBS_AUTOHSCROLL | CBS_DROPDOWN, 36, 37, 183, 100
 DEFPUSHBUTTON "OK", IDOK, 62, 63, 50, 14, WS_TABSTOP
 PUSHBUTTON "キャンセル", IDCANCEL, 116, 63, 50, 14, WS_TABSTOP
 PUSHBUTTON "参照(&B)...", IDC_RUNDLG_BROWSE, 170, 63, 50, 14, WS_TABSTOP
}

STRINGTABLE
{
        /* columns in the shellview */
	IDS_SHV_COLUMN1		"ファイル"
	IDS_SHV_COLUMN2		"サイズ"
	IDS_SHV_COLUMN3		"ファイルの種類"
	IDS_SHV_COLUMN4		"更新日時"
	IDS_SHV_COLUMN5		"属性"
	IDS_SHV_COLUMN6		"合計サイズ"
	IDS_SHV_COLUMN7		"空き容量"
	IDS_SHV_COLUMN8		"名前"
	IDS_SHV_COLUMN9		"コメント"
	IDS_SHV_COLUMN10	"所有者"
	IDS_SHV_COLUMN11	"グループ"
	IDS_SHV_COLUMN_DELFROM	"元の場所"
	IDS_SHV_COLUMN_DELDATE	"削除日"
	IDS_SHV_COL_DOCS	"文書"
	IDS_SHV_COL_STATUS	"状態"
	IDS_SHV_COL_LOCATION	"場所"
	IDS_SHV_COL_MODEL	"機種名"

        /* special folders */
	IDS_DESKTOP		"デスクトップ"
	IDS_MYCOMPUTER		"マイ コンピュータ"
	IDS_RECYCLEBIN_FOLDER_NAME      "ごみ箱"
	IDS_CONTROLPANEL	"コントロール パネル"

        /* context menus */
	IDS_VIEW_LARGE		"大きいアイコン(&G)"
	IDS_VIEW_SMALL		"小さいアイコン(&M)"
	IDS_VIEW_LIST		"一覧(&L)"
	IDS_VIEW_DETAILS	"詳細(&D)"
	IDS_SELECT		"選択"
	IDS_OPEN		"開く"

	IDS_CREATEFOLDER_DENIED "新しいフォルダを作成できませんでした。アクセスが拒否されました。"
	IDS_CREATEFOLDER_CAPTION "フォルダの作成に失敗"
	IDS_DELETEITEM_CAPTION "ファイルの削除の確認"
	IDS_DELETEFOLDER_CAPTION "フォルダの削除の確認"
	IDS_DELETEITEM_TEXT "'%1' を削除しますか?"
	IDS_DELETEMULTIPLE_TEXT "これら %1 ファイルを削除しますか?"
	IDS_DELETESELECTED_TEXT "選択されているファイルを削除しますか?"
	IDS_TRASHITEM_TEXT "'%1' をごみ箱に移しますか?"
	IDS_TRASHFOLDER_TEXT "'%1' とその中にあるすべてのファイルをごみ箱に移しますか?"
	IDS_TRASHMULTIPLE_TEXT "これら %1 ファイルをごみ箱に移しますか?"
	IDS_CANTTRASH_TEXT "'%1' はごみ箱に移せません。代わりに削除しますか?"
	IDS_OVERWRITEFILE_TEXT "このフォルダにはすでに '%1' というファイルが存在します。\n\nこのファイルを上書きしますか?"
	IDS_OVERWRITEFILE_CAPTION "ファイルの上書きの確認"
	IDS_OVERWRITEFOLDER_TEXT "このフォルダにはすでに '%1' というフォルダが存在します。\n\n"\
	    "移動またはコピー先フォルダに選択されたフォルダ内のファイルと\n"\
	    "同じ名前のファイルがある場合、新しいファイルで上書きされます。\n"\
	    "フォルダの移動またはコピーを続けますか?"

        /* message box strings */
        IDS_RESTART_TITLE       "再起動"
        IDS_RESTART_PROMPT      "Windows の再起動をシミュレートしますか?"
        IDS_SHUTDOWN_TITLE      "シャットダウン"
        IDS_SHUTDOWN_PROMPT     "Wine セッションをシャットダウンしますか?"

        /* Run File dialog */
        IDS_RUNDLG_ERROR           "[ファイルを指定して実行]ダイアログを表示できません。(内部エラー)"
        IDS_RUNDLG_BROWSE_ERROR    "[参照]ダイアログを表示できません (内部エラー)"
        IDS_RUNDLG_BROWSE_CAPTION  "参照"
        IDS_RUNDLG_BROWSE_FILTER   "実行可能ファイル\0*.exe\0すべてのファイル\0*.*\0\0"

        /* shell folder path default values */
	IDS_PROGRAMS                "Start Menu\\Programs"
	IDS_PERSONAL                "My Documents"
	IDS_FAVORITES               "Favorites"
	IDS_STARTUP                 "Start Menu\\Programs\\StartUp"
	IDS_RECENT                  "Recent"
	IDS_SENDTO                  "SendTo"
	IDS_STARTMENU               "Start Menu"
	IDS_MYMUSIC                 "My Music"
	IDS_MYVIDEO                 "My Videos"
	IDS_DESKTOPDIRECTORY        "Desktop"
	IDS_NETHOOD                 "NetHood"
	IDS_TEMPLATES               "Templates"
	IDS_APPDATA                 "Application Data"
	IDS_PRINTHOOD               "PrintHood"
	IDS_LOCAL_APPDATA           "Local Settings\\Application Data"
	IDS_INTERNET_CACHE          "Local Settings\\Temporary Internet Files"
	IDS_COOKIES                 "Cookies"
	IDS_HISTORY                 "Local Settings\\History"
	IDS_PROGRAM_FILES           "Program Files"
	IDS_MYPICTURES              "My Pictures"
	IDS_PROGRAM_FILES_COMMON    "Program Files\\Common Files"
	IDS_COMMON_DOCUMENTS        "Documents"
	IDS_ADMINTOOLS              "Start Menu\\Programs\\Administrative Tools"
	IDS_COMMON_MUSIC            "Documents\\My Music"
	IDS_COMMON_PICTURES         "Documents\\My Pictures"
	IDS_COMMON_VIDEO            "Documents\\My Videos"
	IDS_CDBURN_AREA             "Local Settings\\Application Data\\Microsoft\\CD Burning"

	IDS_NEWFOLDER		"新しいフォルダ"

	IDS_CPANEL_TITLE            "Wine コントロール パネル"
	IDS_CPANEL_NAME             "名前"
	IDS_CPANEL_DESCRIPTION      "説明"

	IDS_SHLEXEC_NOASSOC         "このファイルの種類に関連付けられた Windows プログラムはありません。"
}

STRINGTABLE
{
IDS_LICENSE_CAPTION,            "Wine ライセンス"
IDS_LICENSE,
"Wine 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.\n\n\
Wine 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.\n\n\
You should have received a copy of the GNU Lesser General Public \
License along with Wine; if not, write to the Free Software \
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA."
}
