/*
 * 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 "&Fil"
    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 "Tabulatorstopp", -1, 10, 10, 120, 90
    COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE | CBS_SORT
    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."
END

#pragma code_page(default)
