/*
 * Notepad (English resources)
 *
 * Copyright 1997 Marcel Baur <mbaur@g26.ethz.ch>
 * FIXME: See TODO about how to fix weak translations.
 */

#define LANGUAGE_ID                  En
#define LANGUAGE_NUMBER              0
#define LANGUAGE_MENU_ITEM           "&English"

/* Menu */

#define MENU_FILE                    "&File"
#define MENU_FILE_NEW                "&New..."
#define MENU_FILE_OPEN               "O&pen"
#define MENU_FILE_SAVE               "&Save"
#define MENU_FILE_SAVEAS             "&Save as..."
#define MENU_FILE_PRINT              "&Print"
#define MENU_FILE_PAGESETUP          "Page Se&tup..."
#define MENU_FILE_PRINTSETUP         "P&rinter Setup..."
#define MENU_FILE_EXIT               "&Exit"

#define MENU_EDIT                    "&Edit"
#define MENU_EDIT_UNDO               "&Undo\tCtrl+Z"
#define MENU_EDIT_CUT                "Cu&t\Ctrl+X"
#define MENU_EDIT_COPY               "&Copy\tCtrl+C"
#define MENU_EDIT_PASTE              "&Paste\tCtrl+V"
#define MENU_EDIT_DELETE             "&Delete\tDel"
#define MENU_EDIT_SELECTALL          "Select &all"
#define MENU_EDIT_TIMEDATE           "&Time/Date\tF5"
#define MENU_EDIT_WRAP               "&Wrap long lines"

#define MENU_SEARCH                  "&Search"
#define MENU_SEARCH_SEARCH           "Search..."
#define MENU_SEARCH_NEXT             "&Search next\tF3"

#define MENU_LANGUAGE                "&Language"

#define MENU_HELP                    "&Help"
#define MENU_HELP_CONTENTS           "&Contents"
#define MENU_HELP_SEARCH             "&Search..."
#define MENU_HELP_HELP_ON_HELP       "&Help on help"

#define MENU_INFO                    "Inf&o..."
#define MENU_INFO_LICENSE            "&License"
#define MENU_INFO_NO_WARRANTY        "&NO WARRANTY"
#define MENU_INFO_ABOUT_WINE         "&About Wine"

/* Dialogs */

#define DIALOG_OK                    "OK"
#define DIALOG_CANCEL                "Cancel"
#define DIALOG_BROWSE                "&Browse..."
#define DIALOG_HELP                  "&Help"

#define DIALOG_PAGESETUP_CAPTION     "Page Setup"
#define DIALOG_PAGESETUP_HEAD        "&Header:"
#define DIALOG_PAGESETUP_TAIL        "&Footer:"
#define DIALOG_PAGESETUP_BORDER      "Borders:"
#define DIALOG_PAGESETUP_LEFT        "&Left:"
#define DIALOG_PAGESETUP_RIGHT       "&Right:"
#define DIALOG_PAGESETUP_TOP         "&Top:"
#define DIALOG_PAGESETUP_BOTTOM      "&Bottom:"


/* Strings */
#define STRING_NOTEPAD               "Notepad"
#define STRING_ERROR                 "ERROR"
#define STRING_WARNING               "WARNING"
#define STRING_INFO                  "Information"

#define STRING_UNTITLED              "(untitled)"

#define STRING_ALLFILES              "All files (*.*)"
#define STRING_TEXTFILES             "Text files (*.*)"

#define STRING_TOOLARGE         "File '%s' ist too large for notepad.\n \
Please use a different editor."

#define STRING_NOTEXT           "You didn't enter any text. \
\nPlease type something and try again"

#define STRING_NOTFOUND         "'%s' can not be found."

#define STRING_OUT_OF_MEMORY    "Not enough memory to complete this \
task. \nClose one or more applications to increase the amount of \nfree \
memory."



