/*
 * OleView (Uk.rc)
 * Ukrainian Language Support
 *
 * Copyright 2006 Piotr Caban
 * Copyright 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 "resource.h"

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

LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT

IDM_MENU MENU
{
    POPUP "&Файл"
    {
        MENUITEM "&Прив'язати до файлу...",     IDM_BIND
        MENUITEM "П&ерегляд TypeLib...",        IDM_TYPELIB
        MENUITEM SEPARATOR
        MENUITEM "&Конфігураця системи...",     IDM_SYSCONF
        MENUITEM "&Запустити Редактор реєстру", IDM_REGEDIT
        MENUITEM SEPARATOR
        MENUITEM "&Вихід",  			IDM_EXIT
    }
    POPUP "&Об'єкт"
    {
        POPUP "&CoCreateInstance Flag"
        {
            MENUITEM "CLSCTX_&INPROC_SERVER",    IDM_FLAG_INSERV,CHECKED
            MENUITEM "CLSCTX_INPROC_&HANDLER",   IDM_FLAG_INHANDL
            MENUITEM "CLSCTX_&LOCAL_SERVER",     IDM_FLAG_LOCSERV,CHECKED
            MENUITEM "CLSCTX_&REMOTE_SERVER",    IDM_FLAG_REMSERV
        }
        MENUITEM SEPARATOR
        MENUITEM "Перегляд інформації про &тип",    IDM_TYPEINFO, GRAYED
        MENUITEM SEPARATOR
        MENUITEM "Створити &Екземпляр",    	 IDM_CREATEINST, GRAYED
        MENUITEM "Створити Екземпляр &на...",    IDM_CREATEINSTON, GRAYED
        MENUITEM "&Видалити Екземпляр",          IDM_RELEASEINST, GRAYED
        MENUITEM SEPARATOR
        MENUITEM "Копіювати C&LSID в буфер",	       IDM_COPYCLSID, GRAYED
        MENUITEM "Копіювати &HTML object Tag в буфер", IDM_HTMLTAG, GRAYED
        MENUITEM SEPARATOR
        MENUITEM "&Перегляд...",    			IDM_VIEW, GRAYED
    }
    POPUP "&Вигляд"
    {
        MENUITEM "&Режим експерта",    			IDM_EXPERT,CHECKED
        MENUITEM SEPARATOR
        MENUITEM "&Приховані категорії компонентів",    IDM_HIDDEN, GRAYED
        MENUITEM SEPARATOR
        MENUITEM "Панель &інструментів",    		IDM_TOOLBAR,CHECKED
        MENUITEM "Рядок &стану",    			IDM_STATUSBAR,CHECKED
        MENUITEM SEPARATOR
        MENUITEM "&Оновити\tF5",    			IDM_REFRESH
    }
    POPUP "&Довідка"
    {
        MENUITEM "&Про OleView",    IDM_ABOUT
    }
}

IDM_TYPELIB MENU
{
    POPUP "&Файл"
    {
        MENUITEM "&Зберегти як...",	IDM_SAVEAS
        MENUITEM "За&крити",		IDM_CLOSE
    }
    POPUP "&Вигляд"
    {
        MENUITEM "&Групувати за типом",		IDM_GROUP
        MENUITEM SEPARATOR
        MENUITEM "Панель &інструментів",	IDM_TOOLBAR
        MENUITEM "Рядок &стану",		IDM_STATUSBAR,CHECKED
    }
}

STRINGTABLE
{
    IDS_APPNAME            "OleView"
    IDS_APPTITLE           "OleView"
    IDS_READY              "Готово"
    IDS_ABOUT              "OleView - Переглядач об'єктів OLE/COM"
    IDS_ABOUTVER           "версія 1.0"
    IDS_TYPELIBTITLE       "ITypeLib viewer"
    IDS_OPEN               "Відкрити"
    IDS_OPEN_TYPELIB_FILTER "Файли TypeLib (*.tlb;*.olb;*.dll;*.ocx;*.exe)\0*.tlb;*.olb;*.dll;*.ocx;*.exe\0Всі файли (*.*)\0*.*\0\0"

    IDM_BIND,              "Прив'язати до файлу через File Moniker"
    IDM_TYPELIB,           "Відкрити файл TypeLib і переглянути вміст"
    IDM_SYSCONF,           "Змінити загальносистемні параметри Distributed COM"
    IDM_REGEDIT,           "Запустити редактор реєстру Wine"
    IDM_EXIT,              "Вийти з програми з пропозицією зберегти зміни"
    IDM_CREATEINST,        "Створити екземпляр вибраного об'єкту"
    IDM_CREATEINSTON,      "Створити екземпляр вибраного об'єкту на вказаній машині"
    IDM_RELEASEINST,       "Видалити екземпляр вибраного об'єкту"
    IDM_COPYCLSID,         "Копіювати GUID вибраного об'єкту в буфер"
    IDM_VIEW,              "Відкрити перегляд для вибраного пункту"
    IDM_FLAG_INSERV,       "Використовувати CLSCTX_INPROC_SERVER при виклику CoGetClassObject"
    IDM_FLAG_INHANDL,      "Використовувати CLSCTX_INPROC_HANDLER при виклику CoGetClassObject"
    IDM_FLAG_LOCSERV,      "Використовувати CLSCTX_LOCAL_SERVER при виклику CoGetClassObject"
    IDM_FLAG_REMSERV,      "Використовувати CLSCTX_REMOTE_SERVER при виклику CoGetClassObject"
    IDM_EXPERT,            "Переключитись між режимами експерт/новачок"
    IDM_HIDDEN,            "Переключити відображення категорій компонентів, які не повинні бути видимі"
    IDM_TOOLBAR,           "Показати/приховати панель інструментів"
    IDM_STATUSBAR,         "Показати/приховати рядок стану"
    IDM_REFRESH,           "Оновити всі списки"
    IDM_ABOUT,             "Показати інформацію про програму, номер версії і копірайт"

    IDM_SAVEAS,            "Зберегти як .IDL чи .H файл"
    IDM_CLOSE,             "Закрити вікно"
    IDM_GROUP,             "Групувати typeinfos за видом"

    IDS_TREE_OC,           "ObjectClasses"
    IDS_TREE_GBCC,         "Згруповано за категоріями компонентів"
    IDS_TREE_O1O,          "Об'єкти OLE 1.0"
    IDS_TREE_CLO,          "Об'єкти бібліотеки COM"
    IDS_TREE_AO,           "Всі об'єкти"
    IDS_TREE_AID,          "ID програми"
    IDS_TREE_TL,           "Бібліотеки Типу"
    IDS_TL_VER,            "вер."
    IDS_TREE_I,            "Інтерфейси"

    IDS_TAB_REG,           "Реєстр"
    IDS_TAB_IMPL,          "Реалізація"
    IDS_TAB_ACTIV,         "Активація"

    IDS_CGCOFAIL,          "CoGetClassObject не вдався."
    IDS_ERROR_UNKN,        "Невідома помилка"
    IDS_TRUE,              "True"
    IDS_FALSE,             "False"
    IDS_BYTES,             "байт"

    IDS_ERROR_LOADTYPELIB, "LoadTypeLib( %s ) не зміг ($%x)"
    IDS_INHERITINTERFACES, "Успадковані Інтерфейси"
}

DLG_CREATEINSTON DIALOG 0, 0, 250, 41
STYLE DS_MODALFRAME | DS_NOIDLEMSG | WS_CAPTION | WS_SYSMENU
CAPTION "Під'єднатись до іншого комп'ютера"
FONT 8, "MS Shell Dlg"
{
    LTEXT   "&Ім'я комп'ютера:", -1, 5, 6, 190, 8
    EDITTEXT    IDC_MACHINE, 5, 16, 190, 12, WS_BORDER | WS_TABSTOP | ES_AUTOHSCROLL
    DEFPUSHBUTTON   "&OK", IDOK, 200, 5, 45, 14
    PUSHBUTTON  "&Скасувати", IDCANCEL, 200, 22, 45, 14
}

DLG_SYSCONF DIALOG 0, 0, 170, 100
STYLE DS_MODALFRAME | DS_NOIDLEMSG | WS_CAPTION | WS_SYSMENU
CAPTION "Конфігурація системи"
FONT 8, "MS Shell Dlg"
{
    LTEXT   "Параметри системи", -1, 5, 6, 160, 8
    CHECKBOX    "&Дозволити  роподілений COM", IDC_ENABLEDCOM, 5, 20, 160, 10, WS_TABSTOP | WS_GROUP | BS_AUTOCHECKBOX
    CHECKBOX    "Дозволити віддалені &з'єднання (лише Win95)", IDC_ENABLEREMOTE, 5, 35, 163, 10, WS_TABSTOP | WS_GROUP | BS_AUTOCHECKBOX
    LTEXT   "Ці налаштування змінюють лише значення реєстру.\nВони не впливають на продуктивність Wine.", -1, 5, 50, 160, 40
    DEFPUSHBUTTON   "&OK", IDOK, 70, 80, 45, 14
    PUSHBUTTON  "&Скасувати", IDCANCEL, 120, 80, 45, 14
}

DLG_DEFAULT_IV DIALOG 0, 0, 280, 50
STYLE DS_MODALFRAME | DS_NOIDLEMSG | WS_CAPTION | WS_SYSMENU
CAPTION "Default Interface Viewer"
FONT 8, "MS Shell Dlg"
{
    LTEXT   "Інтерфейс", -1, 5, 6, 50, 8
    LTEXT   "", IDC_LABEL, 60, 6, 145, 8
    LTEXT   "IID:", -1, 5, 16, 50, 8
    LTEXT   "", IDC_IDENTIFIER, 60, 16, 165, 8
    DEFPUSHBUTTON   "&Закрити", IDCANCEL, 230, 6, 45, 14
    PUSHBUTTON  "&Дивитись дані про тип", IDC_VIEWTYPEINFO, 6, 31, 70, 14, WS_DISABLED
}

DLG_IPERSIST_IV DIALOG 0, 0, 280, 29
STYLE DS_MODALFRAME | DS_NOIDLEMSG | WS_CAPTION | WS_SYSMENU
CAPTION "IPersist Interface Viewer"
FONT 8, "MS Shell Dlg"
{
    LTEXT   "Ім'я класу:", -1, 5, 6, 50, 8
    LTEXT   "", IDC_LABEL, 60, 6, 145, 8
    LTEXT   "CLSID:", -1, 5, 16, 50, 8
    LTEXT   "", IDC_IDENTIFIER, 60, 16, 165, 8
    DEFPUSHBUTTON   "&Закрити", IDCANCEL, 230, 6, 45, 14
}

DLG_IPERSISTSTREAM_IV DIALOG 0, 0, 280, 68
STYLE DS_MODALFRAME | DS_NOIDLEMSG | WS_CAPTION | WS_SYSMENU
CAPTION "IPersistStream Interface Viewer"
FONT 8, "MS Shell Dlg"
{
    LTEXT   "Ім'я класу:", -1, 5, 6, 50, 8
    LTEXT   "", IDC_LABEL, 60, 6, 145, 8
    LTEXT   "CLSID:", -1, 5, 16, 50, 8
    LTEXT   "", IDC_IDENTIFIER, 60, 16, 165, 8
    DEFPUSHBUTTON   "&Закрити", IDCANCEL, 230, 6, 45, 14
    PUSHBUTTON  "&IsDirty", IDC_ISDIRTY_BUTTON, 6, 31, 50, 14
    LTEXT   "???", IDC_ISDIRTY, 60, 34, 145, 8
    PUSHBUTTON  "&GetSizeMax", IDC_GETSIZEMAX_BUTTON, 6, 49, 50, 14
    LTEXT   "???", IDC_GETSIZEMAX, 60, 52, 145, 8
}
