/*
 *  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
 */

#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

#pragma code_page(default)
