/*
 * 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
 */

#include "wordpad.h"

/* 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)...\tCtrl+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

IDM_COLOR_POPUP MENU DISCARDABLE
BEGIN
    POPUP ""
    BEGIN
        MENUITEM "黒"       ID_COLOR_BLACK
        MENUITEM "茶色"     ID_COLOR_MAROON
        MENUITEM "緑"       ID_COLOR_GREEN
        MENUITEM "オリーブ" ID_COLOR_OLIVE
        MENUITEM "紺"       ID_COLOR_NAVY
        MENUITEM "紫"       ID_COLOR_PURPLE
        MENUITEM "青緑"     ID_COLOR_TEAL
        MENUITEM "灰色"     ID_COLOR_GRAY
        MENUITEM "銀色"     ID_COLOR_SILVER
        MENUITEM "赤"       ID_COLOR_RED
        MENUITEM "黄緑"     ID_COLOR_LIME
        MENUITEM "黄"       ID_COLOR_YELLOW
        MENUITEM "青"       ID_COLOR_BLUE
        MENUITEM "赤紫"     ID_COLOR_FUCHSIA
        MENUITEM "水色"     ID_COLOR_AQUA
        MENUITEM "白"       ID_COLOR_WHITE
        MENUITEM "Automatic" ID_COLOR_AUTOMATIC
    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_ZOOMIN,           "Zoom in"
    STRING_PREVIEW_ZOOMOUT,          "Zoom out"
    STRING_PREVIEW_CLOSE,            "閉じる"
    STRING_PREVIEW_PAGE,             "Page"
    STRING_PREVIEW_PAGES,            "Pages"
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,        "ファイルを開く権限がありません。"
    STRING_PRINTING_NOT_IMPLEMENTED,  "プリントが実装されていません。"
    STRING_MAX_TAB_STOPS,             "32以上なタブを追加できません。"
END
