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

#include "wordpad.h"

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...\tCtrl+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

IDM_COLOR_POPUP MENU DISCARDABLE
BEGIN
    POPUP ""
    BEGIN
        MENUITEM "Svart"     ID_COLOR_BLACK
        MENUITEM "Rödbrun"   ID_COLOR_MAROON
        MENUITEM "Grön"      ID_COLOR_GREEN
        MENUITEM "Oliv"      ID_COLOR_OLIVE
        MENUITEM "Navy"      ID_COLOR_NAVY
        MENUITEM "Lila"      ID_COLOR_PURPLE
        MENUITEM "Teal"      ID_COLOR_TEAL
        MENUITEM "Grå"       ID_COLOR_GRAY
        MENUITEM "Silver"    ID_COLOR_SILVER
        MENUITEM "Röd"       ID_COLOR_RED
        MENUITEM "Lime"      ID_COLOR_LIME
        MENUITEM "Gul"       ID_COLOR_YELLOW
        MENUITEM "Blå"       ID_COLOR_BLUE
        MENUITEM "Fuchsia"   ID_COLOR_FUCHSIA
        MENUITEM "Aqua"      ID_COLOR_AQUA
        MENUITEM "Vit"       ID_COLOR_WHITE
        MENUITEM "Automatic" ID_COLOR_AUTOMATIC
    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_ZOOMIN,           "Zooma in"
    STRING_PREVIEW_ZOOMOUT,          "Zooma ut"
    STRING_PREVIEW_CLOSE,            "Stäng"
    STRING_PREVIEW_PAGE,             "Sida"
    STRING_PREVIEW_PAGES,            "Sidor"
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
