/*
 *  Norwegian Bokmål resources for Task Manager
 *
 *  Copyright 2005-2009 Alexander N. Sørnes <alex@thehandofagony.com>
 *
 *
 * 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"

#pragma code_page(65001)

LANGUAGE LANG_NORWEGIAN, SUBLANG_NORWEGIAN_BOKMAL

/*
 Dialog
*/

IDD_TASKMGR_DIALOG DIALOG  0, 0, 264, 246
STYLE DS_CENTER | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP |
    WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU |
    WS_THICKFRAME
CAPTION "Oppgavebehandler"
MENU IDR_TASKMANAGER
FONT 8, "MS Shell Dlg"
BEGIN
    CONTROL         "Tab1",IDC_TAB,"SysTabControl32",WS_TABSTOP,3,3,257,228
END

IDD_APPLICATION_PAGE DIALOG  0, 0, 247, 210
STYLE DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN
FONT 8, "MS Shell Dlg"
BEGIN
    CONTROL         "List2",IDC_APPLIST,"SysListView32",LVS_REPORT |
                    LVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP,7,7,233,177
    PUSHBUTTON      "&Ny oppgave...",IDC_NEWTASK,187,189,53,14
    PUSHBUTTON      "&Bytt til",IDC_SWITCHTO,131,189,53,14,WS_DISABLED
    PUSHBUTTON      "Avslutt oppgav&e",IDC_ENDTASK,75,189,53,14,WS_DISABLED
END

IDD_PROCESS_PAGE DIALOG  0, 0, 247, 210
STYLE DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN
FONT 8, "MS Shell Dlg"
BEGIN
    CONTROL         "List2",IDC_PROCESSLIST,"SysListView32",LVS_REPORT |
                    LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_OWNERDATA |
                    WS_BORDER | WS_TABSTOP,7,7,233,177
    PUSHBUTTON      "Avslutt pros&ess",IDC_ENDPROCESS,171,189,69,14
    CONTROL         "Vi&s prosesser fra alle brukere",IDC_SHOWALLPROCESSES,
                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,191,111,10
END

IDD_PERFORMANCE_PAGE DIALOGEX  0, 0, 247, 210
STYLE DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN
FONT 8, "MS Shell Dlg"
BEGIN
    GROUPBOX        "Prosessorbruk",IDC_CPU_USAGE_FRAME,5,5,60,54,WS_TABSTOP, WS_EX_TRANSPARENT
    GROUPBOX        "Minnebruk",IDC_MEM_USAGE_FRAME,5,63,60,54,BS_LEFTTEXT, WS_EX_TRANSPARENT
    GROUPBOX        "Totalt",IDC_TOTALS_FRAME,5,122,111,39,0,WS_EX_TRANSPARENT
    GROUPBOX        "Virtuelt minne (K)",IDC_COMMIT_CHARGE_FRAME,5,166,111,39,0,WS_EX_TRANSPARENT
    GROUPBOX        "Fysisk minne (K)",IDC_PHYSICAL_MEMORY_FRAME,131,122,111,39,0,WS_EX_TRANSPARENT
    GROUPBOX        "Kjerneminne (K)",IDC_KERNEL_MEMORY_FRAME,131,166,111,39,0,WS_EX_TRANSPARENT
    LTEXT           "Håndtak",IDS_TOTALS_HANDLE_COUNT,12,131,27,8
    LTEXT           "Tråder",IDS_TOTALS_THREAD_COUNT,12,140,27,8
    LTEXT           "Prosesser",IDS_TOTALS_PROCESS_COUNT,12,149,34,8
    EDITTEXT        IDC_TOTALS_HANDLE_COUNT,65,131,45,8,ES_RIGHT |
                    ES_READONLY | ES_NUMBER | NOT WS_BORDER
    EDITTEXT        IDC_TOTALS_THREAD_COUNT,65,140,45,8,ES_RIGHT |
                    ES_READONLY | ES_NUMBER | NOT WS_BORDER
    EDITTEXT        IDC_TOTALS_PROCESS_COUNT,65,149,45,8,ES_RIGHT |
                    ES_READONLY | ES_NUMBER | NOT WS_BORDER
    LTEXT           "Totalt",IDS_COMMIT_CHARGE_TOTAL,12,175,27,8
    LTEXT           "Grense",IDS_COMMIT_CHARGE_LIMIT,12,184,25,8
    LTEXT           "Topp",IDS_COMMIT_CHARGE_PEAK,12,193,34,8
    EDITTEXT        IDC_COMMIT_CHARGE_TOTAL,65,174,45,8,ES_RIGHT |
                    ES_READONLY | ES_NUMBER | NOT WS_BORDER
    EDITTEXT        IDC_COMMIT_CHARGE_LIMIT,65,184,45,8,ES_RIGHT |
                    ES_READONLY | ES_NUMBER | NOT WS_BORDER
    EDITTEXT        IDC_COMMIT_CHARGE_PEAK,65,193,45,8,ES_RIGHT |
                    ES_READONLY | ES_NUMBER | NOT WS_BORDER
    LTEXT           "Totalt",IDS_PHYSICAL_MEMORY_TOTAL,137,131,27,8
    LTEXT           "Tilgjengelig",IDS_PHYSICAL_MEMORY_AVAILABLE,137,140,35,8
    LTEXT           "System",IDS_PHYSICAL_MEMORY_SYSTEM_CACHE,137,149,35,8
    EDITTEXT        IDC_PHYSICAL_MEMORY_TOTAL,185,131,48,8,ES_RIGHT |
                    ES_READONLY | ES_NUMBER | NOT WS_BORDER
    EDITTEXT        IDC_PHYSICAL_MEMORY_AVAILABLE,185,140,48,8,ES_RIGHT |
                    ES_READONLY | ES_NUMBER | NOT WS_BORDER
    EDITTEXT        IDC_PHYSICAL_MEMORY_SYSTEM_CACHE,185,149,48,8,ES_RIGHT |
                    ES_READONLY | ES_NUMBER | NOT WS_BORDER
    LTEXT           "Totalt",IDS_KERNEL_MEMORY_TOTAL,137,174,27,8
    LTEXT           "Paginert",IDS_KERNEL_MEMORY_PAGED,137,184,30,8
    LTEXT           "Ikke paginert",IDS_KERNEL_MEMORY_NONPAGED,137,193,40,8
    EDITTEXT        IDC_KERNEL_MEMORY_TOTAL,185,174,48,8,ES_RIGHT |
                    ES_READONLY | ES_NUMBER | NOT WS_BORDER
    EDITTEXT        IDC_KERNEL_MEMORY_PAGED,185,184,48,8,ES_RIGHT |
                    ES_READONLY | ES_NUMBER | NOT WS_BORDER
    EDITTEXT        IDC_KERNEL_MEMORY_NONPAGED,185,193,48,8,ES_RIGHT |
                    ES_READONLY | ES_NUMBER | NOT WS_BORDER
    GROUPBOX        "Historikk for prosessorbruk",IDC_CPU_USAGE_HISTORY_FRAME,74,5,168,54,0,WS_EX_TRANSPARENT
    GROUPBOX        "Historikk for minnebruk",IDC_MEMORY_USAGE_HISTORY_FRAME,74,63,168,54,0,WS_EX_TRANSPARENT
    PUSHBUTTON      "Visning av prosessorbruk",IDC_CPU_USAGE_GRAPH,12,17,47,37,0,
		    WS_EX_CLIENTEDGE
    PUSHBUTTON      "Visning av minnebruk",IDC_MEM_USAGE_GRAPH,12,75,47,37,0,
                    WS_EX_CLIENTEDGE
    PUSHBUTTON      "Historikk for prosessorbruk",IDC_CPU_USAGE_HISTORY_GRAPH,81,17,
                    153,37,0,WS_EX_CLIENTEDGE
    PUSHBUTTON      "Historikk for minnebruk",IDC_MEM_USAGE_HISTORY_GRAPH,81,75,
                    153,37,0,WS_EX_CLIENTEDGE
END

IDD_DEBUG_CHANNELS_DIALOG DIALOG  0, 0, 247, 210
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Feilsøkingskanaler"
FONT 8, "MS Shell Dlg"
BEGIN
    CONTROL         "List2",IDC_DEBUG_CHANNELS_LIST,"SysListView32",LVS_REPORT |
                    LVS_SINGLESEL | LVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP |
		    LVS_SORTASCENDING,7,7,233,177
    PUSHBUTTON      "Lukk",IDOK,171,189,69,14
END

IDD_AFFINITY_DIALOG DIALOG  0, 0, 231, 154
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Prosesslektsskap"
FONT 8, "MS Shell Dlg"
BEGIN
    DEFPUSHBUTTON   "OK",IDOK,120,133,50,14
    PUSHBUTTON      "Avbryt",IDCANCEL,174,133,50,14
    LTEXT           "Instillingen for prosesslektsskap bestemmer hvilke prosessorer prosessen kan kjøre på.",
                    IDC_STATIC,5,5,220,16
    CONTROL         "Prosessor 0",IDC_CPU0,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,
                    11,28,37,10
		    CONTROL         "Prosessor 1",IDC_CPU1,"Button",BS_AUTOCHECKBOX | WS_DISABLED |
                    WS_TABSTOP,11,41,37,10
		    CONTROL         "Prosessor 2",IDC_CPU2,"Button",BS_AUTOCHECKBOX | WS_DISABLED |
                    WS_TABSTOP,11,54,37,10
		    CONTROL         "Prosessor 3",IDC_CPU3,"Button",BS_AUTOCHECKBOX | WS_DISABLED |
                    WS_TABSTOP,11,67,37,10
		    CONTROL         "Prosessor 4",IDC_CPU4,"Button",BS_AUTOCHECKBOX | WS_DISABLED |
                    WS_TABSTOP,11,80,37,10
		    CONTROL         "Prosessor 5",IDC_CPU5,"Button",BS_AUTOCHECKBOX | WS_DISABLED |
                    WS_TABSTOP,11,93,37,10
		    CONTROL         "Prosessor 6",IDC_CPU6,"Button",BS_AUTOCHECKBOX | WS_DISABLED |
                    WS_TABSTOP,11,106,37,10
		    CONTROL         "Prosessor 7",IDC_CPU7,"Button",BS_AUTOCHECKBOX | WS_DISABLED |
                    WS_TABSTOP,11,119,37,10
		    CONTROL         "Prosessor 8",IDC_CPU8,"Button",BS_AUTOCHECKBOX | WS_DISABLED |
                    WS_TABSTOP,61,28,37,10
		    CONTROL         "Prosessor 9",IDC_CPU9,"Button",BS_AUTOCHECKBOX | WS_DISABLED |
                    WS_TABSTOP,61,41,37,10
		    CONTROL         "Prosessor 10",IDC_CPU10,"Button",BS_AUTOCHECKBOX |
                    WS_DISABLED | WS_TABSTOP,61,54,41,10
		    CONTROL         "Prosessor 11",IDC_CPU11,"Button",BS_AUTOCHECKBOX |
                    WS_DISABLED | WS_TABSTOP,61,67,41,10
		    CONTROL         "Prosessor 12",IDC_CPU12,"Button",BS_AUTOCHECKBOX |
                    WS_DISABLED | WS_TABSTOP,61,80,41,10
		    CONTROL         "Prosessor 13",IDC_CPU13,"Button",BS_AUTOCHECKBOX |
                    WS_DISABLED | WS_TABSTOP,61,93,41,10
		    CONTROL         "Prosessor 14",IDC_CPU14,"Button",BS_AUTOCHECKBOX |
                    WS_DISABLED | WS_TABSTOP,61,106,41,10
		    CONTROL         "Prosessor 15",IDC_CPU15,"Button",BS_AUTOCHECKBOX |
                    WS_DISABLED | WS_TABSTOP,61,119,41,10
		    CONTROL         "Prosessor 16",IDC_CPU16,"Button",BS_AUTOCHECKBOX |
                    WS_DISABLED | WS_TABSTOP,116,28,41,10
		    CONTROL         "Prosessor 17",IDC_CPU17,"Button",BS_AUTOCHECKBOX |
                    WS_DISABLED | WS_TABSTOP,116,41,41,10
		    CONTROL         "Prosessor 18",IDC_CPU18,"Button",BS_AUTOCHECKBOX |
                    WS_DISABLED | WS_TABSTOP,116,54,41,10
		    CONTROL         "Prosessor 19",IDC_CPU19,"Button",BS_AUTOCHECKBOX |
                    WS_DISABLED | WS_TABSTOP,116,67,41,10
		    CONTROL         "Prosessor 20",IDC_CPU20,"Button",BS_AUTOCHECKBOX |
                    WS_DISABLED | WS_TABSTOP,116,80,41,10
		    CONTROL         "Prosessor 21",IDC_CPU21,"Button",BS_AUTOCHECKBOX |
                    WS_DISABLED | WS_TABSTOP,116,93,41,10
		    CONTROL         "Prosessor 22",IDC_CPU22,"Button",BS_AUTOCHECKBOX |
                    WS_DISABLED | WS_TABSTOP,116,106,41,10
		    CONTROL         "Prosessor 23",IDC_CPU23,"Button",BS_AUTOCHECKBOX |
                    WS_DISABLED | WS_TABSTOP,116,119,41,10
		    CONTROL         "Prosessor 24",IDC_CPU24,"Button",BS_AUTOCHECKBOX |
                    WS_DISABLED | WS_TABSTOP,175,28,41,10
		    CONTROL         "Prosessor 25",IDC_CPU25,"Button",BS_AUTOCHECKBOX |
                    WS_DISABLED | WS_TABSTOP,175,41,41,10
		    CONTROL         "Prosessor 26",IDC_CPU26,"Button",BS_AUTOCHECKBOX |
                    WS_DISABLED | WS_TABSTOP,175,54,41,10
		    CONTROL         "Prosessor 27",IDC_CPU27,"Button",BS_AUTOCHECKBOX |
                    WS_DISABLED | WS_TABSTOP,175,67,41,10
		    CONTROL         "Prosessor 28",IDC_CPU28,"Button",BS_AUTOCHECKBOX |
                    WS_DISABLED | WS_TABSTOP,175,80,41,10
		    CONTROL         "Prosessor 29",IDC_CPU29,"Button",BS_AUTOCHECKBOX |
                    WS_DISABLED | WS_TABSTOP,175,93,41,10
		    CONTROL         "Prosessor 30",IDC_CPU30,"Button",BS_AUTOCHECKBOX |
                    WS_DISABLED | WS_TABSTOP,175,106,41,10
		    CONTROL         "Prosessor 31",IDC_CPU31,"Button",BS_AUTOCHECKBOX |
                    WS_DISABLED | WS_TABSTOP,175,119,41,10
END

IDD_COLUMNS_DIALOG DIALOG  0, 0, 195, 199
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Velg kolonner"
FONT 8, "MS Shell Dlg"
BEGIN
    DEFPUSHBUTTON   "OK",IDOK,84,178,50,14
    PUSHBUTTON      "Avbryt",IDCANCEL,138,178,50,14
    LTEXT           "Velg kolonnene som vises på prosessiden i oppgavebehandleren.",
                    IDC_STATIC,7,7,181,17
    CONTROL         "B&ildenavn",IDC_IMAGENAME,"Button",BS_AUTOCHECKBOX |
                    WS_DISABLED | WS_TABSTOP,7,28,56,10
    CONTROL         "&PID (Prosessidentifiserer)",IDC_PID,"Button",
                    BS_AUTOCHECKBOX | WS_TABSTOP,7,39,88,10
    CONTROL         "&Prosessorbruk",IDC_CPUUSAGE,"Button",BS_AUTOCHECKBOX |
                    WS_TABSTOP,7,50,53,10
    CONTROL         "Pros&essortid",IDC_CPUTIME,"Button",BS_AUTOCHECKBOX |
                    WS_TABSTOP,7,61,48,10
    CONTROL         "&Minnebruk",IDC_MEMORYUSAGE,"Button",BS_AUTOCHECKBOX |
                    WS_TABSTOP,7,72,63,10
    CONTROL         "Minnebruk-&delta",IDC_MEMORYUSAGEDELTA,"Button",
                    BS_AUTOCHECKBOX | WS_TABSTOP,7,83,82,10
    CONTROL         "Høyeste minnebru&k",IDC_PEAKMEMORYUSAGE,"Button",
                    BS_AUTOCHECKBOX | WS_TABSTOP,7,94,82,10
    CONTROL         "Side&feil",IDC_PAGEFAULTS,"Button",BS_AUTOCHECKBOX |
                    WS_TABSTOP,7,105,53,10
    CONTROL         "Br&ukerobjekter",IDC_USEROBJECTS,"Button",BS_AUTOCHECKBOX |
                    WS_TABSTOP,7,116,62,10
    CONTROL         "I/U-lesinger",IDC_IOREADS,"Button",BS_AUTOCHECKBOX |
                    WS_TABSTOP,7,127,49,10
    CONTROL         "I/U leste byte",IDC_IOREADBYTES,"Button",
                    BS_AUTOCHECKBOX | WS_TABSTOP,7,138,65,10
    CONTROL         "&Økt-ID",IDC_SESSIONID,"Button",BS_AUTOCHECKBOX |
                    WS_TABSTOP,7,149,50,10
    CONTROL         "Bruker&navn",IDC_USERNAME,"Button",BS_AUTOCHECKBOX |
                    WS_TABSTOP,7,160,51,10
    CONTROL         "Sidefeil-delt&a",IDC_PAGEFAULTSDELTA,"Button",
                    BS_AUTOCHECKBOX | WS_TABSTOP,107,28,72,10
    CONTROL         "Størrelse på &virtuelt minne",IDC_VIRTUALMEMORYSIZE,"Button",
                    BS_AUTOCHECKBOX | WS_TABSTOP,107,39,77,10
    CONTROL         "Pa&ginert samling",IDC_PAGEDPOOL,"Button",BS_AUTOCHECKBOX |
                    WS_TABSTOP,107,50,53,10
    CONTROL         "&Ikke-paginert samling",IDC_NONPAGEDPOOL,"Button",
                    BS_AUTOCHECKBOX | WS_TABSTOP,107,61,67,10
    CONTROL         "Basisp&rioritet",IDC_BASEPRIORITY,"Button",
                    BS_AUTOCHECKBOX | WS_TABSTOP,107,72,55,10
    CONTROL         "Antall &håndtak",IDC_HANDLECOUNT,"Button",BS_AUTOCHECKBOX |
                    WS_TABSTOP,107,83,59,10
    CONTROL         "Antall &tråder",IDC_THREADCOUNT,"Button",BS_AUTOCHECKBOX |
                    WS_TABSTOP,107,94,59,10
    CONTROL         "GDI-objekter",IDC_GDIOBJECTS,"Button",BS_AUTOCHECKBOX |
                    WS_TABSTOP,107,105,55,10
    CONTROL         "I/U-skrivinger",IDC_IOWRITES,"Button",BS_AUTOCHECKBOX |
                    WS_TABSTOP,107,116,49,10
    CONTROL         "I/U byte skrevet",IDC_IOWRITEBYTES,"Button",
                    BS_AUTOCHECKBOX | WS_TABSTOP,107,127,65,10
    CONTROL         "I/U annet",IDC_IOOTHER,"Button",BS_AUTOCHECKBOX |
                    WS_TABSTOP,107,138,46,10
    CONTROL         "I/U byte annet",IDC_IOOTHERBYTES,"Button",
                    BS_AUTOCHECKBOX | WS_TABSTOP,107,149,65,10
END
