/*
 * Copyright 2006-2009 by Alexander N. Sørnes <alex@thehandofagony.com>
 *
 * 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"

#pragma code_page(65001)

LANGUAGE LANG_NORWEGIAN, SUBLANG_NORWEGIAN_BOKMAL

IDM_MAINMENU MENU DISCARDABLE
BEGIN
    POPUP "&Fil"
    BEGIN
        MENUITEM "&Ny...\tCtrl+N",            ID_FILE_NEW
        MENUITEM "&Åpne...\tCtrl+O",       ID_FILE_OPEN
        MENUITEM "&Lagre\tCtrl+S",            ID_FILE_SAVE
        MENUITEM "Lagre &som...",          ID_FILE_SAVEAS
        MENUITEM SEPARATOR
        MENUITEM "&Skriv ut...\tCtrl+P",   ID_PRINT
        MENUITEM "&Forhåndsvisning...",    ID_PREVIEW
        MENUITEM "&Utskriftformat...",     ID_PRINTSETUP
        MENUITEM SEPARATOR
        MENUITEM "&Avslutt",                  ID_FILE_EXIT
    END
    POPUP "R&ediger"
    BEGIN
        MENUITEM "&Angre\tCtrl+Z",            ID_EDIT_UNDO
        MENUITEM "&Gjenta\tCtrl+Y",           ID_EDIT_REDO
        MENUITEM SEPARATOR
        MENUITEM "Klipp u&t\tCtrl+X",         ID_EDIT_CUT
        MENUITEM "&Kopier\tCtrl+C",           ID_EDIT_COPY
        MENUITEM "&Lim inn\tCtrl+V",          ID_EDIT_PASTE
        MENUITEM "&Fjern\tDEL",               ID_EDIT_CLEAR
        MENUITEM "&Merk alt\tCtrl+A",         ID_EDIT_SELECTALL
        MENUITEM SEPARATOR
        MENUITEM "&Søk etter...\tCtrl+F",  ID_FIND
        MENUITEM "Søk etter &neste\tF3",      ID_FIND_NEXT
        MENUITEM "E&rstatt...\tCtrl+H",    ID_REPLACE
        MENUITEM SEPARATOR
        MENUITEM "S&krivebeskyttet",          ID_EDIT_READONLY
        MENUITEM "E&ndret",                   ID_EDIT_MODIFIED
        MENUITEM SEPARATOR
        POPUP "&Ekstra"
        BEGIN
            MENUITEM "&Info om merket område",             ID_EDIT_SELECTIONINFO
            MENUITEM "Tegn&format",           ID_EDIT_CHARFORMAT
            MENUITEM "Stan&dard tegnformat",           ID_EDIT_DEFCHARFORMAT
            MENUITEM "&Avsnittformat",           ID_EDIT_PARAFORMAT
            MENUITEM "&Hent tekst",                   ID_EDIT_GETTEXT
        END
    END
    POPUP "&Vis"
    BEGIN
        MENUITEM "Verk&tøylinje",     ID_TOGGLE_TOOLBAR
        MENUITEM "&Formatlinje",      ID_TOGGLE_FORMATBAR
        MENUITEM "&Linjal",           ID_TOGGLE_RULER
        MENUITEM "&Statuslinje",      ID_TOGGLE_STATUSBAR
        MENUITEM SEPARATOR
        MENUITEM "&Alternativer...", ID_VIEWPROPERTIES
    END
    POPUP "Sett &inn"
    BEGIN
        MENUITEM "&Dato og klokkeslett...",  ID_DATETIME
    END
    POPUP "F&ormat"
    BEGIN
        MENUITEM "&Skrift...",               ID_FONTSETTINGS
        MENUITEM "&Punktmerking"                ID_BULLET
        MENUITEM "&Avsnitt..."               ID_PARAFORMAT
        MENUITEM "&Tabulatorer..."           ID_TABSTOPS
        POPUP "&Bakgrunn"
        BEGIN
            MENUITEM "&System\tCtrl+1",         ID_BACK_1
            MENUITEM "Merkela&pp-gult\tCtrl+2",           ID_BACK_2
        END
    END
    POPUP "&Hjelp"
    BEGIN
        MENUITEM "&Om Wine Wordpad"       ID_ABOUT
    END
END

IDM_POPUP MENU DISCARDABLE
BEGIN
    POPUP ""
    BEGIN
        MENUITEM "Klipp u&t"      ID_EDIT_CUT
        MENUITEM "&Kopier"        ID_EDIT_COPY
        MENUITEM "&Lim inn"       ID_EDIT_PASTE
        MENUITEM SEPARATOR
        MENUITEM "&Punktmerking"  ID_BULLET
        MENUITEM "&Avsnitt..." 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ønn"      ID_COLOR_GREEN
        MENUITEM "Oliven"     ID_COLOR_OLIVE
        MENUITEM "Marineblå"  ID_COLOR_NAVY
        MENUITEM "Purpur"     ID_COLOR_PURPLE
        MENUITEM "Teal"       ID_COLOR_TEAL
        MENUITEM "Grå"        ID_COLOR_GRAY
        MENUITEM "Sølv"       ID_COLOR_SILVER
        MENUITEM "Rød"        ID_COLOR_RED
        MENUITEM "Lime-grønn" ID_COLOR_LIME
        MENUITEM "Gul"        ID_COLOR_YELLOW
        MENUITEM "Blå"        ID_COLOR_BLUE
        MENUITEM "Fuchsia"    ID_COLOR_FUCHSIA
        MENUITEM "Aqua"       ID_COLOR_AQUA
        MENUITEM "Hvit"       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 "Dato og klokkeslett"
FONT 10, "MS Sans Serif"
BEGIN
    LTEXT        "Tilgjengelige formater",-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 dokumenttype",-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 "Formater avsnitt"
FONT 8, "MS Shell Dlg"
BEGIN
    GROUPBOX "Innrykk", -1, 10, 10, 120, 68
    LTEXT "Venstre", -1, 15, 22, 40, 13
    EDITTEXT IDC_PARA_LEFT, 55, 20, 60, 13
    LTEXT "Høyre", -1, 15, 40, 40, 13
    EDITTEXT IDC_PARA_RIGHT, 55, 38, 60, 13
    LTEXT "Første linje", -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
    DEFPUSHBUTTON "&Legg til", ID_TAB_ADD, 20, 80, 45, 15
    PUSHBUTTON "&Fjern", ID_TAB_DEL, 72, 80, 45, 15
    PUSHBUTTON "&OK", IDOK, 137, 15, 50, 15
    PUSHBUTTON "&Avbryt", IDCANCEL, 137, 33, 50, 15
    PUSHBUTTON "Fjern all&e", 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 "Linjebryting", -1, 10, 10, 130, 85
    RADIOBUTTON "No line wrapping", IDC_PAGEFMT_WN, 18, 25, 117, 15
    RADIOBUTTON "Bryt tekst etter v&indusbredden", IDC_PAGEFMT_WW, 18, 45, 117, 15
    RADIOBUTTON "Bryt tekst etter &margen", IDC_PAGEFMT_WM, 18, 65, 117, 15
    GROUPBOX "Verktøylinjer", -1, 150, 10, 120, 85
    CHECKBOX "&Verktøylinje", IDC_PAGEFMT_TB, 160, 20, 80, 15
    CHECKBOX "&Formatlinje", IDC_PAGEFMT_FB, 160, 38, 80, 15
    CHECKBOX "&Linjal", IDC_PAGEFMT_RU, 160, 56, 80, 15
    CHECKBOX "&Statuslinje", IDC_PAGEFMT_SB, 160, 74, 80, 15
    LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_RICHTEXT_FILES_RTF,     "Rikt tekstformat (*.rtf)"
    STRING_TEXT_FILES_TXT,         "Tekstdokument (*.txt)"
    STRING_TEXT_FILES_UNICODE_TXT, "Unicode-tekstdokument (*.txt)"
    STRING_ALL_FILES,              "Alle filer (*.*)"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_NEWFILE_RICHTEXT,     "Rikt tekstdokument"
    STRING_NEWFILE_TXT,          "Tekstdokument"
    STRING_NEWFILE_TXT_UNICODE,  "Tekstdokument (Unicode)"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_ALIGN_LEFT,            "Venstrestilt"
    STRING_ALIGN_RIGHT,           "Høyrestilt"
    STRING_ALIGN_CENTER,          "Midtstilt"
END

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

STRINGTABLE DISCARDABLE
BEGIN
    STRING_VIEWPROPS_TITLE,          "Alternativer"
    STRING_VIEWPROPS_TEXT,           "Tekst"
    STRING_VIEWPROPS_RICHTEXT,       "Rik tekst"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_PREVIEW_PRINT,            "Skriv ut"
    STRING_PREVIEW_NEXTPAGE,         "Neste side"
    STRING_PREVIEW_PREVPAGE,         "Forrige side"
    STRING_PREVIEW_TWOPAGES,         "To sider"
    STRING_PREVIEW_ONEPAGE,          "Én side"
    STRING_PREVIEW_ZOOMIN,           "Zoom in"
    STRING_PREVIEW_ZOOMOUT,          "Zoom out"
    STRING_PREVIEW_CLOSE,            "Lukk"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_UNITS_CM,             "cm"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_DEFAULT_FILENAME,     "Dokument"
    STRING_PROMPT_SAVE_CHANGES,  "Lagre endringer i «%s»?"
    STRING_SEARCH_FINISHED,      "Ferdig med å søke i dokumentet."
    STRING_LOAD_RICHED_FAILED,   "Klarte ikke laste RichEdit-biblioteket."
    STRING_SAVE_LOSEFORMATTING,  "Du har valgt å lagre i rent tekstformat, noe som " \
                                 "vil føre til at all formatering går tapt. Er du " \
                                 "sikker på at du vil fortsette?"
    STRING_INVALID_NUMBER,       "Ugyldig tallformat"
    STRING_OLE_STORAGE_NOT_SUPPORTED, "OLE storage documents are not supported"
    STRING_WRITE_FAILED,              "Klarte ikke lagre filen."
    STRING_WRITE_ACCESS_DENIED,       "Du har ikke tilgang til å lagre filen."
    STRING_OPEN_FAILED,               "Klarte ikke åpne filen."
    STRING_OPEN_ACCESS_DENIED,        "Du har ikke tilgang til å åpne filen."
    STRING_PRINTING_NOT_IMPLEMENTED,  "Utskriftfunksjonen er ikke laget ennå."
    STRING_MAX_TAB_STOPS,             "Kan ikke legge til mer enn 32 tabulatorstopp."
END
