/*
 * WineCfg resources
 * Dutch Language Support
 *
 * Copyright 2004 Rein Klazes
 * Copyright 2005-2006 Paul Vriens
 * Copyright 2007 Maarten Lankhorst
 * Copyright 2009 Vincent Beers
 *
 * 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 "config.h"   /* Needed for the PACKAGE_STRING definition */
#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 applicatiespecifieke 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    " Vensterinstellingen ",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 tekstvoorbeeld 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        " Laadvolgorde ",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      "Annuleren",IDCANCEL,57,74,45,14,WS_GROUP
END

IDD_DRIVECHOOSE DIALOG DISCARDABLE  60, 70, 170, 60
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
CAPTION "Selecteer Stationsletter"
FONT 8, "MS Shell Dlg"
BEGIN
    COMBOBOX IDC_DRIVESA2Z,15,10,75,230,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
    DEFPUSHBUTTON   "OK",IDOK,105,10,45,14,WS_GROUP
    PUSHBUTTON      "Annuleren",IDCANCEL,105,30,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           "Kon niet verbinden met de mount manager, de schijfconfiguratie kan niet worden bewerkt.", 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      "&Geavanceerd...",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&erienummer:",IDC_STATIC_SERIAL,33,225,60,12
    EDITTEXT        IDC_EDIT_SERIAL,94,221,78,13,ES_AUTOHSCROLL | WS_TABSTOP

    CONTROL         "Toon \".\" bestanden",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        " Stuurprogrammaselectie ",IDC_STATIC,8,4,244,210
    LTEXT           "Selecteer een geluidsstuurprogramma door het gewenste stuurprogramma aan te vinken. Zet het geluid uit door geen stuurprogramma te selecteren. Het selecteren van meerdere stuurprogramma's wordt niet aanbevolen. Rechtsklik op een stuurprogramma om het te configureren.",IDC_STATIC,15,20,227,45
    CONTROL         "Apparaten",IDC_AUDIO_TREE,"SysTreeView32",WS_BORDER | WS_TABSTOP,15,65,140,140
    PUSHBUTTON      "Geluidstest",IDC_AUDIO_TEST,165,65,79,14
    PUSHBUTTON	    "Configuratiescherm",IDC_AUDIO_CONTROL_PANEL,165,85,79,14
    GROUPBOX        " DirectSound ",IDC_STATIC,8,220,244,45
    LTEXT	    "Hardwareversnelling: ",IDC_STATIC,15,230,90,10
    COMBOBOX	    IDC_DSOUND_HW_ACCEL,100,228,150,70,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
    LTEXT           "Samplefrequentie:",IDC_STATIC,15,247,70,8
    COMBOBOX        IDC_DSOUND_RATES,90,245,42,76,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
    LTEXT           "Bits per sample:",IDC_STATIC,157,247,60,8
    COMBOBOX        IDC_DSOUND_BITS,220,245,30,56,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
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         "Lijstweergave",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 het register.\n\nEen aanbevolen stuurprogramma is voor u geselecteerd.\nU kunt dit stuurprogramma 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"
    IDS_DLL_BUILTIN         "builtin"
    IDS_DLL_NATIVE_BUILTIN  "native, builtin"
    IDS_DLL_BUILTIN_NATIVE  "builtin, native"
    IDS_DLL_DISABLED        "uitgeschakeld"
    IDS_DEFAULT_SETTINGS    "Standaardinstellingen"
    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 het register is niet beschikbaar!\n\nVerwijder \"%s\" uit het register?"
    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            "Venster Achtergrond"
    IDC_SYSPARAMS_WINDOW_TEXT       "Venster Tekst"
    IDC_SYSPARAMS_ACTIVE_TITLE      "Actieve Titelbalk"
    IDC_SYSPARAMS_ACTIVE_TITLE_TEXT "Actieve Titeltekst"
    IDC_SYSPARAMS_INACTIVE_TITLE    "Inactieve Titelbalk"
    IDC_SYSPARAMS_INACTIVE_TITLE_TEXT "Inactieve Titeltekst"
    IDC_SYSPARAMS_MSGBOX_TEXT       "Meldingsvenster Tekst"
    IDC_SYSPARAMS_APPWORKSPACE      "Applicatie Werkruimte"
    IDC_SYSPARAMS_WINDOW_FRAME      "Vensterraamwerk"
    IDC_SYSPARAMS_ACTIVE_BORDER     "Actieve Rand"
    IDC_SYSPARAMS_INACTIVE_BORDER   "Inactieve Rand"
    IDC_SYSPARAMS_BUTTON_SHADOW     "Knopschaduw"
    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
