/*
 * Copyright 2009 by Anders Jonsson
 *
 * 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
 */

LANGUAGE LANG_SWEDISH, SUBLANG_NEUTRAL

#pragma code_page(65001)

IDM_MAINMENU MENU DISCARDABLE
BEGIN
    POPUP "&Arkiv"
    BEGIN
        MENUITEM "&Nytt...\tCtrl+N",       ID_FILE_NEW
        MENUITEM "&Öppna...\tCtrl+O",      ID_FILE_OPEN
        MENUITEM "&Spara\tCtrl+S",         ID_FILE_SAVE
        MENUITEM "Spara s&om...",          ID_FILE_SAVEAS
        MENUITEM SEPARATOR
        MENUITEM "Skriv &ut...\tCtrl+P",   ID_PRINT
        MENUITEM "&Förhandsgranskning...", ID_PREVIEW
        MENUITEM "U&tskriftsformat...",    ID_PRINTSETUP
        MENUITEM SEPARATOR
        MENUITEM "&Avsluta",               ID_FILE_EXIT
    END
    POPUP "&Redigera"
    BEGIN
        MENUITEM "&Ångra\tCtrl+Z",              ID_EDIT_UNDO
        MENUITEM "Å&terställ\tCtrl+Y",          ID_EDIT_REDO
        MENUITEM SEPARATOR
        MENUITEM "Klipp &ut\tCtrl+X",           ID_EDIT_CUT
        MENUITEM "&Kopiera\tCtrl+C",            ID_EDIT_COPY
        MENUITEM "Klistra &in\tCtrl+V",         ID_EDIT_PASTE
        MENUITEM "Ta &bort\tDEL",               ID_EDIT_CLEAR
        MENUITEM "&Markera allt\tCtrl+A",       ID_EDIT_SELECTALL
        MENUITEM SEPARATOR
        MENUITEM "&Sök...\tCrtl+F",             ID_FIND
        MENUITEM "Sök &nästa\tF3",              ID_FIND_NEXT
        MENUITEM "&Ersätt...\tCtrl+H",          ID_REPLACE
        MENUITEM SEPARATOR
        MENUITEM "Sk&rivskyddat",               ID_EDIT_READONLY
        MENUITEM "&Ändrat",                     ID_EDIT_MODIFIED
        MENUITEM SEPARATOR
        POPUP "E&xtra"
        BEGIN
            MENUITEM "&Information om markerad text",      ID_EDIT_SELECTIONINFO
            MENUITEM "&Teckenformat",                      ID_EDIT_CHARFORMAT
            MENUITEM "&Standardteckenformat",              ID_EDIT_DEFCHARFORMAT
            MENUITEM "Stycke&format",                      ID_EDIT_PARAFORMAT
            MENUITEM "&Hämta text",                        ID_EDIT_GETTEXT
        END
    END
    POPUP "&Visa"
    BEGIN
        MENUITEM "&Verktygsfält",    ID_TOGGLE_TOOLBAR
        MENUITEM "&Formatfält",      ID_TOGGLE_FORMATBAR
        MENUITEM "&Linjal",          ID_TOGGLE_RULER
        MENUITEM "&Statusfält",      ID_TOGGLE_STATUSBAR
        MENUITEM SEPARATOR
        MENUITEM "&Alternativ...",   ID_VIEWPROPERTIES
    END
    POPUP "&Infoga"
    BEGIN
        MENUITEM "&Datum och tid...",  ID_DATETIME
    END
    POPUP "F&ormat"
    BEGIN
        MENUITEM "T&ecken...",                 ID_FONTSETTINGS
        MENUITEM "&Punktuppställning"          ID_BULLET
        MENUITEM "&Stycke..."                  ID_PARAFORMAT
        MENUITEM "&Tabulatorer..."             ID_TABSTOPS
        POPUP "&Bakgrund"
        BEGIN
            MENUITEM "&System\tCtrl+1",                 ID_BACK_1
            MENUITEM "Anteckningslapps-&gult\tCtrl+2",  ID_BACK_2
        END
    END
    POPUP "&Hjälp"
    BEGIN
        MENUITEM "&Om Wine Wordpad"       ID_ABOUT
    END
END

IDM_POPUP MENU DISCARDABLE
BEGIN
    POPUP ""
    BEGIN
        MENUITEM "Klipp &ut",            ID_EDIT_CUT
        MENUITEM "&Kopiera",             ID_EDIT_COPY
        MENUITEM "Klistra &in",          ID_EDIT_PASTE
        MENUITEM SEPARATOR
        MENUITEM "&Punktuppställning"    ID_BULLET
        MENUITEM "&Stycke..."            ID_PARAFORMAT
    END
END

IDD_DATETIME DIALOG DISCARDABLE 30, 20, 130, 80
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
CAPTION "Datum och tid"
FONT 10, "MS Sans Serif"
BEGIN
    LTEXT        "Tillgängliga format",-1,3,2,100,15
    LISTBOX      IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY
    PUSHBUTTON   "&OK",IDOK,87,12,40,12
    PUSHBUTTON   "&Avbryt",IDCANCEL,87,26,40,12
END

IDD_NEWFILE DIALOG DISCARDABLE 30, 20, 140, 80
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
CAPTION "Ny"
FONT 10, "MS Sans Serif"
BEGIN
    LTEXT        "Ny dokumenttyp",-1,3,2,100,15
    LISTBOX      IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT
    PUSHBUTTON   "&OK",IDOK,97,12,40,12
    PUSHBUTTON   "&Avbryt",IDCANCEL,97,26,40,12
END

IDD_PARAFORMAT DIALOG DISCARDABLE 30, 20, 200, 110
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
Caption "Formatera stycke"
FONT 8, "MS Shell Dlg"
BEGIN
    GROUPBOX "Indrag", -1, 10, 10, 120, 68
    LTEXT "Vänster", -1, 15, 22, 40, 13
    EDITTEXT IDC_PARA_LEFT, 55, 20, 60, 13
    LTEXT "Höger", -1, 15, 40, 40, 13
    EDITTEXT IDC_PARA_RIGHT, 55, 38, 60, 13
    LTEXT "Första rad", -1, 15, 58, 40, 13
    EDITTEXT IDC_PARA_FIRST, 55, 56, 60, 13
    LTEXT "Justering", -1, 15, 87, 40, 13
    COMBOBOX IDC_PARA_ALIGN, 55, 85, 60, 60, CBS_DROPDOWNLIST
    PUSHBUTTON "&OK", IDOK, 137, 15, 50, 15
    PUSHBUTTON "&Avbryt", IDCANCEL, 137, 33, 50, 15
END

IDD_TABSTOPS DIALOG DISCARDABLE 30, 20, 200, 110
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
Caption "Tabulatorer"
FONT 8, "MS Shell Dlg"
BEGIN
    GROUPBOX "Tabbstopp", -1, 10, 10, 120, 90
    COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE
    DEFPUSHBUTTON "Lägg &till", ID_TAB_ADD, 20, 80, 45, 15
    PUSHBUTTON "Ta &bort", ID_TAB_DEL, 72, 80, 45, 15
    PUSHBUTTON "&OK", IDOK, 137, 15, 50, 15
    PUSHBUTTON "&Avbryt", IDCANCEL, 137, 33, 50, 15
    PUSHBUTTON "Ta bort a&lla", 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 "Radbrytning", -1, 10, 10, 130, 85
    RADIOBUTTON "&Ingen radbrytning", IDC_PAGEFMT_WN, 18, 25, 117, 15
    RADIOBUTTON "&Bryt text vid fönsterkanten", IDC_PAGEFMT_WW, 18, 45, 117, 15
    RADIOBUTTON "Bryt text vid &marginalen", IDC_PAGEFMT_WM, 18, 65, 117, 15
    GROUPBOX "Verktygsrader", -1, 150, 10, 120, 85
    CHECKBOX "&Verktygsrad", IDC_PAGEFMT_TB, 160, 20, 80, 15
    CHECKBOX "&Formatrad", IDC_PAGEFMT_FB, 160, 38, 80, 15
    CHECKBOX "&Linjal", IDC_PAGEFMT_RU, 160, 56, 80, 15
    CHECKBOX "&Statusrad", IDC_PAGEFMT_SB, 160, 74, 80, 15
    LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_RICHTEXT_FILES_RTF,     "Rich text-format (*.rtf)"
    STRING_TEXT_FILES_TXT,         "Textdokument (*.txt)"
    STRING_TEXT_FILES_UNICODE_TXT, "Unicode-textdokument (*.txt)"
    STRING_ALL_FILES,              "Alla filer (*.*)"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_ALIGN_LEFT,            "Vänsterställt"
    STRING_ALIGN_RIGHT,           "Högerställt"
    STRING_ALIGN_CENTER,          "Centrerat"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_NEWFILE_RICHTEXT,     "Rich text-dokument"
    STRING_NEWFILE_TXT,          "Textdokument"
    STRING_NEWFILE_TXT_UNICODE,  "Textdokument (Unicode)"
END

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

STRINGTABLE DISCARDABLE
BEGIN
    STRING_VIEWPROPS_TITLE,          "Alternativ"
    STRING_VIEWPROPS_TEXT,           "Text"
    STRING_VIEWPROPS_RICHTEXT,       "Rich text"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_PREVIEW_PRINT,            "Skriv ut"
    STRING_PREVIEW_NEXTPAGE,         "Nästa sida"
    STRING_PREVIEW_PREVPAGE,         "Föregående sida"
    STRING_PREVIEW_TWOPAGES,         "Två sidor"
    STRING_PREVIEW_ONEPAGE,          "En sida"
    STRING_PREVIEW_CLOSE,            "Stäng"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_UNITS_CM,             "cm"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_DEFAULT_FILENAME,     "Dokument"
    STRING_PROMPT_SAVE_CHANGES,  "Spara ändringar i '%s'?"
    STRING_SEARCH_FINISHED,      "Sökningen i dokumentet har slutförts."
    STRING_LOAD_RICHED_FAILED,   "Misslyckades att ladda RichEdit-biblioteket."
    STRING_SAVE_LOSEFORMATTING,  "Du har valt att spara i rent textformat, " \
                                 "vilket kommer leda till att all formatering förloras. " \
                                 "Är du säker att du vill göra detta?"
    STRING_INVALID_NUMBER,       "Ogiltigt talformat"
    STRING_OLE_STORAGE_NOT_SUPPORTED, "OLE storage documents are not supported"
    STRING_WRITE_FAILED,              "Kunde inte spara filen."
    STRING_WRITE_ACCESS_DENIED,       "Du har inte tillgång till att spara filen."
    STRING_OPEN_FAILED,               "Kunde inte öppna filen."
    STRING_OPEN_ACCESS_DENIED,        "Du har inte tillgång till att öppna filen."
    STRING_PRINTING_NOT_IMPLEMENTED, "Utskrift ej implementerat."
    STRING_MAX_TAB_STOPS,            "Kan ej lägga till mer än 32 tabbstopp."
END

#pragma code_page(default)
