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

#include "wordpad.h"

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",-1,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",-1,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", -1, 10, 10, 120, 68
    LTEXT "Links", -1, 15, 22, 40, 13
    EDITTEXT IDC_PARA_LEFT, 55, 20, 60, 13
    LTEXT "Rechts", -1, 15, 40, 40, 13
    EDITTEXT IDC_PARA_RIGHT, 55, 38, 60, 13
    LTEXT "Erste Zeile", -1, 15, 58, 40, 13
    EDITTEXT IDC_PARA_FIRST, 55, 56, 60, 13
    LTEXT "Ausrichtung", -1, 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", -1, 10, 10, 120, 90
    COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE
    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", -1, 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", -1, 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."
    STRING_PRINTING_NOT_IMPLEMENTED, "Drucken ist nicht implementiert"
    STRING_MAX_TAB_STOPS,            "Es können nur maximal 32 Tabstopps definiert werden."
END
