/*
 * Copyright 2004 by Krzysztof Foltman
 *
 * Ukrainian language support
 *
 * Copyright (C) 2010 Igor Paliychuk
 *
 * 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_UKRAINIAN, SUBLANG_DEFAULT

IDM_MAINMENU MENU DISCARDABLE
BEGIN
    POPUP "&File"
    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 "Paragrap&h format",           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 "&Bullet points"                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 "Вир&ізати",                ID_EDIT_CUT
        MENUITEM "&Копіювати",               ID_EDIT_COPY
        MENUITEM "&Вставити",              ID_EDIT_PASTE
        MENUITEM SEPARATOR
        MENUITEM "&Bullet points"       ID_BULLET
        MENUITEM "&Абзац..."        ID_PARAFORMAT
    END
END

IDM_COLOR_POPUP MENU DISCARDABLE
BEGIN
    POPUP ""
    BEGIN
        MENUITEM "×îðíèé"       ID_COLOR_BLACK
        MENUITEM "Áðóíàòíèé"    ID_COLOR_MAROON
        MENUITEM "Çåëåíèé"      ID_COLOR_GREEN
        MENUITEM "Îëèâêîâèé"    ID_COLOR_OLIVE
        MENUITEM "Ñèí³é"        ID_COLOR_NAVY
        MENUITEM "Ïóðïóðíèé"    ID_COLOR_PURPLE
        MENUITEM "Çåëåíî-ñèí³é" ID_COLOR_TEAL
        MENUITEM "Ñ³ðèé"        ID_COLOR_GRAY
        MENUITEM "Ñð³áíèé"      ID_COLOR_SILVER
        MENUITEM "×åðâîíèé"     ID_COLOR_RED
        MENUITEM "Ñàëàòîâèé"    ID_COLOR_LIME
        MENUITEM "Æîâòèé"       ID_COLOR_YELLOW
        MENUITEM "Ãîëóáèé"      ID_COLOR_BLUE
        MENUITEM "Ô³îëåòîâèé"   ID_COLOR_FUCHSIA
        MENUITEM "Àêâàìàðèí"    ID_COLOR_AQUA
        MENUITEM "Á³ëèé"        ID_COLOR_WHITE
        MENUITEM "Automatic"    ID_COLOR_AUTOMATIC
    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   "&OK",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   "&OK",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 "&OK", 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 "Tab stops", -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 "&OK", 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 "Line wrapping", -1, 10, 10, 130, 85
    RADIOBUTTON "&No line wrapping", IDC_PAGEFMT_WN, 18, 25, 117, 15
    RADIOBUTTON "Wrap text by the &window border", IDC_PAGEFMT_WW, 18, 45, 117, 15
    RADIOBUTTON "Wrap text by the &margin", IDC_PAGEFMT_WM, 18, 65, 117, 15
    GROUPBOX "Toolbars", -1, 150, 10, 120, 85
    CHECKBOX "&Toolbar", IDC_PAGEFMT_TB, 160, 20, 80, 15
    CHECKBOX "&Formatbar", 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_ALL_FILES,              "Всі документи (*.*)"
    STRING_TEXT_FILES_TXT,         "Текстові документи (*.txt)"
    STRING_TEXT_FILES_UNICODE_TXT, "Текстовий документ Unicode (*.txt)"
    STRING_RICHTEXT_FILES_RTF,     "Rich text format (*.rtf)"
    STRING_NEWFILE_RICHTEXT,       "Rich text документ"
    STRING_NEWFILE_TXT,            "Текстовий документ"
    STRING_NEWFILE_TXT_UNICODE,    "Текстовий документ Unicode"
    STRING_PRINTER_FILES_PRN,      "Printer files (*.PRN)"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_ALIGN_LEFT,            "По Лівому Краю"
    STRING_ALIGN_RIGHT,           "По Правому Краю"
    STRING_ALIGN_CENTER,          "По Центру"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_VIEWPROPS_TITLE,          "Налаштування"
    STRING_VIEWPROPS_TEXT,           "Текст"
    STRING_VIEWPROPS_RICHTEXT,       "Rich text"
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,            "Закрити"
    STRING_UNITS_CM,                 "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

LANGUAGE LANG_UKRAINIAN, SUBLANG_NEUTRAL

STRINGTABLE DISCARDABLE
BEGIN
    STRING_ALIGN_LEFT,            "По Лівому Краю"
    STRING_ALIGN_RIGHT,           "По правому Краю"
    STRING_ALIGN_CENTER,          "По Центру"
END
