/*
 * Copyright 2006 by Hans Leidekker
 * Copyright 2008 by Frans Kool
 *
 * 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"

LANGUAGE LANG_DUTCH, SUBLANG_NEUTRAL

IDM_MAINMENU MENU DISCARDABLE
BEGIN
    POPUP "&Bestand"
    BEGIN
        MENUITEM "&Nieuw...\tCtrl+N"      ID_FILE_NEW
        MENUITEM "&Openen...\tCtrl+O",    ID_FILE_OPEN
        MENUITEM "Op&slaan\tCtrl+S",      ID_FILE_SAVE
        MENUITEM "Ops&laan als...",       ID_FILE_SAVEAS
        MENUITEM SEPARATOR
        MENUITEM "&Print...\tCtrl+P",     ID_PRINT
        MENUITEM "Print &voorbeeld...",     ID_PREVIEW
        MENUITEM "Pa&gina setup...",        ID_PRINTSETUP
        MENUITEM SEPARATOR
        MENUITEM "&Afsluiten",    ID_FILE_EXIT
    END
    POPUP "Be&werken"
    BEGIN
        MENUITEM "&Ongedaan maken\tCtrl+Z",     ID_EDIT_UNDO
        MENUITEM "O&pnieuw\tCtrl+Y",            ID_EDIT_REDO
        MENUITEM SEPARATOR
        MENUITEM "K&nippen\tCtrl+X",            ID_EDIT_CUT
        MENUITEM "&Kopieren\tCtrl+C",           ID_EDIT_COPY
        MENUITEM "&Plakken\tCtrl+V",            ID_EDIT_PASTE
        MENUITEM "&Verwijderen\tDel",           ID_EDIT_CLEAR
        MENUITEM "&Alles selecteren\tCtrl+A",   ID_EDIT_SELECTALL
        MENUITEM SEPARATOR
        MENUITEM "&Zoeken...\tCtrl+F",            ID_FIND
        MENUITEM "Zoek vo&lgende\tF3",              ID_FIND_NEXT
        MENUITEM "Ve&rvang...\tCtrl+H",         ID_REPLACE
        MENUITEM SEPARATOR
        MENUITEM "Alleen &lezen",               ID_EDIT_READONLY
        MENUITEM "&Gewijzigd",                  ID_EDIT_MODIFIED
        MENUITEM SEPARATOR
        POPUP "&Extra's"
        BEGIN
            MENUITEM "Selectie&informatie",          ID_EDIT_SELECTIONINFO
            MENUITEM "&Karakterformaat",             ID_EDIT_CHARFORMAT
            MENUITEM "&Standaard karakterformaat",   ID_EDIT_DEFCHARFORMAT
            MENUITEM "&Paragraafformaat",            ID_EDIT_PARAFORMAT
            MENUITEM "&Haal tekst",                  ID_EDIT_GETTEXT
        END
    END
    POPUP "&Bekijken"
    BEGIN
        MENUITEM "&Toolbalk",      ID_TOGGLE_TOOLBAR
        MENUITEM "&Formaatbalk",   ID_TOGGLE_FORMATBAR
        MENUITEM "&Lineaal",       ID_TOGGLE_RULER
        MENUITEM "&Statusbalk",    ID_TOGGLE_STATUSBAR
        MENUITEM SEPARATOR
        MENUITEM "&Opties...",     ID_VIEWPROPERTIES
    END
    POPUP "&Invoegen"
    BEGIN
        MENUITEM "&Datum en tijd...",     ID_DATETIME
    END
    POPUP "&Opmaak"
    BEGIN
        MENUITEM "&Lettertype...",               ID_FONTSETTINGS
        MENUITEM "&Bullet points"                ID_BULLET
        MENUITEM "&Paragraaf..."                 ID_PARAFORMAT
        MENUITEM "&Tabs..."                      ID_TABSTOPS
        POPUP "&Achtergrond"
        BEGIN
            MENUITEM "&Systeem\tCtrl+1",   ID_BACK_1
            MENUITEM "&Geeltje\tCtrl+2",   ID_BACK_2
        END
    END
    POPUP "&Help"
    BEGIN
        MENUITEM "&Over Wine Wordpad"       ID_ABOUT
    END
END

IDM_POPUP MENU DISCARDABLE
BEGIN
    POPUP ""
    BEGIN
        MENUITEM "K&nippen",             ID_EDIT_CUT
        MENUITEM "&Kopieren",            ID_EDIT_COPY
        MENUITEM "&Plakken",            ID_EDIT_PASTE
        MENUITEM SEPARATOR
        MENUITEM "&Bullet points"        ID_BULLET
        MENUITEM "&Paragraaf...",        ID_PARAFORMAT
    END
END

IDM_COLOR_POPUP MENU DISCARDABLE
BEGIN
    POPUP ""
    BEGIN
        MENUITEM "Zwart"         ID_COLOR_BLACK
        MENUITEM "Kastanjebruin" ID_COLOR_MAROON
        MENUITEM "Groen"         ID_COLOR_GREEN
        MENUITEM "Olijfgroen"    ID_COLOR_OLIVE
        MENUITEM "Marineblauw"   ID_COLOR_NAVY
        MENUITEM "Paars"         ID_COLOR_PURPLE
        MENUITEM "Groenblauw"    ID_COLOR_TEAL
        MENUITEM "Grijs"         ID_COLOR_GRAY
        MENUITEM "Zilver"        ID_COLOR_SILVER
        MENUITEM "Rood"          ID_COLOR_RED
        MENUITEM "Lichtgroen"    ID_COLOR_LIME
        MENUITEM "Geel"          ID_COLOR_YELLOW
        MENUITEM "Blauw"         ID_COLOR_BLUE
        MENUITEM "Fuchsiapaars"  ID_COLOR_FUCHSIA
        MENUITEM "Zeeblauw"      ID_COLOR_AQUA
        MENUITEM "Wit"           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 "Datum en tijd"
FONT 10, "MS Sans Serif"
BEGIN
    LTEXT        "Beschikbare formaten",-1,3,2,100,15
    LISTBOX      IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY
    PUSHBUTTON   "&OK",IDOK,87,12,40,12
    PUSHBUTTON   "&Annuleren",IDCANCEL,87,26,40,12
END

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

IDD_PARAFORMAT DIALOG DISCARDABLE 30, 20, 200, 110
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
Caption "Paragraaf formaat"
FONT 8, "MS Shell Dlg"
BEGIN
    GROUPBOX "Indentation", -1, 10, 10, 120, 68
    LTEXT "Links", -1, 15, 22, 40, 13
    EDITTEXT IDC_PARA_LEFT, 55, 20, 60, 13
    LTEXT "Rechts", -1, 15, 40, 40, 13
    EDITTEXT IDC_PARA_RIGHT, 55, 38, 60, 13
    LTEXT "Eerste regel", -1, 15, 58, 40, 13
    EDITTEXT IDC_PARA_FIRST, 55, 56, 60, 13
    LTEXT "Uitlijning", -1, 15, 87, 40, 13
    COMBOBOX IDC_PARA_ALIGN, 55, 85, 60, 60, CBS_DROPDOWNLIST
    PUSHBUTTON "&OK", IDOK, 137, 15, 50, 15
    PUSHBUTTON "&Annuleren", 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
    DEFPUSHBUTTON "&Toevoegen", ID_TAB_ADD, 20, 80, 45, 15
    PUSHBUTTON "&Verwijderen", ID_TAB_DEL, 72, 80, 45, 15
    PUSHBUTTON "&OK", IDOK, 137, 15, 50, 15
    PUSHBUTTON "&Annuleren", IDCANCEL, 137, 33, 50, 15
    PUSHBUTTON "Verwijder al&len", 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 "Regel afbreken", -1, 10, 10, 130, 85
    RADIOBUTTON "No line wrapping", IDC_PAGEFMT_WN, 18, 25, 117, 15
    RADIOBUTTON "Breek tekst af bij &venster rand", IDC_PAGEFMT_WW, 18, 45, 117, 15
    RADIOBUTTON "Breek tekst af bij de &marge", IDC_PAGEFMT_WM, 18, 65, 117, 15
    GROUPBOX "Toolbars", -1, 150, 10, 120, 85
    CHECKBOX "&Toolbalk", IDC_PAGEFMT_TB, 160, 20, 80, 15
    CHECKBOX "&Formaatbalk", IDC_PAGEFMT_FB, 160, 38, 80, 15
    CHECKBOX "&Lineaal", IDC_PAGEFMT_RU, 160, 56, 80, 15
    CHECKBOX "&Statusbalk", IDC_PAGEFMT_SB, 160, 74, 80, 15
    LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_ALL_FILES,              "Alle documenten (*.*)"
    STRING_TEXT_FILES_TXT,         "Tekst documenten (*.txt)"
    STRING_TEXT_FILES_UNICODE_TXT, "Unicode tekst document (*.txt)"
    STRING_RICHTEXT_FILES_RTF,     "Rich text formaat (*.rtf)"
    STRING_NEWFILE_RICHTEXT,       "Rich tekst document"
    STRING_NEWFILE_TXT,            "Tekst document"
    STRING_NEWFILE_TXT_UNICODE,    "Unicode tekst document"
    STRING_PRINTER_FILES_PRN,      "Printer bestanden (*.PRN)"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_ALIGN_LEFT,            "Links"
    STRING_ALIGN_RIGHT,           "Rechts"
    STRING_ALIGN_CENTER,          "Gecentreerd"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_VIEWPROPS_TITLE,          "Opties"
    STRING_VIEWPROPS_TEXT,           "Tekst"
    STRING_VIEWPROPS_RICHTEXT,       "Rich tekst"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_PREVIEW_PRINT,            "Print"
    STRING_PREVIEW_NEXTPAGE,         "Volgende pagina"
    STRING_PREVIEW_PREVPAGE,         "Vorige pagina"
    STRING_PREVIEW_TWOPAGES,         "Twee pagina's"
    STRING_PREVIEW_ONEPAGE,          "Een pagina"
    STRING_PREVIEW_ZOOMIN,           "Zoom in"
    STRING_PREVIEW_ZOOMOUT,          "Zoom out"
    STRING_PREVIEW_CLOSE,            "Sluiten"
    STRING_PREVIEW_PAGE,             "Page"
    STRING_PREVIEW_PAGES,            "Pages"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_UNITS_CM,             "cm"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_DEFAULT_FILENAME,     "Document"
    STRING_PROMPT_SAVE_CHANGES,  "Wijzigingen opslaan van '%s'?"
    STRING_SEARCH_FINISHED,      "Doorzoeken van document beeindigd."
    STRING_LOAD_RICHED_FAILED,   "Laden van de RichEdit library is mislukt."
    STRING_SAVE_LOSEFORMATTING,  "U koos voor opslaan in gewoon tekst formaat, " \
                                 "waardoor alle formatering verloren zal gaan. " \
                                 "Weet u zeker dat u dit wilt?"
    STRING_INVALID_NUMBER,       "Foutief nummer formaat"
    STRING_OLE_STORAGE_NOT_SUPPORTED, "OLE storage documenten zijn niet ondersteund"
    STRING_WRITE_FAILED,         "Bestand kon niet opgeslagen worden."
    STRING_WRITE_ACCESS_DENIED,  "Onvoldoende rechten om het bestand op te slaan."
    STRING_OPEN_FAILED,          "Bestand kon niet geopend worden."
    STRING_OPEN_ACCESS_DENIED,   "Onvoldoende rechten om het bestand te openen."
    STRING_PRINTING_NOT_IMPLEMENTED, "Printen is nog niet geimplementeerd"
    STRING_MAX_TAB_STOPS,        "Onmogelijk om meer dan 32 tab stops toe te voegen."
END
