/*
 * 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"
    STRING_PREVIEW_PAGE,             "Page"
    STRING_PREVIEW_PAGES,            "Pages"
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
