/*
 * OLE žiūryklė
 * Lithuanian Language Support
 *
 * Copyright 2009 Aurimas Fišeras <aurimas@gmail.com>
 *
 * 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_LITHUANIAN, SUBLANG_NEUTRAL

IDM_MENU MENU
{
    POPUP "&Failas"
    {
        MENUITEM "Susieti su &failu...",                      IDM_BIND
        MENUITEM "&Peržiūrėti TypeLib...",                    IDM_TYPELIB
        MENUITEM SEPARATOR
        MENUITEM "&Sistemos konfigūracija...",                IDM_SYSCONF
        MENUITEM "Paleisti &registro tvarkytuvę",             IDM_REGEDIT
        MENUITEM SEPARATOR
        MENUITEM "Iš&eiti",                                   IDM_EXIT
    }
    POPUP "&Objektas"
    {
        POPUP "&CoCreateInstance žymos bitai"
        {
            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 "Peržiūrėti &tipų informaciją",              IDM_TYPEINFO, GRAYED
        MENUITEM SEPARATOR
        MENUITEM "Sukurti &egzempliorių",                     IDM_CREATEINST, GRAYED
        MENUITEM "Sukurti egzempliorių &kompiuteryje...",     IDM_CREATEINSTON, GRAYED
        MENUITEM "&Naikinti egzempliorių",                    IDM_RELEASEINST, GRAYED
        MENUITEM SEPARATOR
        MENUITEM "Kopijuoti C&LSID į iškarpinę",              IDM_COPYCLSID, GRAYED
        MENUITEM "Kopijuoti &HTML objekto gairę į iškarpinę", IDM_HTMLTAG, GRAYED
        MENUITEM SEPARATOR
        MENUITEM "&Peržiūrėti...",                            IDM_VIEW, GRAYED
    }
    POPUP "&Rodinys"
    {
        MENUITEM "&Eksperto režimas",                         IDM_EXPERT,CHECKED
        MENUITEM SEPARATOR
        MENUITEM "&Paslėptų komponentų kategorijos",          IDM_HIDDEN, GRAYED
        MENUITEM SEPARATOR
        MENUITEM "&Įrankių juosta",                           IDM_TOOLBAR,CHECKED
        MENUITEM "&Būsenos juosta",                           IDM_STATUSBAR,CHECKED
        MENUITEM SEPARATOR
        MENUITEM "&Atnaujinti\tF5",                           IDM_REFRESH
    }
    POPUP "&Žinynas"
    {
        MENUITEM "&Apie OLE žiūrykę",                         IDM_ABOUT
    }
}

IDM_TYPELIB MENU
{
    POPUP "&Failas"
    {
        MENUITEM "Išsaugoti &kaip...",   IDM_SAVEAS
        MENUITEM "&Užverti",             IDM_CLOSE
    }
    POPUP "&Rodinys"
    {
        MENUITEM "&Grupuoti pagal rūšį", IDM_GROUP
        MENUITEM SEPARATOR
        MENUITEM "&Įrankių juosta",      IDM_TOOLBAR
        MENUITEM "&Būsenos juosta",      IDM_STATUSBAR,CHECKED
    }
}

STRINGTABLE
{
    IDS_APPNAME            "OLE žiūryklė"
    IDS_APPTITLE           "OLE žiūryklė"
    IDS_READY              "Parengta"
    IDS_ABOUT              "OLE žiūryklė - OLE/COM objektų žiūryklė"
    IDS_ABOUTVER           "versija 1.0"
    IDS_TYPELIBTITLE       "ITypeLib žiūryklė"
    IDS_OPEN               "Atverti"
    IDS_OPEN_TYPELIB_FILTER "TypeLib failai (*.tlb;*.olb;*.dll;*.ocx;*.exe)\0*.tlb;*.olb;*.dll;*.ocx;*.exe\0Visi failai (*.*)\0*.*\0\0"

    IDM_BIND,              "Susieti su failu per failo vardą"
    IDM_TYPELIB,           "Atverti TypeLib failą ir peržiūrėti jo turinį"
    IDM_SYSCONF,           "Keisti paskirstytojo COM kompiuterio nustatymus"
    IDM_REGEDIT,           "Paleisti Wine registro tvarkytuvę"
    IDM_EXIT,              "Išeiti iš programos. Paragina išsaugoti pakeitimus"
    IDM_CREATEINST,        "Sukurti pažymėto objekto egzempliorių"
    IDM_CREATEINSTON,      "Sukurti pažymėto objekto egzempliorių nurodytame kompiuteryje"
    IDM_RELEASEINST,       "Naikinti pažymėto objekto egzempliorių"
    IDM_COPYCLSID,         "Kopijuoti pažymėto elemento GUID į iškarpinę"
    IDM_VIEW,              "Rodyti žiūryklę pasirinktam elementui"
    IDM_FLAG_INSERV,       "Naudoti CLSCTX_INPROC_SERVER iškviečiant CoGetClassObject"
    IDM_FLAG_INHANDL,      "Naudoti CLSCTX_INPROC_HANDLER iškviečiant CoGetClassObject"
    IDM_FLAG_LOCSERV,      "Naudoti CLSCTX_LOCAL_SERVER iškviečiant CoGetClassObject"
    IDM_FLAG_REMSERV,      "Naudoti CLSCTX_REMOTE_SERVER iškviečiant CoGetClassObject"
    IDM_EXPERT,            "Perjungti tarp eksperto ir naujoko rodymo režimų"
    IDM_HIDDEN,            "Perjungti komponentų kategorijų, kurios turėjo būti nematomos, rodymą"
    IDM_TOOLBAR,           "Rodyti ar slėpti įrankių juostą"
    IDM_STATUSBAR,         "Rodyti ar slėpti būsenos juostą"
    IDM_REFRESH,           "Atnaujinti visus sąrašus"
    IDM_ABOUT,             "Parodo programos informaciją, versijos numerį ir autoriaus teises"

    IDM_SAVEAS,            "Išsaugoti kaip .IDL ar .H failą"
    IDM_CLOSE,             "Užverti langą"
    IDM_GROUP,             "Grupuoti tipų informaciją pagal rūšį"

    IDS_TREE_OC,           "Objektų klasės"
    IDS_TREE_GBCC,         "Sugrupuotos pagal komponento kategoriją"
    IDS_TREE_O1O,          "OLE 1.0 objektai"
    IDS_TREE_CLO,          "COM bibliotekos objektai"
    IDS_TREE_AO,           "Visi objektai"
    IDS_TREE_AID,          "Programų identifikatoriai"
    IDS_TREE_TL,           "Tipų bibliotekos"
    IDS_TL_VER,            "ver."
    IDS_TREE_I,            "Sąsajos"

    IDS_TAB_REG,           "Registras"
    IDS_TAB_IMPL,          "Realizacija"
    IDS_TAB_ACTIV,         "Aktyvinimas"

    IDS_CGCOFAIL,          "CoGetClassObject nepavyko."
    IDS_ERROR_UNKN,        "Nežinoma klaida"
    IDS_TRUE,              "Tiesa"
    IDS_FALSE,             "Netiesa"
    IDS_BYTES,             "baitai"

    IDS_ERROR_LOADTYPELIB, "LoadTypeLib( %s ) nepavyko ($%x)"
    IDS_INHERITINTERFACES, "Paveldėtos sąsajos"
}

DLG_CREATEINSTON DIALOG DISCARDABLE 0, 0, 250, 41
STYLE DS_MODALFRAME | DS_NOIDLEMSG | WS_CAPTION | WS_SYSMENU
CAPTION "Jungtis prie kito kompiuterio"
FONT 8, "MS Shell Dlg"
{
    LTEXT   "&Kompiuterio vardas:", -1, 5, 6, 190, 8
    EDITTEXT    IDC_MACHINE, 5, 16, 190, 12, WS_BORDER | WS_TABSTOP | ES_AUTOHSCROLL
    DEFPUSHBUTTON   "&Gerai", IDOK, 200, 5, 45, 14
    PUSHBUTTON  "&Atsisakyti", IDCANCEL, 200, 22, 45, 14
}

DLG_SYSCONF DIALOG DISCARDABLE 0, 0, 170, 100
STYLE DS_MODALFRAME | DS_NOIDLEMSG | WS_CAPTION | WS_SYSMENU
CAPTION "Sistemos konfigūracija"
FONT 8, "MS Shell Dlg"
{
    LTEXT   "Sistemos nuostatos", -1, 5, 6, 160, 8
    CHECKBOX    "Įjungti &paskirstytąjį COM", IDC_ENABLEDCOM, 5, 20, 160, 10, WS_TABSTOP | WS_GROUP | BS_AUTOCHECKBOX
    CHECKBOX    "Įjungti &nuotolinį prisijungimą (tik Win95)", IDC_ENABLEREMOTE, 5, 35, 160, 10, WS_TABSTOP | WS_GROUP | BS_AUTOCHECKBOX
    LTEXT   "Šios nuostatos keičia tik registro reikšmes.\nTai neturi jokios įtakos Wine našumui.", -1, 5, 50, 160, 40
    DEFPUSHBUTTON   "&Gerai", IDOK, 70, 80, 45, 14
    PUSHBUTTON  "&Atsisakyti", IDCANCEL, 120, 80, 45, 14
}

DLG_DEFAULT_IV DIALOG DISCARDABLE 0, 0, 280, 50
STYLE DS_MODALFRAME | DS_NOIDLEMSG | WS_CAPTION | WS_SYSMENU
CAPTION "Numatytosios sąsajos žiūryklė"
FONT 8, "MS Shell Dlg"
{
    LTEXT   "Sąsaja", -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   "&Užverti", IDCANCEL, 230, 6, 45, 14
    PUSHBUTTON  "&Peržiūrėti tipų informaciją", IDC_VIEWTYPEINFO, 6, 31, 90, 14, WS_DISABLED
}

DLG_IPERSIST_IV DIALOG DISCARDABLE 0, 0, 280, 29
STYLE DS_MODALFRAME | DS_NOIDLEMSG | WS_CAPTION | WS_SYSMENU
CAPTION "IPersist sąsajos žiūryklė"
FONT 8, "MS Shell Dlg"
{
    LTEXT   "Klasės vardas:", -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   "&Užverti", IDCANCEL, 230, 6, 45, 14
}

DLG_IPERSISTSTREAM_IV DIALOG DISCARDABLE 0, 0, 280, 68
STYLE DS_MODALFRAME | DS_NOIDLEMSG | WS_CAPTION | WS_SYSMENU
CAPTION "IPersistStream sąsajos žiūryklė"
FONT 8, "MS Shell Dlg"
{
    LTEXT   "Klasės vardas:", -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   "&Užverti", 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
}
