/*
 * 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
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
BEGIN
    POPUP ""
    BEGIN
        MENUITEM "Вир&ізати",      ID_EDIT_CUT
        MENUITEM "&Копіювати",     ID_EDIT_COPY
        MENUITEM "&Вставити",      ID_EDIT_PASTE
        MENUITEM SEPARATOR
        MENUITEM "&Маркери"        ID_BULLET
        MENUITEM "&Абзац..."       ID_PARAFORMAT
    END
END

IDM_COLOR_POPUP MENU
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 "Автоматично"    ID_COLOR_AUTOMATIC
    END
END

IDD_DATETIME DIALOG 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 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 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, 18
    EDITTEXT IDC_PARA_FIRST, 55, 56, 60, 13
    LTEXT "Вирівнювання", -1, 13, 87, 50, 13
    COMBOBOX IDC_PARA_ALIGN, 63, 85, 75, 60, CBS_DROPDOWNLIST
    PUSHBUTTON "&OK", IDOK, 137, 15, 50, 15
    PUSHBUTTON "&Скасувати", IDCANCEL, 137, 33, 50, 15
END

IDD_TABSTOPS DIALOG 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 "&OK", IDOK, 137, 15, 50, 15
    PUSHBUTTON "&Скасувати", IDCANCEL, 137, 33, 50, 15
    PUSHBUTTON "Видалити в&се", ID_TAB_EMPTY, 137, 51, 50, 15
END

IDD_FORMATOPTS DIALOG 0, 0, 280, 110
STYLE DS_SYSMODAL
Caption ""
FONT 8, "MS Shell Dlg"
BEGIN
    GROUPBOX "Перенос рядка", -1, 10, 10, 130, 85
    RADIOBUTTON "&Без переносу", 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, 88, 15
    CHECKBOX "Панель &форматування", IDC_PAGEFMT_FB, 160, 38, 88, 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
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,      "Файли принтера (*.PRN)"
END

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

STRINGTABLE
BEGIN
    STRING_VIEWPROPS_TITLE,          "Налаштування"
    STRING_VIEWPROPS_TEXT,           "Текст"
    STRING_VIEWPROPS_RICHTEXT,       "Rich text"
END

STRINGTABLE
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,             "Сторінка"
    STRING_PREVIEW_PAGES,            "Сторінок"
    STRING_UNITS_CM,                 "см"
    STRING_UNITS_IN,                 "in"
    STRING_UNITS_INCH,               "дюйм"
    STRING_UNITS_PT,                 "pt"
END

STRINGTABLE
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
BEGIN
    STRING_ALIGN_LEFT,            "По Лівому Краю"
    STRING_ALIGN_RIGHT,           "По правому Краю"
    STRING_ALIGN_CENTER,          "По Центру"
END
