/*
 * WineCfg resources
 * Slovenian Language Support
 *
 * 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

IDR_WINECFG MENU DISCARDABLE
BEGIN
    POPUP ""
    BEGIN
        MENUITEM "Nastavitve", 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,106,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 Registration Information ", IDC_STATIC, 15, 110, 230, 55
    LTEXT           "Owner:", IDC_STATIC, 22, 126, 40, 20
    LTEXT           "Organization:", IDC_STATIC, 22, 140, 50, 20
    EDITTEXT        IDC_ABT_OWNER, 75, 126, 160, 13, ES_AUTOHSCROLL | WS_TABSTOP
    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        " Nastavitve programov ",IDC_STATIC, 8,4,244,240
    LTEXT           "Wine je sposoben oponašanja različnih različic Oken za vsak program posebej. Ta zavihek je povezan z zavihkoma Knjižnice in Grafika, kar omogoča spreminjanje nastavitev v teh dveh zavihkih tako za ves sistem kot za posamezne programe.",
                    IDC_STATIC,15,20,227,40
    CONTROL         "Programi",IDC_APP_LISTVIEW,"SysListView32",WS_BORDER | WS_TABSTOP | LVS_LIST | LVS_SINGLESEL | LVS_SHOWSELALWAYS,
                    15,60,230,140
    PUSHBUTTON	    "&Dodaj program ...",IDC_APP_ADDAPP, 90,204,75,14
    PUSHBUTTON	    "&Odstrani program",IDC_APP_REMOVEAPP, 170,204,75,14
    LTEXT           "&Različica Oken:",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    " Nastavitve oken ",IDC_STATIC,8,4,244,84
    CONTROL     "Dovoli DirectX programom, da preprečijo &miški zapuščanje okna",IDC_DX_MOUSE_GRAB,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,20,230,8
    CONTROL     "Dovoli upravljalniku oken, da okra&si okna",IDC_ENABLE_DECORATED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,32,230,8
    CONTROL     "Dovoli upravljalniku &oken, da upravlja z Wine-ovimi okni",IDC_ENABLE_MANAGED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,44,230,8
    CONTROL     "Uporabi navidezni &zaslon",IDC_ENABLE_DESKTOP,"Button",
                BS_AUTOCHECKBOX | WS_TABSTOP,15,56,230,8
    LTEXT       "&Velikost okna:",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       "&Podpora Vertex Shader: ",IDC_STATIC,15,203,80,32
    COMBOBOX    IDC_D3D_VSHADER_MODE,100,108,145,70,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
    CONTROL     "Omogoči &Pixel Shader (če to omogoča strojna oprema)",IDC_D3D_PSHADER_MODE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,126,230,10

    GROUPBOX    " Ločljivost &zaslona ",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       "This is a sample text using 10 point Tahoma",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        " Nastavitve DLL knjižnic ",IDC_STATIC,8,4,244,240
    LTEXT           "Vsaka DLL knjižnica (Dinamic Link Library) je lahko določena kot bodisi vgrajena ('builtin'; del Wine-a) oziroma izvirna ('native'; vzeta iz Oken ali nameščena skupaj s programom za Okna)."
                    ,IDC_STATIC,16,16,220,32
    LTEXT           "&Nova nastavitev knjižnice:",IDC_STATIC,16,58,100,8
    COMBOBOX        IDC_DLLCOMBO,16,68,140,14,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP | CBS_SORT | CBS_LOWERCASE
    PUSHBUTTON      "&Dodaj",IDC_DLLS_ADDDLL, 164,68,82,13,BS_DEFPUSHBUTTON
    LTEXT           "Obstoječe n&astavitve:",IDC_STATIC,16,86,100,8
    LISTBOX         IDC_DLLS_LIST,16,96,140,140,WS_BORDER | WS_TABSTOP | WS_VSCROLL
    PUSHBUTTON      "&Uredi",IDC_DLLS_EDITDLL,164,96,82,14
    PUSHBUTTON      "&Odstrani",IDC_DLLS_REMOVEDLL,164,114,82,14
END

IDD_LOADORDER DIALOG DISCARDABLE 80, 90, 110, 92
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
CAPTION "Urejanje nastavitve"
FONT 8, "MS Shell Dlg"
BEGIN
    GROUPBOX        " Vrstni red nalaganja ",IDC_STATIC,8,4,94,66
    CONTROL         "&Vgrajena (Wine)",IDC_RAD_BUILTIN,"Button", BS_AUTORADIOBUTTON | WS_GROUP,16,14,75,10
    CONTROL         "&Izvorna (Okna)",IDC_RAD_NATIVE,"Button", BS_AUTORADIOBUTTON,16,24,75,10
    CONTROL         "Vgra&jena, izvorna",IDC_RAD_BUILTIN_NATIVE,"Button", BS_AUTORADIOBUTTON,16,34,75,10
    CONTROL         "I&zvorna, vgrajena",IDC_RAD_NATIVE_BUILTIN,"Button", BS_AUTORADIOBUTTON,16,44,75,10
    CONTROL         "&Onemogoči",IDC_RAD_DISABLE,"Button", BS_AUTORADIOBUTTON,16,54,75,10
    DEFPUSHBUTTON   "V redu",IDOK,8,74,45,14,WS_GROUP
    PUSHBUTTON      "Prekliči",IDCANCEL,57,74,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        " Preslikave &pogonov ",IDC_STATIC,8,4,244,240
    CONTROL         "Listview",IDC_LIST_DRIVES,"SysListView32",LVS_REPORT | LVS_AUTOARRANGE | LVS_ALIGNLEFT |
                    LVS_SINGLESEL | WS_BORDER | WS_TABSTOP, 15,18,232,76
    PUSHBUTTON      "&Dodaj ...",IDC_BUTTON_ADD,15,98,37,14
    PUSHBUTTON      "&Odstrani",IDC_BUTTON_REMOVE,56,98,37,14
    PUSHBUTTON      "&Samozaznaj ...",IDC_BUTTON_AUTODETECT,187,98,59,14

    /* editing drive details */
    LTEXT           "&Pot:",IDC_STATIC,15,123,20,9
    EDITTEXT        IDC_EDIT_PATH,41,120,160,13,ES_AUTOHSCROLL | WS_TABSTOP
    PUSHBUTTON      "&Brskaj ...",IDC_BUTTON_BROWSE_PATH,206,120,40,13

    LTEXT           "&Vrsta:",IDC_STATIC_TYPE,15,138,21,10
    COMBOBOX        IDC_COMBO_TYPE,41,135,77,60,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP

    LTEXT           "Oznaka in serijska številka",IDC_LABELSERIAL_STATIC,15,155,95,10

    PUSHBUTTON      "Pokaži &napredno",IDC_BUTTON_SHOW_HIDE_ADVANCED,186,136,60,13
    CONTROL         "Samozaznaj &z naprave:",IDC_RADIO_AUTODETECT,"Button",
                    BS_AUTORADIOBUTTON,15,166,93,10
    EDITTEXT        IDC_EDIT_DEVICE,27,176,174,13,ES_AUTOHSCROLL
    PUSHBUTTON      "&Brskaj ...",IDC_BUTTON_BROWSE_DEVICE,206,176,40,13
    CONTROL         "&Ročno dodeli:",IDC_RADIO_ASSIGN,"Button",
                    BS_AUTORADIOBUTTON,15,195,69,10

    LTEXT           "&Oznaka:",IDC_STATIC_LABEL,33,208,39,12
    EDITTEXT        IDC_EDIT_LABEL,73,205,68,13,ES_AUTOHSCROLL | WS_TABSTOP
    LTEXT           "S&erijska št.:",IDC_STATIC_SERIAL,33,225,39,12
    EDITTEXT        IDC_EDIT_SERIAL,73,221,68,13,ES_AUTOHSCROLL | WS_TABSTOP

    CONTROL         "Pokaži &datoteke s piko",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        " Izbira gonilnika ",IDC_STATIC,8,4,244,195
    LTEXT           "Omogočite želeni zvočni gonilnik tako, da ga obkljukate. Zvočni gonilniki, ki niso izbrani, bodo onemogočeni. Izbira več zvočnih gonilnikov ni priporočljiva. Če želite urediti nastavitve zvočnega gonilnika, kliknite nanj z desnim gumbom.",IDC_STATIC,15,20,227,40
    CONTROL         "Naprave",IDC_AUDIO_TREE,"SysTreeView32",WS_BORDER | WS_TABSTOP,15,60,140,130
    PUSHBUTTON      "&Preizkusi zvok",IDC_AUDIO_TEST,170,60,59,14
    PUSHBUTTON	    "&Nadzorna plošča",IDC_AUDIO_CONTROL_PANEL,170,80,59,14
    GROUPBOX        " DirectSound ",IDC_STATIC,8,205,244,60
    LTEXT	    "&Strojno pospeševanje: ",IDC_STATIC,15,215,90,10
    COMBOBOX	    IDC_DSOUND_HW_ACCEL,100,213,150,70,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
    LTEXT           "&Frekvenca vzorčenja:",IDC_STATIC,15,232,70,8
    COMBOBOX        IDC_DSOUND_RATES,90,230,42,76,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
    LTEXT           "Število &bitov na vzorec:",IDC_STATIC,137,232,80,8
    COMBOBOX        IDC_DSOUND_BITS,220,230,30,56,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
    CONTROL         "&Emulacija gonilnika",IDC_DSOUND_DRV_EMUL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,250,230,10
END

IDD_DESKTOP_INTEGRATION DIALOG DISCARDABLE  0, 0, 260, 250
STYLE WS_CHILD | WS_DISABLED
FONT 8, "MS Shell Dlg"
BEGIN
    GROUPBOX        " Izgled ",IDC_STATIC,8,4,244,106
    LTEXT           "&Tema:",IDC_STATIC,15,16,130,8
    COMBOBOX        IDC_THEME_THEMECOMBO,15,24,130,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
    PUSHBUTTON      "&Namesti temo ...",IDC_THEME_INSTALL,152,23,93,14
    LTEXT           "&Barva:",IDC_THEME_COLORTEXT,15,40,112,8
    COMBOBOX        IDC_THEME_COLORCOMBO,15,48,112,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
    LTEXT           "&Velikost:",IDC_THEME_SIZETEXT,135,40,110,8
    COMBOBOX        IDC_THEME_SIZECOMBO,135,48,110,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
    LTEXT           "P&redmet:",IDC_STATIC,15,64,112,8
    COMBOBOX        IDC_SYSPARAM_COMBO,15,74,112,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | CBS_SORT
    LTEXT           "B&arva:",IDC_SYSPARAM_COLOR_TEXT,135,64,25,8,WS_DISABLED
    PUSHBUTTON      "",IDC_SYSPARAM_COLOR,135,74,25,13,WS_DISABLED | BS_OWNERDRAW
    LTEXT           "V&elikost:",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      "&Pisava",IDC_SYSPARAM_FONT,208,74,37,13,WS_DISABLED
    GROUPBOX        " Vmesniške &mape ",IDC_STATIC,8,114,244,100
    CONTROL         "Listview",IDC_LIST_SFPATHS,"SysListView32",LVS_REPORT | LVS_AUTOARRANGE | LVS_ALIGNLEFT |
                     LVS_SINGLESEL | WS_BORDER | WS_TABSTOP, 15,126,230,64
    CONTROL         "&Poveži z:",IDC_LINK_SFPATH,"Button",BS_AUTOCHECKBOX|WS_TABSTOP|WS_DISABLED,15,195,50,13
    EDITTEXT         IDC_EDIT_SFPATH,65,195,145,13,ES_AUTOHSCROLL|WS_TABSTOP|WS_DISABLED
    PUSHBUTTON      "B&rskaj",IDC_BROWSE_SFPATH,215,195,30,13,WS_DISABLED
END

STRINGTABLE DISCARDABLE
BEGIN
    IDS_TAB_APPLICATIONS    "Programi"
    IDS_TAB_DLLS            "Knjižnice"
    IDS_TAB_DRIVES          "Pogoni"
    IDS_CHOOSE_PATH         "Prosim, izberite unix ciljni imenik."
    IDS_HIDE_ADVANCED       "Skrij &napredno"
    IDS_SHOW_ADVANCED       "Pokaži &napredno"
    IDS_NOTHEME             "(Brez teme)"
    IDS_TAB_GRAPHICS        "Grafika"
    IDS_TAB_DESKTOP_INTEGRATION "Vključitev v namizje"
    IDS_TAB_AUDIO           "Zvok"
    IDS_TAB_ABOUT           "O programu"
    IDS_WINECFG_TITLE       "Wine nastavitve"
    IDS_WINECFG_TITLE_APP   "Wine nastavitve za %s"
    IDS_THEMEFILE           "Datoteke s temami"
    IDS_THEMEFILE_SELECT    "Izberite datoteko s temo"
    IDS_AUDIO_MISSING       "V registru trenutno ni naveden noben zvočni gonilnik.\n\nKot privzeta nastavitev bo izbran priporočen gonilnik.\nČe želite, lahko uporabite drug razpoložljiv gonilnik\n\nZa uporabo izbranega gonilnika kliknite na gumb Uporabi."
    IDS_SHELL_FOLDER        "Mapa"
    IDS_LINKS_TO            "Povezano z"
END

STRINGTABLE DISCARDABLE
BEGIN
    IDS_DLL_WARNING         "Spreminjanje vrstnega reda nalaganja za to knjižnico ni priporočljivo.\nAli ste prepričani, da ga želite spremeniti?"
    IDS_DLL_WARNING_CAPTION "Opozorilo: sistemska knjižnica"
    IDS_DLL_NATIVE          "izvorno"
    IDS_DLL_BUILTIN         "vgrajeno"
    IDS_DLL_NATIVE_BUILTIN  "izvorno, vgrajeno"
    IDS_DLL_BUILTIN_NATIVE  "vgrajeno, izvorno"
    IDS_DLL_DISABLED        "onemogočeno"
    IDS_DEFAULT_SETTINGS    "Privzete (sistemske) nastavitve"
    IDS_EXECUTABLE_FILTER   "Wine programi (*.exe,*.exe.so)\0*.exe;*.exe.so\0"
    IDS_USE_GLOBAL_SETTINGS "Uporabi sistemske nastavitve"
    IDS_SELECT_EXECUTABLE   "Izberite izvršljivo datoteko"
END

STRINGTABLE DISCARDABLE
BEGIN
    IDS_SHADER_MODE_HARDWARE    "Strojno"
    IDS_SHADER_MODE_NONE        "Brez"
END

STRINGTABLE DISCARDABLE
BEGIN
    IDS_DRIVE_UNKNOWN           "Samozaznaj"
    IDS_DRIVE_FIXED             "Lokalen trdi disk"
    IDS_DRIVE_REMOTE            "Mrežni disk v skupni rabi"
    IDS_DRIVE_REMOVABLE         "Disketa"
    IDS_DRIVE_CDROM             "CD-ROM"
    IDS_DRIVE_LETTERS_EXCEEDED  "Ni mogoče dodati novega pogona.\n\nZa oznake pogonov so na voljo črke od A do Z, torej največ 26 pogonov."
    IDS_SYSTEM_DRIVE_LABEL      "Sistemski pogon"
    IDS_CONFIRM_DELETE_C        "Ali ste prepričani, da želite odstraniti pogon C?\n\nVečina programov za Okna za pravilno delovanje pričakuje obstoj pogona C. Če boste pogon odstranili, ga pozneje ne pozabite ponovno dodati!"
    IDS_COL_DRIVELETTER         "Črka"
    IDS_COL_DRIVEMAPPING        "Preslikava pogona"
    IDS_NO_DRIVE_C              "Nimate določenega pogona C, kar zna biti problematično.\n\nČe ga želite dodati, uporabite gumb Dodaj v zavihku Pogoni!\n"
END

STRINGTABLE DISCARDABLE
BEGIN
    IDS_ACCEL_FULL              "Polno"
    IDS_ACCEL_STANDARD          "Standardno"
    IDS_ACCEL_BASIC             "Osnovno"
    IDS_ACCEL_EMULATION         "Emulacija"
    IDS_DRIVER_ALSA             "ALSA gonilnik"
    IDS_DRIVER_ESOUND           "EsounD gonilnik"
    IDS_DRIVER_OSS              "OSS gonilnik"
    IDS_DRIVER_JACK             "JACK gonilnik"
    IDS_DRIVER_NAS              "NAS gonilnik"
    IDS_DRIVER_AUDIOIO          "Audio IO (Solaris) gonilnik"
    IDS_DRIVER_COREAUDIO        "CoreAudio gonilnik"
    IDS_OPEN_DRIVER_ERROR       "Gonilnika %s ni mogoče odpreti!"
    IDS_SOUNDDRIVERS            "Zvočni gonilniki"
    IDS_DEVICES_WAVEOUT         "Wave Out naprave"
    IDS_DEVICES_WAVEIN          "Wave In naprave"
    IDS_DEVICES_MIDIOUT         "MIDI Out naprave"
    IDS_DEVICES_MIDIIN          "MIDI In naprave"
    IDS_DEVICES_AUX             "Pomožne (Aux) naprave"
    IDS_DEVICES_MIXER           "Mešalne naprave"
    IDS_UNAVAILABLE_DRIVER      "V registru sem našel naveden gonilnik, ki ni na voljo!\n\nAli naj odstranim '%s' iz registra?"
    IDS_WARNING                 "Opozorilo"
END

STRINGTABLE DISCARDABLE
BEGIN
    IDC_SYSPARAMS_BUTTON            "Kontrole: ozadje"
    IDC_SYSPARAMS_BUTTON_TEXT       "Kontrole: besedilo"
    IDC_SYSPARAMS_DESKTOP           "Namizje"
    IDC_SYSPARAMS_MENU              "Meni: ozadje"
    IDC_SYSPARAMS_MENU_TEXT         "Meni: besedilo"
    IDC_SYSPARAMS_SCROLLBAR         "Drsnik"
    IDC_SYSPARAMS_SELECTION         "Izbira: ozadje"
    IDC_SYSPARAMS_SELECTION_TEXT    "Izbira: besedilo"
    IDC_SYSPARAMS_TOOLTIP           "Namig orodja: ozadje"
    IDC_SYSPARAMS_TOOLTIP_TEXT      "Namig orodja: besedilo"
    IDC_SYSPARAMS_WINDOW            "Okno: ozadje"
    IDC_SYSPARAMS_WINDOW_TEXT       "Okno: besedilo"
    IDC_SYSPARAMS_ACTIVE_TITLE      "Naslov akt. okna: ozadje"
    IDC_SYSPARAMS_ACTIVE_TITLE_TEXT "Naslov akt. okna: besedilo"
    IDC_SYSPARAMS_INACTIVE_TITLE    "Nasov neakt. okna: ozadje"
    IDC_SYSPARAMS_INACTIVE_TITLE_TEXT "Naslov neakt. okna: besedilo"
    IDC_SYSPARAMS_MSGBOX_TEXT       "Okno s sporočilom: besedilo"
    IDC_SYSPARAMS_APPWORKSPACE      "Delovni prostor programa"
    IDC_SYSPARAMS_WINDOW_FRAME      "Okvir okna"
    IDC_SYSPARAMS_ACTIVE_BORDER     "Rob akt. okna"
    IDC_SYSPARAMS_INACTIVE_BORDER   "Rob neakt. okna"
    IDC_SYSPARAMS_BUTTON_SHADOW     "Kontrole: senca"
    IDC_SYSPARAMS_GRAY_TEXT         "Sivo besedilo"
    IDC_SYSPARAMS_BUTTON_HILIGHT    "Kontrole: osvetljeno"
    IDC_SYSPARAMS_BUTTON_DARK_SHADOW "Kontole: temna senca"
    IDC_SYSPARAMS_BUTTON_LIGHT      "Kontrole: svetlo"
    IDC_SYSPARAMS_BUTTON_ALTERNATE  "Kontrole: alt. ozadje"
    IDC_SYSPARAMS_HOT_TRACKING      "Element z 'vročim sledenjem'"
    IDC_SYSPARAMS_ACTIVE_TITLE_GRADIENT "Naslov akt. okna: gradient"
    IDC_SYSPARAMS_INACTIVE_TITLE_GRADIENT "Naslov neakt. okna: gradient"
    IDC_SYSPARAMS_MENU_HILIGHT      "Meni: osvetljen"
    IDC_SYSPARAMS_MENUBAR           "Meni: vrstica"
END

#pragma code_page(default)
