/*
 *  Task Manager
 *
 *  Copyright 2008 Rok Mandeljc
 *
 *
 * 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_SLOVENIAN, SUBLANG_DEFAULT

/*
 Menu
*/

IDR_TASKMANAGER MENU DISCARDABLE
BEGIN
    POPUP "&Datoteka"
    BEGIN
        MENUITEM "&Novo opravilo",          ID_FILE_NEW
        MENUITEM SEPARATOR
        MENUITEM "Iz&hod",          ID_FILE_EXIT
    END
    POPUP "&Možnosti"
    BEGIN
        MENUITEM "Vedno na &vrhu",              ID_OPTIONS_ALWAYSONTOP
        , CHECKED
        MENUITEM "Poman&jšaj ob uporabi",            ID_OPTIONS_MINIMIZEONUSE
        , CHECKED
        MENUITEM "&Skrij ob pomanjšanju",        ID_OPTIONS_HIDEWHENMINIMIZED
        , CHECKED
        MENUITEM "Prika&ži 16-bitna opravila",          ID_OPTIONS_SHOW16BITTASKS
        , CHECKED
    END
    POPUP "&Pogled"
    BEGIN
        MENUITEM "&Osveži",                ID_VIEW_REFRESH
        POPUP "&Hitrost osveževanja"
        BEGIN
            MENUITEM "&Viskoka",                       ID_VIEW_UPDATESPEED_HIGH
            MENUITEM "&Običajna",                     ID_VIEW_UPDATESPEED_NORMAL
            , CHECKED
            MENUITEM "&Nizka",                        ID_VIEW_UPDATESPEED_LOW
            MENUITEM "&Zaustavljeno",                     ID_VIEW_UPDATESPEED_PAUSED

        END
        MENUITEM SEPARATOR
        MENUITEM "Veli&ke ikone",                ID_VIEW_LARGE
        MENUITEM "M&ale ikone",                ID_VIEW_SMALL
        MENUITEM "&Podrobnosti",                    ID_VIEW_DETAILS, CHECKED
        MENUITEM "&Izberi stolpce ...",          ID_VIEW_SELECTCOLUMNS
        POPUP "Zgodovina &CPE"
        BEGIN
            MENUITEM "&En graf, vse CPE",        ID_VIEW_CPUHISTORY_ONEGRAPHALL

            MENUITEM "En graf za &vsako CPE",          ID_VIEW_CPUHISTORY_ONEGRAPHPERCPU
            , CHECKED
        END
        MENUITEM "Prikaži &čase jedra",          ID_VIEW_SHOWKERNELTIMES
    END
    POPUP "&Okna"
    BEGIN
        MENUITEM "&Horizontalna razporeditev",          ID_WINDOWS_TILEHORIZONTALLY
        MENUITEM "&Vertikalna razporeditev",            ID_WINDOWS_TILEVERTICALLY
        MENUITEM "Po&manjšaj",                   ID_WINDOWS_MINIMIZE
        MENUITEM "Ra&zširi",                   ID_WINDOWS_MAXIMIZE
        MENUITEM "V &kaskado",                    ID_WINDOWS_CASCADE
        MENUITEM "V &ospredje",             ID_WINDOWS_BRINGTOFRONT
    END
    POPUP "&Pomoč"
    BEGIN
        MENUITEM "Teme pomoči",   ID_HELP_TOPICS
        MENUITEM SEPARATOR
        MENUITEM "&O Upravitelju opravil",         ID_HELP_ABOUT
    END
END

IDR_WINDOWSMENU MENU DISCARDABLE
BEGIN
    MENUITEM "&Horizontalna poravnava",          ID_WINDOWS_TILEHORIZONTALLY
    MENUITEM "&Vertikalna poravnava",            ID_WINDOWS_TILEVERTICALLY
    MENUITEM "&Pomanjšaj",                   ID_WINDOWS_MINIMIZE
    MENUITEM "Ra&zširi",                   ID_WINDOWS_MAXIMIZE
    MENUITEM "V &kaskado",                    ID_WINDOWS_CASCADE
    MENUITEM "V &ospredje",             ID_WINDOWS_BRINGTOFRONT
END

IDR_APPLICATION_PAGE_CONTEXT1 MENU DISCARDABLE
BEGIN
    POPUP "DUMMY"
    BEGIN
        MENUITEM "&Novo opravilo",          ID_FILE_NEW
        MENUITEM SEPARATOR
        MENUITEM "&Velike ikone",                ID_VIEW_LARGE
        MENUITEM "&Male ikone",                ID_VIEW_SMALL
        MENUITEM "&Podrobnosti",                    ID_VIEW_DETAILS, CHECKED
    END
END

IDR_APPLICATION_PAGE_CONTEXT2 MENU DISCARDABLE
BEGIN
    POPUP "DUMMY"
    BEGIN
        MENUITEM "&Preklopi na",                  ID_APPLICATION_PAGE_SWITCHTO
        MENUITEM "V &ospredje",             ID_WINDOWS_BRINGTOFRONT
        MENUITEM SEPARATOR
        MENUITEM "&Horizontalna poravnava",          ID_WINDOWS_TILEHORIZONTALLY
        MENUITEM "&Vertikalna poravnava",            ID_WINDOWS_TILEVERTICALLY
        MENUITEM "&Pomanjšaj",                   ID_WINDOWS_MINIMIZE
        MENUITEM "Ra&zširi",                   ID_WINDOWS_MAXIMIZE
        MENUITEM "V &kaskado",                    ID_WINDOWS_CASCADE
        MENUITEM SEPARATOR
        MENUITEM "Z&aključi opravilo",                   ID_APPLICATION_PAGE_ENDTASK
        MENUITEM "Poj&di na proces",              ID_APPLICATION_PAGE_GOTOPROCESS
    END
END

IDR_TRAY_POPUP MENU DISCARDABLE
BEGIN
    POPUP "DUMMY"
    BEGIN
        MENUITEM "O&bnovi",                    ID_RESTORE
        MENUITEM "&Zapri",                      ID_FILE_EXIT
        MENUITEM SEPARATOR
        MENUITEM "&Vedno na vrhu",              ID_OPTIONS_ALWAYSONTOP
    END
END

IDR_PROCESS_PAGE_CONTEXT MENU DISCARDABLE
BEGIN
    POPUP "DUMMY"
    BEGIN
        MENUITEM "Za&ključi proces",                ID_PROCESS_PAGE_ENDPROCESS
        MENUITEM "Zaključi procesno &drevo",           ID_PROCESS_PAGE_ENDPROCESSTREE

        MENUITEM "&Razhroščevanje",                      ID_PROCESS_PAGE_DEBUG
        MENUITEM SEPARATOR
        POPUP "Nastavi &prioriteto"
        BEGIN
            MENUITEM "&Realni čas",                   ID_PROCESS_PAGE_SETPRIORITY_REALTIME

            MENUITEM "&Visoka",                       ID_PROCESS_PAGE_SETPRIORITY_HIGH

            MENUITEM "&Nadpovprečna",                ID_PROCESS_PAGE_SETPRIORITY_ABOVENORMAL

            MENUITEM "&Povprečna",                     ID_PROCESS_PAGE_SETPRIORITY_NORMAL

            MENUITEM "Po&dpovprečna",                ID_PROCESS_PAGE_SETPRIORITY_BELOWNORMAL

            MENUITEM "&Nizka",                        ID_PROCESS_PAGE_SETPRIORITY_LOW

        END
        MENUITEM "Nastavi &afiniteto ...",            ID_PROCESS_PAGE_SETAFFINITY
        MENUITEM "Uredi razhroščevalne &kanale ...",	ID_PROCESS_PAGE_DEBUGCHANNELS
    END
END

/*
 Dialog
*/

IDD_TASKMGR_DIALOG DIALOG DISCARDABLE  0, 0, 264, 246
STYLE DS_CENTER | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP |
    WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU |
    WS_THICKFRAME
CAPTION "Upravitelj opravil"
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 DISCARDABLE  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      "&Novo opravilo ...",IDC_NEWTASK,182,189,60,14
    PUSHBUTTON      "&Preklopi na",IDC_SWITCHTO,117,189,60,14,WS_DISABLED
    PUSHBUTTON      "&Zaključi opravilo",IDC_ENDTASK,52,189,60,14,WS_DISABLED
END

IDD_PROCESS_PAGE DIALOG DISCARDABLE  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      "&Zaključi proces",IDC_ENDPROCESS,171,189,69,14
    CONTROL         "&Pokaži procese vseh uporabnikov",IDC_SHOWALLPROCESSES,
                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,191,120,10
END

/*IDD_PERFORMANCE_PAGE DIALOGEX 0, 0, 247, 210*/
IDD_PERFORMANCE_PAGE DIALOGEX DISCARDABLE  0, 0, 247, 210
STYLE DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN
FONT 8, "MS Shell Dlg"
BEGIN
    GROUPBOX        "Uporaba CPE",IDC_CPU_USAGE_FRAME,5,5,60,54,WS_TABSTOP, WS_EX_TRANSPARENT
    GROUPBOX        "Uporaba pomn.",IDC_MEM_USAGE_FRAME,5,63,60,54,BS_LEFTTEXT, WS_EX_TRANSPARENT
    GROUPBOX        "Skupno",IDC_TOTALS_FRAME,5,122,111,39,0,WS_EX_TRANSPARENT
    GROUPBOX        "Zagotovljeni pomnilnik (K)",IDC_COMMIT_CHARGE_FRAME,5,166,111,39,0,WS_EX_TRANSPARENT
    GROUPBOX        "Fizični pomnilnik (K)",IDC_PHYSICAL_MEMORY_FRAME,131,122,111,39,0,WS_EX_TRANSPARENT
    GROUPBOX        "Pomnilnik jedra (K)",IDC_KERNEL_MEMORY_FRAME,131,166,111,39,0,WS_EX_TRANSPARENT
    LTEXT           "Kode dostopa",IDS_TOTALS_HANDLE_COUNT,12,131,46,8
    LTEXT           "Niti",IDS_TOTALS_THREAD_COUNT,12,140,46,8
    LTEXT           "Procesi",IDS_TOTALS_PROCESS_COUNT,12,149,46,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           "Skupno",IDS_COMMIT_CHARGE_TOTAL,12,175,46,8
    LTEXT           "Omejitev",IDS_COMMIT_CHARGE_LIMIT,12,184,46,8
    LTEXT           "Temenska vr.",IDS_COMMIT_CHARGE_PEAK,12,193,46,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           "Skupno",IDS_PHYSICAL_MEMORY_TOTAL,137,131,46,8
    LTEXT           "Razpoložljivo",IDS_PHYSICAL_MEMORY_AVAILABLE,137,140,46,8
    LTEXT           "Sis. predpomn.",IDS_PHYSICAL_MEMORY_SYSTEM_CACHE,137,149,48,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           "Skupno",IDS_KERNEL_MEMORY_TOTAL,137,174,46,8
    LTEXT           "Izmenjano",IDS_KERNEL_MEMORY_PAGED,137,184,46,8
    LTEXT           "Neizmenjano",IDS_KERNEL_MEMORY_NONPAGED,137,193,46,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        "Zgodovina uporabe CPE",IDC_CPU_USAGE_HISTORY_FRAME,74,5,168,54,0,WS_EX_TRANSPARENT
    GROUPBOX        "Zgodovina uporabe pomnilnika",IDC_MEMORY_USAGE_HISTORY_FRAME,74,63,168,54,0,WS_EX_TRANSPARENT
    PUSHBUTTON      "Prikaz uporabe CPE",IDC_CPU_USAGE_GRAPH,12,17,47,37,0,
		    WS_EX_CLIENTEDGE
    PUSHBUTTON      "Prikaz uporabe pomnilnika",IDC_MEM_USAGE_GRAPH,12,75,47,37,0,
                    WS_EX_CLIENTEDGE
    PUSHBUTTON      "Zgodovina uporabe CPE",IDC_CPU_USAGE_HISTORY_GRAPH,81,17,
                    153,37,0,WS_EX_CLIENTEDGE
    PUSHBUTTON      "Zgodovina uporabe CPE",IDC_MEM_USAGE_HISTORY_GRAPH,81,75,
                    153,37,0,WS_EX_CLIENTEDGE
END

IDD_DEBUG_CHANNELS_DIALOG DIALOG DISCARDABLE  0, 0, 247, 210
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Razhroščevalni kanali"
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      "Zapri",IDOK,171,189,69,14
END

IDD_AFFINITY_DIALOG DIALOG DISCARDABLE  0, 0, 231, 154
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Afiniteta procesorjev"
FONT 8, "MS Shell Dlg"
BEGIN
    DEFPUSHBUTTON   "V redu",IDOK,120,133,50,14
    PUSHBUTTON      "Prekliči",IDCANCEL,174,133,50,14
    LTEXT           "Afiniteta procesorjev določa, na katerih procesorjih se bo proces lahko izvajal.",
                    IDC_STATIC,5,5,220,16
    CONTROL         "CPE 0",IDC_CPU0,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,
                    11,28,37,10
    CONTROL         "CPE 1",IDC_CPU1,"Button",BS_AUTOCHECKBOX | WS_DISABLED |
                    WS_TABSTOP,11,41,37,10
    CONTROL         "CPE 2",IDC_CPU2,"Button",BS_AUTOCHECKBOX | WS_DISABLED |
                    WS_TABSTOP,11,54,37,10
    CONTROL         "CPE 3",IDC_CPU3,"Button",BS_AUTOCHECKBOX | WS_DISABLED |
                    WS_TABSTOP,11,67,37,10
    CONTROL         "CPE 4",IDC_CPU4,"Button",BS_AUTOCHECKBOX | WS_DISABLED |
                    WS_TABSTOP,11,80,37,10
    CONTROL         "CPE 5",IDC_CPU5,"Button",BS_AUTOCHECKBOX | WS_DISABLED |
                    WS_TABSTOP,11,93,37,10
    CONTROL         "CPE 6",IDC_CPU6,"Button",BS_AUTOCHECKBOX | WS_DISABLED |
                    WS_TABSTOP,11,106,37,10
    CONTROL         "CPE 7",IDC_CPU7,"Button",BS_AUTOCHECKBOX | WS_DISABLED |
                    WS_TABSTOP,11,119,37,10
    CONTROL         "CPE 8",IDC_CPU8,"Button",BS_AUTOCHECKBOX | WS_DISABLED |
                    WS_TABSTOP,61,28,37,10
    CONTROL         "CPE 9",IDC_CPU9,"Button",BS_AUTOCHECKBOX | WS_DISABLED |
                    WS_TABSTOP,61,41,37,10
    CONTROL         "CPE 10",IDC_CPU10,"Button",BS_AUTOCHECKBOX |
                    WS_DISABLED | WS_TABSTOP,61,54,41,10
    CONTROL         "CPE 11",IDC_CPU11,"Button",BS_AUTOCHECKBOX |
                    WS_DISABLED | WS_TABSTOP,61,67,41,10
    CONTROL         "CPE 12",IDC_CPU12,"Button",BS_AUTOCHECKBOX |
                    WS_DISABLED | WS_TABSTOP,61,80,41,10
    CONTROL         "CPE 13",IDC_CPU13,"Button",BS_AUTOCHECKBOX |
                    WS_DISABLED | WS_TABSTOP,61,93,41,10
    CONTROL         "CPE 14",IDC_CPU14,"Button",BS_AUTOCHECKBOX |
                    WS_DISABLED | WS_TABSTOP,61,106,41,10
    CONTROL         "CPE 15",IDC_CPU15,"Button",BS_AUTOCHECKBOX |
                    WS_DISABLED | WS_TABSTOP,61,119,41,10
    CONTROL         "CPE 16",IDC_CPU16,"Button",BS_AUTOCHECKBOX |
                    WS_DISABLED | WS_TABSTOP,116,28,41,10
    CONTROL         "CPE 17",IDC_CPU17,"Button",BS_AUTOCHECKBOX |
                    WS_DISABLED | WS_TABSTOP,116,41,41,10
    CONTROL         "CPE 18",IDC_CPU18,"Button",BS_AUTOCHECKBOX |
                    WS_DISABLED | WS_TABSTOP,116,54,41,10
    CONTROL         "CPE 19",IDC_CPU19,"Button",BS_AUTOCHECKBOX |
                    WS_DISABLED | WS_TABSTOP,116,67,41,10
    CONTROL         "CPE 20",IDC_CPU20,"Button",BS_AUTOCHECKBOX |
                    WS_DISABLED | WS_TABSTOP,116,80,41,10
    CONTROL         "CPE 21",IDC_CPU21,"Button",BS_AUTOCHECKBOX |
                    WS_DISABLED | WS_TABSTOP,116,93,41,10
    CONTROL         "CPE 22",IDC_CPU22,"Button",BS_AUTOCHECKBOX |
                    WS_DISABLED | WS_TABSTOP,116,106,41,10
    CONTROL         "CPE 23",IDC_CPU23,"Button",BS_AUTOCHECKBOX |
                    WS_DISABLED | WS_TABSTOP,116,119,41,10
    CONTROL         "CPE 24",IDC_CPU24,"Button",BS_AUTOCHECKBOX |
                    WS_DISABLED | WS_TABSTOP,175,28,41,10
    CONTROL         "CPE 25",IDC_CPU25,"Button",BS_AUTOCHECKBOX |
                    WS_DISABLED | WS_TABSTOP,175,41,41,10
    CONTROL         "CPE 26",IDC_CPU26,"Button",BS_AUTOCHECKBOX |
                    WS_DISABLED | WS_TABSTOP,175,54,41,10
    CONTROL         "CPE 27",IDC_CPU27,"Button",BS_AUTOCHECKBOX |
                    WS_DISABLED | WS_TABSTOP,175,67,41,10
    CONTROL         "CPE 28",IDC_CPU28,"Button",BS_AUTOCHECKBOX |
                    WS_DISABLED | WS_TABSTOP,175,80,41,10
    CONTROL         "CPE 29",IDC_CPU29,"Button",BS_AUTOCHECKBOX |
                    WS_DISABLED | WS_TABSTOP,175,93,41,10
    CONTROL         "CPE 30",IDC_CPU30,"Button",BS_AUTOCHECKBOX |
                    WS_DISABLED | WS_TABSTOP,175,106,41,10
    CONTROL         "CPE 31",IDC_CPU31,"Button",BS_AUTOCHECKBOX |
                    WS_DISABLED | WS_TABSTOP,175,119,41,10
END

IDD_COLUMNS_DIALOG DIALOG DISCARDABLE  0, 0, 254, 199
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Izbira stolpcev"
FONT 8, "MS Shell Dlg"
BEGIN
    DEFPUSHBUTTON   "V redu",IDOK,84,178,50,14
    PUSHBUTTON      "Prekliči",IDCANCEL,138,178,50,14
    LTEXT           "Izberite stolpce, ki naj bodo prikazani na strani Procesi.",
                    IDC_STATIC,37,7,180,17
    CONTROL         "&Ime",IDC_IMAGENAME,"Button",BS_AUTOCHECKBOX |
                    WS_DISABLED | WS_TABSTOP,7,28,116,10
    CONTROL         "&PID (ID procesa)",IDC_PID,"Button",
                    BS_AUTOCHECKBOX | WS_TABSTOP,7,39,116,10
    CONTROL         "Uporaba &CPE",IDC_CPUUSAGE,"Button",BS_AUTOCHECKBOX |
                    WS_TABSTOP,7,50,116,10
    CONTROL         "&Čas CPE",IDC_CPUTIME,"Button",BS_AUTOCHECKBOX |
                    WS_TABSTOP,7,61,116,10
    CONTROL         "Uporaba &pomnilnika",IDC_MEMORYUSAGE,"Button",BS_AUTOCHECKBOX |
                    WS_TABSTOP,7,72,116,10
    CONTROL         "&Delta uporabe pomnilnika",IDC_MEMORYUSAGEDELTA,"Button",
                    BS_AUTOCHECKBOX | WS_TABSTOP,7,83,116,10
    CONTROL         "Te&m. vr. uporabe pomnilnika",IDC_PEAKMEMORYUSAGE,"Button",
                    BS_AUTOCHECKBOX | WS_TABSTOP,7,94,116,10
    CONTROL         "Napake i&zmenjevanja",IDC_PAGEFAULTS,"Button",BS_AUTOCHECKBOX |
                    WS_TABSTOP,7,105,116,10
    CONTROL         "&USER predmeti",IDC_USEROBJECTS,"Button",BS_AUTOCHECKBOX |
                    WS_TABSTOP,7,116,116,10
    CONTROL         "V/I branje",IDC_IOREADS,"Button",BS_AUTOCHECKBOX |
                    WS_TABSTOP,7,127,116,10
    CONTROL         "V/I branje (bajti)",IDC_IOREADBYTES,"Button",
                    BS_AUTOCHECKBOX | WS_TABSTOP,7,138,116,10
    CONTROL         "ID &Seje",IDC_SESSIONID,"Button",BS_AUTOCHECKBOX |
                    WS_TABSTOP,7,149,116,10
    CONTROL         "Uporabniško &ime",IDC_USERNAME,"Button",BS_AUTOCHECKBOX |
                    WS_TABSTOP,7,160,116,10
    CONTROL         "D&elta napak izmenjevanja",IDC_PAGEFAULTSDELTA,"Button",
                    BS_AUTOCHECKBOX | WS_TABSTOP,131,28,116,10
    CONTROL         "Velikost na&videznega pomnilnika",IDC_VIRTUALMEMORYSIZE,"Button",
                    BS_AUTOCHECKBOX | WS_TABSTOP,131,39,116,10
    CONTROL         "I&zmenjana zaloga",IDC_PAGEDPOOL,"Button",BS_AUTOCHECKBOX |
                    WS_TABSTOP,131,50,116,10
    CONTROL         "Ne&izmenjana zaloga",IDC_NONPAGEDPOOL,"Button",
                    BS_AUTOCHECKBOX | WS_TABSTOP,131,61,116,10
    CONTROL         "Osnovna p&rioriteta",IDC_BASEPRIORITY,"Button",
                    BS_AUTOCHECKBOX | WS_TABSTOP,131,72,116,10
    CONTROL         "Število &dostopnih kod",IDC_HANDLECOUNT,"Button",BS_AUTOCHECKBOX |
                    WS_TABSTOP,131,83,116,10
    CONTROL         "Število &niti",IDC_THREADCOUNT,"Button",BS_AUTOCHECKBOX |
                    WS_TABSTOP,131,94,116,10
    CONTROL         "GDI predmeti",IDC_GDIOBJECTS,"Button",BS_AUTOCHECKBOX |
                    WS_TABSTOP,131,105,116,10
    CONTROL         "V/I pisanje",IDC_IOWRITES,"Button",BS_AUTOCHECKBOX |
                    WS_TABSTOP,131,116,116,10
    CONTROL         "V/I pisanje (bajti)",IDC_IOWRITEBYTES,"Button",
                    BS_AUTOCHECKBOX | WS_TABSTOP,131,127,116,10
    CONTROL         "V/I ostalo",IDC_IOOTHER,"Button",BS_AUTOCHECKBOX |
                    WS_TABSTOP,131,138,116,10
    CONTROL         "V/I ostalo (bajti)",IDC_IOOTHERBYTES,"Button",
                    BS_AUTOCHECKBOX | WS_TABSTOP,131,149,116,10
END

/*
 String Table
*/

STRINGTABLE DISCARDABLE
BEGIN
    IDS_APP_TITLE           "Upravitelj opravil"
    IDC_TASKMGR             "Upravitelj opravil"
    IDS_RUNDLG_CAPTION      "Create New Task"
END

STRINGTABLE DISCARDABLE
BEGIN
    ID_FILE_NEW             "Zažene nov program"
    ID_OPTIONS_ALWAYSONTOP  "Upravitelj opravil ostane na vrhu vseh ostalih oken, razen, če je pomanjšan"
    ID_OPTIONS_MINIMIZEONUSE
                            "Upravitelj opravil je pomanjpan, kadar izvedete operacijo Preklopi na"
    ID_OPTIONS_HIDEWHENMINIMIZED "Skrije Upravitelja opravil, ko je le-ta pomanjšan"
    ID_VIEW_REFRESH         "Prisili Upravitelja opravil, da osveži, ne glede na hitrost osveževanja"
    ID_VIEW_LARGE           "Prikaže opravila kot velike ikone"
    ID_VIEW_SMALL           "Prikaže opravila kot male ikone"
    ID_VIEW_DETAILS         "Prikaže podrobnosti o opravilih"
    ID_VIEW_UPDATESPEED_HIGH "Osveži prikaz dvakrat na sekundo"
    ID_VIEW_UPDATESPEED_NORMAL "Osveži prikaz vsaki dve sekundi"
    ID_VIEW_UPDATESPEED_LOW "Osveži prikaz vsake štiri sekunde"
END

STRINGTABLE DISCARDABLE
BEGIN
    ID_VIEW_UPDATESPEED_PAUSED "Ne osvežuje samodejno"
    ID_WINDOWS_TILEHORIZONTALLY
                            "Horizontalno razvrsti okna po namizju"
    ID_WINDOWS_TILEVERTICALLY "Vertikalno razvrsti okna po namizju"
    ID_WINDOWS_MINIMIZE     "Pomanjša okna"
    ID_WINDOWS_MAXIMIZE     "Razširi okna"
    ID_WINDOWS_CASCADE      "Razvrsti okna v kaskado"
    ID_WINDOWS_BRINGTOFRONT "Privede okno v ospredje, vendar ne preklopi nanj"
    ID_HELP_TOPICS          "Prikaže teme pomoči Upravitelja opravil"
    ID_HELP_ABOUT           "Prikaže podatke o programu, različici in avtorskih pravicah"
    ID_FILE_EXIT            "Izhod iz Upravitelja opravil"
    ID_OPTIONS_SHOW16BITTASKS
                            "Prikaže 16-bitna opravila pod ustreznim ntvdm.exe"
    ID_VIEW_SELECTCOLUMNS   "Izbor stolpcev, ki naj bodo prikazani na strani Procesi"
    ID_VIEW_SHOWKERNELTIMES "Prikaže čas jedra na grafih"
    ID_VIEW_CPUHISTORY_ONEGRAPHALL
                            "Prikaže skupno uporabo vseh CPE na enem samem grafu"
    ID_VIEW_CPUHISTORY_ONEGRAPHPERCPU "Vsaka CPE ima svoj graf"
    ID_APPLICATION_PAGE_SWITCHTO
                            "Privede opravilo v ospredje"
END

STRINGTABLE DISCARDABLE
BEGIN
    ID_ENDTASK              "Zaključi izbrana opravila"
    ID_GOTOPROCESS          "Preseli pozornost na proces(e) izbranega opravila"
    ID_RESTORE              "Obnovi Upravitelja opravil iz prikritega stanja"
    ID_PROCESS_PAGE_ENDPROCESS "Odstrani proces iz sistema"
    ID_PROCESS_PAGE_ENDPROCESSTREE
                            "Odstrani proces in vse njegove potomce iz sistema"
    ID_PROCESS_PAGE_DEBUG   "Izbranemu procesu priključi razhroščevalnik"
    ID_PROCESS_PAGE_SETAFFINITY
    "Določi, na katerih procesorjih se bo proces lahko izvajal"
    ID_PROCESS_PAGE_SETPRIORITY_REALTIME
                            "Dodeli proces v REALNOČASNOVNI prioritetni razred"
    ID_PROCESS_PAGE_SETPRIORITY_HIGH "Dodeli proces v VISOK prioritetni razred"
    ID_PROCESS_PAGE_SETPRIORITY_ABOVENORMAL
                            "Dodeli proces v NADPOVPREČNI prioritetni razred"
    ID_PROCESS_PAGE_SETPRIORITY_NORMAL
                            "Dodeli proces v POVPREČNI prioritetni razred"
    ID_PROCESS_PAGE_SETPRIORITY_BELOWNORMAL
                            "Dodeli proces v PODPOVPREČNI prioritetni razred"
    ID_PROCESS_PAGE_SETPRIORITY_LOW "Dodeli proces v NIZEK prioritetni razred"
END
