/*
 * WineCfg resources
 * Dutch Language Support
 *
 * Copyright 2004 Rein Klazes
 * Copyright 2005-2006 Paul Vriens
 * Copyright 2007 Maarten Lankhorst
 *
 * 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
                                                                                
IDR_WINECFG MENU DISCARDABLE
BEGIN
    POPUP ""
    BEGIN
        MENUITEM "Instellen", IDC_AUDIO_CONFIGURE
    END
END

IDD_ABOUTCFG DIALOGEX 0, 0, 260, 270
STYLE WS_CHILD
FONT 8, "MS Shell Dlg"
BEGIN
    LTEXT           PACKAGE_STRING,IDC_STATIC,119,17,120,8
    CONTROL         IDB_WINE,IDC_STATIC,"Static",SS_BITMAP ,15,17,157,111
    LTEXT           "http://www.winehq.org/",IDC_STATIC,119,31,124,8
    LTEXT           "This program 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.",
                    IDC_STATIC,119,44,124,72
    GROUPBOX        " Windows registratie-informatie ", IDC_STATIC, 15, 110, 230, 55
    LTEXT           "Eigenaar:", IDC_STATIC, 22, 126, 40, 20
    EDITTEXT        IDC_ABT_OWNER, 75, 126, 160, 13, ES_AUTOHSCROLL | WS_TABSTOP
    LTEXT           "Organisatie:", IDC_STATIC, 22, 140, 50, 20
    EDITTEXT        IDC_ABT_ORG, 75, 140, 160, 13, ES_AUTOHSCROLL | WS_TABSTOP
END

IDD_APPCFG DIALOG DISCARDABLE  0, 0, 260, 250
STYLE WS_CHILD | WS_DISABLED
FONT 8, "MS Shell Dlg"
BEGIN
    GROUPBOX        " Toepassingsinstellingen ",IDC_STATIC, 8,4,244,240
    LTEXT           "Wine geeft de mogelijkheid om per toepassing de Windowsversie in te stellen. Deze tab is gekoppeld aan de Libraries en Graphics tabs om zowel systeemwijde als applicatie specifieke instellingen in deze tabs mogelijk te maken.",
                    IDC_STATIC,15,20,227,40
    CONTROL         "Toepassingen",IDC_APP_LISTVIEW,"SysListView32",WS_BORDER | WS_TABSTOP | LVS_LIST | LVS_SINGLESEL | LVS_SHOWSELALWAYS,
                    15,60,230,140
    PUSHBUTTON	    "Toepassing toevoegen..",IDC_APP_ADDAPP, 80,204,80,14
    PUSHBUTTON	    "Toepassing verwijderen",IDC_APP_REMOVEAPP, 165,204,80,14
    LTEXT           "Windows Versie:",IDC_STATIC,17,226,58,8
    COMBOBOX        IDC_WINVER,83,224,163,56,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
END

IDD_GRAPHCFG DIALOG DISCARDABLE  0, 0, 260, 250
STYLE WS_CHILD | WS_DISABLED
FONT 8, "MS Shell Dlg"
BEGIN
    GROUPBOX    " Venster-instellingen ",IDC_STATIC,8,4,244,84
    CONTROL     "Een DirectX programma kan de muis in een venster vasthouden.",IDC_DX_MOUSE_GRAB,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,20,230,8
    CONTROL     "Laat de window manager de vensters &decoreren",IDC_ENABLE_DECORATED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,32,230,8
    CONTROL     "Laat de window manager de vensters beheren",IDC_ENABLE_MANAGED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,44,230,8
    CONTROL     "Emuleer een virtuele desktop",IDC_ENABLE_DESKTOP,"Button",
                BS_AUTOCHECKBOX | WS_TABSTOP,15,56,230,8
    LTEXT       "Desktop afmetingen:",IDC_DESKTOP_SIZE,15,70,44,8,WS_DISABLED
    LTEXT       "X",IDC_DESKTOP_BY,109,70,8,8,WS_DISABLED
    EDITTEXT    IDC_DESKTOP_WIDTH,64,68,40,12,ES_AUTOHSCROLL | ES_NUMBER | WS_DISABLED
    EDITTEXT    IDC_DESKTOP_HEIGHT,117,68,40,12,ES_AUTOHSCROLL | ES_NUMBER | WS_DISABLED

    GROUPBOX    " Direct3D ",IDC_STATIC,8,95,244,49
    LTEXT       "Vertex Shader ondersteuning: ",IDC_STATIC,15,110,100,32
    COMBOBOX    IDC_D3D_VSHADER_MODE,120,108,125,70,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
    CONTROL     "Pixel Shader toestaan (indien ondersteund door de hardware)",IDC_D3D_PSHADER_MODE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,126,230,10

    GROUPBOX    " Scherm &Resolutie ",IDC_STATIC,8,151,244,93
    CONTROL     "", IDC_RES_TRACKBAR, "msctls_trackbar32",WS_TABSTOP,12,161,187,15
    EDITTEXT    IDC_RES_DPIEDIT,204,161,23,13,ES_NUMBER|WS_TABSTOP
    LTEXT       "dpi",IDC_STATIC,235,163,10,8
    LTEXT       "Dit is een tekst voorbeeld in Tahoma met puntgrootte 10",IDC_RES_FONT_PREVIEW,15,181,230,55
END

IDD_DLLCFG DIALOG DISCARDABLE  0, 0, 260, 250
STYLE WS_CHILD | WS_DISABLED
FONT 8, "MS Shell Dlg"
BEGIN
    GROUPBOX        " DLL Overrides ",IDC_STATIC,8,4,244,240
    LTEXT           "Het is mogelijk om per uitvoerbaar bestand te specificeren of deze \"builtin\" dan wel \"native\" moet zijn. De specificatie voor ""*"" geldt voor alle niet expliciet genoemde bestanden."
                    ,IDC_STATIC,16,16,220,32
    LTEXT           "Nieuwe override voor dll:",IDC_STATIC,16,58,100,8
    COMBOBOX        IDC_DLLCOMBO,16,68,140,14,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP | CBS_SORT | CBS_LOWERCASE
    PUSHBUTTON      "&Toevoegen",IDC_DLLS_ADDDLL, 164,68,82,13,BS_DEFPUSHBUTTON 
    LTEXT           "Bestaande overrides:",IDC_STATIC,16,86,100,8
    LISTBOX         IDC_DLLS_LIST,16,96,140,140,WS_BORDER | WS_TABSTOP | WS_VSCROLL
    PUSHBUTTON      "&Bewerken",IDC_DLLS_EDITDLL,164,96,82,14
    PUSHBUTTON      "&Verwijderen",IDC_DLLS_REMOVEDLL,164,114,82,14 
END

IDD_LOADORDER DIALOG DISCARDABLE 80, 90, 110, 92
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
CAPTION "Edit Override"
FONT 8, "MS Shell Dlg"
BEGIN
    GROUPBOX        " Laad volgorde ",IDC_STATIC,8,4,94,66
    CONTROL         "&Builtin (Wine)",IDC_RAD_BUILTIN,"Button", BS_AUTORADIOBUTTON | WS_GROUP,16,14,75,10
    CONTROL         "&Native (Windows)",IDC_RAD_NATIVE,"Button", BS_AUTORADIOBUTTON,16,24,75,10
    CONTROL         "Bui&ltin dan Native",IDC_RAD_BUILTIN_NATIVE,"Button", BS_AUTORADIOBUTTON,16,34,75,10
    CONTROL         "Nati&ve dan Builtin",IDC_RAD_NATIVE_BUILTIN,"Button", BS_AUTORADIOBUTTON,16,44,75,10
    CONTROL         "&Uitzetten",IDC_RAD_DISABLE,"Button", BS_AUTORADIOBUTTON,16,54,75,10
    DEFPUSHBUTTON   "OK",IDOK,8,74,45,14,WS_GROUP
    PUSHBUTTON      "Afbreken",IDCANCEL,57,74,45,14,WS_GROUP
END

IDD_DRIVECFG DIALOG DISCARDABLE  0, 0, 260, 250
STYLE WS_CHILD | WS_DISABLED
FONT 8, "MS Shell Dlg"
BEGIN
    GROUPBOX        " Stations ",IDC_STATIC,8,4,244,240
    LTEXT           "Failed to connect to the mount manager, the drive configuration cannot be edited.", IDC_STATIC_MOUNTMGR_ERROR, 15,30,220,76
    CONTROL         "Listview",IDC_LIST_DRIVES,"SysListView32",LVS_REPORT | LVS_AUTOARRANGE | LVS_ALIGNLEFT |
                    LVS_SINGLESEL | WS_BORDER | WS_TABSTOP, 15,18,232,76
    PUSHBUTTON      "&Toevoegen",IDC_BUTTON_ADD,15,98,54,14
    PUSHBUTTON      "&Verwijderen",IDC_BUTTON_REMOVE,73,98,54,14
    PUSHBUTTON      "&Automatisch instellen",IDC_BUTTON_AUTODETECT,168,98,80,14
                                                                                                                                              
    /* editing drive details */
    LTEXT           "&Pad:",IDC_STATIC_PATH,15,123,20,9
    EDITTEXT        IDC_EDIT_PATH,41,120,160,13,ES_AUTOHSCROLL | WS_TABSTOP
    PUSHBUTTON      "&Bladeren...",IDC_BUTTON_BROWSE_PATH,208,120,40,13

    LTEXT           "&Soort:",IDC_STATIC_TYPE,15,138,21,10
    COMBOBOX        IDC_COMBO_TYPE,41,135,97,60,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP

    LTEXT           "Naam en serienummer",IDC_LABELSERIAL_STATIC,15,155,131,10

    PUSHBUTTON      "Toon &Uitgebreid",IDC_BUTTON_SHOW_HIDE_ADVANCED,183,136,65,13
    CONTROL         "Automatisch detecteren van apparaat:",IDC_RADIO_AUTODETECT,"Button",
                    BS_AUTORADIOBUTTON,15,166,150,10
    EDITTEXT        IDC_EDIT_DEVICE,27,176,174,13,ES_AUTOHSCROLL
    PUSHBUTTON      "B&laderen...",IDC_BUTTON_BROWSE_DEVICE,208,176,40,13
    CONTROL         "&Handmatig instellen:",IDC_RADIO_ASSIGN,"Button",
                    BS_AUTORADIOBUTTON,15,195,150,10

    LTEXT           "&Naam:",IDC_STATIC_LABEL,33,208,60,12
    EDITTEXT        IDC_EDIT_LABEL,94,205,78,13,ES_AUTOHSCROLL | WS_TABSTOP
    LTEXT           "S&erie nummer:",IDC_STATIC_SERIAL,33,225,60,12
    EDITTEXT        IDC_EDIT_SERIAL,94,221,78,13,ES_AUTOHSCROLL | WS_TABSTOP

    CONTROL         "Toon \".\" files",IDC_SHOW_DOT_FILES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,260,230,8
END

IDD_AUDIOCFG DIALOG DISCARDABLE  0, 0, 260, 250
STYLE WS_CHILD | WS_DISABLED
FONT 8, "MS Shell Dlg"
BEGIN
    GROUPBOX        " Stuurprogramma selectie ",IDC_STATIC,8,4,244,195
    LTEXT           "Selecteer een geluids-stuurprogramma door het aanvinken van het gewenste stuurprogramma. Zet het geluid uit door geen stuurprogramma te selecteren. Het selecteren van meerdere stuurprogramma's wordt niet aanbevolen. Configureer een stuurprogramma d.m.v. een rechter muisklik hierop.",IDC_STATIC,15,20,227,45
    CONTROL         "Apparaten",IDC_AUDIO_TREE,"SysTreeView32",WS_BORDER | WS_TABSTOP,15,65,140,125
    PUSHBUTTON      "Geluidstest",IDC_AUDIO_TEST,165,65,79,14
    PUSHBUTTON	    "Configuratiescherm",IDC_AUDIO_CONTROL_PANEL,165,85,79,14
    GROUPBOX        " DirectSound ",IDC_STATIC,8,205,244,60
    LTEXT	    "Hardwareversnelling: ",IDC_STATIC,15,215,90,10
    COMBOBOX	    IDC_DSOUND_HW_ACCEL,100,213,150,70,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
    LTEXT           "Monsterfrequentie:",IDC_STATIC,15,232,70,8
    COMBOBOX        IDC_DSOUND_RATES,90,230,42,76,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
    LTEXT           "Bits per monster:",IDC_STATIC,157,232,60,8
    COMBOBOX        IDC_DSOUND_BITS,220,230,30,56,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
    CONTROL         "Stuurprogramma emulatie",IDC_DSOUND_DRV_EMUL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,250,230,10
END

IDD_DESKTOP_INTEGRATION DIALOG DISCARDABLE  0, 0, 260, 250
STYLE WS_CHILD | WS_DISABLED
FONT 8, "MS Shell Dlg"
BEGIN
    GROUPBOX        " Uiterlijk ",IDC_STATIC,8,4,244,106
    LTEXT           "Thema:",IDC_STATIC,15,16,130,8
    COMBOBOX        IDC_THEME_THEMECOMBO,15,24,130,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
    PUSHBUTTON      "Thema installeren...",IDC_THEME_INSTALL,152,23,93,14
    LTEXT           "Kleuren:",IDC_THEME_COLORTEXT,15,40,112,8
    COMBOBOX        IDC_THEME_COLORCOMBO,15,48,112,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
    LTEXT           "Tekstgrootte:",IDC_THEME_SIZETEXT,135,40,110,8
    COMBOBOX        IDC_THEME_SIZECOMBO,135,48,110,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
    LTEXT           "Onderdeel:",IDC_STATIC,15,64,112,8
    COMBOBOX        IDC_SYSPARAM_COMBO,15,74,112,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | CBS_SORT
    LTEXT           "Kleur:",IDC_SYSPARAM_COLOR_TEXT,135,64,25,8,WS_DISABLED
    PUSHBUTTON      "",IDC_SYSPARAM_COLOR,135,74,25,13,WS_DISABLED | BS_OWNERDRAW
    LTEXT           "Grootte:",IDC_SYSPARAM_SIZE_TEXT,166,64,30,8,WS_DISABLED
    EDITTEXT        IDC_SYSPARAM_SIZE,166,74,23,13,ES_AUTOHSCROLL | WS_TABSTOP | WS_DISABLED
    CONTROL         "",IDC_SYSPARAM_SIZE_UD,UPDOWN_CLASS,UDS_SETBUDDYINT | WS_DISABLED,187,74,15,13
    PUSHBUTTON      "Font",IDC_SYSPARAM_FONT,208,74,37,13,WS_DISABLED
    GROUPBOX        " Shell Folder ",IDC_STATIC,8,114,244,100 /* FIXME */
    CONTROL         "Listview",IDC_LIST_SFPATHS,"SysListView32",LVS_REPORT | LVS_AUTOARRANGE | LVS_ALIGNLEFT |
                     LVS_SINGLESEL | WS_BORDER | WS_TABSTOP, 15,126,230,64
    CONTROL         "Verwijs naar:",IDC_LINK_SFPATH,"Button",BS_AUTOCHECKBOX|WS_TABSTOP|WS_DISABLED,15,195,60,13
    EDITTEXT         IDC_EDIT_SFPATH,75,195,125,13,ES_AUTOHSCROLL|WS_TABSTOP|WS_DISABLED
    PUSHBUTTON      "Bladeren...",IDC_BROWSE_SFPATH,205,195,40,13,WS_DISABLED
END

STRINGTABLE DISCARDABLE
BEGIN
    IDS_TAB_APPLICATIONS    "Toepassingen"
    IDS_TAB_DLLS            "Bibliotheken"
    IDS_TAB_DRIVES          "Stations"
    IDS_CHOOSE_PATH         "Selecteer a.u.b. de unix map."
    IDS_HIDE_ADVANCED       "Verberg uitgebreid"
    IDS_SHOW_ADVANCED       "Toon uitgebreid"
    IDS_NOTHEME             "(Geen Thema)"
    IDS_TAB_GRAPHICS        "Grafisch"
    IDS_TAB_DESKTOP_INTEGRATION "Desktop Integratie"
    IDS_TAB_AUDIO           "Geluid"
    IDS_TAB_ABOUT           "Over wine"
    IDS_WINECFG_TITLE       "Wine configuratie"
    IDS_WINECFG_TITLE_APP   "Wine configuratie voor %s"
    IDS_THEMEFILE           "Thema-bestanden"
    IDS_THEMEFILE_SELECT    "Thema-bestanden kiezen"
    IDS_AUDIO_MISSING       "Op dit moment is er geen stuurprogramma voor geluid gespecificeerd in de registry.\n\nEen aanbevolen stuurbestand is voor u geselecteerd.\nU kunt dit stuurbestand gebruiken of (indien beschikbaar) een ander selecteren.\n\nKlik op 'Toepassen' om deze selectie te activeren."
    IDS_SHELL_FOLDER        "Persoonlijke map"
    IDS_LINKS_TO            "Verwijst naar"
END

STRINGTABLE DISCARDABLE
BEGIN
    IDS_DLL_WARNING         "Veranderen van de laadvolgorde van deze bibliotheek wordt niet aanbevolen\n. Weet u zeker dat u dit wilt doen?"
    IDS_DLL_WARNING_CAPTION "Waarschuwing: systeembibliotheek"
    IDS_DLL_NATIVE          "Native (Windows)"
    IDS_DLL_BUILTIN         "Builtin (Wine)"
    IDS_DLL_NATIVE_BUILTIN  "Native dan builtin"
    IDS_DLL_BUILTIN_NATIVE  "Builtin dan native"
    IDS_DLL_DISABLED        "Uitgeschakeld"
    IDS_DEFAULT_SETTINGS    "Standaard instellingen"
    IDS_EXECUTABLE_FILTER   "Wine toepassingen (*.exe,*.exe.so)\0*.exe;*.exe.so\0"
    IDS_USE_GLOBAL_SETTINGS "Gebruike globale instellingen"
    IDS_SELECT_EXECUTABLE   "Selecteer een uitvoerbaar bestand"
END

STRINGTABLE DISCARDABLE
BEGIN
    IDS_SHADER_MODE_HARDWARE    "Hardware"
    IDS_SHADER_MODE_NONE        "Geen"
END

STRINGTABLE DISCARDABLE
BEGIN
    IDS_DRIVE_UNKNOWN           "Automatisch detecteren"
    IDS_DRIVE_FIXED             "Lokaal station"
    IDS_DRIVE_REMOTE            "Netwerkverbinding"
    IDS_DRIVE_REMOVABLE         "Diskettestation"
    IDS_DRIVE_CDROM             "CD-ROM"
    IDS_DRIVE_LETTERS_EXCEEDED  "U kunt geen stations meer toevoegen.\n\nElk station moet een letter, van A tot Z, hebben zodat er niet meer dan 26 kunnen zijn"
    IDS_SYSTEM_DRIVE_LABEL      "Systeem station"
    IDS_CONFIRM_DELETE_C        "Weet u zeker dat u station C wilt verwijderen?\nDe meeste Windows toepassingen verwachten dat station C bestaat en zullen, met onverwachte resultaten, afbreken. Als u doorgaat vergeet dan niet om station C opnieuw aan te maken!"
    IDS_COL_DRIVELETTER         "Letter"
    IDS_COL_DRIVEMAPPING        "Toewijzing"
    IDS_NO_DRIVE_C              "U heeft geen C station. Dit kan tot problemen leiden.\n\nVergeet niet om m.b.v. de knop 'Toevoegen' in de Stations tab een C station aan te maken!\n"
END

STRINGTABLE DISCARDABLE
BEGIN
    IDS_ACCEL_FULL              "Volledig"
    IDS_ACCEL_STANDARD          "Standaard"
    IDS_ACCEL_BASIC             "Eenvoudig"
    IDS_ACCEL_EMULATION         "Emulatie"
    IDS_DRIVER_ALSA             "ALSA Stuurprogramma"
    IDS_DRIVER_ESOUND           "EsounD Stuurprogramma"
    IDS_DRIVER_OSS              "OSS Stuurprogramma"
    IDS_DRIVER_JACK             "JACK Stuurprogramma"
    IDS_DRIVER_NAS              "NAS Stuurprogramma"
    IDS_DRIVER_AUDIOIO          "Audio IO (Solaris) Stuurprogramma"
    IDS_DRIVER_COREAUDIO        "CoreAudio Stuurprogramma"
    IDS_OPEN_DRIVER_ERROR       "%s kon niet worden geopend!"
    IDS_SOUNDDRIVERS            "Stuurprogramma's voor geluid"
    IDS_DEVICES_WAVEOUT         "Wave Out apparaten"
    IDS_DEVICES_WAVEIN          "Wave In apparaten"
    IDS_DEVICES_MIDIOUT         "MIDI Out apparaten"
    IDS_DEVICES_MIDIIN          "MIDI In apparaten"
    IDS_DEVICES_AUX             "Aux apparaten"
    IDS_DEVICES_MIXER           "Mixer apparaten"
    IDS_UNAVAILABLE_DRIVER      "Stuurprogramma in de registry is niet beschikbaar!\n\nVerwijder \"%s\" uit de registry?"
    IDS_WARNING                 "Waarschuwing"
END

STRINGTABLE DISCARDABLE
BEGIN
    IDC_SYSPARAMS_BUTTON            "Instellingen Achtergrond"
    IDC_SYSPARAMS_BUTTON_TEXT       "Instellingen Tekst"
    IDC_SYSPARAMS_DESKTOP           "Bureaublad"
    IDC_SYSPARAMS_MENU              "Menu Achtergrond"
    IDC_SYSPARAMS_MENU_TEXT         "Menu Tekst"
    IDC_SYSPARAMS_SCROLLBAR         "Scrollbar"
    IDC_SYSPARAMS_SELECTION         "Selectie Achtergrond"
    IDC_SYSPARAMS_SELECTION_TEXT    "Selectie Tekst"
    IDC_SYSPARAMS_TOOLTIP           "ToolTip Achtergrond"
    IDC_SYSPARAMS_TOOLTIP_TEXT      "ToolTip Tekst"
    IDC_SYSPARAMS_WINDOW            "Window Achtergrond"
    IDC_SYSPARAMS_WINDOW_TEXT       "Window Tekst"
    IDC_SYSPARAMS_ACTIVE_TITLE      "Actieve Titel Balk"
    IDC_SYSPARAMS_ACTIVE_TITLE_TEXT "Actieve Titel Tekst"
    IDC_SYSPARAMS_INACTIVE_TITLE    "Inactieve Titel Balk"
    IDC_SYSPARAMS_INACTIVE_TITLE_TEXT "Inactieve Title Tekst"
    IDC_SYSPARAMS_MSGBOX_TEXT       "Melding Window Tekst"
    IDC_SYSPARAMS_APPWORKSPACE      "Applicatie Werkruimte"
    IDC_SYSPARAMS_WINDOW_FRAME      "Window Raamwerk"
    IDC_SYSPARAMS_ACTIVE_BORDER     "Actieve Rand"
    IDC_SYSPARAMS_INACTIVE_BORDER   "Inactieve Rand"
    IDC_SYSPARAMS_BUTTON_SHADOW     "Knoppen Schaduw"
    IDC_SYSPARAMS_GRAY_TEXT         "Grijze Tekst"
    IDC_SYSPARAMS_BUTTON_HILIGHT    "Knoppen Gemarkeerd"
    IDC_SYSPARAMS_BUTTON_DARK_SHADOW "Knoppen Donkere Schaduw"
    IDC_SYSPARAMS_BUTTON_LIGHT      "Knoppen Licht"
    IDC_SYSPARAMS_BUTTON_ALTERNATE  "Knoppen Alternatieve Achtergrond"
    IDC_SYSPARAMS_HOT_TRACKING      "'Hot-Tracked' Onderdeel"
    IDC_SYSPARAMS_ACTIVE_TITLE_GRADIENT "Actieve Titelbalk Verloop"
    IDC_SYSPARAMS_INACTIVE_TITLE_GRADIENT "Inactieve Titelbalk Verloop"
    IDC_SYSPARAMS_MENU_HILIGHT      "Menu Gemarkeerd"
    IDC_SYSPARAMS_MENUBAR           "Menubalk"
END
