/*
 * 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_PREVIEW_PAGE,             "Page"
    STRING_PREVIEW_PAGES,            "Pages"
    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
