/*
 * Copyright 2004 by Krzysztof Foltman
 *
 * 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
 */

LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT

IDM_MAINMENU MENU DISCARDABLE
BEGIN
    POPUP "&File"
    BEGIN
        MENUITEM "&New...\tCtrl+N",       ID_FILE_NEW
        MENUITEM "&Open...\tCtrl+O",      ID_FILE_OPEN
        MENUITEM "&Save\tCtrl+S",         ID_FILE_SAVE
        MENUITEM "Save &as...",           ID_FILE_SAVEAS
        MENUITEM SEPARATOR
        MENUITEM "&Print...\tCtrl+P",     ID_PRINT
        MENUITEM "Print previe&w...",     ID_PREVIEW
        MENUITEM "Pag&e setup...",        ID_PRINTSETUP
        MENUITEM SEPARATOR
        MENUITEM "E&xit",                 ID_FILE_EXIT
    END
    POPUP "&Edit"
    BEGIN
        MENUITEM "&Undo\tCtrl+Z",               ID_EDIT_UNDO
        MENUITEM "R&edo\tCtrl+Y",               ID_EDIT_REDO
        MENUITEM SEPARATOR
        MENUITEM "Cu&t\tCtrl+X",                ID_EDIT_CUT
        MENUITEM "&Copy\tCtrl+C",               ID_EDIT_COPY
        MENUITEM "&Paste\tCtrl+V",              ID_EDIT_PASTE
        MENUITEM "&Clear\tDEL",                 ID_EDIT_CLEAR
        MENUITEM "&Select all\tCtrl+A",         ID_EDIT_SELECTALL
        MENUITEM SEPARATOR
        MENUITEM "&Find...\tCrtl+F",            ID_FIND
        MENUITEM "Find &next\tF3",              ID_FIND_NEXT
        MENUITEM "&Replace...\tCtrl+H",         ID_REPLACE
        MENUITEM SEPARATOR
        MENUITEM "Read-&only",                  ID_EDIT_READONLY
        MENUITEM "&Modified",                   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 "&View"
    BEGIN
        MENUITEM "&Toolbar",        ID_TOGGLE_TOOLBAR
        MENUITEM "&Formatbar",      ID_TOGGLE_FORMATBAR
        MENUITEM "&Ruler",          ID_TOGGLE_RULER
        MENUITEM "&Statusbar",      ID_TOGGLE_STATUSBAR
        MENUITEM SEPARATOR
        MENUITEM "&Options...",     ID_VIEWPROPERTIES
    END
    POPUP "&Insert"
    BEGIN
        MENUITEM "&Date and time...",  ID_DATETIME
    END
    POPUP "F&ormat"
    BEGIN
        MENUITEM "&Font...",                     ID_FONTSETTINGS
        MENUITEM "&Bullet points"                ID_BULLET
        MENUITEM "&Paragraph..."                 ID_PARAFORMAT
        MENUITEM "&Tabs..."                      ID_TABSTOPS
        POPUP "Backgroun&d"
        BEGIN
            MENUITEM "&System\tCtrl+1",         ID_BACK_1
            MENUITEM "&PostThat yellowish\tCtrl+2",           ID_BACK_2
        END
    END
    POPUP "&Help"
    BEGIN
        MENUITEM "&About Wine Wordpad"       ID_ABOUT
    END
END

IDM_POPUP MENU DISCARDABLE
BEGIN
    POPUP ""
    BEGIN
        MENUITEM "Cu&t",                ID_EDIT_CUT
        MENUITEM "&Copy",               ID_EDIT_COPY
        MENUITEM "&Paste",              ID_EDIT_PASTE
        MENUITEM SEPARATOR
        MENUITEM "&Bullet points"       ID_BULLET
        MENUITEM "&Paragraph..."        ID_PARAFORMAT
    END
END

IDD_DATETIME DIALOG DISCARDABLE 30, 20, 130, 80
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
CAPTION "Date and time"
FONT 10, "MS Sans Serif"
BEGIN
    LTEXT        "Available formats",-1,3,2,100,15
    LISTBOX      IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY
    PUSHBUTTON   "&OK",IDOK,87,12,40,12
    PUSHBUTTON   "&Cancel",IDCANCEL,87,26,40,12
END

IDD_NEWFILE DIALOG DISCARDABLE 30, 20, 140, 80
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
CAPTION "New"
FONT 10, "MS Sans Serif"
BEGIN
    LTEXT        "New document type",-1,3,2,100,15
    LISTBOX      IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT
    PUSHBUTTON   "&OK",IDOK,97,12,40,12
    PUSHBUTTON   "&Cancel",IDCANCEL,97,26,40,12
END

IDD_PARAFORMAT DIALOG DISCARDABLE 30, 20, 200, 110
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
Caption "Paragraph format"
FONT 8, "MS Shell Dlg"
BEGIN
    GROUPBOX "Indentation", -1, 10, 10, 120, 68
    LTEXT "Left", -1, 15, 22, 40, 13
    EDITTEXT IDC_PARA_LEFT, 55, 20, 60, 13
    LTEXT "Right", -1, 15, 40, 40, 13
    EDITTEXT IDC_PARA_RIGHT, 55, 38, 60, 13
    LTEXT "First line", -1, 15, 58, 40, 13
    EDITTEXT IDC_PARA_FIRST, 55, 56, 60, 13
    LTEXT "Alignment", -1, 15, 87, 40, 13
    COMBOBOX IDC_PARA_ALIGN, 55, 85, 60, 60, CBS_DROPDOWNLIST
    PUSHBUTTON "&OK", IDOK, 137, 15, 50, 15
    PUSHBUTTON "&Cancel", IDCANCEL, 137, 33, 50, 15
END

IDD_TABSTOPS DIALOG DISCARDABLE 30, 20, 200, 110
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
Caption "Tabs"
FONT 8, "MS SHell DLg"
BEGIN
    GROUPBOX "Tab stops", -1, 10, 10, 120, 90
    COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE | CBS_SORT
    DEFPUSHBUTTON "&Add", ID_TAB_ADD, 20, 80, 45, 15
    PUSHBUTTON "&Remove", ID_TAB_DEL, 72, 80, 45, 15
    PUSHBUTTON "&OK", IDOK, 137, 15, 50, 15
    PUSHBUTTON "&Cancel", IDCANCEL, 137, 33, 50, 15
    PUSHBUTTON "Remove al&l", ID_TAB_EMPTY, 137, 51, 50, 15
END

IDD_FORMATOPTS DIALOG DISCARDABLE 0, 0, 280, 110
STYLE DS_SYSMODAL
Caption ""
FONT 8, "MS Shell Dlg"
BEGIN
    GROUPBOX "Line wrapping", -1, 10, 10, 130, 85
    RADIOBUTTON "&No line wrapping", IDC_PAGEFMT_WN, 18, 25, 117, 15
    RADIOBUTTON "Wrap text by the &window border", IDC_PAGEFMT_WW, 18, 45, 117, 15
    RADIOBUTTON "Wrap text by the &margin", IDC_PAGEFMT_WM, 18, 65, 117, 15
    GROUPBOX "Toolbars", -1, 150, 10, 120, 85
    CHECKBOX "&Toolbar", IDC_PAGEFMT_TB, 160, 20, 80, 15
    CHECKBOX "&Formatbar", IDC_PAGEFMT_FB, 160, 38, 80, 15
    CHECKBOX "&Ruler", IDC_PAGEFMT_RU, 160, 56, 80, 15
    CHECKBOX "&Statusbar", IDC_PAGEFMT_SB, 160, 74, 80, 15
    LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_RICHTEXT_FILES_RTF,     "Rich text format (*.rtf)"
    STRING_TEXT_FILES_TXT,         "Text documents (*.txt)"
    STRING_TEXT_FILES_UNICODE_TXT, "Unicode text document (*.txt)"
    STRING_ALL_FILES,              "All documents (*.*)"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_ALIGN_LEFT,            "Left"
    STRING_ALIGN_RIGHT,           "Right"
    STRING_ALIGN_CENTER,          "Center"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_NEWFILE_RICHTEXT,     "Rich text document"
    STRING_NEWFILE_TXT,          "Text document"
    STRING_NEWFILE_TXT_UNICODE,  "Unicode text document"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_PRINTER_FILES_PRN,        "Printer files (*.PRN)"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_VIEWPROPS_TITLE,          "Options"
    STRING_VIEWPROPS_TEXT,           "Text"
    STRING_VIEWPROPS_RICHTEXT,       "Rich text"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_PREVIEW_PRINT,            "Print"
    STRING_PREVIEW_NEXTPAGE,         "Next page"
    STRING_PREVIEW_PREVPAGE,         "Previous page"
    STRING_PREVIEW_TWOPAGES,         "Two pages"
    STRING_PREVIEW_ONEPAGE,          "One page"
    STRING_PREVIEW_CLOSE,            "Close"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_UNITS_CM,             "cm"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_DEFAULT_FILENAME,     "Document"
    STRING_PROMPT_SAVE_CHANGES,  "Save changes to '%s'?"
    STRING_SEARCH_FINISHED,      "Finished searching the document."
    STRING_LOAD_RICHED_FAILED,   "Failed to load the RichEdit library."
    STRING_SAVE_LOSEFORMATTING,  "You have chosen to save in plain text format, " \
                                 "which will cause all formatting to be lost. " \
                                 "Are you sure that you wish to do this?"
    STRING_INVALID_NUMBER,       "Invalid number format"
    STRING_OLE_STORAGE_NOT_SUPPORTED, "OLE storage documents are not supported"
    STRING_WRITE_FAILED,              "Could not save the file."
    STRING_WRITE_ACCESS_DENIED,       "You do not have access to save the file."
    STRING_OPEN_FAILED,               "Could not open the file."
    STRING_OPEN_ACCESS_DENIED,        "You do not have access to open the file."
    STRING_PRINTING_NOT_IMPLEMENTED, "Printing not implemented"
END
