/*
 * Program Manager
 *
 * Copyright 1996 Ulrich Schmid
 * Copyright 2002 Sylvain Petreolle
 * Copyright 2004 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 "progman.h"

LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL

#pragma code_page(65001)

/* Menu */

MAIN_MENU MENU
{
 POPUP "&Datei" {
   MENUITEM "&Neu...",              PM_NEW
   MENUITEM "Ö&ffnen\tEingabetaste",             PM_OPEN
   MENUITEM "&Verschieben...\tF7",             PM_MOVE,      GRAYED
   MENUITEM "&Kopieren...\tF8",             PM_COPY,      GRAYED
   MENUITEM "&Löschen\tEntf",           PM_DELETE
   MENUITEM "&Eigenschaften...\tAlt+Eingabetaste",       PM_ATTRIBUTES
   MENUITEM SEPARATOR
   MENUITEM "&Ausführen...",          PM_EXECUTE
   MENUITEM SEPARATOR
   MENUITEM "&Programm-Manager beenden...",             PM_EXIT
 }
 POPUP "&Optionen" {
   MENUITEM "&Automatisch anordnen",  PM_AUTO_ARRANGE
   MENUITEM "&Symbol nach Programmstart",    PM_MIN_ON_RUN
   MENUITEM "&Einstellungen beim Beenden speichern", PM_SAVE_SETTINGS
 }
 POPUP "&Fenster" {
   MENUITEM "Über&lappend\tUmschalt+F5",       PM_OVERLAP
   MENUITEM "&Nebeneinander\tUmschalt+F4",  PM_SIDE_BY_SIDE
   MENUITEM "&Symbole anordnen",       PM_ARRANGE
 }
 
POPUP "&Hilfe" {
   MENUITEM "&Inhalt",         PM_CONTENTS
   MENUITEM "&Suchen...",           PM_SEARCH
   MENUITEM SEPARATOR
   MENUITEM "Hilfe &benutzen",     PM_HELPONHELP
   MENUITEM "&Lernprogramm",         PM_TUTORIAL
   MENUITEM SEPARATOR
   MENUITEM "Ü&ber Wine",     PM_ABOUT_WINE
 }
}

/* Dialog `New' */

DIALOG_NEW DIALOG 0, 0, 170, 65
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Neues Programmobjekt"
{
RADIOBUTTON   "",                 PM_NEW_GROUP,    10, 15,  10, 15
LTEXT         "Programm&gruppe",   -1,    20, 18,  80, 8
RADIOBUTTON   "",                 PM_NEW_PROGRAM,  10, 35,  10, 15
LTEXT         "&Programm", -1,  20, 38,  80, 8
DEFPUSHBUTTON "OK",          IDOK,           105,  5,  60, 15, WS_TABSTOP
PUSHBUTTON    "Abbrechen",      IDCANCEL,       105, 25,  60, 15, WS_TABSTOP
PUSHBUTTON    "&Hilfe",        PM_HELP,        105, 45,  60, 15, WS_TABSTOP
}

/* Dialog `Move' */

DIALOG_MOVE DIALOG 0, 0, 250, 65
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Programm verschieben"
{
LTEXT         "Verschiebe Programm:",    -1,            5,  5,  90, 15
LTEXT         "",                     PM_PROGRAM,         95,  5,  90, 15
LTEXT         "Von Programmgruppe:", -1,            5, 13,  90, 15
LTEXT         "",                     PM_FROM_GROUP,      95, 13,  90, 15
LTEXT         "&in Gruppe:",   PM_TO_GROUP_TXT,     5, 28, 140, 15
COMBOBOX                              PM_TO_GROUP,         5, 38, 140, 50, WS_TABSTOP | CBS_DROPDOWNLIST
DEFPUSHBUTTON "OK",              IDOK,              185,  5,  60, 15, WS_TABSTOP
PUSHBUTTON    "Abbrechen",          IDCANCEL,          185, 25,  60, 15, WS_TABSTOP
PUSHBUTTON    "&Hilfe",            PM_HELP,           185, 45,  60, 15, WS_TABSTOP
}

/* Dialog `Copy' */

DIALOG_COPY DIALOG 0, 0, 250, 65
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Programm kopieren"
{
LTEXT         "Kopiere Programm:",    -1,            5,  5,  90, 15
LTEXT         "",                     PM_PROGRAM,         95,  5,  90, 15
LTEXT         "Von Programmgruppe:", -1,            5, 13,  90, 15
LTEXT         "",                     PM_FROM_GROUP,      95, 13,  90, 15
LTEXT         "&in Gruppe:",   PM_TO_GROUP_TXT,     5, 28, 140, 15
COMBOBOX                              PM_TO_GROUP,         5, 38, 140, 50, WS_TABSTOP | CBS_DROPDOWNLIST
DEFPUSHBUTTON "OK",              IDOK,              185,  5,  60, 15, WS_TABSTOP
PUSHBUTTON    "Abbrechen",          IDCANCEL,          185, 25,  60, 15, WS_TABSTOP
PUSHBUTTON    "&Hilfe",            PM_HELP,           185, 45,  60, 15, WS_TABSTOP
}

/* Dialog `Group attributes' */

DIALOG_GROUP DIALOG 0, 0, 230, 65
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Programmgruppeneigenschaften"
{
LTEXT     "&Beschreibung:", PM_DESCRIPTION_TXT,   05, 18,  50, 8
EDITTEXT                            PM_DESCRIPTION,       60, 18,  90, 12, WS_TABSTOP
LTEXT     "&Gruppendatei:",        PM_FILE_TXT,          05, 38,  50, 8
EDITTEXT                            PM_FILE,              60, 38,  90, 12, WS_TABSTOP
DEFPUSHBUTTON "OK",            IDOK,                155,  5,  60, 15, WS_TABSTOP
PUSHBUTTON    "Abbrechen",        IDCANCEL,            155, 25,  60, 15, WS_TABSTOP
PUSHBUTTON    "&Hilfe",          PM_HELP,             155, 45,  60, 15, WS_TABSTOP
}

/* Dialog `Program attributes' */

DIALOG_PROGRAM DIALOG 0, 0, 250, 105
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Programmeigenschaften"
{
LTEXT         "&Beschreibung:",  PM_DESCRIPTION_TXT,   05, 10,  60, 8
EDITTEXT                                   PM_DESCRIPTION,       80, 10,  90, 12, WS_TABSTOP
LTEXT         "&Befehls&zeile:", PM_COMMAND_LINE_TXT,  05, 25,  60, 8
EDITTEXT                                   PM_COMMAND_LINE,      80, 25,  90, 12, WS_TABSTOP
LTEXT         "&Arbeitsverzeichnis:",    PM_DIRECTORY_TXT,     05, 40,  60, 8
EDITTEXT                                   PM_DIRECTORY,         80, 40,  90, 12, WS_TABSTOP
LTEXT         "&Tastenkombination:",      PM_HOT_KEY_TXT,       05, 55,  60, 8
EDITTEXT                                   PM_HOT_KEY,           80, 55,  90, 12, WS_TABSTOP
ICON          "",                          PM_ICON,              20, 70
CHECKBOX      "",                          PM_SYMBOL,            80, 75,  10, 10, WS_TABSTOP
LTEXT         "Als Sy&mbol",       -1,             95, 75,  75, 10
DEFPUSHBUTTON "OK",                   IDOK,                185,  5,  60, 15, WS_TABSTOP
PUSHBUTTON    "Abbrechen",               IDCANCEL,            185, 25,  60, 15, WS_TABSTOP
PUSHBUTTON    "&Durchsuchen...",               PM_BROWSE,           185, 45,  60, 15, WS_TABSTOP
PUSHBUTTON    "Anderes &Symbol...", PM_OTHER_SYMBOL,     185, 65,  60, 15, WS_TABSTOP
PUSHBUTTON    "&Hilfe",                 PM_HELP,             185, 85,  60, 15, WS_TABSTOP
}

/* Dialog `Symbol' */

DIALOG_SYMBOL DIALOG 0, 0, 200, 85
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Symbol auswählen"
{
LTEXT     "Datei&name:",    PM_ICON_FILE_TXT,    5, 15,  40, 10
EDITTEXT                         PM_ICON_FILE,       45, 15,  85, 12, WS_TABSTOP
LTEXT     "&Aktuelles Symbol:", PM_SYMBOL_LIST_TXT,  5, 30, 125, 10
COMBOBOX                         PM_SYMBOL_LIST,      5, 40, 125, 50,
   CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | CBS_OWNERDRAWFIXED | WS_TABSTOP
DEFPUSHBUTTON "OK",         IDOK,              135,  5,  60, 15, WS_TABSTOP
PUSHBUTTON    "Abbrechen",     IDCANCEL,          135, 25,  60, 15, WS_TABSTOP
PUSHBUTTON    "&Durchsuchen...",    PM_BROWSE,         135, 45,  60, 15, WS_TABSTOP
PUSHBUTTON    "&Hilfe",       PM_HELP,           135, 65,  60, 15, WS_TABSTOP
}

/* Dialog `Execute' */

DIALOG_EXECUTE DIALOG 0, 0, 200, 85
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Programm ausführen"
{
LTEXT     "&Befehlszeile:", -1,   05, 15, 120, 10
EDITTEXT                               PM_COMMAND, 05, 25, 120, 12, WS_TABSTOP
CHECKBOX      "",                      PM_SYMBOL,  05, 45,  10, 10, WS_TABSTOP
LTEXT         "Als Sy&mbol",   -1,   20, 45, 120, 10
DEFPUSHBUTTON "OK",               IDOK,      135,  5,  60, 15, WS_TABSTOP
PUSHBUTTON    "Abbrechen",           IDCANCEL,  135, 25,  60, 15, WS_TABSTOP
PUSHBUTTON    "&Durchsuchen...",          PM_BROWSE, 135, 45,  60, 15, WS_TABSTOP
PUSHBUTTON    "&Hilfe",             PM_HELP,   135, 65,  60, 15, WS_TABSTOP
}

/* Strings */

STRINGTABLE
{
IDS_PROGRAM_MANAGER,		"Programm-Manager"
IDS_ERROR,			"FEHLER"
IDS_WARNING,			"ACHTUNG"
IDS_INFO,			"Information"
IDS_DELETE,			"Löschen"
IDS_DELETE_GROUP_s,		"Lösche Programmgruppe „%s“?"
IDS_DELETE_PROGRAM_s,		"Lösche Programm „%s“?"
IDS_NOT_IMPLEMENTED,		"Nicht implementiert"
IDS_FILE_READ_ERROR_s,		"Fehler beim Lesen von „%s“."
IDS_FILE_WRITE_ERROR_s,		"Fehler beim Schreiben von „%s“."
IDS_GRPFILE_READ_ERROR_s,	"Die Programmgruppendatei „%s“ kann nicht geöffnet werden.\n\Soll weiterhin versucht werden, diese Datei zu laden?"
IDS_OUT_OF_MEMORY,		"Zu wenig Hauptspeicher."
IDS_WINHELP_ERROR,		"Keine Hilfe verfügbar."
IDS_UNKNOWN_FEATURE_s,		"Unbekannte Eigenschaft in %s"
IDS_FILE_NOT_OVERWRITTEN_s,	"Datei „%s“ existiert. Sie wird nicht überschrieben."
IDS_SAVE_GROUP_AS_s,		"Die Programmgruppe wird als „%s“ gesichert, um das Überschreiben der Originaldatei zu verhindern."
IDS_NO_HOT_KEY,			"Keine"
IDS_ALL_FILES,			"Alle Dateien (*.*)"
IDS_PROGRAMS,			"Programme"
IDS_LIBRARIES_DLL,		"Bibliotheken (*.dll)"
IDS_SYMBOL_FILES,		"Symboldateien"
IDS_SYMBOLS_ICO,		"Symbole (*.ico)"
}
