/*
 * Copyright 2008 by Katayama Hirofumi MZ
 *
 * 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

IDM_MAINMENU MENU DISCARDABLE
BEGIN
    POPUP "ファイル(&F)"
    BEGIN
        MENUITEM "新規作成(&N)...\tCtrl+N", ID_FILE_NEW
        MENUITEM "開く(&O)...\tCtrl+O",     ID_FILE_OPEN
        MENUITEM "上書き保存(&S)\tCtrl+S",  ID_FILE_SAVE
        MENUITEM "名前を付けて保存(&A)...", ID_FILE_SAVEAS
        MENUITEM SEPARATOR
        MENUITEM "印刷(&P)...\tCtrl+P",     ID_PRINT
        MENUITEM "印刷プレビュー(&W)...",   ID_PREVIEW
        MENUITEM "ページ設定(&E)...",       ID_PRINTSETUP
        MENUITEM SEPARATOR
        MENUITEM "終了(&X)",                ID_FILE_EXIT
    END
    POPUP "編集(&E)"
    BEGIN
        MENUITEM "元に戻す(&U)\tCtrl+Z",        ID_EDIT_UNDO
        MENUITEM "やり直し(&E)\tCtrl+Y",        ID_EDIT_REDO
        MENUITEM SEPARATOR
        MENUITEM "切り取り(&T)\tCtrl+X",        ID_EDIT_CUT
        MENUITEM "コピー(&C)\tCtrl+C",          ID_EDIT_COPY
        MENUITEM "貼り付け(&P)\tCtrl+V",        ID_EDIT_PASTE
        MENUITEM "クリア(&C)\tDEL",             ID_EDIT_CLEAR
        MENUITEM "すべて選択(&S)\tCtrl+A",      ID_EDIT_SELECTALL
        MENUITEM SEPARATOR
        MENUITEM "検索(&F)...\tCrtl+F",         ID_FIND
        MENUITEM "次を検索(&N)\tF3",            ID_FIND_NEXT
        MENUITEM "置換(&R)...\tCtrl+H",         ID_REPLACE
        MENUITEM SEPARATOR
        MENUITEM "読み取り専用(&O)",            ID_EDIT_READONLY
        MENUITEM "変更あり(&M)",                ID_EDIT_MODIFIED
        MENUITEM SEPARATOR
        POPUP "E&xtras"
        BEGIN
            MENUITEM "Selection &info",         ID_EDIT_SELECTIONINFO
            MENUITEM "Character &format",       ID_EDIT_CHARFORMAT
            MENUITEM "&Def. char format",       ID_EDIT_DEFCHARFORMAT
            MENUITEM "Paragrap&h format",       ID_EDIT_PARAFORMAT
            MENUITEM "&Get text",               ID_EDIT_GETTEXT
        END
    END
    POPUP "表示(&V)"
    BEGIN
        MENUITEM "ツールバー(&T)",              ID_TOGGLE_TOOLBAR
        MENUITEM "書式バー(&F)",                ID_TOGGLE_FORMATBAR
        MENUITEM "ルーラー(&R)",                ID_TOGGLE_RULER
        MENUITEM "ステータス バー(&S)",         ID_TOGGLE_STATUSBAR
        MENUITEM SEPARATOR
        MENUITEM "オプション(&O)...",           ID_VIEWPROPERTIES
    END
    POPUP "挿入(&I)"
    BEGIN
        MENUITEM "日付と時刻(&D)...",           ID_DATETIME
    END
    POPUP "書式(&O)"
    BEGIN
        MENUITEM "フォント(&F)...",             ID_FONTSETTINGS
        MENUITEM "箇条書き(&B)"                 ID_BULLET
        MENUITEM "段落(&P)..."                  ID_PARAFORMAT
        MENUITEM "タブ(&T)..."                  ID_TABSTOPS
        POPUP "背景(&D)"
        BEGIN
            MENUITEM "システム(&S)\tCtrl+1",        ID_BACK_1
            MENUITEM "&PostThat yellowish\tCtrl+2", ID_BACK_2
        END
    END
    POPUP "ヘルプ(&H)"
    BEGIN
        MENUITEM "Wine Wordpadについて(&A)"      ID_ABOUT
    END
END

IDM_POPUP MENU DISCARDABLE
BEGIN
    POPUP ""
    BEGIN
        MENUITEM "切り取り(&T)",        ID_EDIT_CUT
        MENUITEM "コピー(&C)",          ID_EDIT_COPY
        MENUITEM "貼り付け(&P)",        ID_EDIT_PASTE
        MENUITEM SEPARATOR
        MENUITEM "箇条書き(&B)"         ID_BULLET
        MENUITEM "段落(&P)..."          ID_PARAFORMAT
    END
END

IDD_DATETIME DIALOG DISCARDABLE 30, 20, 130, 80
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
CAPTION "日付と時刻"
FONT 9, "MS Shell Dlg"
BEGIN
    LTEXT        "利用できる形式",-1,3,2,100,15
    LISTBOX      IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT|LBS_NOTIFY
    PUSHBUTTON   "&OK",IDOK,87,12,40,12
    PUSHBUTTON   "キャンセル(&C)",IDCANCEL,87,26,40,12
END

IDD_NEWFILE DIALOG DISCARDABLE 30, 20, 140, 80
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
CAPTION "新規作成"
FONT 9, "MS Shell Dlg"
BEGIN
    LTEXT        "新しい文書形式",-1,3,2,100,15
    LISTBOX      IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT
    PUSHBUTTON   "&OK",IDOK,97,12,40,12
    PUSHBUTTON   "キャンセル(&C)",IDCANCEL,97,26,40,12
END

IDD_PARAFORMAT DIALOG DISCARDABLE 30, 20, 200, 110
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
CAPTION "段落の設定"
FONT 9, "MS Shell Dlg"
BEGIN
    GROUPBOX "インデント", -1, 10, 10, 120, 68
    LTEXT "左(&L)", -1, 15, 22, 40, 13
    EDITTEXT IDC_PARA_LEFT, 55, 20, 60, 13
    LTEXT "右(&R)", -1, 15, 40, 40, 13
    EDITTEXT IDC_PARA_RIGHT, 55, 38, 60, 13
    LTEXT "最初の行(&F)", -1, 15, 58, 40, 13
    EDITTEXT IDC_PARA_FIRST, 55, 56, 60, 13
    LTEXT "整列(&A)", -1, 15, 87, 40, 13
    COMBOBOX IDC_PARA_ALIGN, 55, 85, 60, 60, CBS_DROPDOWNLIST
    PUSHBUTTON "&OK", IDOK, 137, 15, 50, 15
    PUSHBUTTON "キャンセル(&C)", IDCANCEL, 137, 33, 50, 15
END

IDD_TABSTOPS DIALOG DISCARDABLE 30, 20, 200, 110
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
CAPTION "タブの設定"
FONT 9, "MS Shell Dlg"
BEGIN
    GROUPBOX "タブの停止位置(&T)", -1, 10, 10, 120, 90
    COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE
    DEFPUSHBUTTON "追加(&A)", ID_TAB_ADD, 20, 80, 45, 15
    PUSHBUTTON "削除(&R)", ID_TAB_DEL, 72, 80, 45, 15
    PUSHBUTTON "&OK", IDOK, 137, 15, 50, 15
    PUSHBUTTON "キャンセル(&C)", IDCANCEL, 137, 33, 50, 15
    PUSHBUTTON "すべて削除(&L)", ID_TAB_EMPTY, 137, 51, 50, 15
END

IDD_FORMATOPTS DIALOG DISCARDABLE 0, 0, 280, 110
STYLE DS_SYSMODAL
CAPTION ""
FONT 9, "MS Shell Dlg"
BEGIN
    GROUPBOX "行の折り返し", -1, 10, 10, 130, 85
    RADIOBUTTON "No line wrapping", IDC_PAGEFMT_WN, 18, 25, 117, 15
    RADIOBUTTON "ウィンドウの境界で折り返す(&W)", IDC_PAGEFMT_WW, 18, 45, 117, 15
    RADIOBUTTON "マージンで折り返す(&M)", IDC_PAGEFMT_WM, 18, 65, 117, 15
    GROUPBOX "ツールバー", -1, 150, 10, 120, 85
    CHECKBOX "ツールバー(&T)", IDC_PAGEFMT_TB, 160, 20, 80, 15
    CHECKBOX "書式バー(&F)", IDC_PAGEFMT_FB, 160, 38, 80, 15
    CHECKBOX "ルーラー(&R)", IDC_PAGEFMT_RU, 160, 56, 80, 15
    CHECKBOX "ステータスバー(&S)", IDC_PAGEFMT_SB, 160, 74, 80, 15
    LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_RICHTEXT_FILES_RTF,     "リッチテキスト形式 (*.rtf)"
    STRING_TEXT_FILES_TXT,         "テキスト文書 (*.txt)"
    STRING_TEXT_FILES_UNICODE_TXT, "Unicodeテキスト文書(*.txt)"
    STRING_ALL_FILES,              "すべてのファイル (*.*)"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_ALIGN_LEFT,            "左"
    STRING_ALIGN_RIGHT,           "右"
    STRING_ALIGN_CENTER,          "中央"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_NEWFILE_RICHTEXT,     "リッチテキスト文書"
    STRING_NEWFILE_TXT,          "テキスト文書"
    STRING_NEWFILE_TXT_UNICODE,  "Unicodeテキスト文書"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_PRINTER_FILES_PRN,        "プリンタファイル (*.PRN)"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_VIEWPROPS_TITLE,          "オプション"
    STRING_VIEWPROPS_TEXT,           "テキスト"
    STRING_VIEWPROPS_RICHTEXT,       "リッチテキスト"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_PREVIEW_PRINT,            "印刷"
    STRING_PREVIEW_NEXTPAGE,         "次のページ"
    STRING_PREVIEW_PREVPAGE,         "前のページ"
    STRING_PREVIEW_TWOPAGES,         "2ページ"
    STRING_PREVIEW_ONEPAGE,          "1ページ"
    STRING_PREVIEW_CLOSE,            "閉じる"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_UNITS_CM,             "cm"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_DEFAULT_FILENAME,     "文書"
    STRING_PROMPT_SAVE_CHANGES,  "'%s'への変更を保存しますか?"
    STRING_SEARCH_FINISHED,      "文書の検索を完了。"
    STRING_LOAD_RICHED_FAILED,   "RichEditライブラリの読み込みに失敗。"
    STRING_SAVE_LOSEFORMATTING,  "プレーンテキスト形式で保存すると、" \
                                 "すべての書式が失われます。" \
                                 "それでもよいですか？"
    STRING_INVALID_NUMBER,       "数の書式が不正"
    STRING_OLE_STORAGE_NOT_SUPPORTED, "OLEストレージ文書はサポートされていません。"
    STRING_WRITE_FAILED,              "ファイルを保存できません。"
    STRING_WRITE_ACCESS_DENIED,       "ファイルに保存する権限がありません。"
    STRING_OPEN_FAILED,               "ファイルを開けません。"
    STRING_OPEN_ACCESS_DENIED,        "ファイルを開く権限がありません。"
END

#pragma code_page(default)
