/*
 * 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	    "&Adicionar 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	    "&Adicionar 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,68,8
    COMBOBOX        IDC_WINVER,90,224,156,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
