/*
 * 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...\tCrtl+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

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_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
