/*
 * WineFile (Dutch resources)
 *
 * Copyright 2003 Hans Leidekker
 *
 * 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 "resource.h"

LANGUAGE LANG_DUTCH, SUBLANG_NEUTRAL

#pragma code_page(65001)

/* Menu */

IDM_WINEFILE MENU
{
    POPUP "&Bestand"  {
        MENUITEM "&Openen\tEnter",              ID_ACTIVATE
        MENUITEM "&Verplaatsen...\tF7",         ID_FILE_MOVE
        MENUITEM "&Kopiëren...\tF8",            ID_FILE_COPY
        MENUITEM "Naar klem&bord...\tF9",       118
        MENUITEM "Ver&wijderen\tDel",           ID_FILE_DELETE
        MENUITEM "&Naam wijzigen...",           109
        MENUITEM "&Eigenschappen...\tAlt+Enter",ID_EDIT_PROPERTIES
        MENUITEM SEPARATOR
        MENUITEM "&Comprimeren...",             119
        MENUITEM "&Dec&omprimeren...",          120
        MENUITEM SEPARATOR
        MENUITEM "&Starten...",                 ID_RUN
        MENUITEM "Af&drukken...",               102
        MENUITEM "Koppelen...",                 103
        MENUITEM SEPARATOR
        MENUITEM "Nieuwe &map...",              111
        MENUITEM "&Zoeken...",                  104
        MENUITEM "Bestanden s&electeren...",    116
        MENUITEM SEPARATOR
#ifndef _NO_EXTENSIONS
        MENUITEM "&Afsluiten\tAlt+X",           ID_FILE_EXIT
#else
        MENUITEM "&Afsluiten",                  ID_FILE_EXIT
#endif
    }

    POPUP "&Disk"  {
        MENUITEM "Schijf &kopiëren...",         201
        MENUITEM "Schijflabel maken...",        202
        MENUITEM SEPARATOR
        MENUITEM "Schijf &formatteren...",      ID_FORMAT_DISK
#ifdef _WIN95
        MENUITEM "Systeemschijf maken...",      -1 /*TODO*/
#endif
        MENUITEM SEPARATOR
        MENUITEM "Verbinding &maken met netwerkchijf",ID_CONNECT_NETWORK_DRIVE
        MENUITEM "Verbinding &verbreken met netwerkschijf",ID_DISCONNECT_NETWORK_DRIVE
        MENUITEM SEPARATOR
        MENUITEM "Schijf &delen...",            254
        MENUITEM "Delen &ongedaan maken...",    255
        MENUITEM SEPARATOR
        MENUITEM "Schijf &selecteren...",       251
    }

    POPUP "&Mappen"  {
        MENUITEM "&Volgende niveau\t+",         301
        MENUITEM "&Uitklappen\t*",              302
        MENUITEM "&Alles uitklappen\tCtrl+*",   303
        MENUITEM "&Inklappen\t-",               304
        MENUITEM SEPARATOR
        MENUITEM "&Markeer mappen",             505
    }

    POPUP "&Beeld"  {
        MENUITEM "&Hiërarchie en mapinhoud",    413
        MENUITEM "Alleen h&iërarchie",          411
        MENUITEM "Alleen &mapinhoud",           412
        MENUITEM SEPARATOR
        MENUITEM "Sp&litsen",                   ID_VIEW_SPLIT
        MENUITEM SEPARATOR
        MENUITEM "&Naam",                       ID_VIEW_NAME
        MENUITEM "&Alle details",               ID_VIEW_ALL_ATTRIBUTES, CHECKED
        MENUITEM "&Gedeeltelijke details...",   ID_VIEW_SELECTED_ATTRIBUTES
        MENUITEM SEPARATOR
        MENUITEM "&Sorteer op naam",            ID_VIEW_SORT_NAME
        MENUITEM "Sorteer op &type",            ID_VIEW_SORT_TYPE
        MENUITEM "Sorteer op &grootte",         ID_VIEW_SORT_SIZE
        MENUITEM "Sorteer op &datum",           ID_VIEW_SORT_DATE
        MENUITEM SEPARATOR
        MENUITEM "Sorteer op &...",             ID_VIEW_FILTER
    }

    POPUP "&Opties"  {
        MENUITEM "&Bevestiging...",             501
        MENUITEM "&Lettertype...",              ID_SELECT_FONT
        MENUITEM "Gereedschapsbalk &aanpassen...", 512
        MENUITEM SEPARATOR
        MENUITEM "&Gereedschapsbalk",           ID_VIEW_TOOL_BAR, CHECKED
        MENUITEM "&Schijfbalk",                 ID_VIEW_DRIVE_BAR, CHECKED
        MENUITEM "S&tatusbalk",                 ID_VIEW_STATUSBAR, CHECKED
#ifndef _NO_EXTENSIONS
        MENUITEM "&Volledig scherm\tCtrl+Shift+S", ID_VIEW_FULLSCREEN
#endif
        MENUITEM SEPARATOR
        MENUITEM "Ge&minimaliseerd starten",    504
        MENUITEM "&Instellingen opslaan bij afsluiten", 511
    }


    POPUP "&Beveiliging"  {
        MENUITEM "&Toegang...",                 605
        MENUITEM "&Loggen...",                  606
        MENUITEM "&Eigenaar...",                607
    }

    POPUP "&Venster"  {
        MENUITEM "&Nieuw venster",              ID_WINDOW_NEW
        MENUITEM "Trapsgewijs\tCtrl+F5",        ID_WINDOW_CASCADE
        MENUITEM "&Boven elkaar",               ID_WINDOW_TILE_HORZ
        MENUITEM "&Naast elkaar\tCtrl+F4",      ID_WINDOW_TILE_VERT
#ifndef _NO_EXTENSIONS
        MENUITEM "Automatisch schikken",        ID_WINDOW_AUTOSORT
#endif
        MENUITEM "&Pictogrammen schikken",      ID_WINDOW_ARRANGE
        MENUITEM "&Vernieuwen\tF5",             ID_REFRESH
    }

    POPUP "&?"  {
        MENUITEM "&Help-onderwerpen\tF1",       ID_HELP
        MENUITEM "&Zoeken...\tF1",              ID_HELP
        MENUITEM "&Instructie\tF1",             ID_HELP_USING
        MENUITEM SEPARATOR
        MENUITEM "&Over Winefile...",           ID_ABOUT
    }
}

IDD_SELECT_DESTINATION DIALOG 15, 13, 210, 63
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Selecteer bestemming"
FONT 8, "MS Shell Dlg"
{
    CONTROL         "", 101, "Static", SS_SIMPLE|SS_NOPREFIX, 3, 6, 162, 10
    CONTROL         "&Locatie:", -1, "Static", SS_LEFTNOWORDWRAP|WS_GROUP, 3, 18, 60, 10
    EDITTEXT        201, 3, 29, 134, 12, ES_AUTOHSCROLL
    DEFPUSHBUTTON   "OK", 1, 158, 6, 47, 14
    PUSHBUTTON      "Annuleren", 2, 158, 23, 47, 14
    PUSHBUTTON      "&Bladeren", 254, 158, 43, 47, 14
}

IDD_DIALOG_VIEW_TYPE DIALOG 15, 13, 161, 97
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Per Bestandstype"
FONT 8, "MS Sans Serif"
BEGIN
    LTEXT           "&Naam:",-1,7,8,22,10
    EDITTEXT        IDC_VIEW_PATTERN,31,7,63,12,ES_AUTOHSCROLL
    GROUPBOX        "Bestandstype",-1,7,23,87,56
    CONTROL         "&Mappen",IDC_VIEW_TYPE_DIRECTORIES,"Button",
                    BS_AUTOCHECKBOX | WS_TABSTOP,13,32,70,10
    CONTROL         "&Programma's",IDC_VIEW_TYPE_PROGRAMS,"Button",
                    BS_AUTOCHECKBOX | WS_TABSTOP,13,43,70,10
    CONTROL         "Do&cumenten",IDC_VIEW_TYPE_DOCUMENTS,"Button",
                    BS_AUTOCHECKBOX | WS_TABSTOP,13,54,70,10
    CONTROL         "&Overige bestanden",IDC_VIEW_TYPE_OTHERS,"Button",
                    BS_AUTOCHECKBOX | WS_TABSTOP,13,65,70,10
    CONTROL         "Toon verborgen/&systeembestanden",IDC_VIEW_TYPE_HIDDEN,
                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,81,106,9
    DEFPUSHBUTTON   "OK",IDOK,104,7,50,14
    PUSHBUTTON      "Annuleren",IDCANCEL,104,24,50,14
END

IDD_DIALOG_PROPERTIES DIALOG  0, 0, 248, 215
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Eigenschappen voor %s"
FONT 8, "MS Sans Serif"
BEGIN
    DEFPUSHBUTTON   "OK",IDOK,191,7,50,14
    PUSHBUTTON      "Annuleren",IDCANCEL,191,29,50,14
    LTEXT           "&Bestandsnaam:",-1,7,7,59,9
    EDITTEXT        IDC_STATIC_PROP_FILENAME,71,7,120,9,ES_READONLY | NOT WS_BORDER | WS_TABSTOP
    LTEXT           "Volledig &pad:",-1,7,18,59,9
    EDITTEXT        IDC_STATIC_PROP_PATH,71,18,120,9, ES_READONLY | NOT WS_BORDER | WS_TABSTOP
    LTEXT           "Laatste wijziging:",-1,7,29,59,9
    EDITTEXT        IDC_STATIC_PROP_LASTCHANGE,71,29,120,9,ES_READONLY | NOT WS_BORDER | WS_TABSTOP
    LTEXT           "Versie:",-1,7,40,59,9
    EDITTEXT        IDC_STATIC_PROP_VERSION,71,40,120,9,ES_READONLY | NOT WS_BORDER | WS_TABSTOP
    LTEXT           "Cop&yright:",-1,7,51,59,9
    EDITTEXT        IDC_STATIC_PROP_COPYRIGHT,71,51,120,9,ES_READONLY | NOT WS_BORDER | WS_TABSTOP
    LTEXT           "Grootte:",-1,7,62,59,9
    EDITTEXT        IDC_STATIC_PROP_SIZE,71,62,120,9,ES_READONLY | NOT WS_BORDER | WS_TABSTOP
    GROUPBOX        "Attributen",-1,7,79,158,46
    CONTROL         "A&lleen-lezen",IDC_CHECK_READONLY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,17,91,68,9
    CONTROL         "V&erborgen",IDC_CHECK_HIDDEN,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,92,91,68,9
    CONTROL         "&Archiveren",IDC_CHECK_ARCHIVE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,17,101,68,9
    CONTROL         "&Systeem",IDC_CHECK_SYSTEM,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,92,101,68,9
    CONTROL         "Ge&comprimeerd",IDC_CHECK_COMPRESSED,"Button", BS_AUTOCHECKBOX | WS_TABSTOP,17,111,68,9
    GROUPBOX        "&Versie-informatie",-1,7,129,234,79
    LISTBOX         IDC_LIST_PROP_VERSION_TYPES,13,139,107,63,LBS_SORT | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
    EDITTEXT        IDC_LIST_PROP_VERSION_VALUES,123,139,111,63,ES_MULTILINE | ES_READONLY | WS_VSCROLL
END


STRINGTABLE
{
    IDS_FONT_SEL_DLG_NAME   "Lettertype wordt toegepast"
    IDS_FONT_SEL_ERROR      "Probleem tijdens het selecteren van het nieuwe lettertype."
}

STRINGTABLE
{
    IDS_WINEFILE            "Winefile"
    IDS_ERROR               "Fout"
    IDS_ROOT_FS             "root fs"
    IDS_UNIXFS              "unixfs"
    IDS_DESKTOP             "Bureaublad"
    IDS_SHELL               "Shell"
    IDS_TITLEFMT            "%s - %s"
    IDS_NO_IMPL             "Nog niet geimplementeerd"
    IDS_WINE_FILE           "Winefile"
}

STRINGTABLE
{
    IDS_COL_NAME            "Naam"
    IDS_COL_SIZE            "Grootte"
    IDS_COL_CDATE           "CDatum"
    IDS_COL_ADATE           "ADatum"
    IDS_COL_MDATE           "MDatum"
    IDS_COL_IDX             "Index/Inode"
    IDS_COL_LINKS           "Links"
    IDS_COL_ATTR            "Attributen"
    IDS_COL_SEC             "Beveiliging"

    IDS_FREE_SPACE_FMT      "%s van %s vrij"
}
