/*
 * Copyright 2006 by Phil Krylov
 *
 * 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"

/* UTF-8 */
#pragma code_page(65001)

LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT

IDM_MAINMENU MENU DISCARDABLE
BEGIN
    POPUP "&Файл"
    BEGIN
        MENUITEM "Созд&ать...\tCtrl+N",ID_FILE_NEW
        MENUITEM "&Открыть...\tCtrl+O",ID_FILE_OPEN
        MENUITEM "&Сохранить\tCtrl+S", ID_FILE_SAVE
        MENUITEM "Сохранить &как...",  ID_FILE_SAVEAS
        MENUITEM SEPARATOR
        MENUITEM "&Печать...\tCtrl+P",            ID_PRINT
        MENUITEM "Пред&варительный просмотр...",  ID_PREVIEW
        MENUITEM "&Макет страницы...",            ID_PRINTSETUP
        MENUITEM SEPARATOR
        MENUITEM "В&ыход",                           ID_FILE_EXIT
    END
    POPUP "&Правка"
    BEGIN
        MENUITEM "&Отменить\tCtrl+Z",           ID_EDIT_UNDO
        MENUITEM "&Повторить\tCtrl+Y",          ID_EDIT_REDO
        MENUITEM SEPARATOR
        MENUITEM "&Вырезать\tCtrl+X",           ID_EDIT_CUT
        MENUITEM "&Копировать\tCtrl+C",         ID_EDIT_COPY
        MENUITEM "&Вставить\tCtrl+V",           ID_EDIT_PASTE
        MENUITEM "&Удалить\tDEL",               ID_EDIT_CLEAR
        MENUITEM "Выделить в&се\tCtrl+A",       ID_EDIT_SELECTALL
        MENUITEM SEPARATOR
        MENUITEM "&Найти...\tCtrl+F",           ID_FIND
        MENUITEM "На&йти далее\tF3",            ID_FIND_NEXT
        MENUITEM "&Заменить...\tCtrl+H",        ID_REPLACE
        MENUITEM SEPARATOR
        MENUITEM "&Только для чтения",          ID_EDIT_READONLY
        MENUITEM "&Изменен",                    ID_EDIT_MODIFIED
        MENUITEM SEPARATOR
        POPUP "&Дополнительно"
        BEGIN
            MENUITEM "&Информация о выделении",         ID_EDIT_SELECTIONINFO
            MENUITEM "&Формат символов",                ID_EDIT_CHARFORMAT
            MENUITEM "Формат символов &по умолчанию",   ID_EDIT_DEFCHARFORMAT
            MENUITEM "Формат &абзаца",                  ID_EDIT_PARAFORMAT
            MENUITEM "П&олучить текст",                 ID_EDIT_GETTEXT
        END
    END
    POPUP "&Вид"
    BEGIN
        MENUITEM "Панель &инструментов",                ID_TOGGLE_TOOLBAR
        MENUITEM "П&анель форматирования",              ID_TOGGLE_FORMATBAR
        MENUITEM "&Линейка",                            ID_TOGGLE_RULER
        MENUITEM "&Строка состояния",                   ID_TOGGLE_STATUSBAR
        MENUITEM SEPARATOR
        MENUITEM "&Параметры...",                       ID_VIEWPROPERTIES
    END
    POPUP "Вст&авка"
    BEGIN
        MENUITEM "&Дата и время...",                    ID_DATETIME
    END
    POPUP "Фор&мат"
    BEGIN
        MENUITEM "&Шрифт...",                           ID_FONTSETTINGS
        MENUITEM "&Маркер"                              ID_BULLET
        MENUITEM "&Абзац..."                            ID_PARAFORMAT
        MENUITEM "&Табуляция..."                        ID_TABSTOPS
        POPUP "&Фон"
        BEGIN
            MENUITEM "&Системный\tCtrl+1",              ID_BACK_1
            MENUITEM "&Желтоватый PostThat\tCtrl+2",    ID_BACK_2
        END
    END
    POPUP "&Справка"
    BEGIN
        MENUITEM "&О Wine Wordpad"       ID_ABOUT
    END
END

IDM_POPUP MENU DISCARDABLE
BEGIN
    POPUP ""
    BEGIN
        MENUITEM "&Вырезать\tCtrl+X",   ID_EDIT_CUT
        MENUITEM "&Копировать\tCtrl+C", ID_EDIT_COPY
        MENUITEM "Вст&авить",           ID_EDIT_PASTE
        MENUITEM SEPARATOR
        MENUITEM "&Маркер"              ID_BULLET
        MENUITEM "&Абзац..."            ID_PARAFORMAT
    END
END

IDD_DATETIME DIALOG DISCARDABLE 30, 20, 130, 80
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
CAPTION "Дата и время"
FONT 10, "MS Sans Serif"
BEGIN
    LTEXT        "Доступные форматы",-1,3,2,100,15
    LISTBOX      IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY
    PUSHBUTTON   "&ОК",IDOK,87,12,40,12
    PUSHBUTTON   "О&тмена",IDCANCEL,87,26,40,12
END

IDD_NEWFILE DIALOG DISCARDABLE 30, 20, 140, 80
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
CAPTION "Новый документ"
FONT 10, "MS Sans Serif"
BEGIN
    LTEXT        "Тип создаваемого документа",-1,3,2,100,15
    LISTBOX      IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT
    PUSHBUTTON   "&ОК",IDOK,97,12,40,12
    PUSHBUTTON   "О&тмена",IDCANCEL,97,26,40,12
END

IDD_PARAFORMAT DIALOG DISCARDABLE 30, 20, 200, 110
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
Caption "Абзац"
FONT 8, "MS Shell Dlg"
BEGIN
    GROUPBOX "Отступ", -1, 10, 10, 120, 68
    LTEXT "Слева", -1, 15, 22, 40, 13
    EDITTEXT IDC_PARA_LEFT, 55, 20, 60, 13
    LTEXT "Справа", -1, 15, 40, 40, 13
    EDITTEXT IDC_PARA_RIGHT, 55, 38, 60, 13
    LTEXT "Первая строка", -1, 15, 58, 40, 13
    EDITTEXT IDC_PARA_FIRST, 55, 56, 60, 13
    LTEXT "Выравнивание", -1, 15, 87, 40, 13
    COMBOBOX IDC_PARA_ALIGN, 55, 85, 60, 60, CBS_DROPDOWNLIST
    PUSHBUTTON "&ОК", IDOK, 137, 15, 50, 15
    PUSHBUTTON "О&тмена", IDCANCEL, 137, 33, 50, 15
END

IDD_TABSTOPS DIALOG DISCARDABLE 30, 20, 200, 110
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
Caption "Табуляция"
FONT 8, "MS SHell DLg"
BEGIN
    GROUPBOX "Позиции табуляции", -1, 10, 10, 120, 90
    COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE
    DEFPUSHBUTTON "&Установить", ID_TAB_ADD, 20, 80, 45, 15
    PUSHBUTTON "О&чистить", ID_TAB_DEL, 72, 80, 45, 15
    PUSHBUTTON "&ОК", IDOK, 137, 15, 50, 15
    PUSHBUTTON "О&тмена", IDCANCEL, 137, 33, 50, 15
    PUSHBUTTON "Очистить &все", 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 "Перенос по словам", -1, 10, 10, 130, 85
    RADIOBUTTON "No line wrapping", IDC_PAGEFMT_WN, 18, 25, 117, 15
    RADIOBUTTON "В границах &окна", IDC_PAGEFMT_WW, 18, 45, 117, 15
    RADIOBUTTON "В границах &полей", IDC_PAGEFMT_WM, 18, 65, 117, 15
    GROUPBOX "Панели", -1, 150, 10, 120, 85
    CHECKBOX "&Инструментов", IDC_PAGEFMT_TB, 160, 20, 80, 15
    CHECKBOX "&Форматирования", IDC_PAGEFMT_FB, 160, 38, 80, 15
    CHECKBOX "&Линейка", IDC_PAGEFMT_RU, 160, 56, 80, 15
    CHECKBOX "&Строка состояния", IDC_PAGEFMT_SB, 160, 74, 80, 15
    LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_RICHTEXT_FILES_RTF,     "Файлы RTF (*.rtf)"
    STRING_TEXT_FILES_TXT,         "Текстовые документы (*.txt)"
    STRING_TEXT_FILES_UNICODE_TXT, "Документы Unicode (*.txt)"
    STRING_ALL_FILES,              "Все документы (*.*)"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_ALIGN_LEFT,            "По левому краю"
    STRING_ALIGN_RIGHT,           "По правому краю"
    STRING_ALIGN_CENTER,          "По центру"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_NEWFILE_RICHTEXT,     "Файл RTF"
    STRING_NEWFILE_TXT,          "Текстовый документ"
    STRING_NEWFILE_TXT_UNICODE,  "Документ в формате Unicode"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_PRINTER_FILES_PRN,        "Файлы принтера (*.PRN)"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_VIEWPROPS_TITLE,          "Настройки"
    STRING_VIEWPROPS_TEXT,           "Текст"
    STRING_VIEWPROPS_RICHTEXT,       "Файл RTF"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_PREVIEW_PRINT,            "Печать"
    STRING_PREVIEW_NEXTPAGE,         "Следующая страница"
    STRING_PREVIEW_PREVPAGE,         "Предыдущая страница"
    STRING_PREVIEW_TWOPAGES,         "Две страницы"
    STRING_PREVIEW_ONEPAGE,          "Одна страница"
    STRING_PREVIEW_ZOOMIN,           "Приблизить"
    STRING_PREVIEW_ZOOMOUT,          "Отдалить"
    STRING_PREVIEW_CLOSE,            "Закрыть"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_UNITS_CM,             "см"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_DEFAULT_FILENAME,     "Документ"
    STRING_PROMPT_SAVE_CHANGES,  "Сохранить изменения в '%s'?"
    STRING_SEARCH_FINISHED,      "Поиск в документе завершен."
    STRING_LOAD_RICHED_FAILED,   "Ошибка загрузки библиотеки RichEdit."
    STRING_SAVE_LOSEFORMATTING,  "Сохранение документа в виде неформатированного текста, " \
                                 "приведет к потере форматирования. Подтверждаете выполнение" \
                                 "этой операции?"
    STRING_INVALID_NUMBER,       "Неправильный числовой формат"
    STRING_OLE_STORAGE_NOT_SUPPORTED, "OLE storage документы не поддерживаются"
    STRING_WRITE_FAILED,              "Невозможно сохранить файл."
    STRING_WRITE_ACCESS_DENIED,       "Недостаточно прав для сохранения файла."
    STRING_OPEN_FAILED,               "Невозможно открыть файл."
    STRING_OPEN_ACCESS_DENIED,        "Недостаточно прав для открытия файла."
    STRING_PRINTING_NOT_IMPLEMENTED, "Печать не поддерживается"
    STRING_MAX_TAB_STOPS,             "Нельзя добавить более 32 позиций табуляции."
END
