/*
 * 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
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  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  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  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 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  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  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  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  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
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
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
BEGIN
    IDS_SHADER_MODE_HARDWARE    "Включены"
    IDS_SHADER_MODE_NONE        "Выключены"
END

STRINGTABLE
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
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_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
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
