/*
 * Notepad (English resources)
 *
 * Copyright 1997 Marcel Baur <mbaur@g26.ethz.ch>
 * Proofread 1998 by David Lee Lambert <lamber45@egr.msu.edu>
 */

#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               "&Open"
#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\tCtrl+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      "&Margins:"
#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_ALL_FILES              "All files (*.*)"
#define STRING_TEXT_FILES_TXT         "Text files (*.txt)"

#define STRING_TOOLARGE         "File '%s' is 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."

#include "notepad.rc"





