/*
 * Copyright 2006 by Henning Gerhardt
 *
 * 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_GERMAN, SUBLANG_NEUTRAL

#pragma code_page(65001)

IDM_MAINMENU MENU DISCARDABLE
BEGIN
    POPUP "&Datei"
    BEGIN
        MENUITEM "&Neu...\tStrg+N",          ID_FILE_NEW
        MENUITEM "Ö&ffnen...\tStrg+O",    ID_FILE_OPEN
        MENUITEM "&Speichern\tStrg+S",    ID_FILE_SAVE
        MENUITEM "Speichern &unter...",   ID_FILE_SAVEAS
        MENUITEM SEPARATOR
        MENUITEM "&Drucken...\tStrg+P",   ID_PRINT
        MENUITEM "Seitenansi&cht",        ID_PREVIEW
        MENUITEM "Seite ein&richten...",  ID_PRINTSETUP
        MENUITEM SEPARATOR
        MENUITEM "&Beenden",              ID_FILE_EXIT
    END
    POPUP "&Bearbeiten"
    BEGIN
        MENUITEM "&Rückgängig\tStrg+Z",         ID_EDIT_UNDO
        MENUITEM "&Wiederholen\tStrg+Y",        ID_EDIT_REDO
        MENUITEM SEPARATOR
        MENUITEM "&Ausschneiden\tStrg+X",       ID_EDIT_CUT
        MENUITEM "&Kopieren\tStrg+C",           ID_EDIT_COPY
        MENUITEM "&Einfügen\tStrg+V",           ID_EDIT_PASTE
        MENUITEM "&Löschen\tEntf",              ID_EDIT_CLEAR
        MENUITEM "Alles &markieren\tStrg+A",    ID_EDIT_SELECTALL
        MENUITEM SEPARATOR
        MENUITEM "&Suchen...\tStrg+F",          ID_FIND
        MENUITEM "&Weitersuchen\tF3",           ID_FIND_NEXT
        MENUITEM "Erset&zen...\tStrg+H",        ID_REPLACE
        MENUITEM SEPARATOR
        MENUITEM "Schreibgeschü&tzt",           ID_EDIT_READONLY
        MENUITEM "&Geändert",                   ID_EDIT_MODIFIED
        MENUITEM SEPARATOR
        POPUP "&Extras"
        BEGIN
            MENUITEM "Markierungs&information",     ID_EDIT_SELECTIONINFO
            MENUITEM "Zeichen&format",              ID_EDIT_CHARFORMAT
            MENUITEM "&Standardzeichenformat",      ID_EDIT_DEFCHARFORMAT
            MENUITEM "&Absatzformat",               ID_EDIT_PARAFORMAT
            MENUITEM "&Text holen",                 ID_EDIT_GETTEXT
        END
    END
    POPUP "&Ansicht"
    BEGIN
        MENUITEM "&Symbolleiste",         ID_TOGGLE_TOOLBAR
        MENUITEM "&Formatierungsleiste",  ID_TOGGLE_FORMATBAR
        MENUITEM "L&ineal",               ID_TOGGLE_RULER
        MENUITEM "Status&leiste",         ID_TOGGLE_STATUSBAR
        MENUITEM SEPARATOR
        MENUITEM "&Optionen...",          ID_VIEWPROPERTIES
    END
    POPUP "&Einfügen"
    BEGIN
        MENUITEM "&Datum und Uhrzeit...",  ID_DATETIME
    END
    POPUP "Forma&t"
    BEGIN
        MENUITEM "Sch&riftart...",               ID_FONTSETTINGS
        MENUITEM "Auf&zählungszeichen"           ID_BULLET
        MENUITEM "&Absatz..."                    ID_PARAFORMAT
        MENUITEM "&Tabstopps..."                 ID_TABSTOPS
        POPUP "&Hintergrund"
        BEGIN
            MENUITEM "&System\tStrg+1",         ID_BACK_1
            MENUITEM "&PostIt-Notiz\tStrg+2",   ID_BACK_2
        END
    END
    POPUP "&?"
    BEGIN
        MENUITEM "Ü&ber Wine Wordpad"       ID_ABOUT
    END
END

IDM_POPUP MENU DISCARDABLE
BEGIN
    POPUP ""
    BEGIN
        MENUITEM "Aus&schneiden",       ID_EDIT_CUT
        MENUITEM "&Kopieren",           ID_EDIT_COPY
        MENUITEM "&Einfügen",           ID_EDIT_PASTE
        MENUITEM SEPARATOR
        MENUITEM "Auf&zählungszeichen"  ID_BULLET
        MENUITEM "&Absatz..."           ID_PARAFORMAT
    END
END

IDD_DATETIME DIALOG DISCARDABLE 30, 20, 130, 80
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
CAPTION "Datum und Uhrzeit"
FONT 10, "MS Sans Serif"
BEGIN
    LTEXT        "Verfügbare Formate",0,3,2,100,15
    LISTBOX      IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY
    PUSHBUTTON   "&OK",IDOK,87,12,40,12
    PUSHBUTTON   "A&bbrechen",IDCANCEL,87,26,40,12
END

IDD_NEWFILE DIALOG DISCARDABLE 30, 20, 140, 80
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
CAPTION "Neu"
FONT 10, "MS Sans Serif"
BEGIN
    LTEXT        "Neuer Dokumenttyp",0,3,2,100,15
    LISTBOX      IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT
    PUSHBUTTON   "&OK",IDOK,97,12,40,12
    PUSHBUTTON   "A&bbrechen",IDCANCEL,97,26,40,12
END

IDD_PARAFORMAT DIALOG DISCARDABLE 30, 20, 200, 110
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
Caption "Absatz"
FONT 8, "MS Shell Dlg"
BEGIN
    GROUPBOX "Einzug", 0, 10, 10, 120, 68
    LTEXT "Links", 0, 15, 22, 40, 13
    EDITTEXT IDC_PARA_LEFT, 55, 20, 60, 13
    LTEXT "Rechts", 0, 15, 40, 40, 13
    EDITTEXT IDC_PARA_RIGHT, 55, 38, 60, 13
    LTEXT "Erste Zeile", 0, 15, 58, 40, 13
    EDITTEXT IDC_PARA_FIRST, 55, 56, 60, 13
    LTEXT "Ausrichtung", 0, 15, 87, 40, 13
    COMBOBOX IDC_PARA_ALIGN, 55, 85, 60, 60, CBS_DROPDOWNLIST
    PUSHBUTTON "&OK", IDOK, 137, 15, 50, 15
    PUSHBUTTON "A&bbrechen", IDCANCEL, 137, 33, 50, 15
END

IDD_TABSTOPS DIALOG DISCARDABLE 30, 20, 200, 110
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
Caption "Tabstopps"
FONT 8, "MS SHell DLg"
BEGIN
    GROUPBOX "Tabstoppposition", 0, 10, 10, 120, 90
    COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE | CBS_SORT
    DEFPUSHBUTTON "&Festlegen", ID_TAB_ADD, 20, 80, 45, 15
    PUSHBUTTON "&Löschen", ID_TAB_DEL, 72, 80, 45, 15
    PUSHBUTTON "&OK", IDOK, 137, 15, 50, 15
    PUSHBUTTON "A&bbrechen", IDCANCEL, 137, 33, 50, 15
    PUSHBUTTON "&Alle löschen", 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 "Zeilenumbruch", 0, 10, 10, 130, 85
    RADIOBUTTON "No line wrapping", IDC_PAGEFMT_WN, 18, 25, 117, 15
    RADIOBUTTON "&Am Fenster umbrechen", IDC_PAGEFMT_WW, 18, 45, 117, 15
    RADIOBUTTON "A&m Lineal umbrechen", IDC_PAGEFMT_WM, 18, 65, 117, 15
    GROUPBOX "Symbolleisten", 0, 150, 10, 120, 85
    CHECKBOX "&Symbolleiste", IDC_PAGEFMT_TB, 160, 20, 80, 15
    CHECKBOX "&Formatierungsleiste", IDC_PAGEFMT_FB, 160, 38, 80, 15
    CHECKBOX "L&ineal", IDC_PAGEFMT_RU, 160, 56, 80, 15
    CHECKBOX "Status&leiste", IDC_PAGEFMT_SB, 160, 74, 80, 15
    LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_RICHTEXT_FILES_RTF,     "RTF-Format (*.rtf)"
    STRING_TEXT_FILES_TXT,         "Textdokumente (*.txt)"
    STRING_TEXT_FILES_UNICODE_TXT, "Unicode-Textdokumente (*.txt)"
    STRING_ALL_FILES,              "Alle Dokumente (*.*)"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_ALIGN_LEFT,            "Links"
    STRING_ALIGN_RIGHT,           "Rechts"
    STRING_ALIGN_CENTER,          "Zentriert"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_NEWFILE_RICHTEXT,     "RTF-Dokument"
    STRING_NEWFILE_TXT,          "Textdokument"
    STRING_NEWFILE_TXT_UNICODE,  "Unicode-Textdokument"
END

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

STRINGTABLE DISCARDABLE
BEGIN
    STRING_VIEWPROPS_TITLE,          "Optionen"
    STRING_VIEWPROPS_TEXT,           "Text"
    STRING_VIEWPROPS_RICHTEXT,       "Rich Text"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_PREVIEW_PRINT,            "&Drucken"
    STRING_PREVIEW_NEXTPAGE,         "&Nächste"
    STRING_PREVIEW_PREVPAGE,         "&Vorherige"
    STRING_PREVIEW_TWOPAGES,         "Zwei Seiten"
    STRING_PREVIEW_ONEPAGE,          "Eine Seite"
    STRING_PREVIEW_CLOSE,            "&Schließen"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_UNITS_CM,             "cm"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_DEFAULT_FILENAME,     "Dokument"
    STRING_PROMPT_SAVE_CHANGES,  "Änderungen an '%s' speichern?"
    STRING_SEARCH_FINISHED,      "Wordpad hat das Durchsuchen des Dokuments beendet."
    STRING_LOAD_RICHED_FAILED,   "Die RichEdit-Bibliothek konnte nicht geladen werden."
    STRING_SAVE_LOSEFORMATTING,  "Sie sind dabei, die Datei als Textdatei zu speichern. " \
                                 "Dadurch geht die Formatierung verloren. " \
                                 "Möchten Sie den Vorgang trotzdem fortsetzen?"
    STRING_INVALID_NUMBER,       "Diese Maßeinheit ist nicht zulässig."
    STRING_OLE_STORAGE_NOT_SUPPORTED, "OLE-Dokumentenspeicherung wird nicht unterstützt."
    STRING_WRITE_FAILED,         "Die Datei konnte nicht gespeichert werden."
    STRING_WRITE_ACCESS_DENIED,  "Sie haben keine ausreichende Zugriffsberechtigung um die Datei zu speichern."
    STRING_OPEN_FAILED,          "Die Datei konnte nicht geöffnet werden."
    STRING_OPEN_ACCESS_DENIED,   "Sie haben keine ausreichende Zugriffsberechtigung um die Datei zu öffnen."
END

#pragma code_page(default)
