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

#pragma code_page(65001)

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 "&Afdrukken...\tCtrl+P",     ID_PRINT
        MENUITEM "Afdruk&voorbeeld...",     ID_PREVIEW
        MENUITEM "Pa&gina-instellingen...",        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 "&Kopiëren\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&rvangen...\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 "&Gereedschapsbalk",      ID_TOGGLE_TOOLBAR
        MENUITEM "&Formaatbalk",   ID_TOGGLE_FORMATBAR
        MENUITEM "&Liniaal",       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 "&Kopiëren",            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 "Automatisch"     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 documenttype",-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 "Inspringing", -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-einden", -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 "Geen regelafbraak", 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 "Gereedschapsbalken", -1, 150, 10, 120, 85
    CHECKBOX "&Gereedschapsbalk", IDC_PAGEFMT_TB, 160, 20, 80, 15
    CHECKBOX "&Formaatbalk", IDC_PAGEFMT_FB, 160, 38, 80, 15
    CHECKBOX "&Liniaal", 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,         "Tekstdocumenten (*.txt)"
    STRING_TEXT_FILES_UNICODE_TXT, "Unicode tekstdocument (*.txt)"
    STRING_RICHTEXT_FILES_RTF,     "Rich tekstformaat (*.rtf)"
    STRING_NEWFILE_RICHTEXT,       "Rich tekstdocument"
    STRING_NEWFILE_TXT,            "Tekstdocument"
    STRING_NEWFILE_TXT_UNICODE,    "Unicode tekstdocument"
    STRING_PRINTER_FILES_PRN,      "Afdrukbestanden (*.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,            "Afdrukken"
    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,             "Pagina"
    STRING_PREVIEW_PAGES,            "Pagina's"
    STRING_UNITS_CM,                 "cm"
    STRING_UNITS_IN,                 "in"
    STRING_UNITS_INCH,               "inch"
    STRING_UNITS_PT,                 "pt"
END

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