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

IDM_MAINMENU MENU DISCARDABLE
BEGIN
    POPUP "&Datotka"
    BEGIN
        MENUITEM "&Nova ...\tCtrl+N",          ID_FILE_NEW
        MENUITEM "&Odpri ...\tCtrl+O",   ID_FILE_OPEN
        MENUITEM "&Shrani\tCtrl+S",         ID_FILE_SAVE
        MENUITEM "Shrani &kot ...",        ID_FILE_SAVEAS
        MENUITEM SEPARATOR
        MENUITEM "Na&tisni ...\tCtrl+P",  ID_PRINT
        MENUITEM "Pre&dogled tiskanja ...",  ID_PREVIEW
        MENUITEM "Pri&prava strani ...",     ID_PRINTSETUP
        MENUITEM SEPARATOR
        MENUITEM "Iz&hod",         ID_FILE_EXIT
    END
    POPUP "&Urejanje"
    BEGIN
        MENUITEM "Ra&zveljavi\tCtrl+Z",               ID_EDIT_UNDO
        MENUITEM "Po&novi\tCtrl+Y",               ID_EDIT_REDO
        MENUITEM SEPARATOR
        MENUITEM "&Izreži\tCtrl+X",                ID_EDIT_CUT
        MENUITEM "&Kopiraj\tCtrl+C",               ID_EDIT_COPY
        MENUITEM "&Prilepi\tCtrl+V",              ID_EDIT_PASTE
        MENUITEM "Po&briši\tDEL",                 ID_EDIT_CLEAR
        MENUITEM "Izberi &vse\tCtrl+A",         ID_EDIT_SELECTALL
        MENUITEM SEPARATOR
        MENUITEM "Na&jdi ...\tCrtl+F",         ID_FIND
        MENUITEM "Najdi n&aslednje\tF3",              ID_FIND_NEXT
        MENUITEM "Za&menjaj ...\tCtrl+H",      ID_REPLACE
        MENUITEM SEPARATOR
        MENUITEM "Samo za b&ranje",                  ID_EDIT_READONLY
        MENUITEM "Spr&emenjeno",                   ID_EDIT_MODIFIED
        MENUITEM SEPARATOR
        POPUP "Do&datno"
        BEGIN
            MENUITEM "Poda&tki o izbiri",             ID_EDIT_SELECTIONINFO
            MENUITEM "Oblika zna&kov",           ID_EDIT_CHARFORMAT
            MENUITEM "Pr&ivzeta oblika znakov",           ID_EDIT_DEFCHARFORMAT
            MENUITEM "Ob&lika odstavka",           ID_EDIT_PARAFORMAT
            MENUITEM "Pridobi &besedilo",                   ID_EDIT_GETTEXT
        END
    END
    POPUP "Po&gled"
    BEGIN
        MENUITEM "O&rodna vrstica",        ID_TOGGLE_TOOLBAR
        MENUITEM "O&blikovna vrstica",      ID_TOGGLE_FORMATBAR
        MENUITEM "&Ravnilo",          ID_TOGGLE_RULER
        MENUITEM "&Vrstica stanja",      ID_TOGGLE_STATUSBAR
        MENUITEM SEPARATOR
        MENUITEM "&Možnosti ...",  ID_VIEWPROPERTIES
    END
    POPUP "&Vstavi"
    BEGIN
        MENUITEM "&Datum in čas ...",  ID_DATETIME
    END
    POPUP "O&blika"
    BEGIN
        MENUITEM "&Pisava ...",                  ID_FONTSETTINGS
        MENUITEM "&Vrstične oznake"                ID_BULLET
        MENUITEM "O&dstavek ..."              ID_PARAFORMAT
        MENUITEM "&Tabulator ..."                   ID_TABSTOPS
        POPUP "Ozad&je"
        BEGIN
            MENUITEM "&Sistemsko\tCtrl+1",         ID_BACK_1
            MENUITEM "&PostThat rumenkasto\tCtrl+2",           ID_BACK_2
        END
    END
    POPUP "&Pomoč"
    BEGIN
        MENUITEM "&O Wine Wordpadu"       ID_ABOUT
    END
END

IDM_POPUP MENU DISCARDABLE
BEGIN
    POPUP ""
    BEGIN
        MENUITEM "&Izreži",                ID_EDIT_CUT
        MENUITEM "&Kopiraj",               ID_EDIT_COPY
        MENUITEM "&Prilepi",              ID_EDIT_PASTE
        MENUITEM SEPARATOR
        MENUITEM "&Vrstične oznake"       ID_BULLET
        MENUITEM "O&dstavek ..."     ID_PARAFORMAT
    END
END

IDD_DATETIME DIALOG DISCARDABLE 30, 20, 130, 80
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
CAPTION "Datum in čas"
FONT 10, "MS Sans Serif"
BEGIN
    LTEXT        "Razpoložljive oblike",0,3,2,100,15
    LISTBOX      IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY
    PUSHBUTTON   "&V redu",IDOK,87,12,40,12
    PUSHBUTTON   "&Prekliči",IDCANCEL,87,26,40,12
END

IDD_NEWFILE DIALOG DISCARDABLE 30, 20, 140, 80
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
CAPTION "Nov dokument"
FONT 10, "MS Sans Serif"
BEGIN
    LTEXT        "Vrsta dokumenta",0,3,2,100,15
    LISTBOX      IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT
    PUSHBUTTON   "&V redu",IDOK,97,12,40,12
    PUSHBUTTON   "&Prekliči",IDCANCEL,97,26,40,12
END

IDD_PARAFORMAT DIALOG DISCARDABLE 30, 20, 200, 110
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
Caption "Oblika odstavka"
FONT 8, "MS Shell Dlg"
BEGIN
    GROUPBOX "Zamiki", 0, 10, 10, 120, 68
    LTEXT "Levo", 0, 15, 22, 40, 13
    EDITTEXT IDC_PARA_LEFT, 55, 20, 60, 13
    LTEXT "Desno", 0, 15, 40, 40, 13
    EDITTEXT IDC_PARA_RIGHT, 55, 38, 60, 13
    LTEXT "Prva vrstica", 0, 15, 58, 40, 13
    EDITTEXT IDC_PARA_FIRST, 55, 56, 60, 13
    LTEXT "Poravnava", 0, 15, 87, 40, 13
    COMBOBOX IDC_PARA_ALIGN, 55, 85, 60, 60, CBS_DROPDOWNLIST
    PUSHBUTTON "&V redu", IDOK, 137, 15, 50, 15
    PUSHBUTTON "&Prekliči", IDCANCEL, 137, 33, 50, 15
END

IDD_TABSTOPS DIALOG DISCARDABLE 30, 20, 200, 110
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
Caption "Tabulatorji"
FONT 8, "MS SHell DLg"
BEGIN
    GROUPBOX "Položaji tabulatorja", 0, 10, 10, 120, 90
    COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE | CBS_SORT
    DEFPUSHBUTTON "&Dodaj", ID_TAB_ADD, 20, 80, 45, 15
    PUSHBUTTON "&Odstrani", ID_TAB_DEL, 72, 80, 45, 15
    PUSHBUTTON "&V redu", IDOK, 137, 15, 50, 15
    PUSHBUTTON "&Prekliči", IDCANCEL, 137, 33, 50, 15
    PUSHBUTTON "Odstrani v&se", ID_TAB_EMPTY, 137, 51, 50, 15
END

IDD_FORMATOPTS DIALOG DISCARDABLE 0, 0, 280, 110
STYLE DS_SYSMODAL
Caption ""
FONT 8, "MS Shell Dlg"
BEGIN
    GROUPBOX "Prelom vrstic", 0, 10, 10, 130, 85
    RADIOBUTTON "No line wrapping", IDC_PAGEFMT_WN, 18, 25, 117, 15
    RADIOBUTTON "Prelomi besedilo na robu o&kna", IDC_PAGEFMT_WW, 18, 45, 117, 15
    RADIOBUTTON "Prelomi besedilo na robu &papirja", IDC_PAGEFMT_WM, 18, 65, 117, 15
    GROUPBOX "Orodne vrstice", 0, 150, 10, 120, 85
    CHECKBOX "O&rodna vrstica", IDC_PAGEFMT_TB, 160, 20, 80, 15
    CHECKBOX "O&blikovna vrstica", IDC_PAGEFMT_FB, 160, 38, 80, 15
    CHECKBOX "&Ravnilo", IDC_PAGEFMT_RU, 160, 56, 80, 15
    CHECKBOX "&Vrstica stanja", IDC_PAGEFMT_SB, 160, 74, 80, 15
    LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_RICHTEXT_FILES_RTF,     "Dokument z obogatenim besedilom (*.rtf)"
    STRING_TEXT_FILES_TXT,         "Dokument z besedilom (*.txt)"
    STRING_TEXT_FILES_UNICODE_TXT, "Dokument z Unicode besedilom (*.txt)"
    STRING_ALL_FILES,              "Vsi dokumenti (*.*)"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_ALIGN_LEFT,            "Levo"
    STRING_ALIGN_RIGHT,           "Desno"
    STRING_ALIGN_CENTER,          "Sredina"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_NEWFILE_RICHTEXT,     "Dokument z obogatenim besedilom"
    STRING_NEWFILE_TXT,          "Dokument z besedilom"
    STRING_NEWFILE_TXT_UNICODE,  "Dokument z Unicode besedilom"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_PRINTER_FILES_PRN,        "Tiskalnikova datoteka (*.PRN)"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_VIEWPROPS_TITLE,          "Možnosti"
    STRING_VIEWPROPS_TEXT,           "Besedilo"
    STRING_VIEWPROPS_RICHTEXT,       "Obogateno besedilo"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_PREVIEW_PRINT,            "Natisni"
    STRING_PREVIEW_NEXTPAGE,         "Naslednja"
    STRING_PREVIEW_PREVPAGE,         "Prejšnja"
    STRING_PREVIEW_TWOPAGES,         "Dve strani"
    STRING_PREVIEW_ONEPAGE,          "Ena stran"
    STRING_PREVIEW_CLOSE,            "Zapri"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_UNITS_CM,             "cm"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_DEFAULT_FILENAME,     "Dokument"
    STRING_PROMPT_SAVE_CHANGES,  "Ali naj shranim spremembe v '%s'?"
    STRING_SEARCH_FINISHED,      "Konec iskanja po dokumentu."
    STRING_LOAD_RICHED_FAILED,   "Napaka pri nalaganju RichEdit knjižnice."
    STRING_SAVE_LOSEFORMATTING,  "Izbrali ste shranjevanje v čisti besedilni " \
                                 "obliki, kar bo povzročilo izgubo oblikovanja. " \
                                 "Ali ste prepričani, da želite shraniti " \
                                 "dokument v tej obliki?"
    STRING_INVALID_NUMBER,       "Neveljavna oblika števila"
    STRING_OLE_STORAGE_NOT_SUPPORTED, "Dokumenti z OLE predmeti niso podprti"
END

#pragma code_page(default)
