/*
 * WineCfg resources
 * Portuguese Language Support
 *
 * Copyright 2003 Marcelo Duarte
 * Copyright 2004,2007,2008 Américo José Melo
 *
 * 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"

#pragma code_page(65001)

LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE

IDR_WINECFG MENU DISCARDABLE
BEGIN
    POPUP ""
    BEGIN
        MENUITEM "Configurar", IDC_AUDIO_CONFIGURE
    END
END


LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN

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ções de registro do Windows ", IDC_STATIC, 15, 110, 230, 55
    LTEXT           "Proprietário:", IDC_STATIC, 22, 126, 40, 20
    EDITTEXT        IDC_ABT_OWNER, 75, 126, 160, 13, ES_AUTOHSCROLL | WS_TABSTOP
    LTEXT           "Organização:", IDC_STATIC, 22, 140, 50, 20
    EDITTEXT        IDC_ABT_ORG, 75, 140, 160, 13, ES_AUTOHSCROLL | WS_TABSTOP
END

LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE

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           "Esta biblioteca é de código livre; pode-a redistribuir e/ou modificar nos termos da Licença Publica Geral Lesser GNU como publicado pela Fundação de Programas Livres; também a versão 2.1 da Licença, ou (na sua opinião) qualquer versão posterior.",
                    IDC_STATIC,119,44,124,72
    GROUPBOX        " Informações de registro do Windows ", IDC_STATIC, 15, 110, 230, 55
    LTEXT           "Proprietário:", IDC_STATIC, 22, 126, 40, 20
    EDITTEXT        IDC_ABT_OWNER, 75, 126, 160, 13, ES_AUTOHSCROLL | WS_TABSTOP
    LTEXT           "Organização:", IDC_STATIC, 22, 140, 50, 20
    EDITTEXT        IDC_ABT_ORG, 75, 140, 160, 13, ES_AUTOHSCROLL | WS_TABSTOP
END


LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN

IDD_APPCFG DIALOG DISCARDABLE  0, 0, 260, 250
STYLE WS_CHILD | WS_DISABLED
FONT 8, "MS Shell Dlg"
BEGIN
    GROUPBOX        " Configurações da aplicação ",IDC_STATIC, 8,4,244,240
    LTEXT           "Wine pode imitar vários estilos e versões do Windows para cada aplicação",
                    IDC_STATIC,15,20,227,20
    CONTROL         "Aplicações",IDC_APP_LISTVIEW,"SysListView32",WS_BORDER | WS_TABSTOP | LVS_LIST | LVS_SINGLESEL | LVS_SHOWSELALWAYS,
                    15,50,230,150
    PUSHBUTTON	    "&Adiconar aplicação...",IDC_APP_ADDAPP, 90,204,75,14
    PUSHBUTTON	    "&Remover aplicação",IDC_APP_REMOVEAPP, 170,204,75,14
    LTEXT           "Versão do &Windows:",IDC_STATIC,17,226,58,8
    COMBOBOX        IDC_WINVER,83,224,163,56,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
END

LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE

IDD_APPCFG DIALOG DISCARDABLE  0, 0, 260, 250
STYLE WS_CHILD | WS_DISABLED
FONT 8, "MS Shell Dlg"
BEGIN
    GROUPBOX        " Definições da aplicação ",IDC_STATIC, 8,4,244,240
    LTEXT           "O Wine pode imitar vários estilos e versões do Windows para cada aplicação. Esta aba está ligada às abas de Ligações e Gráficos para permitir alterar definições por aplicação ou no sistema assim como também nessas abas.",
                    IDC_STATIC,15,20,227,45
    CONTROL         "Aplicações",IDC_APP_LISTVIEW,"SysListView32",WS_BORDER | WS_TABSTOP | LVS_LIST | LVS_SINGLESEL | LVS_SHOWSELALWAYS,
                    15,55,230,140
    PUSHBUTTON	    "&Adiconar aplicação...",IDC_APP_ADDAPP, 90,204,75,14
    PUSHBUTTON	    "&Remover aplicação",IDC_APP_REMOVEAPP, 170,204,75,14
    LTEXT           "Versão &Windows:",IDC_STATIC,17,226,58,8
    COMBOBOX        IDC_WINVER,83,224,163,56,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
END


LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN

IDD_GRAPHCFG DIALOG DISCARDABLE  0, 0, 260, 250
STYLE WS_CHILD | WS_DISABLED
FONT 8, "MS Shell Dlg"
BEGIN
    GROUPBOX    " Configurações de janela ",IDC_STATIC,8,4,244,84
    CONTROL     "Programas DirectX podem impedir que o mouse deixe a janela?",IDC_DX_MOUSE_GRAB,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,20,230,8
    CONTROL     "Allow the window manager to &decorate the windows",IDC_ENABLE_DECORATED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,32,230,8
    CONTROL     "Allow the &window manager to control the windows",IDC_ENABLE_MANAGED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,44,230,8
    CONTROL     "Emular uma área de trabalho virtual",IDC_ENABLE_DESKTOP,"Button",
                BS_AUTOCHECKBOX | WS_TABSTOP,15,56,230,8
    LTEXT       "Tamanho da área de trabalho:",IDC_DESKTOP_SIZE,15,70,44,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       "&Vertex Shader Support: ",IDC_STATIC,15,110,80,32
    COMBOBOX    IDC_D3D_VSHADER_MODE,100,108,145,70,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
    CONTROL     "Allow &Pixel Shader (if supported by hardware)",IDC_D3D_PSHADER_MODE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,126,230,10

    GROUPBOX    " Screen &Resolution ",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

LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE

IDD_GRAPHCFG DIALOG DISCARDABLE  0, 0, 260, 250
STYLE WS_CHILD | WS_DISABLED
FONT 8, "MS Shell Dlg"
BEGIN
    GROUPBOX    " Definições da Janela ",IDC_STATIC,8,4,244,184
    CONTROL     "Permitir às aplicações DirectX impedir que o &rato deixe a sua janela",IDC_DX_MOUSE_GRAB,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,20,230,8
    CONTROL     "Allow the window manager to &decorate the windows",IDC_ENABLE_DECORATED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,32,230,8
    CONTROL     "Permitit ao &gestor de janelas controlar as janelas",IDC_ENABLE_MANAGED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,44,230,8
    CONTROL     "Emular um ecrã &virtual",IDC_ENABLE_DESKTOP,"Button",
                BS_AUTOCHECKBOX | WS_TABSTOP,15,56,230,8
    LTEXT       "Tamanho do &ecrã:",IDC_DESKTOP_SIZE,15,70,44,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       "Suporte &Vertex: ",IDC_STATIC,15,110,80,32
    COMBOBOX    IDC_D3D_VSHADER_MODE,100,108,145,70,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
    CONTROL     "Permitir Sombreamento de &Pontos (se suportado pelo material)",IDC_D3D_PSHADER_MODE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,126,230,10

    GROUPBOX    " &Resolução do Ecrã ",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


LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE

IDD_DLLCFG DIALOG DISCARDABLE  0, 0, 260, 250
STYLE WS_CHILD | WS_DISABLED
FONT 8, "MS Shell Dlg"
BEGIN
    GROUPBOX        " Substituição de DLL ",IDC_STATIC,8,4,244,240
    LTEXT           "As bibliotecas de Ligação Dinâmica pode ser especificadas individualmente para serem embutidas (fornecido pelo Wine) ou nativas (tiradas do Windows ou fornecidas pela aplicação)."
                    ,IDC_STATIC,16,16,220,32
    LTEXT           "&Nova substituição para:",IDC_STATIC,16,58,100,8
    COMBOBOX        IDC_DLLCOMBO,16,68,140,14,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP | CBS_SORT | CBS_LOWERCASE
    PUSHBUTTON      "&Adicionar",IDC_DLLS_ADDDLL, 164,68,82,13,BS_DEFPUSHBUTTON
    LTEXT           "Substituições E&xistentes:",IDC_STATIC,16,86,100,8
    LISTBOX         IDC_DLLS_LIST,16,96,140,140,WS_BORDER | WS_TABSTOP | WS_VSCROLL
    PUSHBUTTON      "&Editar",IDC_DLLS_EDITDLL,164,96,82,14
    PUSHBUTTON      "&Remover",IDC_DLLS_REMOVEDLL,164,114,82,14
END


LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE

IDD_LOADORDER DIALOG DISCARDABLE 80, 90, 110, 92
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
CAPTION "Editar Substituição"
FONT 8, "MS Shell Dlg"
BEGIN
    GROUPBOX        " Ordem de Carregamento ",IDC_STATIC,8,4,94,66
    CONTROL         "Em&butida (Wine)",IDC_RAD_BUILTIN,"Button", BS_AUTORADIOBUTTON | WS_GROUP,16,14,75,10
    CONTROL         "&Nativa (Windows)",IDC_RAD_NATIVE,"Button", BS_AUTORADIOBUTTON,16,24,75,10
    CONTROL         "E&mbutida depois Nativa",IDC_RAD_BUILTIN_NATIVE,"Button", BS_AUTORADIOBUTTON,16,34,75,10
    CONTROL         "Nati&va depois Embutida",IDC_RAD_NATIVE_BUILTIN,"Button", BS_AUTORADIOBUTTON,16,44,75,10
    CONTROL         "&Desactivar",IDC_RAD_DISABLE,"Button", BS_AUTORADIOBUTTON,16,54,75,10
    DEFPUSHBUTTON   "OK",IDOK,8,74,45,14,WS_GROUP
    PUSHBUTTON      "Cancelar",IDCANCEL,57,74,45,14,WS_GROUP
END


LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN

IDD_DRIVECFG DIALOG DISCARDABLE  0, 0, 260, 250
STYLE WS_CHILD | WS_DISABLED
FONT 8, "MS Shell Dlg"
BEGIN
    GROUPBOX        " Outras unidades",IDC_STATIC,8,4,244,240
    LTEXT           "Failed to connect to the mount manager, the drive configuration cannot be edited.", 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      "&Adicionar...",IDC_BUTTON_ADD,15,98,44,14
    PUSHBUTTON      "&Remover",IDC_BUTTON_REMOVE,62,98,37,14
    PUSHBUTTON      "Auto&detectar...",IDC_BUTTON_AUTODETECT,190,98,56,14

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

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

    LTEXT           "Label and serial number",IDC_LABELSERIAL_STATIC,15,155,95,10

    PUSHBUTTON      "Show &Advanced",IDC_BUTTON_SHOW_HIDE_ADVANCED,186,136,60,13
    CONTROL         "Autodetect &from Device:",IDC_RADIO_AUTODETECT,"Button",
                    BS_AUTORADIOBUTTON,15,166,93,10
    EDITTEXT        IDC_EDIT_DEVICE,27,176,174,13,ES_AUTOHSCROLL
    PUSHBUTTON      "Bro&wse...",IDC_BUTTON_BROWSE_DEVICE,206,176,40,13
    CONTROL         "&Manually Assign:",IDC_RADIO_ASSIGN,"Button",
                    BS_AUTORADIOBUTTON,15,195,69,10

    LTEXT           "&Label:",IDC_STATIC_LABEL,33,208,29,12
    EDITTEXT        IDC_EDIT_LABEL,63,205,78,13,ES_AUTOHSCROLL | WS_TABSTOP
    LTEXT           "S&erial:",IDC_STATIC_SERIAL,33,225,29,12
    EDITTEXT        IDC_EDIT_SERIAL,63,221,78,13,ES_AUTOHSCROLL | WS_TABSTOP

    CONTROL         "Show &dot files",IDC_SHOW_DOT_FILES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,260,230,8
END

LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE

IDD_DRIVECFG DIALOG DISCARDABLE  0, 0, 260, 250
STYLE WS_CHILD | WS_DISABLED
FONT 8, "MS Shell Dlg"
BEGIN
    GROUPBOX        " &Unidades ",IDC_STATIC,8,4,244,240
    LTEXT           "Falhou a ligação ao gestor de unidades, a configuração da unidade não pode ser editada.", IDC_STATIC_MOUNTMGR_ERROR, 15,30,220,76
    CONTROL         "Listagem",IDC_LIST_DRIVES,"SysListView32",LVS_REPORT | LVS_AUTOARRANGE | LVS_ALIGNLEFT |
                    LVS_SINGLESEL | WS_BORDER | WS_TABSTOP, 15,18,232,76
    PUSHBUTTON      "&Adicionar...",IDC_BUTTON_ADD,15,98,44,14
    PUSHBUTTON      "&Remover",IDC_BUTTON_REMOVE,62,98,37,14
    PUSHBUTTON      "Auto&detectar...",IDC_BUTTON_AUTODETECT,190,98,56,14

    /* editing drive details */
    LTEXT           "&Localização:",IDC_STATIC_PATH,15,123,20,9
    EDITTEXT        IDC_EDIT_PATH,41,120,160,13,ES_AUTOHSCROLL | WS_TABSTOP
    PUSHBUTTON      "&Procurar...",IDC_BUTTON_BROWSE_PATH,206,120,40,13

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

    LTEXT           "Nome e nº de serie",IDC_LABELSERIAL_STATIC,15,155,95,10

    PUSHBUTTON      "Mostrar &Avançado",IDC_BUTTON_SHOW_HIDE_ADVANCED,186,136,60,13
    CONTROL         "Autodetectar &Dispositivo:",IDC_RADIO_AUTODETECT,"Button",
                    BS_AUTORADIOBUTTON,15,166,93,10
    EDITTEXT        IDC_EDIT_DEVICE,27,176,174,13,ES_AUTOHSCROLL
    PUSHBUTTON      "P&rocurar...",IDC_BUTTON_BROWSE_DEVICE,206,176,40,13
    CONTROL         "Atribuir &Manualmente:",IDC_RADIO_ASSIGN,"Button",
                    BS_AUTORADIOBUTTON,15,195,69,10

    LTEXT           "&Nome:",IDC_STATIC_LABEL,33,208,29,12
    EDITTEXT        IDC_EDIT_LABEL,63,205,78,13,ES_AUTOHSCROLL | WS_TABSTOP
    LTEXT           "Nº S&erie:",IDC_STATIC_SERIAL,33,225,29,12
    EDITTEXT        IDC_EDIT_SERIAL,63,221,78,13,ES_AUTOHSCROLL | WS_TABSTOP

    CONTROL         "Mostrar &ficheiros com pontos",IDC_SHOW_DOT_FILES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,260,230,8
END


LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE

IDD_AUDIOCFG DIALOG DISCARDABLE  0, 0, 260, 250
STYLE WS_CHILD | WS_DISABLED
FONT 8, "MS Shell Dlg"
BEGIN
    GROUPBOX        " Selecção do Controlador ",IDC_STATIC,8,4,244,210
    LTEXT           "Seleccione um controlador de som marcando o desejado. Desactive o som não seleccionado qualquer controlador. Não é recomendada a selecção de vários controladores . Configure um controlador seleccionado-o com o clique direito.",IDC_STATIC,15,18,227,35
    CONTROL         "Dispositivos",IDC_AUDIO_TREE,"SysTreeView32",WS_BORDER | WS_TABSTOP,15,55,140,155
    PUSHBUTTON      "&Testar Som",IDC_AUDIO_TEST,170,55,65,14
    PUSHBUTTON	    "Painel de &Controlo",IDC_AUDIO_CONTROL_PANEL,170,75,65,14
    GROUPBOX        " DirectSound ",IDC_STATIC,8,220,244,45
    LTEXT	    "Aceleração do &Material: ",IDC_STATIC,15,230,90,10
    COMBOBOX	    IDC_DSOUND_HW_ACCEL,100,228,150,70,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
    LTEXT           "Taxa de Amo&stra Predefinida:",IDC_STATIC,15,247,70,8
    COMBOBOX        IDC_DSOUND_RATES,90,245,42,76,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
    LTEXT           "&Bits Predefinidos por Amostra:",IDC_STATIC,137,247,80,8
    COMBOBOX        IDC_DSOUND_BITS,220,245,30,56,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
END


LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN

IDD_DESKTOP_INTEGRATION DIALOG DISCARDABLE  0, 0, 260, 250
STYLE WS_CHILD | WS_DISABLED
FONT 8, "MS Shell Dlg"
BEGIN
    GROUPBOX        " Appearance ",IDC_STATIC,8,4,244,106
    LTEXT           "&Theme:",IDC_STATIC,15,16,130,8
    COMBOBOX        IDC_THEME_THEMECOMBO,15,24,130,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
    PUSHBUTTON      "&Install theme...",IDC_THEME_INSTALL,152,23,93,14
    LTEXT           "&Color:",IDC_THEME_COLORTEXT,15,40,112,8
    COMBOBOX        IDC_THEME_COLORCOMBO,15,48,112,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
    LTEXT           "&Size:",IDC_THEME_SIZETEXT,135,40,110,8
    COMBOBOX        IDC_THEME_SIZECOMBO,135,48,110,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
    LTEXT           "It&em:",IDC_STATIC,15,64,112,8
    COMBOBOX        IDC_SYSPARAM_COMBO,15,74,112,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | CBS_SORT
    LTEXT           "C&olor:",IDC_SYSPARAM_COLOR_TEXT,135,64,25,8,WS_DISABLED
    PUSHBUTTON      "",IDC_SYSPARAM_COLOR,135,74,25,13,WS_DISABLED | BS_OWNERDRAW
    LTEXT           "Si&ze:",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        " S&hell Folder ",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         "&Link to:",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      "B&rowse",IDC_BROWSE_SFPATH,215,195,30,13,WS_DISABLED
END

LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE

IDD_DESKTOP_INTEGRATION DIALOG DISCARDABLE  0, 0, 260, 250
STYLE WS_CHILD | WS_DISABLED
FONT 8, "MS Shell Dlg"
BEGIN
    GROUPBOX        " Aparência ",IDC_STATIC,8,4,244,106
    LTEXT           "&Tema:",IDC_STATIC,15,16,130,8
    COMBOBOX        IDC_THEME_THEMECOMBO,15,24,130,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
    PUSHBUTTON      "&Instalar tema...",IDC_THEME_INSTALL,152,23,93,14
    LTEXT           "&Cor:",IDC_THEME_COLORTEXT,15,40,112,8
    COMBOBOX        IDC_THEME_COLORCOMBO,15,48,112,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
    LTEXT           "&Tamanho:",IDC_THEME_SIZETEXT,135,40,110,8
    COMBOBOX        IDC_THEME_SIZECOMBO,135,48,110,14,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
    LTEXT           "Ít&em:",IDC_STATIC,15,64,112,8
    COMBOBOX        IDC_SYSPARAM_COMBO,15,74,112,120,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | CBS_SORT
    LTEXT           "C&or:",IDC_SYSPARAM_COLOR_TEXT,135,64,25,8,WS_DISABLED
    PUSHBUTTON      "",IDC_SYSPARAM_COLOR,135,74,25,13,WS_DISABLED | BS_OWNERDRAW
    LTEXT           "Tama&nho:",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      "Tipo de &Letra",IDC_SYSPARAM_FONT,208,74,37,13,WS_DISABLED
    GROUPBOX        " &Pastas Pessoais ",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         "&Ligar a:",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      "P&rocurar",IDC_BROWSE_SFPATH,215,195,30,13,WS_DISABLED
END


LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN

STRINGTABLE DISCARDABLE
BEGIN
    IDS_TAB_APPLICATIONS    "Applications"
    IDS_TAB_DLLS            "Bibliotecas"
    IDS_TAB_DRIVES          "Unidades"
    IDS_CHOOSE_PATH         "Select the unix target directory, please."
    IDS_HIDE_ADVANCED       "Hide &Advanced"
    IDS_SHOW_ADVANCED       "Show &Advanced"
    IDS_NOTHEME             "(No Theme)"
    IDS_TAB_GRAPHICS        "Graphics"
    IDS_TAB_DESKTOP_INTEGRATION "Desktop Integration"
    IDS_TAB_AUDIO           "Audio"
    IDS_TAB_ABOUT           "About"
    IDS_WINECFG_TITLE       "Configuração do Wine"
    IDS_WINECFG_TITLE_APP   "Configuração do Wine para %s"
    IDS_THEMEFILE           "Theme files (*.msstyles; *.theme)"
    IDS_THEMEFILE_SELECT    "Select a theme file"
    IDS_AUDIO_MISSING       "There is no audio driver currently specified in the registry.\n\nA recommended driver has been selected for you.\nYou can use this driver or select another driver if available.\n\nYou must click Apply for the selection to take effect."
    IDS_SHELL_FOLDER        "Diretórios"
    IDS_LINKS_TO            "Links para"
END

LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE

STRINGTABLE DISCARDABLE
BEGIN
    IDS_TAB_APPLICATIONS    "Aplicações"
    IDS_TAB_DLLS            "Bibliotecas"
    IDS_TAB_DRIVES          "Unidades"
    IDS_CHOOSE_PATH         "Seleccione o directório de destino unix."
    IDS_HIDE_ADVANCED       "&Ocultar"
    IDS_SHOW_ADVANCED       "&Avançado"
    IDS_NOTHEME             "(Sem Tema)"
    IDS_TAB_GRAPHICS        "Gráficos"
    IDS_TAB_DESKTOP_INTEGRATION "Integração do Ecrã"
    IDS_TAB_AUDIO           "Áudio"
    IDS_TAB_ABOUT           "Acerca"
    IDS_WINECFG_TITLE       "Configuração Wine"
    IDS_WINECFG_TITLE_APP   "Configuração Wine para %s"
    IDS_THEMEFILE           "Ficheiros de temas (*.msstyles; *.theme)"
    IDS_THEMEFILE_SELECT    "Seleccione um ficheiro de tema"
    IDS_AUDIO_MISSING       "Não está actualmente nenhum controlador áudio seleccionado no registo.\n\nFoi seleccionado para si um controlador recomendado.\nPode usar este controlador ou seleccionar outro se disponível.\n\nTem que clicar am Aplicar para que a selecção tenha efeito."
    IDS_SHELL_FOLDER        "Directórios"
    IDS_LINKS_TO            "Ligações para"
END


LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE

STRINGTABLE DISCARDABLE
BEGIN
    IDS_DLL_WARNING         "Não é recomendado que mude a ordem de carregamento desta biblioteca.\nTem certeza que quer fazer isto?"
    IDS_DLL_WARNING_CAPTION "Aviso: biblioteca do sistema"
    IDS_DLL_NATIVE          "nativa"
    IDS_DLL_BUILTIN         "embutida"
    IDS_DLL_NATIVE_BUILTIN  "nativa, embutida"
    IDS_DLL_BUILTIN_NATIVE  "embutida, nativa"
    IDS_DLL_DISABLED        "desactivada"
    IDS_DEFAULT_SETTINGS    "Definições Predefinidas"
    IDS_EXECUTABLE_FILTER   "Programas Wine (*.exe,*.exe.so)\0*.exe;*.exe.so\0"
    IDS_USE_GLOBAL_SETTINGS "Usar definições globais"
    IDS_SELECT_EXECUTABLE   "Seleccionar um ficheiro executável"
END


LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE

STRINGTABLE DISCARDABLE
BEGIN
    IDS_SHADER_MODE_HARDWARE    "Material"
    IDS_SHADER_MODE_NONE        "Nenhum"
END


LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE

STRINGTABLE DISCARDABLE
BEGIN
    IDS_DRIVE_UNKNOWN           "Autodetectar"
    IDS_DRIVE_FIXED             "Disco rígido local"
    IDS_DRIVE_REMOTE            "Partilha de rede"
    IDS_DRIVE_REMOVABLE         "Disquete"
    IDS_DRIVE_CDROM             "CD-ROM"
    IDS_DRIVE_LETTERS_EXCEEDED  "Não pode adicionar mais unidades.\n\nCada unidade tem que ter uma letra, de A a Z, como tal não pode adicionar mais de 26"
    IDS_SYSTEM_DRIVE_LABEL      "Unidade do sistema"
    IDS_CONFIRM_DELETE_C        "Tem certeza que deseja apaga a unidade C?\n\nA maior parte das aplicações Windows esperam que a unidade C exista, e irá danificar-se se não existir. Se continuar lembre-se de recriar a unidade!"
    IDS_COL_DRIVELETTER         "Letra"
    IDS_COL_DRIVEMAPPING        "Unidades"
    IDS_NO_DRIVE_C              "se não tem uma unidade C. Isto não é nada bom.\n\nCertifique-se que clica em  ?Adicionar? no seprador Unidades para criar uma!\n"
END


LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE

STRINGTABLE DISCARDABLE
BEGIN
    IDS_ACCEL_FULL              "Total"
    IDS_ACCEL_STANDARD          "Padrão"
    IDS_ACCEL_BASIC             "Básico"
    IDS_ACCEL_EMULATION         "Emulação"
    IDS_DRIVER_ALSA             "Controlador ALSA"
    IDS_DRIVER_ESOUND           "Controlador EsounD"
    IDS_DRIVER_OSS              "Controlador OSS"
    IDS_DRIVER_JACK             "Controlador JACK"
    IDS_DRIVER_NAS              "Controlador NAS"
    IDS_DRIVER_AUDIOIO          "Controlador ES de Áudio (Solaris)"
    IDS_DRIVER_COREAUDIO        "Controlador CoreAudio"
    IDS_OPEN_DRIVER_ERROR       "Não é possível abrir %s!"
    IDS_SOUNDDRIVERS            "Controladores de Som"
    IDS_DEVICES_WAVEOUT         "Dispositivos de Saída Wave"
    IDS_DEVICES_WAVEIN          "Dispositivos de Entrada Wave"
    IDS_DEVICES_MIDIOUT         "Dispositivos de Saída MIDI"
    IDS_DEVICES_MIDIIN          "Dispositivos de Entrada MIDI"
    IDS_DEVICES_AUX             "Dispositivos Auxiliares"
    IDS_DEVICES_MIXER           "Dispositivos Misturadores"
    IDS_UNAVAILABLE_DRIVER      "Encontrou-se um controlador no registo que não está disponível!\n\nRemover ?%s? do registo?"
    IDS_WARNING                 "Aviso"
END


LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE

STRINGTABLE DISCARDABLE
BEGIN
    IDC_SYSPARAMS_BUTTON            "Fundo dos Controlos"
    IDC_SYSPARAMS_BUTTON_TEXT       "Texto dos Controlos"
    IDC_SYSPARAMS_DESKTOP           "Ecrã"
    IDC_SYSPARAMS_MENU              "Fundo do Menu"
    IDC_SYSPARAMS_MENU_TEXT         "Texto do Menu"
    IDC_SYSPARAMS_SCROLLBAR         "Barra de Rolagem"
    IDC_SYSPARAMS_SELECTION         "Fundo de Selecção"
    IDC_SYSPARAMS_SELECTION_TEXT    "Texto de Selecção"
    IDC_SYSPARAMS_TOOLTIP           "Fundo das Dicas"
    IDC_SYSPARAMS_TOOLTIP_TEXT      "Texto das Dicas"
    IDC_SYSPARAMS_WINDOW            "Fundo das Janelas"
    IDC_SYSPARAMS_WINDOW_TEXT       "Texto das Janelas"
    IDC_SYSPARAMS_ACTIVE_TITLE      "Barra de Título Activa"
    IDC_SYSPARAMS_ACTIVE_TITLE_TEXT "Texto de Título Activo"
    IDC_SYSPARAMS_INACTIVE_TITLE    "Barra de Título Inactiva"
    IDC_SYSPARAMS_INACTIVE_TITLE_TEXT "Texto de Título Inactivo"
    IDC_SYSPARAMS_MSGBOX_TEXT       "Texto da Caixa de Mensagem"
    IDC_SYSPARAMS_APPWORKSPACE      "Application Workspace"
    IDC_SYSPARAMS_WINDOW_FRAME      "Window Frame"
    IDC_SYSPARAMS_ACTIVE_BORDER     "Active Border"
    IDC_SYSPARAMS_INACTIVE_BORDER   "Inactive Border"
    IDC_SYSPARAMS_BUTTON_SHADOW     "Controls Shadow"
    IDC_SYSPARAMS_GRAY_TEXT         "Gray Text"
    IDC_SYSPARAMS_BUTTON_HILIGHT    "Controls Highlight"
    IDC_SYSPARAMS_BUTTON_DARK_SHADOW "Controls Dark Shadow"
    IDC_SYSPARAMS_BUTTON_LIGHT      "Controls Light"
    IDC_SYSPARAMS_BUTTON_ALTERNATE  "Controls Alternate Background"
    IDC_SYSPARAMS_HOT_TRACKING      "Hot Tracked Item"
    IDC_SYSPARAMS_ACTIVE_TITLE_GRADIENT "Active Title Bar Gradient"
    IDC_SYSPARAMS_INACTIVE_TITLE_GRADIENT "Inactive Title Bar Gradient"
    IDC_SYSPARAMS_MENU_HILIGHT      "Menu Highlight"
    IDC_SYSPARAMS_MENUBAR           "Menu Bar"
END
