/*
 * Copyright 1998 Juergen Schmied
 * Copyright 2008 Jens Albretsen
 *           2010 Thomas Larsen
 *
 * 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 "shresdef.h"

#pragma code_page(65001)

LANGUAGE LANG_DANISH, SUBLANG_DEFAULT

MENU_001 MENU DISCARDABLE
BEGIN
        MENUITEM "&Store Ikoner",       FCIDM_SHVIEW_BIGICON
        MENUITEM "S&må Ikoner" ,        FCIDM_SHVIEW_SMALLICON
        MENUITEM "&Liste",              FCIDM_SHVIEW_LISTVIEW
        MENUITEM "&Detaljer",           FCIDM_SHVIEW_REPORTVIEW
END

/*
 shellview background menu
*/
MENU_002 MENU DISCARDABLE
BEGIN
        POPUP ""
        BEGIN
          POPUP "&Vis"
          BEGIN
            MENUITEM "&Store Ikoner",   FCIDM_SHVIEW_BIGICON
            MENUITEM "S&må Ikoner",     FCIDM_SHVIEW_SMALLICON
            MENUITEM "&Liste",          FCIDM_SHVIEW_LISTVIEW
            MENUITEM "&Detaljer",       FCIDM_SHVIEW_REPORTVIEW
          END
          MENUITEM SEPARATOR
          POPUP "Sortere &Ikoner"
          BEGIN
            MENUITEM "Efter &Navn",         0x30    /* column 0 */
            MENUITEM "Efter &Type",         0x32    /* column 2 */
            MENUITEM "Efter &Størrelse",    0x31    /* ... */
            MENUITEM "Efter &Ændringsdato", 0x33
            MENUITEM SEPARATOR
            MENUITEM "&Arranger Automatisk", FCIDM_SHVIEW_AUTOARRANGE
          END
          MENUITEM "A&rranger ikoner i forhold til gitter", FCIDM_SHVIEW_SNAPTOGRID
          MENUITEM SEPARATOR
          MENUITEM "Opdater",           FCIDM_SHVIEW_REFRESH
          MENUITEM SEPARATOR
          MENUITEM "Indsæt",            FCIDM_SHVIEW_INSERT
          MENUITEM "Indsæt som genvej", FCIDM_SHVIEW_INSERTLINK
          MENUITEM SEPARATOR
          POPUP "Ny"
          BEGIN
            MENUITEM "&Mappe",      FCIDM_SHVIEW_NEWFOLDER
            MENUITEM "&Genvej",     FCIDM_SHVIEW_NEWLINK
            MENUITEM SEPARATOR
          END
          MENUITEM SEPARATOR
          MENUITEM "Egenskaber",        FCIDM_SHVIEW_PROPERTIES
        END
END

/*
 shellview item menu
*/
MENU_SHV_FILE MENU DISCARDABLE
BEGIN
	POPUP ""
	BEGIN
	  MENUITEM "&Vælg"		FCIDM_SHVIEW_OPEN
	  MENUITEM "U&dforsk",		FCIDM_SHVIEW_EXPLORE
	  MENUITEM "&Åben",		FCIDM_SHVIEW_OPEN
	  MENUITEM SEPARATOR
	  MENUITEM "K&lip",		FCIDM_SHVIEW_CUT
	  MENUITEM "&Kopier",		FCIDM_SHVIEW_COPY
	  MENUITEM SEPARATOR
	  MENUITEM "Opret &genvej",	FCIDM_SHVIEW_CREATELINK
	  MENUITEM "&Slet",		FCIDM_SHVIEW_DELETE
	  MENUITEM "&Omdøb",		FCIDM_SHVIEW_RENAME
	  MENUITEM SEPARATOR
	  MENUITEM "&Egenskaber",	FCIDM_SHVIEW_PROPERTIES
	END
END

MENU_CPANEL MENU
BEGIN
    POPUP "&File"
    BEGIN
        MENUITEM SEPARATOR
        MENUITEM "E&xit", IDM_CPANEL_EXIT
    END

    POPUP "&Vis"
    BEGIN
        MENUITEM "&Store Ikoner", FCIDM_SHVIEW_BIGICON
        MENUITEM "S&må Ikoner", FCIDM_SHVIEW_SMALLICON
        MENUITEM "&Liste", FCIDM_SHVIEW_LISTVIEW
        MENUITEM "&Detaljer", FCIDM_SHVIEW_REPORTVIEW
    END

    POPUP "&Hjælp"
    BEGIN
        MENUITEM "&Om Kontrolpanelet...", IDM_CPANEL_ABOUT
    END
END

SHBRSFORFOLDER_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 15, 40, 188, 192
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU | DS_MODALFRAME | DS_SETFONT | DS_3DLOOK
CAPTION "Søg efter mappe"
FONT 8, "MS Shell Dlg"
{
 DEFPUSHBUTTON "OK", 1, 80, 176, 50, 12, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP
 PUSHBUTTON "Annuller", 2, 134, 176, 50, 12, WS_GROUP | WS_TABSTOP
 LTEXT "", IDD_TITLE, 4, 4, 180, 12
 LTEXT "", IDD_STATUS, 4, 25, 180, 12
 CONTROL "", IDD_TREEVIEW, "SysTreeView32",
        TVS_HASBUTTONS | TVS_HASLINES | TVS_LINESATROOT |
        WS_BORDER | WS_TABSTOP,
        4, 40, 180, 120
}

SHNEWBRSFORFOLDER_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 15, 40, 218, 196
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU | WS_SIZEBOX | DS_MODALFRAME | DS_SETFONT | DS_3DLOOK
CAPTION "Vælg Folder"
FONT 8, "MS Shell Dlg"
{
 LTEXT "", IDD_TITLE, 10, 8, 198, 24
 LTEXT "", IDD_STATUS, 10, 25, 198, 12
 LTEXT "Folder:", IDD_FOLDER, 10, 156, 40, 12
 CONTROL "", IDD_TREEVIEW, "SysTreeView32",
        TVS_HASBUTTONS | TVS_HASLINES | TVS_LINESATROOT |
        WS_BORDER | WS_TABSTOP,
        12, 38, 194, 105
 EDITTEXT IDD_FOLDERTEXT, 46, 150, 160, 14, WS_BORDER | WS_GROUP | WS_TABSTOP
 PUSHBUTTON "&Lav ny folder", IDD_MAKENEWFOLDER, 12, 174, 70, 14, WS_GROUP | WS_TABSTOP
 DEFPUSHBUTTON "OK", IDOK, 102, 174, 50, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP
 PUSHBUTTON "Annuller", IDCANCEL, 156, 174, 50, 14, WS_GROUP | WS_TABSTOP
}

SHELL_YESTOALL_MSGBOX DIALOG 200, 100, 280, 90
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Message"
FONT 8, "MS Shell Dlg"
{
    DEFPUSHBUTTON "&Ja", IDYES, 34, 69, 53, 14, WS_GROUP | WS_TABSTOP
    PUSHBUTTON "Ja to &alt", IDD_YESTOALL, 92, 69, 65, 14, WS_GROUP | WS_TABSTOP
    PUSHBUTTON "&Nej", IDNO, 162, 69, 53, 14, WS_GROUP | WS_TABSTOP
    PUSHBUTTON "&Annuller", IDCANCEL, 220, 69, 53, 14, WS_GROUP | WS_TABSTOP
    ICON "", IDD_ICON, 10, 10, 16, 16
    LTEXT "", IDD_MESSAGE, 40, 10, 238, 52, 0
}

SHELL_ABOUT_MSGBOX DIALOG LOADONCALL MOVEABLE DISCARDABLE 15, 40, 220, 152
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Om %s"
FONT 10, "MS Shell Dlg"
{
 DEFPUSHBUTTON "OK", IDOK, 153, 133, 60, 12, WS_TABSTOP
 PUSHBUTTON "Wine &licens...", IDC_ABOUT_LICENSE, 153, 113, 60, 12, WS_TABSTOP
 LISTBOX IDC_ABOUT_LISTBOX, 8, 65, 137, 82, LBS_NOTIFY | WS_VSCROLL | WS_BORDER
 ICON "", stc1, 10, 10, 30, 30
 LTEXT "", IDC_ABOUT_STATIC_TEXT1, 42, 10, 170, 10
 LTEXT "", IDC_ABOUT_STATIC_TEXT2, 42, 22, 170, 10
 LTEXT "Kører på %s", IDC_ABOUT_STATIC_TEXT3, 42, 34, 170, 10
 LTEXT "Wine havde ikke været mulig uden hjælp fra disse personer:", IDC_ABOUT_WINE_TEXT, 8, 54, 204, 10
}

SHELL_RUN_DLG DIALOG LOADONCALL MOVEABLE DISCARDABLE 0, 0, 227, 95
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION ""
FONT 8, "MS Shell Dlg"
{
 ICON "", 12297, 7, 11, 18, 20, WS_VISIBLE
 LTEXT "Skriv navnet på et program, en mappe, et dokument eller Internet ressource, og Wine åbner det for dig.", 12289, 36, 11, 182, 18
 LTEXT "&Åbn:", 12305, 7, 39, 24, 10
 CONTROL "", 12298, "COMBOBOX", WS_TABSTOP | WS_GROUP | WS_VSCROLL | WS_VISIBLE | CBS_DISABLENOSCROLL | CBS_AUTOHSCROLL | CBS_DROPDOWN, 36, 37, 183, 100
 DEFPUSHBUTTON "OK", IDOK, 62, 63, 50, 14, WS_TABSTOP
 PUSHBUTTON "Annuller", IDCANCEL, 116, 63, 50, 14, WS_TABSTOP
 PUSHBUTTON "&Gennemse...", 12288, 170, 63, 50, 14, WS_TABSTOP
}

STRINGTABLE
{
        /* columns in the shellview */
        IDS_SHV_COLUMN1         "Fil"
        IDS_SHV_COLUMN2         "Størrelse"
        IDS_SHV_COLUMN3         "Type"
        IDS_SHV_COLUMN4         "Modificeret"
        IDS_SHV_COLUMN5         "Attributer"
        IDS_SHV_COLUMN6         "Størrelse"
        IDS_SHV_COLUMN7         "Størrelse ledig"
        IDS_SHV_COLUMN8         "Navn"
        IDS_SHV_COLUMN9         "Kommentare"
        IDS_SHV_COLUMN10        "Ejer"
        IDS_SHV_COLUMN11        "Gruppe"
        IDS_SHV_COLUMN_DELFROM  "Original sted"
        IDS_SHV_COLUMN_DELDATE  "Dato slettet"
        IDS_SHV_COL_DOCS        "Dokumenter"
        IDS_SHV_COL_STATUS      "Status"
        IDS_SHV_COL_LOCATION    "Placering"
        IDS_SHV_COL_MODEL       "Model"

        /* special folders */
        IDS_DESKTOP             "Skrivebord"
        IDS_MYCOMPUTER          "Min Computer"
        IDS_RECYCLEBIN_FOLDER_NAME "Papirkurven"
	IDS_CONTROLPANEL	"Control Panel"

        /* context menus */
        IDS_VIEW_LARGE          "Store Ikoner"
        IDS_VIEW_SMALL          "S&må Ikoner"
        IDS_VIEW_LIST           "&Liste"
        IDS_VIEW_DETAILS        "&Detaljer"
        IDS_SELECT              "Vælg"
        IDS_OPEN                "Åben"

        IDS_CREATEFOLDER_DENIED "Kunne ikke oprette en ny mappe: Adgang nægtet."
        IDS_CREATEFOLDER_CAPTION "Fejl ved oprettelse af ny mappe"
        IDS_DELETEITEM_CAPTION "Bekræft sletning af fil"
        IDS_DELETEFOLDER_CAPTION "Bekræft sletning af mappe"
        IDS_DELETEITEM_TEXT "Er du sikker på du vil slette '%1'?"
        IDS_DELETEMULTIPLE_TEXT "Er du sikker på du vil slette disse %1 filer?"
        IDS_DELETESELECTED_TEXT "Er du sikker på du vil slette de(n) valgte fil(er)?"
        IDS_TRASHITEM_TEXT "Er du sikker på at du vil sende '%1' til papirkurven?"
        IDS_TRASHFOLDER_TEXT "Er du sikker på at du vil sende '%1' og alt dens indhold til papirkurven?"
        IDS_TRASHMULTIPLE_TEXT "Er du sikker på at du vil sende disse %1 filer til papirkurven?"
        IDS_CANTTRASH_TEXT "Filen '%1' kunne ikke sendes til papirkurven. Ønsker du at slette den permanent istedet for?"
        IDS_OVERWRITEFILE_TEXT "Denne mappe indeholder allerede en fil kaldet '%1'.\n\nVil du overskrive den?"
        IDS_OVERWRITEFILE_CAPTION "Bekræft overskrivning af fil"
        IDS_OVERWRITEFOLDER_TEXT "Denne mappe indeholder allerede en mappe med navnet '%1'.\n\n"\
            "Hvis filerne i destinationsmappen har de samme navne som filerne i\n"\
            "den markerede mappe, vil de blive erstattet. Ønsker du stadig at flytte eller kopiere\n"\
            "mappen?"

        /* message box strings */
        IDS_RESTART_TITLE       "Genstart"
        IDS_RESTART_PROMPT      "Vil du simulere en genstart af Windows?"
        IDS_SHUTDOWN_TITLE      "Luk ned"
        IDS_SHUTDOWN_PROMPT     "Vil du lukke din Wine session?"

        /* Run File dialog */
        IDS_RUNDLG_ERROR           "Kan ikke vise Kør Fil dialogboksen (intern fejl)"
        IDS_RUNDLG_BROWSE_ERROR    "Kan ikke vise Gennemse dialogboksen (intern fejl)"
        IDS_RUNDLG_BROWSE_CAPTION  "Gennemse"
        IDS_RUNDLG_BROWSE_FILTER   "Program Filer\0*.exe\0Alle Filer\0*.*\0\0"

        /* shell folder path default values */
        IDS_PROGRAMS                "Start Menu\\Programmer"
        IDS_PERSONAL                "Mine Dokumenter"
        IDS_FAVORITES               "Favoriter"
        IDS_STARTUP                 "Start Menu\\Programmer\\Start"
        IDS_RECENT                  "Recent"
        IDS_SENDTO                  "SendTo"
        IDS_STARTMENU               "Start Menu"
        IDS_MYMUSIC                 "Min Musik"
        IDS_MYVIDEO                 "Mine Film"
        IDS_DESKTOPDIRECTORY        "Skrivebord"
        IDS_NETHOOD                 "NetHood"
        IDS_TEMPLATES               "Skabeloner"
        IDS_APPDATA                 "Programdata"
        IDS_PRINTHOOD               "PrintHood"
        IDS_LOCAL_APPDATA           "Lokale indstillinger\\Application Data"
        IDS_INTERNET_CACHE          "Lokale indstillinger\\Temporary Internet Files"
        IDS_COOKIES                 "Cookies"
        IDS_HISTORY                 "Lokale indstillinger\\History"
        IDS_PROGRAM_FILES           "Program Files"
        IDS_MYPICTURES              "Mine Billeder"
        IDS_PROGRAM_FILES_COMMON    "Programmer\Fælles Filer"
        IDS_COMMON_DOCUMENTS        "Documenter"
        IDS_ADMINTOOLS              "Start Menu\Programmer\Administrative Værktøjer"
        IDS_COMMON_MUSIC            "Dokumenter\\Min Musik"
        IDS_COMMON_PICTURES         "Dokumenter\\Mine Billeder"
        IDS_COMMON_VIDEO            "Dokumenter\\Mine Film"
        IDS_CDBURN_AREA             "Lokale indstillinger\Applikations Data\Microsoft\CD Brændning"

        IDS_NEWFOLDER               "Ny Mappe"

        IDS_CPANEL_TITLE            "Wine Kontrolpanel"
        IDS_CPANEL_NAME             "Name"
        IDS_CPANEL_DESCRIPTION      "Description"

        IDS_SHLEXEC_NOASSOC         "Der er ikke noget Windows program, konfigureret til at åbne denne type fil."
}

STRINGTABLE
{
IDS_LICENSE_CAPTION,            "Licensbetingelser"
IDS_LICENSE,
"Wine er fri software; du må distribuere det og/eller \
ændre det i henhold til vilkårene i «GNU Lesser General Public \
License», udgivet af the Free Software Foundation; enten \
version 2.1 af Licensen, eller (hvis du ønsker det) en nyere version.\n\n\
Wine udgives i håb om at det er nyttigt, \
men UDEN ENHVER GARANTI; uden engang den antydede garanti om \
HANDELSEGNETHED eller EGNETHED FOR ET SPECIELT FORMÅL.  Se «GNU \
Lesser General Public License» for flere detaljer.\n\n\
Du skal have modtaget et eksemplar af «GNU Lesser General Public \
License» sammen med dette program; hvis ikke, skriv til: the Free Software \
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA."
}
