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