/*
 * 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)...\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,        "ファイルを開く権限がありません。"
    STRING_PRINTING_NOT_IMPLEMENTED,  "プリントが実装されていません。"
    STRING_MAX_TAB_STOPS,             "32以上なタブを追加できません。"
END
