/*
 * WineFile (Russian resources)
 *
 * Copyright 2003 Igor Stepin
 * Copyright 2007 Konstantin Kondratyuk (Etersoft)
 *
 * 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_RUSSIAN, SUBLANG_DEFAULT

/* Menu */

IDM_WINEFILE MENU
{
    POPUP "&Файл"  {
        MENUITEM "&Открыть\tEnter",             ID_ACTIVATE
        MENUITEM "&Переместить...\tF7",         ID_FILE_MOVE
        MENUITEM "&Копировать...\tF8",          ID_FILE_COPY
        MENUITEM "&В буфер обмена...\tF9",      118
        MENUITEM "&Удалить\tDel",               ID_FILE_DELETE
        MENUITEM "Переименовать...",            109
        MENUITEM "Свойства...\tAlt+Enter",      ID_EDIT_PROPERTIES
        MENUITEM SEPARATOR
        MENUITEM "Архивировать...",             119
        MENUITEM "Распаковать...",              120
        MENUITEM SEPARATOR
        MENUITEM "&Запустить...",               ID_RUN
        MENUITEM "&Печатать...",                102
        MENUITEM "Ассоциировать...",            103
        MENUITEM SEPARATOR
        MENUITEM "Создать директорию...",       111
        MENUITEM "Поиск...",                    104
        MENUITEM "&Выделить файлы...",          116
        MENUITEM SEPARATOR
#ifndef _NO_EXTENSIONS
        MENUITEM "Выход\tAlt+X",                ID_FILE_EXIT
#else
        MENUITEM "Выход",                       ID_FILE_EXIT
#endif
    }

    POPUP "&Диск"  {
        MENUITEM "&Копировать диск...",         201
        MENUITEM "&Метка тома...",              202
        MENUITEM SEPARATOR
        MENUITEM "&Форматировать...",           ID_FORMAT_DISK
#ifdef _WIN95
        MENUITEM "&Создать системный диск...",  -1   /*TODO*/
#endif
        MENUITEM SEPARATOR
        MENUITEM "Подклю&чить сетевой диск",    ID_CONNECT_NETWORK_DRIVE
        MENUITEM "Отк&лючить сетевой диск",     ID_DISCONNECT_NETWORK_DRIVE
        MENUITEM SEPARATOR
        MENUITEM "Сделать о&бщим как...",       254
        MENUITEM "&Закрыть общий доступ...",    255
        MENUITEM SEPARATOR
        MENUITEM "&Выбрать диск...",            251
    }

    POPUP "&Папки"  {
        MENUITEM "С&ледующий уровень\t+",       301
        MENUITEM "&Развернуть дерево\t*",       302
        MENUITEM "Развернуть в&сё\tStrg+*",     303
        MENUITEM "&Свернуть дерево\t-",         304
        MENUITEM SEPARATOR
        MENUITEM "&Отметить ветви",             505
    }

    POPUP "&Вид"  {
        MENUITEM "Дерево &и папка",             413
        MENUITEM "Только &дерево",              411
        MENUITEM "Только &папка",               412
        MENUITEM SEPARATOR
        MENUITEM "Раз&бить",                    ID_VIEW_SPLIT
        MENUITEM SEPARATOR
        MENUITEM "И&мя",                        ID_VIEW_NAME
        MENUITEM "В&се подробности о файле",    ID_VIEW_ALL_ATTRIBUTES, CHECKED
        MENUITEM "&Выборочно о файле...",       ID_VIEW_SELECTED_ATTRIBUTES
        MENUITEM SEPARATOR
        MENUITEM "&Сортировать по имени",       ID_VIEW_SORT_NAME
        MENUITEM "Сортировать по &типу",        ID_VIEW_SORT_TYPE
        MENUITEM "Сортировать по &размеру",     ID_VIEW_SORT_SIZE
        MENUITEM "Сортировать по д&ате",        ID_VIEW_SORT_DATE
        MENUITEM SEPARATOR
        MENUITEM "Сортировать по &...",         ID_VIEW_FILTER
    }

    POPUP "&Настройки"  {
        MENUITEM "Под&тверждения...",           501
        MENUITEM "&Шрифт...",                   ID_SELECT_FONT
        MENUITEM "&Настроить панель инструментов...", 512
        MENUITEM SEPARATOR
        MENUITEM "&Панель инструментов",        ID_VIEW_TOOL_BAR, CHECKED
        MENUITEM "Панель &дисков",              ID_VIEW_DRIVE_BAR, CHECKED
        MENUITEM "&Строка состояния",           ID_VIEW_STATUSBAR, CHECKED
#ifndef _NO_EXTENSIONS
        MENUITEM "П&олный экран\tCtrl+Shift+S", ID_VIEW_FULLSCREEN
#endif
        MENUITEM SEPARATOR
        MENUITEM "&Значок в список программ",   504
        MENUITEM "Со&хранять настройки при выходе",511
    }


    POPUP "&Безопасность"  {
        MENUITEM "&Доступ...",                  605
        MENUITEM "&Протоколы...",               606
        MENUITEM "&Владелец...",                607
    }

    POPUP "&Окно"  {
        MENUITEM "Новое &окно",                 ID_WINDOW_NEW
        MENUITEM "Окна &каскадом\tCtrl+F5",     ID_WINDOW_CASCADE
        MENUITEM "Окна с&верху вниз",           ID_WINDOW_TILE_HORZ
        MENUITEM "Окна с&лева направо\tCtrl+F4",ID_WINDOW_TILE_VERT
#ifndef _NO_EXTENSIONS
        MENUITEM "Расположить &автоматически",  ID_WINDOW_AUTOSORT
#endif
        MENUITEM "&Расположить",                ID_WINDOW_ARRANGE
        MENUITEM "О&бновить\tF5",               ID_REFRESH
    }

    POPUP "&Справка"  {
        MENUITEM "&Содержание\tF1",             ID_HELP
        MENUITEM "&Поиск...\tF1",               ID_HELP
        MENUITEM "&Использование справки\tF1",  ID_HELP_USING
        MENUITEM SEPARATOR
        MENUITEM "&О Winefile...",              ID_ABOUT
    }
}

IDD_SELECT_DESTINATION DIALOG 15, 13, 210, 63
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Выберите путь назначения"
FONT 8, "MS Shell Dlg"
{
    CONTROL         "", 101, "Static", SS_SIMPLE|SS_NOPREFIX, 3, 6, 162, 10
    CONTROL         "&Путь:", -1, "Static", SS_LEFTNOWORDWRAP|WS_GROUP, 3, 18, 60, 10
    EDITTEXT        201, 3, 29, 134, 12, ES_AUTOHSCROLL
    DEFPUSHBUTTON   "OK", 1, 158, 6, 47, 14
    PUSHBUTTON      "Отмена", 2, 158, 23, 47, 14
    PUSHBUTTON      "&Обзор", 254, 158, 43, 47, 14
}

IDD_DIALOG_VIEW_TYPE DIALOG 15, 13, 161, 97
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "По типу файлов"
FONT 8, "MS Sans Serif"
BEGIN
    LTEXT           "&Имя:",-1,7,8,22,10
    EDITTEXT        IDC_VIEW_PATTERN,31,7,63,12,ES_AUTOHSCROLL
    GROUPBOX        "Тип файла",-1,7,23,87,56
    CONTROL         "&Каталоги",IDC_VIEW_TYPE_DIRECTORIES,"Button",
                    BS_AUTOCHECKBOX | WS_TABSTOP,13,32,70,10
    CONTROL         "&Программы",IDC_VIEW_TYPE_PROGRAMS,"Button",
                    BS_AUTOCHECKBOX | WS_TABSTOP,13,43,70,10
    CONTROL         "&Документы",IDC_VIEW_TYPE_DOCUMENTS,"Button",
                    BS_AUTOCHECKBOX | WS_TABSTOP,13,54,70,10
    CONTROL         "Другие &файлы",IDC_VIEW_TYPE_OTHERS,"Button",
                    BS_AUTOCHECKBOX | WS_TABSTOP,13,65,70,10
    CONTROL         "Показать скрытые/&системные файлы",IDC_VIEW_TYPE_HIDDEN,
                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,81,106,9
    DEFPUSHBUTTON   "OK",IDOK,104,7,50,14
    PUSHBUTTON      "Отмена",IDCANCEL,104,24,50,14
END

IDD_DIALOG_PROPERTIES DIALOG  0, 0, 248, 215
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Свойства %s"
FONT 8, "MS Sans Serif"
BEGIN
    DEFPUSHBUTTON   "OK",IDOK,191,7,50,14
    PUSHBUTTON      "Отмена",IDCANCEL,191,29,50,14
    LTEXT           "Имя &файла:",-1,7,7,59,9
    EDITTEXT        IDC_STATIC_PROP_FILENAME,71,7,120,9,ES_READONLY | NOT WS_BORDER | WS_TABSTOP
    LTEXT           "&Полный путь:",-1,7,18,59,9
    EDITTEXT        IDC_STATIC_PROP_PATH,71,18,120,9, ES_READONLY | NOT WS_BORDER | WS_TABSTOP
    LTEXT           "Последнее изменение:",-1,7,29,59,9
    EDITTEXT        IDC_STATIC_PROP_LASTCHANGE,71,29,120,9,ES_READONLY | NOT WS_BORDER | WS_TABSTOP
    LTEXT           "Версия:",-1,7,40,59,9
    EDITTEXT        IDC_STATIC_PROP_VERSION,71,40,120,9,ES_READONLY | NOT WS_BORDER | WS_TABSTOP
    LTEXT           "Cop&yright:",-1,7,51,59,9
    EDITTEXT        IDC_STATIC_PROP_COPYRIGHT,71,51,120,9,ES_READONLY | NOT WS_BORDER | WS_TABSTOP
    LTEXT           "Размер:",-1,7,62,59,9
    EDITTEXT        IDC_STATIC_PROP_SIZE,71,62,120,9,ES_READONLY | NOT WS_BORDER | WS_TABSTOP
    GROUPBOX        "Атрибуты",-1,7,79,158,46
    CONTROL         "&Только для чтения",IDC_CHECK_READONLY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,17,91,68,9
    CONTROL         "С&крытый",IDC_CHECK_HIDDEN,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,92,91,68,9
    CONTROL         "&Архивный",IDC_CHECK_ARCHIVE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,17,101,68,9
    CONTROL         "&Системный",IDC_CHECK_SYSTEM,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,92,101,68,9
    CONTROL         "С&жатый",IDC_CHECK_COMPRESSED,"Button", BS_AUTOCHECKBOX | WS_TABSTOP,17,111,68,9
    GROUPBOX        "&Информация о версии",-1,7,129,234,79
    LISTBOX         IDC_LIST_PROP_VERSION_TYPES,13,139,107,63,LBS_SORT | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
    EDITTEXT        IDC_LIST_PROP_VERSION_VALUES,123,139,111,63,ES_MULTILINE | ES_READONLY | WS_VSCROLL
END


STRINGTABLE
{
    IDS_FONT_SEL_DLG_NAME   "Применение параметров настройки шрифта"
    IDS_FONT_SEL_ERROR      "Ошибка при выборе нового шрифта."
}

STRINGTABLE
{
    IDS_WINEFILE            "Winefile"
    IDS_ERROR               "Ошибка"
    IDS_ROOT_FS             "Корневая файловая система"
    IDS_UNIXFS              "Основная файловая система"
    IDS_DESKTOP             "Рабочий стол"
    IDS_SHELL               "Shell"
    IDS_TITLEFMT            "%s - %s"
    IDS_NO_IMPL             "Ещё не реализовано"
    IDS_WINE_FILE           "Wine File"
}

STRINGTABLE
{
    IDS_COL_NAME            "Имя"
    IDS_COL_SIZE            "Размер"
    IDS_COL_CDATE           "Дата создания"
    IDS_COL_ADATE           "Дата последнего доступа"
    IDS_COL_MDATE           "Дата последнего изменения"
    IDS_COL_IDX             "Index/Inode"
    IDS_COL_LINKS           "Ссылки"
    IDS_COL_ATTR            "Атрибуты"
    IDS_COL_SEC             "Безопасность"

    IDS_FREE_SPACE_FMT      "%s из %s свободно"
}
