/*
 * WineCfg resources
 * Russian Language Support
 *
 * Copyright 2003 Igor Stepin
 * Copyright 2006 Vitaliy Margolen
 *
 * 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 "config.h"   /* Needed for the PACKAGE_STRING definition */
#include "resource.h"

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

LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT

IDR_WINECFG MENU DISCARDABLE
BEGIN
    POPUP ""
    BEGIN
        MENUITEM "Настроить", IDC_AUDIO_CONFIGURE
    END
END

IDD_ABOUTCFG DIALOGEX 0, 0, 260, 220
STYLE WS_CHILD
FONT 8, "MS Shell Dlg"
BEGIN
    CONTROL         "", IDC_ABT_PANEL, "STATIC", SS_OWNERDRAW, 0, 0, 260, 140
    LTEXT           PACKAGE_NAME,IDC_ABT_TITLE_TEXT,105,30,55,30
    LTEXT           PACKAGE_VERSION,IDC_ABT_PANEL_TEXT,160,43,140,8
    CONTROL         "",IDC_ABT_WEB_LINK,"SysLink", LWS_TRANSPARENT, 105,53,106,8
/*
    LTEXT           "Эта библиотека является свободным программным обеспечением; вы можете распространять её и/или модифицировать согласно условиям лицензии GNU Lesser General Public License, опубликованной Free Software Foundation; версии 2.1 лицензии или (на ваше усмотрение) любой более поздней.",
*/
    LTEXT           "This program 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.",
                    IDC_ABT_LICENSE_TEXT,105,64,145,60
    GROUPBOX        " Регистрационная информация Windows ", IDC_STATIC, 15, 155, 230, 55
    LTEXT           "Имя:", IDC_STATIC, 22, 171, 40, 20
    EDITTEXT        IDC_ABT_OWNER, 75, 171, 160, 13, ES_AUTOHSCROLL | WS_TABSTOP
    LTEXT           "Организация:", IDC_STATIC, 22, 185, 50, 20
    EDITTEXT        IDC_ABT_ORG, 75, 185, 160, 13, ES_AUTOHSCROLL | WS_TABSTOP
END

IDD_APPCFG DIALOG DISCARDABLE  0, 0, 260, 220
STYLE WS_CHILD | WS_DISABLED
FONT 8, "MS Shell Dlg"
BEGIN
    GROUPBOX        " Настройка приложений ",IDC_STATIC, 8,4,244,210
    LTEXT           "Wine может имитировать любую версию Windows для каждого приложения. Эта вкладка связана с вкладками Библиотеки и Графика, что позволяет изменение настроек в этих вкладках как для определённого приложения, так и глобально.",
                    IDC_STATIC,15,20,227,60
    CONTROL         "Приложения",IDC_APP_LISTVIEW,"SysListView32",WS_BORDER | WS_TABSTOP | LVS_LIST | LVS_SINGLESEL | LVS_SHOWSELALWAYS,
                    15,65,230,104
    PUSHBUTTON	    "&Добавить приложение...",IDC_APP_ADDAPP, 68,174,94,14
    PUSHBUTTON	    "&Удалить приложение",IDC_APP_REMOVEAPP, 164,174,78,14
    LTEXT           "&Версия Windows:",IDC_STATIC,17,196,58,8
    COMBOBOX        IDC_WINVER,83,194,163,56,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP    
END

IDD_GRAPHCFG DIALOG DISCARDABLE  0, 0, 260, 220
STYLE WS_CHILD | WS_DISABLED
FONT 8, "MS Shell Dlg"
BEGIN
    GROUPBOX    " Настройки окна ",IDC_STATIC,8,4,244,84
    CONTROL     "Разрешить приложению DirectX удерживать мышь в своём окне",IDC_DX_MOUSE_GRAB,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,20,230,8
    CONTROL     "Разрешить менеджеру окон &декорировать окна",IDC_ENABLE_DECORATED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,32,230,8
    CONTROL     "Разрешить менеджеру окон управлять окнами Wine",IDC_ENABLE_MANAGED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,44,230,8
    CONTROL     "Эмулировать виртуальный рабочий стол",IDC_ENABLE_DESKTOP,"Button",
                BS_AUTOCHECKBOX | WS_TABSTOP,15,56,230,8
    LTEXT       "Размер рабочего стола:",IDC_DESKTOP_SIZE,15,70,84,8,WS_DISABLED
    LTEXT       "X",IDC_DESKTOP_BY,149,70,8,8,WS_DISABLED
    EDITTEXT    IDC_DESKTOP_WIDTH,104,68,40,12,ES_AUTOHSCROLL | ES_NUMBER | WS_DISABLED
    EDITTEXT    IDC_DESKTOP_HEIGHT,157,68,40,12,ES_AUTOHSCROLL | ES_NUMBER | WS_DISABLED

    GROUPBOX    " Direct3D ",IDC_STATIC,8,95,244,49
    LTEXT       "Вершинные шейдеры: ",IDC_STATIC,15,110,80,32
    COMBOBOX    IDC_D3D_VSHADER_MODE,100,108,145,70,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
    CONTROL     "Включить Pixel Shader (если поддерживается оборудованием)",IDC_D3D_PSHADER_MODE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,126,230,10

    GROUPBOX    " Разрешение экрана ",IDC_STATIC,8,151,244,63
    CONTROL     "", IDC_RES_TRACKBAR, "msctls_trackbar32",WS_TABSTOP,12,161,187,15
    EDITTEXT    IDC_RES_DPIEDIT,204,161,23,13,ES_NUMBER|WS_TABSTOP
    LTEXT       "dpi",IDC_STATIC,235,163,10,8
    LTEXT       "Пример текста (This is a sample text). Шрифт Tahoma 10 пунктов.",IDC_RES_FONT_PREVIEW,15,181,230,28
END

IDD_DLLCFG DIALOG DISCARDABLE  0, 0, 260, 220
STYLE WS_CHILD | WS_DISABLED
FONT 8, "MS Shell Dlg"
BEGIN
    GROUPBOX        " Замещения DLL ",IDC_STATIC,8,4,244,210
    LTEXT           "Здесь указывается, какую динамически подключаемую библиотеку (DLL) использовать: встроенную в Wine или стороннюю (из Windows)."
                    ,IDC_STATIC,16,16,220,32
    LTEXT           "Новое замещение для библиотеки:",IDC_STATIC,16,58,160,8
    COMBOBOX        IDC_DLLCOMBO,16,68,140,14,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP | CBS_SORT | CBS_LOWERCASE
    PUSHBUTTON      "&Добавить",IDC_DLLS_ADDDLL, 164,68,82,13
    LTEXT           "Существующие замещения:",IDC_STATIC,16,86,100,8
    LISTBOX         IDC_DLLS_LIST,16,96,140,112,WS_BORDER | WS_TABSTOP | WS_VSCROLL
    PUSHBUTTON      "&Изменить",IDC_DLLS_EDITDLL,164,96,82,14
    PUSHBUTTON      "&Удалить",IDC_DLLS_REMOVEDLL,164,114,82,14
END

IDD_LOADORDER DIALOG DISCARDABLE 80, 90, 150, 92
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
CAPTION "Изменить замещение"
FONT 8, "MS Shell Dlg"
BEGIN
    GROUPBOX        " Порядок загрузки ",IDC_STATIC,8,4,135,66
    CONTROL         "&Встроенная (Wine)",IDC_RAD_BUILTIN,"Button", BS_AUTORADIOBUTTON | WS_GROUP,16,14,105,10
    CONTROL         "С&торонняя (Windows)",IDC_RAD_NATIVE,"Button", BS_AUTORADIOBUTTON,16,24,105,10
    CONTROL         "В&строенная, затем сторонняя",IDC_RAD_BUILTIN_NATIVE,"Button", BS_AUTORADIOBUTTON,16,34,115,10
    CONTROL         "Ст&оронняя, затем встроенная",IDC_RAD_NATIVE_BUILTIN,"Button", BS_AUTORADIOBUTTON,16,44,115,10
    CONTROL         "&Блокировать загрузку",IDC_RAD_DISABLE,"Button", BS_AUTORADIOBUTTON,16,54,105,10
    DEFPUSHBUTTON   "OK",IDOK,8,74,45,14,WS_GROUP
    PUSHBUTTON      "Отмена",IDCANCEL,57,74,45,14,WS_GROUP
END

IDD_DRIVECHOOSE DIALOG DISCARDABLE  60, 70, 170, 60
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
CAPTION "Выберите букву диска"
FONT 8, "MS Shell Dlg"
BEGIN
    COMBOBOX IDC_DRIVESA2Z,15,10,75,230,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
    DEFPUSHBUTTON   "OK",IDOK,105,10,45,14,WS_GROUP
    PUSHBUTTON      "Отмена",IDCANCEL,105,30,45,14,WS_GROUP
END

IDD_DRIVECFG DIALOG DISCARDABLE  0, 0, 260, 220
STYLE WS_CHILD | WS_DISABLED
FONT 8, "MS Shell Dlg"
BEGIN
    GROUPBOX        " Настройка дисков ",IDC_STATIC,8,4,244,195
    LTEXT           "Невозможно соединиться с mount manager! Конфигурация дисков не будет редактироваться.", IDC_STATIC_MOUNTMGR_ERROR, 15,30,190,76
    CONTROL         "Listview",IDC_LIST_DRIVES,"SysListView32",LVS_REPORT | LVS_AUTOARRANGE | LVS_ALIGNLEFT |
                    LVS_SINGLESEL | WS_BORDER | WS_TABSTOP, 15,18,232,76
    PUSHBUTTON      "&Добавить...",IDC_BUTTON_ADD,15,98,45,14
    PUSHBUTTON      "&Удалить",IDC_BUTTON_REMOVE,66,98,47,14
    PUSHBUTTON      "&Автоопределение...",IDC_BUTTON_AUTODETECT,165,98,80,14

    /* editing drive details */
    LTEXT           "&Путь:",IDC_STATIC_PATH,15,123,20,9
    EDITTEXT        IDC_EDIT_PATH,41,120,160,13,ES_AUTOHSCROLL | WS_TABSTOP
    PUSHBUTTON      "&Обзор...",IDC_BUTTON_BROWSE_PATH,206,120,40,13
    
    LTEXT           "&Тип:",IDC_STATIC_TYPE,15,138,21,10
    COMBOBOX        IDC_COMBO_TYPE,41,135,77,60,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
    
    PUSHBUTTON      "Дополнительно...",IDC_BUTTON_SHOW_HIDE_ADVANCED,150,135,96,13
    LTEXT           "De&vice:",IDC_STATIC_DEVICE,15,153,26,9
    EDITTEXT        IDC_EDIT_DEVICE,41,150,160,13,ES_AUTOHSCROLL | WS_TABSTOP
    PUSHBUTTON      "Об&зор...",IDC_BUTTON_BROWSE_DEVICE,206,150,40,13

    LTEXT           "&Метка:",IDC_STATIC_LABEL,15,168,70,12
    EDITTEXT        IDC_EDIT_LABEL,85,165,118,13,ES_AUTOHSCROLL | WS_TABSTOP
    LTEXT           "Серийный номер:",IDC_STATIC_SERIAL,15,183,70,12
    EDITTEXT        IDC_EDIT_SERIAL,85,180,118,13,ES_AUTOHSCROLL | WS_TABSTOP

    CONTROL         "Показывать файлы, начинающиеся с точки",IDC_SHOW_DOT_FILES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,205,230,8
END

IDD_AUDIOCFG DIALOG DISCARDABLE  0, 0, 260, 220
STYLE WS_CHILD | WS_DISABLED
FONT 8, "MS Shell Dlg"
BEGIN
    GROUPBOX        " Выбор драйвера ",IDC_STATIC,8,4,244,160
    LTEXT	    "Звуковой драйвер: ",IDC_STATIC,15,20,227,30
    CONTROL         "Devices",IDC_AUDIO_TREE,"SysTreeView32",WS_BORDER | WS_TABSTOP,15,50,140,105
    PUSHBUTTON      "&Проверить звук",IDC_AUDIO_TEST,170,50,59,14
    PUSHBUTTON	    "Панель управления",IDC_AUDIO_CONTROL_PANEL,170,70,80,14
    GROUPBOX        " DirectSound ",IDC_STATIC,8,170,244,45
    LTEXT	    "Аппаратное ускорение: ",IDC_STATIC,15,180,90,10
    COMBOBOX	    IDC_DSOUND_HW_ACCEL,100,178,145,70,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
    LTEXT           "Частота (герц):",IDC_STATIC,15,195,70,8
    COMBOBOX        IDC_DSOUND_RATES,100,193,42,76,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
    LTEXT           "Кодирование (бит):",IDC_STATIC,144,195,80,8
    COMBOBOX        IDC_DSOUND_BITS,216,193,30,52,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
END

IDD_DESKTOP_INTEGRATION DIALOG DISCARDABLE  0, 0, 260, 220
STYLE WS_CHILD | WS_DISABLED
FONT 8, "MS Shell Dlg"
BEGIN
    GROUPBOX        " Внешний вид ",IDC_STATIC,8,4,244,106
    LTEXT           "Тема:",IDC_STATIC,15,16,130,8
    COMBOBOX        IDC_THEME_THEMECOMBO,15,24,130,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
    PUSHBUTTON      "Установить тему...",IDC_THEME_INSTALL,152,23,93,14
    LTEXT           "Цвет:",IDC_THEME_COLORTEXT,15,40,112,8
    COMBOBOX        IDC_THEME_COLORCOMBO,15,48,112,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
    LTEXT           "Размер:",IDC_THEME_SIZETEXT,135,40,110,8
    COMBOBOX        IDC_THEME_SIZECOMBO,135,48,110,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
    LTEXT           "Элемент:",IDC_STATIC,15,64,112,8
    COMBOBOX        IDC_SYSPARAM_COMBO,15,74,112,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | CBS_SORT
    LTEXT           "Цвет:",IDC_SYSPARAM_COLOR_TEXT,135,64,25,8,WS_DISABLED
    PUSHBUTTON      "",IDC_SYSPARAM_COLOR,135,74,25,13,WS_DISABLED | BS_OWNERDRAW
    LTEXT           "Размер:",IDC_SYSPARAM_SIZE_TEXT,166,64,30,8,WS_DISABLED
    EDITTEXT        IDC_SYSPARAM_SIZE,166,74,23,13,ES_AUTOHSCROLL | WS_TABSTOP | WS_DISABLED
    CONTROL         "",IDC_SYSPARAM_SIZE_UD,UPDOWN_CLASS,UDS_SETBUDDYINT | WS_DISABLED,187,74,15,13
    PUSHBUTTON      "Шрифт",IDC_SYSPARAM_FONT,208,74,37,13,WS_DISABLED
    GROUPBOX        " Стандартные папки ",IDC_STATIC,8,114,244,100
    CONTROL         "Listview",IDC_LIST_SFPATHS,"SysListView32",LVS_REPORT | LVS_AUTOARRANGE | LVS_ALIGNLEFT |
                     LVS_SINGLESEL | WS_BORDER | WS_TABSTOP, 15,126,230,64
    CONTROL         "Направить в:",IDC_LINK_SFPATH,"Button",BS_AUTOCHECKBOX|WS_TABSTOP|WS_DISABLED,15,195,50,13
    EDITTEXT         IDC_EDIT_SFPATH,65,195,145,13,ES_AUTOHSCROLL|WS_TABSTOP|WS_DISABLED
    PUSHBUTTON      "Обзор",IDC_BROWSE_SFPATH,215,195,30,13,WS_DISABLED
END

STRINGTABLE DISCARDABLE
BEGIN
    IDS_TAB_APPLICATIONS    "Приложения"
    IDS_TAB_DLLS            "Библиотеки"
    IDS_TAB_DRIVES          "Диски"
    IDS_CHOOSE_PATH         "Выберите целевой каталог в системе:"
    IDS_HIDE_ADVANCED       "Скрыть дополнительные"
    IDS_SHOW_ADVANCED       "Показать дополнительные"
    IDS_NOTHEME             "(без темы)"
    IDS_TAB_GRAPHICS        "Графика"
    IDS_TAB_DESKTOP_INTEGRATION "Вид и интеграция"
    IDS_TAB_AUDIO           "Аудио"
    IDS_TAB_ABOUT           "О программе"
    IDS_WINECFG_TITLE       "Настройка Wine"
    IDS_WINECFG_TITLE_APP   "Настройка Wine для %s"
    IDS_THEMEFILE           "Файлы тем (*.msstyles; *.theme)"
    IDS_THEMEFILE_SELECT    "Выберите файл с темой"
    IDS_AUDIO_MISSING       "Конфигурация звукового драйвера не найдена.\n\nВыбран драйвер по умолчанию. При необходимости можно выбрать другой драйвер из списка доступных.\n\nДля сохранения изменений нажмите кнопку Применить."
    IDS_SHELL_FOLDER        "Стандартные папки"
    IDS_LINKS_TO            "Связано с"
END

STRINGTABLE DISCARDABLE
BEGIN
    IDS_DLL_WARNING             "Изменение порядка загрузки этой библиотеки не рекомендуется.\nВы действительно хотите изменить порядок?"
    IDS_DLL_WARNING_CAPTION     "Внимание: системная библиотека"
    IDS_DLL_NATIVE              "сторонняя"
    IDS_DLL_BUILTIN             "встроенная"
    IDS_DLL_NATIVE_BUILTIN      "сторонняя, встроенная"
    IDS_DLL_BUILTIN_NATIVE      "встроенная, сторонняя"
    IDS_DLL_DISABLED            "отключена"
    IDS_DEFAULT_SETTINGS        "Установки по умолчанию"
    IDS_EXECUTABLE_FILTER       "Программы Wine (*.exe,*.exe.so)\0*.exe;*.exe.so\0"
    IDS_USE_GLOBAL_SETTINGS     "Использовать по умолчанию"
    IDS_SELECT_EXECUTABLE       "Выберите исполняемый файл"
END

STRINGTABLE DISCARDABLE
BEGIN
    IDS_SHADER_MODE_HARDWARE    "Включены"
    IDS_SHADER_MODE_NONE        "Выключены"
END

STRINGTABLE DISCARDABLE
BEGIN
    IDS_DRIVE_UNKNOWN           "Автоопределение"
    IDS_DRIVE_FIXED             "Жёсткий диск"
    IDS_DRIVE_REMOTE            "Сетевой диск"
    IDS_DRIVE_REMOVABLE         "Дисковод"
    IDS_DRIVE_CDROM             "CD-ROM"
    IDS_DRIVE_LETTERS_EXCEEDED  "Невозможно создать новый диск.\n\nУ каждого диска должна быть буква - от A до Z, и у вас уже 26 дисков."
    IDS_SYSTEM_DRIVE_LABEL      "Системный диск"
    IDS_CONFIRM_DELETE_C        "Действительно удалить диск C?\n\nБольшинство Windows-программ перестанут работать без диска C. Если вы всё же решили удалить диск, не забудьте создать новый!"
    IDS_COL_DRIVELETTER         "Диск"
    IDS_COL_DRIVEMAPPING        "Путь"
    IDS_NO_DRIVE_C              "Вы не назначили диск C.\n\nНе забудьте его создать!\n"
END

STRINGTABLE DISCARDABLE
BEGIN
    IDS_ACCEL_FULL              "Полное"
    IDS_ACCEL_STANDARD          "Стандартное"
    IDS_ACCEL_BASIC             "Минимальное"
    IDS_ACCEL_EMULATION         "Эмуляция"
    IDS_DRIVER_ALSA             "ALSA драйвер"
    IDS_DRIVER_ESOUND           "EsounD драйвер"
    IDS_DRIVER_OSS              "OSS драйвер"
    IDS_DRIVER_JACK             "JACK драйвер"
    IDS_DRIVER_NAS              "NAS драйвер"
    IDS_DRIVER_AUDIOIO          "Audio IO (Solaris) драйвер"
    IDS_DRIVER_COREAUDIO        "CoreAudio драйвер"
    IDS_OPEN_DRIVER_ERROR       "Невозможно открыть %s!"
    IDS_SOUNDDRIVERS            "Аудио драйвера"
    IDS_DEVICES_WAVEOUT         "Устройство вывода звука"
    IDS_DEVICES_WAVEIN          "Устройство ввода звука"
    IDS_DEVICES_MIDIOUT         "Устройство вывода MIDI"
    IDS_DEVICES_MIDIIN          "Устройство ввода MIDI"
    IDS_DEVICES_AUX             "Дополнительное устройство"
    IDS_DEVICES_MIXER           "Устройство микширования"
    IDS_UNAVAILABLE_DRIVER      "Драйвер, указанный в реестре, не найден!\n\nУдалить \"%s\" из реестра?"
    IDS_WARNING                 "Внимание"
END

STRINGTABLE DISCARDABLE
BEGIN
    IDC_SYSPARAMS_BUTTON            "Элементы управления - фон"
    IDC_SYSPARAMS_BUTTON_TEXT       "Элементы управления - текст"
    IDC_SYSPARAMS_DESKTOP           "Стол"
    IDC_SYSPARAMS_MENU              "Меню - фон"
    IDC_SYSPARAMS_MENU_TEXT         "Меню - текст"
    IDC_SYSPARAMS_SCROLLBAR         "Полоса прокрутки"
    IDC_SYSPARAMS_SELECTION         "Выделение - фон"
    IDC_SYSPARAMS_SELECTION_TEXT    "Выделение - текст"
    IDC_SYSPARAMS_TOOLTIP           "Подсказка - фон"
    IDC_SYSPARAMS_TOOLTIP_TEXT      "Подсказка - текст"
    IDC_SYSPARAMS_WINDOW            "Содержимое окна - фон"
    IDC_SYSPARAMS_WINDOW_TEXT       "Содержимое окна - текст"
    IDC_SYSPARAMS_ACTIVE_TITLE      "Активное окно"
    IDC_SYSPARAMS_ACTIVE_TITLE_TEXT "Активное окно - текст"
    IDC_SYSPARAMS_INACTIVE_TITLE    "Пассивное окно"
    IDC_SYSPARAMS_INACTIVE_TITLE_TEXT "Пассивное окно - текст"
    IDC_SYSPARAMS_MSGBOX_TEXT       "Окно сообщения - текст"
    IDC_SYSPARAMS_APPWORKSPACE      "Содержимое окна MDI - фон"
    IDC_SYSPARAMS_WINDOW_FRAME      "Окно - рамка"
    IDC_SYSPARAMS_ACTIVE_BORDER     "Активное окно - рамка"
    IDC_SYSPARAMS_INACTIVE_BORDER   "Пассивное окно - рамка"
    IDC_SYSPARAMS_BUTTON_SHADOW     "Элементы управления - тень"
    IDC_SYSPARAMS_GRAY_TEXT         "Недоступный элемент"
    IDC_SYSPARAMS_BUTTON_HILIGHT    "Элементы управления - светлая рамка"
    IDC_SYSPARAMS_BUTTON_DARK_SHADOW "Элементы управления - темная тень"
    IDC_SYSPARAMS_BUTTON_LIGHT      "Элементы управления - свет"
    IDC_SYSPARAMS_BUTTON_ALTERNATE  "Элементы управления - фон 2"
    IDC_SYSPARAMS_HOT_TRACKING      "Ссылка, Подсветка"
    IDC_SYSPARAMS_ACTIVE_TITLE_GRADIENT "Градиент активного окна"
    IDC_SYSPARAMS_INACTIVE_TITLE_GRADIENT "Градиент пассивного окна"
    IDC_SYSPARAMS_MENU_HILIGHT      "Плоское меню - подсветка"
    IDC_SYSPARAMS_MENUBAR           "Плоское меню - фон"
END
