/*
 * Portuguese Language File
 *
 * Copyright 2008 Ricardo Filipe
 *
 * 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 "wordpad.h"

#pragma code_page(65001)

LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE

IDM_MAINMENU MENU DISCARDABLE
BEGIN
    POPUP "&Ficheiro"
    BEGIN
        MENUITEM "&Novo...\tCtrl+N",       ID_FILE_NEW
        MENUITEM "&Abrir...\tCtrl+O",      ID_FILE_OPEN
        MENUITEM "&Guardar\tCtrl+S",         ID_FILE_SAVE
        MENUITEM "Guardar &como...",           ID_FILE_SAVEAS
        MENUITEM SEPARATOR
        MENUITEM "&Imprimir...\tCtrl+P",     ID_PRINT
        MENUITEM "&Pré visualizar...",     ID_PREVIEW
        MENUITEM "C&onfigurar página...",        ID_PRINTSETUP
        MENUITEM SEPARATOR
        MENUITEM "&Sair",                 ID_FILE_EXIT
    END
    POPUP "&Editar"
    BEGIN
        MENUITEM "&Anular\tCtrl+Z",               ID_EDIT_UNDO
        MENUITEM "&Refazer\tCtrl+Y",               ID_EDIT_REDO
        MENUITEM SEPARATOR
        MENUITEM "&Cortar\tCtrl+X",                ID_EDIT_CUT
        MENUITEM "C&opiar\tCtrl+C",               ID_EDIT_COPY
        MENUITEM "Col&ar\tCtrl+V",              ID_EDIT_PASTE
        MENUITEM "&Limpar\tDEL",                 ID_EDIT_CLEAR
        MENUITEM "&Seleccionar tudo\tCtrl+A",         ID_EDIT_SELECTALL
        MENUITEM SEPARATOR
        MENUITEM "Local&izar...\tCtrl+F",            ID_FIND
        MENUITEM "&Encontrar Seguinte\tF3",              ID_FIND_NEXT
        MENUITEM "&Substituir...\tCtrl+H",         ID_REPLACE
        MENUITEM SEPARATOR
        MENUITEM "Some&nte leitura",                  ID_EDIT_READONLY
        MENUITEM "&Modificado",                   ID_EDIT_MODIFIED
        MENUITEM SEPARATOR
        POPUP "E&xtras"
        BEGIN
            MENUITEM "&Informação da selecção",             ID_EDIT_SELECTIONINFO
            MENUITEM "&Formato dos caracteres",           ID_EDIT_CHARFORMAT
            MENUITEM "&Definir formato dos caracteres",           ID_EDIT_DEFCHARFORMAT
            MENUITEM "F&ormato dos parágrafos",           ID_EDIT_PARAFORMAT
            MENUITEM "&Buscar texto",                   ID_EDIT_GETTEXT
        END
    END
    POPUP "&Ver"
    BEGIN
        MENUITEM "&Barra de Ferramentas",        ID_TOGGLE_TOOLBAR
        MENUITEM "Barra de &Formatação",      ID_TOGGLE_FORMATBAR
        MENUITEM "&Régua",          ID_TOGGLE_RULER
        MENUITEM "Barra de &Estado",      ID_TOGGLE_STATUSBAR
        MENUITEM SEPARATOR
        MENUITEM "&Opções...",     ID_VIEWPROPERTIES
    END
    POPUP "&Inserir"
    BEGIN
        MENUITEM "&Data e hora...",  ID_DATETIME
    END
    POPUP "F&ormato"
    BEGIN
        MENUITEM "&Tipo de Letra...",                     ID_FONTSETTINGS
        MENUITEM "&Lista de marcas"                ID_BULLET
        MENUITEM "&Parágrafo..."                 ID_PARAFORMAT
        MENUITEM "T&abulações..."                      ID_TABSTOPS
        POPUP "&Fundo"
        BEGIN
            MENUITEM "&Sistema\tCtrl+1",         ID_BACK_1
            MENUITEM "&PostThat amarelo\tCtrl+2",           ID_BACK_2
        END
    END
    POPUP "&Ajuda"
    BEGIN
        MENUITEM "&Sobre Wine Wordpad"       ID_ABOUT
    END
END

IDM_POPUP MENU DISCARDABLE
BEGIN
    POPUP ""
    BEGIN
        MENUITEM "&Cortar",                ID_EDIT_CUT
        MENUITEM "C&opiar",               ID_EDIT_COPY
        MENUITEM "Co&lar",              ID_EDIT_PASTE
        MENUITEM SEPARATOR
        MENUITEM "&Lista de marcas"       ID_BULLET
        MENUITEM "&Parágrafo..."        ID_PARAFORMAT
    END
END

IDM_COLOR_POPUP MENU DISCARDABLE
BEGIN
    POPUP ""
    BEGIN
        MENUITEM "Preto"         ID_COLOR_BLACK
        MENUITEM "Castanho"      ID_COLOR_MAROON
        MENUITEM "Verde"         ID_COLOR_GREEN
        MENUITEM "Verde-oliva"   ID_COLOR_OLIVE
        MENUITEM "Azul-marinho"  ID_COLOR_NAVY
        MENUITEM "Roxo"          ID_COLOR_PURPLE
        MENUITEM "Azul-petróleo" ID_COLOR_TEAL
        MENUITEM "Cinza"         ID_COLOR_GRAY
        MENUITEM "Prateado"      ID_COLOR_SILVER
        MENUITEM "Vermelho"      ID_COLOR_RED
        MENUITEM "Verde-limão"   ID_COLOR_LIME
        MENUITEM "Amarelo"       ID_COLOR_YELLOW
        MENUITEM "Azul"          ID_COLOR_BLUE
        MENUITEM "Fúcsia"        ID_COLOR_FUCHSIA
        MENUITEM "Azul-piscina"  ID_COLOR_AQUA
        MENUITEM "Branco"        ID_COLOR_WHITE
        MENUITEM "Automatic"     ID_COLOR_AUTOMATIC
    END
END

IDD_DATETIME DIALOG DISCARDABLE 30, 20, 130, 80
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
CAPTION "Data e hora"
FONT 10, "MS Sans Serif"
BEGIN
    LTEXT        "Formatos Disponíveis",-1,3,2,100,15
    LISTBOX      IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY
    PUSHBUTTON   "&OK",IDOK,87,12,40,12
    PUSHBUTTON   "&Cancelar",IDCANCEL,87,26,40,12
END

IDD_NEWFILE DIALOG DISCARDABLE 30, 20, 140, 80
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
CAPTION "Novo"
FONT 10, "MS Sans Serif"
BEGIN
    LTEXT        "Novo tipo de documento",-1,3,2,100,15
    LISTBOX      IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT
    PUSHBUTTON   "&OK",IDOK,97,12,40,12
    PUSHBUTTON   "&Cancelar",IDCANCEL,97,26,40,12
END

IDD_PARAFORMAT DIALOG DISCARDABLE 30, 20, 200, 110
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
Caption "Parágrafo"
FONT 8, "MS Shell Dlg"
BEGIN
    GROUPBOX "Identação", -1, 10, 10, 120, 68
    LTEXT "Esquerda", -1, 15, 22, 40, 13
    EDITTEXT IDC_PARA_LEFT, 55, 20, 60, 13
    LTEXT "Direita", -1, 15, 40, 40, 13
    EDITTEXT IDC_PARA_RIGHT, 55, 38, 60, 13
    LTEXT "Primeira Linha", -1, 15, 58, 40, 13
    EDITTEXT IDC_PARA_FIRST, 55, 56, 60, 13
    LTEXT "Alinhamento", -1, 15, 87, 40, 13
    COMBOBOX IDC_PARA_ALIGN, 55, 85, 60, 60, CBS_DROPDOWNLIST
    PUSHBUTTON "&OK", IDOK, 137, 15, 50, 15
    PUSHBUTTON "&Cancelar", IDCANCEL, 137, 33, 50, 15
END

IDD_TABSTOPS DIALOG DISCARDABLE 30, 20, 200, 110
STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
Caption "Tabulações"
FONT 8, "MS SHell DLg"
BEGIN
    GROUPBOX "Marca de tabulação", -1, 10, 10, 120, 90
    COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE
    DEFPUSHBUTTON "&Adicionar", ID_TAB_ADD, 20, 80, 45, 15
    PUSHBUTTON "&Remover", ID_TAB_DEL, 72, 80, 45, 15
    PUSHBUTTON "&OK", IDOK, 135, 15, 55, 15
    PUSHBUTTON "&Cancelar", IDCANCEL, 135, 33, 55, 15
    PUSHBUTTON "Remover &todos", ID_TAB_EMPTY, 135, 51, 55, 15
END

IDD_FORMATOPTS DIALOG DISCARDABLE 0, 0, 280, 110
STYLE DS_SYSMODAL
Caption ""
FONT 8, "MS Shell Dlg"
BEGIN
    GROUPBOX "Moldar o texto", -1, 10, 10, 130, 85
    RADIOBUTTON "&Sem moldagem", IDC_PAGEFMT_WN, 18, 25, 117, 15
    RADIOBUTTON "&Moldar à janela", IDC_PAGEFMT_WW, 18, 45, 117, 15
    RADIOBUTTON "Moldar pela &régua", IDC_PAGEFMT_WM, 18, 65, 117, 15
    GROUPBOX "Barras de Ferramentas", -1, 150, 10, 120, 85
    CHECKBOX "&Barra de Ferramentas", IDC_PAGEFMT_TB, 160, 20, 90, 15
    CHECKBOX "Barra de &Formatação", IDC_PAGEFMT_FB, 160, 38, 90, 15
    CHECKBOX "&Régua", IDC_PAGEFMT_RU, 160, 56, 90, 15
    CHECKBOX "Barra de &Estado", IDC_PAGEFMT_SB, 160, 74, 90, 15
    LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_RICHTEXT_FILES_RTF,     "Rich text format (*.rtf)"
    STRING_TEXT_FILES_TXT,         "Documentos de texto (*.txt)"
    STRING_TEXT_FILES_UNICODE_TXT, "Documentos de texto Unicode (*.txt)"
    STRING_ALL_FILES,              "Todos os documentos (*.*)"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_ALIGN_LEFT,            "Esquerda"
    STRING_ALIGN_RIGHT,           "Direita"
    STRING_ALIGN_CENTER,          "Centro"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_NEWFILE_RICHTEXT,     "Rich text document"
    STRING_NEWFILE_TXT,          "Documento de texto"
    STRING_NEWFILE_TXT_UNICODE,  "Documento de texto Unicode"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_PRINTER_FILES_PRN,        "Ficheiros de impressora (*.PRN)"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_VIEWPROPS_TITLE,          "Opções"
    STRING_VIEWPROPS_TEXT,           "Texto"
    STRING_VIEWPROPS_RICHTEXT,       "Rich text"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_PREVIEW_PRINT,            "Imprimir"
    STRING_PREVIEW_NEXTPAGE,         "Próxima página"
    STRING_PREVIEW_PREVPAGE,         "Página anterior"
    STRING_PREVIEW_TWOPAGES,         "Duas páginas"
    STRING_PREVIEW_ONEPAGE,          "Uma página"
    STRING_PREVIEW_ZOOMIN,           "Zoom in"
    STRING_PREVIEW_ZOOMOUT,          "Zoom out"
    STRING_PREVIEW_CLOSE,            "Fechar"
    STRING_PREVIEW_PAGE,             "Page"
    STRING_PREVIEW_PAGES,            "Pages"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_UNITS_CM,             "cm"
END

STRINGTABLE DISCARDABLE
BEGIN
    STRING_DEFAULT_FILENAME,     "Documento"
    STRING_PROMPT_SAVE_CHANGES,  "Guardar alterações a '%s'?"
    STRING_SEARCH_FINISHED,      "Acabou a pesquisa do documento."
    STRING_LOAD_RICHED_FAILED,   "Falhou o carregamento da biblioteca RichEdit."
    STRING_SAVE_LOSEFORMATTING,  "Escolheu guardar em formato de texto simples, " \
                                 "o que vai anular todas as formatações. " \
                                 "Tem a certeza que quer fazer isto?"
    STRING_INVALID_NUMBER,       "Formato de número inválido"
    STRING_OLE_STORAGE_NOT_SUPPORTED, "Documentos OLE não são suportados"
    STRING_WRITE_FAILED,              "Não foi possível guardar o ficheiro."
    STRING_WRITE_ACCESS_DENIED,       "Não tem permissões para guardar o ficheiro."
    STRING_OPEN_FAILED,               "Não foi possível abrir o ficheiro."
    STRING_OPEN_ACCESS_DENIED,        "Não tem permissões para abrir o ficheiro."
    STRING_PRINTING_NOT_IMPLEMENTED, "Impressão não implementada"
    STRING_MAX_TAB_STOPS,             "Não pode adicionar mais de 32 tabs."
END
