/*
 * WineCfg resources
 * Romanian Language Support
 *
 * Copyright 2007,2008 Michael Stefaniuc
 *
 * 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"

LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL

#pragma code_page(65001)

IDR_WINECFG MENU DISCARDABLE
BEGIN
    POPUP ""
    BEGIN
        MENUITEM "Configurează", IDC_AUDIO_CONFIGURE
    END
END

IDD_ABOUTCFG DIALOGEX 0, 0, 260, 270
STYLE WS_CHILD
FONT 8, "MS Shell Dlg"
BEGIN
    LTEXT           PACKAGE_STRING,IDC_STATIC,119,17,120,8
    CONTROL         IDB_WINE,IDC_STATIC,"Static",SS_BITMAP ,15,17,157,111
    LTEXT           "http://www.winehq.org/",IDC_STATIC,119,31,106,8
    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_STATIC,119,44,124,72
    GROUPBOX        " Informații de înregistrare Windows ", IDC_STATIC, 15, 110, 230, 55
    LTEXT           "&Deținătorul:", IDC_STATIC, 22, 126, 40, 20
    EDITTEXT        IDC_ABT_OWNER, 75, 126, 160, 13, ES_AUTOHSCROLL | WS_TABSTOP
    LTEXT           "Organi&zația:", IDC_STATIC, 22, 140, 50, 20
    EDITTEXT        IDC_ABT_ORG, 75, 140, 160, 13, ES_AUTOHSCROLL | WS_TABSTOP
END

IDD_APPCFG DIALOG DISCARDABLE  0, 0, 260, 250
STYLE WS_CHILD | WS_DISABLED
FONT 8, "MS Shell Dlg"
BEGIN
    GROUPBOX        " Setări pentru aplicații ",IDC_STATIC, 8,4,244,240
    LTEXT           "Wine poate imita diferite versiuni de Windows pentru fiecare aplicație.  Această subfereastră stă în legătură cu subferestrele „Suprascrieri DLL” și „Setări de fereastră” și permite schimbarea setărilor globale sau pe aplicație în această subfereastră.",
                    IDC_STATIC,15,20,227,40
    CONTROL         "Aplicații",IDC_APP_LISTVIEW,"SysListView32",WS_BORDER | WS_TABSTOP | LVS_LIST | LVS_SINGLESEL | LVS_SHOWSELALWAYS,
                    15,60,230,140
    PUSHBUTTON      "&Adaugă o aplicație",IDC_APP_ADDAPP, 90,204,75,14
    PUSHBUTTON      "&Șterge aplicația",IDC_APP_REMOVEAPP, 170,204,75,14
    LTEXT           "Versiunea &Windows:",IDC_STATIC,17,226,68,8
    COMBOBOX        IDC_WINVER,83,224,163,56,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
END

IDD_GRAPHCFG DIALOG DISCARDABLE  0, 0, 260, 250
STYLE WS_CHILD | WS_DISABLED
FONT 8, "MS Shell Dlg"
BEGIN
    GROUPBOX    " Setări de fereastră ",IDC_STATIC,8,4,244,84
    CONTROL     "Permite aplicațiilor DirectX să rețină &mouse-ul în ferestră",IDC_DX_MOUSE_GRAB,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,20,230,8
    CONTROL     "Permite administratorului de ferestre să &decoreze ferestrele",IDC_ENABLE_DECORATED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,32,230,8
    CONTROL     "Permite administratorului de ferestre să &administreze ferestrele",IDC_ENABLE_MANAGED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,44,230,8
    CONTROL     "&Emulează un ecran virtual",IDC_ENABLE_DESKTOP,"Button",
                BS_AUTOCHECKBOX | WS_TABSTOP,15,56,230,8
    LTEXT       "Mărime ecran:",IDC_DESKTOP_SIZE,15,70,49,8,WS_DISABLED
    LTEXT       "X",IDC_DESKTOP_BY,109,70,8,8,WS_DISABLED
    EDITTEXT    IDC_DESKTOP_WIDTH,64,68,40,12,ES_AUTOHSCROLL | ES_NUMBER | WS_DISABLED
    EDITTEXT    IDC_DESKTOP_HEIGHT,117,68,40,12,ES_AUTOHSCROLL | ES_NUMBER | WS_DISABLED

    GROUPBOX    " Direct3D ",IDC_STATIC,8,95,244,49
    LTEXT       "Suport de vertex shader: ",IDC_STATIC,15,110,90,32
    COMBOBOX    IDC_D3D_VSHADER_MODE,100,108,145,70,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
    CONTROL     "Permite pixel shader (dacă este oferit de hardware)",IDC_D3D_PSHADER_MODE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,126,230,10

    GROUPBOX    " Rezoluție ecran ",IDC_STATIC,8,151,244,93
    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 using 10 point Tahoma",IDC_RES_FONT_PREVIEW,15,181,230,55
END

IDD_DLLCFG DIALOG DISCARDABLE  0, 0, 260, 250
STYLE WS_CHILD | WS_DISABLED
FONT 8, "MS Shell Dlg"
BEGIN
    GROUPBOX        " Suprascrieri DLL ",IDC_STATIC,8,4,244,240
    LTEXT           "DLL-urile (Dynamic Link Libraries) pot fi setate individual ca builtin (furnizate de Wine) sau native (din Windows sau furnizate de aplicație)."
                    ,IDC_STATIC,16,16,220,32
    LTEXT           "Suprascriere nouă pentru librăria:",IDC_STATIC,16,58,100,8
    COMBOBOX        IDC_DLLCOMBO,16,68,140,14,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP | CBS_SORT | CBS_LOWERCASE
    PUSHBUTTON      "&Adaugă",IDC_DLLS_ADDDLL, 164,68,82,13,BS_DEFPUSHBUTTON
    LTEXT           "Suprascrieri existente:",IDC_STATIC,16,86,100,8
    LISTBOX         IDC_DLLS_LIST,16,96,140,140,WS_BORDER | WS_TABSTOP | WS_VSCROLL
    PUSHBUTTON      "&Editează",IDC_DLLS_EDITDLL,164,96,82,14
    PUSHBUTTON      "&Șterge",IDC_DLLS_REMOVEDLL,164,114,82,14
END

IDD_LOADORDER DIALOG DISCARDABLE 80, 90, 110, 92
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
CAPTION "Editează suprascrierea"
FONT 8, "MS Shell Dlg"
BEGIN
    GROUPBOX        " Ordinea de încărcare ",IDC_STATIC,8,4,94,66
    CONTROL         "&Builtin (Wine)",IDC_RAD_BUILTIN,"Button", BS_AUTORADIOBUTTON | WS_GROUP,16,14,75,10
    CONTROL         "&Native (Windows)",IDC_RAD_NATIVE,"Button", BS_AUTORADIOBUTTON,16,24,75,10
    CONTROL         "Bui&ltin apoi Native",IDC_RAD_BUILTIN_NATIVE,"Button", BS_AUTORADIOBUTTON,16,34,75,10
    CONTROL         "Nati&ve apoi Builtin",IDC_RAD_NATIVE_BUILTIN,"Button", BS_AUTORADIOBUTTON,16,44,75,10
    CONTROL         "&Dezactivează",IDC_RAD_DISABLE,"Button", BS_AUTORADIOBUTTON,16,54,75,10
    DEFPUSHBUTTON   "OK",IDOK,8,74,45,14,WS_GROUP
    PUSHBUTTON      "Renunță",IDCANCEL,57,74,45,14,WS_GROUP
END

IDD_DRIVECHOOSE DIALOG DISCARDABLE  60, 70, 170, 60
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
CAPTION "Selecția literei de disc"
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      "Renunță",IDCANCEL,105,30,45,14,WS_GROUP
END

IDD_DRIVECFG DIALOG DISCARDABLE  0, 0, 260, 250
STYLE WS_CHILD | WS_DISABLED
FONT 8, "MS Shell Dlg"
BEGIN
    GROUPBOX        " Mapare de discuri ",IDC_STATIC,8,4,244,240
    LTEXT           "A eșuat conectarea la managerul de montare, configurația discurilor nu poate fi schimbată.", IDC_STATIC_MOUNTMGR_ERROR, 15,30,220,76
    CONTROL         "Listview",IDC_LIST_DRIVES,"SysListView32",LVS_REPORT | LVS_AUTOARRANGE | LVS_ALIGNLEFT |
                    LVS_SINGLESEL | WS_BORDER | WS_TABSTOP, 15,18,232,76
    PUSHBUTTON      "&Adaugă",IDC_BUTTON_ADD,15,98,37,14
    PUSHBUTTON      "&Șterge",IDC_BUTTON_REMOVE,56,98,37,14
    PUSHBUTTON      "&Detectează",IDC_BUTTON_AUTODETECT,197,98,49,14

    /* editing drive details */
    LTEXT           "&Calea:",IDC_STATIC_PATH,15,123,20,9
    EDITTEXT        IDC_EDIT_PATH,41,120,160,13,ES_AUTOHSCROLL | WS_TABSTOP
    PUSHBUTTON      "&Navighează",IDC_BUTTON_BROWSE_PATH,206,120,40,13

    LTEXT           "&Tipul:",IDC_STATIC_TYPE,15,138,21,10
    COMBOBOX        IDC_COMBO_TYPE,41,135,82,60,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP

    LTEXT           "Eticheta și numărul de serie",IDC_LABELSERIAL_STATIC,15,155,95,10

    PUSHBUTTON      "Afișează opțiunile a&vansate",IDC_BUTTON_SHOW_HIDE_ADVANCED,151,136,95,15
    CONTROL         "Detectează automat de la dispozitiv:",IDC_RADIO_AUTODETECT,"Button",
                    BS_AUTORADIOBUTTON,15,166,128,10
    EDITTEXT        IDC_EDIT_DEVICE,27,176,174,13,ES_AUTOHSCROLL
    PUSHBUTTON      "Navighează",IDC_BUTTON_BROWSE_DEVICE,206,176,40,13
    CONTROL         "Asociază &manual:",IDC_RADIO_ASSIGN,"Button",
                    BS_AUTORADIOBUTTON,15,195,69,10

    LTEXT           "&Etichetă:",IDC_STATIC_LABEL,33,208,29,12
    EDITTEXT        IDC_EDIT_LABEL,63,205,78,13,ES_AUTOHSCROLL | WS_TABSTOP
    LTEXT           "N&umăr de serie:",IDC_STATIC_SERIAL,33,219,29,15
    EDITTEXT        IDC_EDIT_SERIAL,63,221,78,13,ES_AUTOHSCROLL | WS_TABSTOP

    CONTROL         "Afișează &fișierele ascunse",IDC_SHOW_DOT_FILES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,260,230,8
END

IDD_AUDIOCFG DIALOG DISCARDABLE  0, 0, 260, 250
STYLE WS_CHILD | WS_DISABLED
FONT 8, "MS Shell Dlg"
BEGIN
    GROUPBOX        " Selectare driver ",IDC_STATIC,8,4,244,210
    LTEXT           "Alegeți un driver de sunet prin bifarea căsuței corespunzătoare.  Sunetul este dezactivat dacă nu alegeți un driver. Selecționarea mai multor drivere nu este recomandată. Configurați un driver cu un clic dreapta pe el.",IDC_STATIC,15,20,227,30
    CONTROL         "Dispozitive",IDC_AUDIO_TREE,"SysTreeView32",WS_BORDER | WS_TABSTOP,15,50,140,155
    PUSHBUTTON      "&Testează sunetul",IDC_AUDIO_TEST,170,50,59,14
    PUSHBUTTON      "Panou de &control",IDC_AUDIO_CONTROL_PANEL,170,70,59,14
    GROUPBOX        " DirectSound ",IDC_STATIC,8,220,244,45
    LTEXT           "Accelerație &hardware: ",IDC_STATIC,15,230,90,10
    COMBOBOX        IDC_DSOUND_HW_ACCEL,100,228,150,70,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
    LTEXT           "R&ata de eșantionare implicită:",IDC_STATIC,15,247,70,8
    COMBOBOX        IDC_DSOUND_RATES,90,245,42,76,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
    LTEXT           "Nr. implicit &biți/eșantion:",IDC_STATIC,137,247,80,8
    COMBOBOX        IDC_DSOUND_BITS,220,245,30,56,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
END

IDD_DESKTOP_INTEGRATION DIALOG DISCARDABLE  0, 0, 260, 250
STYLE WS_CHILD | WS_DISABLED
FONT 8, "MS Shell Dlg"
BEGIN
    GROUPBOX        " Aspect ",IDC_STATIC,8,4,244,106
    LTEXT           "Tematică:",IDC_STATIC,15,16,130,8
    COMBOBOX        IDC_THEME_THEMECOMBO,15,24,130,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
    PUSHBUTTON      "Instalează o tematică",IDC_THEME_INSTALL,152,23,93,14
    LTEXT           "Culoare:",IDC_THEME_COLORTEXT,15,40,112,8
    COMBOBOX        IDC_THEME_COLORCOMBO,15,48,112,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
    LTEXT           "Mărime:",IDC_THEME_SIZETEXT,135,40,110,8
    COMBOBOX        IDC_THEME_SIZECOMBO,135,48,110,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
    LTEXT           "Element:",IDC_STATIC,15,64,112,8
    COMBOBOX        IDC_SYSPARAM_COMBO,15,74,112,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | CBS_SORT
    LTEXT           "Culoare:",IDC_SYSPARAM_COLOR_TEXT,135,64,25,8,WS_DISABLED
    PUSHBUTTON      "",IDC_SYSPARAM_COLOR,135,74,25,13,WS_DISABLED | BS_OWNERDRAW
    LTEXT           "Mărime:",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      "Font",IDC_SYSPARAM_FONT,208,74,37,13,WS_DISABLED
    GROUPBOX        " Dosare sistem ",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         "Leagă la:",IDC_LINK_SFPATH,"Button",BS_AUTOCHECKBOX|WS_TABSTOP|WS_DISABLED,15,195,40,13
    EDITTEXT         IDC_EDIT_SFPATH,60,195,135,13,ES_AUTOHSCROLL|WS_TABSTOP|WS_DISABLED
    PUSHBUTTON      "&Navighează",IDC_BROWSE_SFPATH,205,195,40,13,WS_DISABLED
END

STRINGTABLE DISCARDABLE
BEGIN
    IDS_TAB_APPLICATIONS    "Aplicații"
    IDS_TAB_DLLS            "Librării"
    IDS_TAB_DRIVES          "Dispozitive"
    IDS_CHOOSE_PATH         "Selectați vă rog dosarul unix destinație."
    IDS_HIDE_ADVANCED       "Ascunde opțiunile a&vansate"
    IDS_SHOW_ADVANCED       "Afișează opțiunile a&vansate"
    IDS_NOTHEME             "(Fără tematică)"
    IDS_TAB_GRAPHICS        "Grafică"
    IDS_TAB_DESKTOP_INTEGRATION "Integrare ecran"
    IDS_TAB_AUDIO           "Audio"
    IDS_TAB_ABOUT           "Despre"
    IDS_WINECFG_TITLE       "Setări Wine"
    IDS_WINECFG_TITLE_APP   "Setări Wine pentru %s"
    IDS_THEMEFILE           "Fișere de tematică (*.msstyles; *.theme)"
    IDS_THEMEFILE_SELECT    "Selectează un fișier de tematică"
    IDS_AUDIO_MISSING       "Nici un driver audio nu este specificat în registru.\n\nUn driver recomandat a fost ales pentru D-voastră.\nPuteți folosi acest driver ori alegeți un alt driver disponibil.\n\nDați clic pe OK ca să activați setarea."
    IDS_SHELL_FOLDER        "Dosarul de sistem"
    IDS_LINKS_TO            "Legat la"
END

STRINGTABLE DISCARDABLE
BEGIN
    IDS_DLL_WARNING         "Nu se recomandează schimbarea ordinei de încărcare pentru această librărie.\nDoriți întradevăr să schimbați ordinea de încărcare?"
    IDS_DLL_WARNING_CAPTION "Avertizare: librărie de sistem"
    IDS_DLL_NATIVE          "native"
    IDS_DLL_BUILTIN         "builtin"
    IDS_DLL_NATIVE_BUILTIN  "native, builtin"
    IDS_DLL_BUILTIN_NATIVE  "builtin, native"
    IDS_DLL_DISABLED        "dezactivat"
    IDS_DEFAULT_SETTINGS    "Setări implicite"
    IDS_EXECUTABLE_FILTER   "Programe Wine (*.exe,*.exe.so)\0*.exe;*.exe.so\0"
    IDS_USE_GLOBAL_SETTINGS "Folosește setările globale"
    IDS_SELECT_EXECUTABLE   "Selectează un fișier executabil"
END

STRINGTABLE DISCARDABLE
BEGIN
    IDS_SHADER_MODE_HARDWARE    "Hardware"
    IDS_SHADER_MODE_NONE        "Nimic"
END

STRINGTABLE DISCARDABLE
BEGIN
    IDS_DRIVE_UNKNOWN           "Detectează automat"
    IDS_DRIVE_FIXED             "Hard disk local"
    IDS_DRIVE_REMOTE            "Resursă din rețea"
    IDS_DRIVE_REMOVABLE         "Dischetă"
    IDS_DRIVE_CDROM             "CD-ROM"
    IDS_DRIVE_LETTERS_EXCEEDED  "Nu mai puteți adăuga nici o unitate.\n\nFiecare unitate trebuie să aibă o literă de la A la Z associată cu ea. Acest fapt limitează numărul de unități la 26."
    IDS_SYSTEM_DRIVE_LABEL      "Unitate de sistem"
    IDS_CONFIRM_DELETE_C        "Sunteți sigur că vreți să ștergeți unitatea C?\n\nFoarte multe aplicații Windows presupun că unitatea C există! Dacă nu, vor termina în mod neașteptat! Dacă executați stergerea nu uitați să recreați unitatea C!"
    IDS_COL_DRIVELETTER         "Litera"
    IDS_COL_DRIVEMAPPING        "Mapare disc"
    IDS_NO_DRIVE_C              "Nu aveți unitatea C. Nu-i bine de loc.\n\nNu uitați să o adăugați în subfereastra „Mapare de discuri”!\n"
END

STRINGTABLE DISCARDABLE
BEGIN
    IDS_ACCEL_FULL              "Completă"
    IDS_ACCEL_STANDARD          "Standard"
    IDS_ACCEL_BASIC             "De bază"
    IDS_ACCEL_EMULATION         "Emulare"
    IDS_DRIVER_ALSA             "Driver ALSA"
    IDS_DRIVER_ESOUND           "Driver Esound"
    IDS_DRIVER_OSS              "Driver OSS"
    IDS_DRIVER_JACK             "Driver JACK"
    IDS_DRIVER_NAS              "Driver NAS"
    IDS_DRIVER_AUDIOIO          "Driver Audio IO (Solaris)"
    IDS_DRIVER_COREAUDIO        "Driver CoreAudio"
    IDS_OPEN_DRIVER_ERROR       "Nu pot deschide %s!"
    IDS_SOUNDDRIVERS            "Drivere de sunet"
    IDS_DEVICES_WAVEOUT         "Dispozitive Wave Out"
    IDS_DEVICES_WAVEIN          "Dispozitive Wave In"
    IDS_DEVICES_MIDIOUT         "Dispozitive MIDI Out"
    IDS_DEVICES_MIDIIN          "Dispozitive MIDI In"
    IDS_DEVICES_AUX             "Dispozitive Aux"
    IDS_DEVICES_MIXER           "Dispozitive Mixer"
    IDS_UNAVAILABLE_DRIVER      "Un driver indisponibil este setat în registru!\n\nDoriți să ștergeți driver-ul „%s” din registru?"
    IDS_WARNING                 "Avertizare"
END

STRINGTABLE DISCARDABLE
BEGIN
    IDC_SYSPARAMS_BUTTON            "Fundal controale"
    IDC_SYSPARAMS_BUTTON_TEXT       "Text controale"
    IDC_SYSPARAMS_DESKTOP           "Ecran"
    IDC_SYSPARAMS_MENU              "Fundal meniu"
    IDC_SYSPARAMS_MENU_TEXT         "Text meniu"
    IDC_SYSPARAMS_SCROLLBAR         "Bare de defilare"
    IDC_SYSPARAMS_SELECTION         "Fundal selecție"
    IDC_SYSPARAMS_SELECTION_TEXT    "Text selecție"
    IDC_SYSPARAMS_TOOLTIP           "Fundal baloane de ajutor"
    IDC_SYSPARAMS_TOOLTIP_TEXT      "Text baloane de ajutor"
    IDC_SYSPARAMS_WINDOW            "Fundal fereastră"
    IDC_SYSPARAMS_WINDOW_TEXT       "Text fereastră"
    IDC_SYSPARAMS_ACTIVE_TITLE      "Bară de titlu activă"
    IDC_SYSPARAMS_ACTIVE_TITLE_TEXT "Text bară de titlu activă"
    IDC_SYSPARAMS_INACTIVE_TITLE    "Bară de titlu inactivă"
    IDC_SYSPARAMS_INACTIVE_TITLE_TEXT "Text bară de titlu inactivă"
    IDC_SYSPARAMS_MSGBOX_TEXT       "Text casetă de mesaje"
    IDC_SYSPARAMS_APPWORKSPACE      "Spațiul de lucru al aplicației"
    IDC_SYSPARAMS_WINDOW_FRAME      "Cadru de fereastră"
    IDC_SYSPARAMS_ACTIVE_BORDER     "Margini active"
    IDC_SYSPARAMS_INACTIVE_BORDER   "Margini inactive"
    IDC_SYSPARAMS_BUTTON_SHADOW     "Umbră pentru controale"
    IDC_SYSPARAMS_GRAY_TEXT         "Text gri"
    IDC_SYSPARAMS_BUTTON_HILIGHT    "Evidențiere controale"
    IDC_SYSPARAMS_BUTTON_DARK_SHADOW "Umbră întunecată pentru controale"
    IDC_SYSPARAMS_BUTTON_LIGHT      "Lumină pentru controale"
    IDC_SYSPARAMS_BUTTON_ALTERNATE  "Fundal alternativ pentru controale"
    IDC_SYSPARAMS_HOT_TRACKING      "Element cu urmărire fierbinte"
    IDC_SYSPARAMS_ACTIVE_TITLE_GRADIENT "Gradient bară de titlu activă"
    IDC_SYSPARAMS_INACTIVE_TITLE_GRADIENT "Gradient bară de titlu inactivă"
    IDC_SYSPARAMS_MENU_HILIGHT      "Evidențiere meniu"
    IDC_SYSPARAMS_MENUBAR           "Bară de meniu"
END
