[gtkmm-documentation] Updated Brazilian Portuguese translation



commit ce17d8ba0404ae276755eebc8702752f6fecb4bf
Author: Rodrigo Nunes <rnsribeiro gmail com>
Date:   Tue Sep 10 20:35:55 2013 -0300

    Updated Brazilian Portuguese translation

 docs/tutorial/pt_BR/pt_BR.po | 6372 ++++++++++++++++++++++++------------------
 1 files changed, 3702 insertions(+), 2670 deletions(-)
---
diff --git a/docs/tutorial/pt_BR/pt_BR.po b/docs/tutorial/pt_BR/pt_BR.po
index 31bf919..7439087 100644
--- a/docs/tutorial/pt_BR/pt_BR.po
+++ b/docs/tutorial/pt_BR/pt_BR.po
@@ -2,18 +2,22 @@
 # Copyright (C) 2011 gtkmm-documentation's COPYRIGHT HOLDER
 # This file is distributed under the same license as the gtkmm-documentation package.
 # Rodolfo Ribeiro Gomes <rodolforg gmail com>, 2011.
+# Rodrigo Nunes <rnsribeiro gmail com>, 2013
+# Enrico Nicoletto <liverig gmail com>, 2013.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: gtkmm-documentation master\n"
-"POT-Creation-Date: 2011-10-26 15:49+0000\n"
-"PO-Revision-Date: 2011-10-28 14:01-0200\n"
-"Last-Translator: Rodolfo Ribeiro Gomes <rodolforg gmail com>\n"
+"POT-Creation-Date: 2013-09-09 14:17+0000\n"
+"PO-Revision-Date: 2013-09-10 20:15-0300\n"
+"Last-Translator: Enrico Nicoletto <liverig gmail com>\n"
 "Language-Team: Brazilian Portuguese <gnome-pt_br-list gnome org>\n"
+"Language: pt_BR\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Poedit 1.5.7\n"
 
 #: C/gtkmm-tutorial-in.xml:34(title)
 msgid "Programming with <application>gtkmm</application> 3"
@@ -37,7 +41,7 @@ msgstr "Rieder"
 
 #: C/gtkmm-tutorial-in.xml:44(contrib)
 msgid "Chapter on \"Timeouts\"."
-msgstr ""
+msgstr "Capítulo sobre \"Tempo limite\"."
 
 #: C/gtkmm-tutorial-in.xml:47(firstname)
 msgid "Jonathon"
@@ -49,7 +53,7 @@ msgstr "Jongsma"
 
 #: C/gtkmm-tutorial-in.xml:49(contrib)
 msgid "Chapter on \"Drawing with Cairo\"."
-msgstr "Capítulo sobre \"Desenhando com Cairo\"."
+msgstr "Capítulo sobre \"Desenhando com cairo\"."
 
 #: C/gtkmm-tutorial-in.xml:50(contrib)
 msgid "Chapter on \"Working with gtkmm's Source Code\"."
@@ -67,70 +71,88 @@ msgstr "Ole"
 msgid "Laursen"
 msgstr "Laursen"
 
-#: C/gtkmm-tutorial-in.xml:56(contrib) C/gtkmm-tutorial-in.xml:72(contrib)
+#: C/gtkmm-tutorial-in.xml:56(contrib) C/gtkmm-tutorial-in.xml:62(contrib)
 msgid "Parts of chapter on \"Internationalization\"."
 msgstr "Partes do capítulo sobre \"Internacionalização\"."
 
 #: C/gtkmm-tutorial-in.xml:59(firstname)
-msgid "Gene"
-msgstr "Gene"
-
-#: C/gtkmm-tutorial-in.xml:60(surname)
-msgid "Ruebsamen"
-msgstr "Ruebsamen"
-
-#: C/gtkmm-tutorial-in.xml:61(contrib) C/gtkmm-tutorial-in.xml:66(contrib)
-msgid "Chapter on \"Win32 Installation\"."
-msgstr "Capítulo sobre \"Instalação no Win32\"."
-
-#: C/gtkmm-tutorial-in.xml:64(firstname)
-msgid "Cedric"
-msgstr "Cedric"
-
-#: C/gtkmm-tutorial-in.xml:65(surname)
-msgid "Gustin"
-msgstr "Gustin"
-
-#: C/gtkmm-tutorial-in.xml:69(firstname)
 msgid "Marko"
 msgstr "Marko"
 
-#: C/gtkmm-tutorial-in.xml:70(surname)
+#: C/gtkmm-tutorial-in.xml:60(surname)
 msgid "Anastasov"
 msgstr "Anastasov"
 
-#: C/gtkmm-tutorial-in.xml:71(contrib)
+#: C/gtkmm-tutorial-in.xml:61(contrib)
 msgid "Chapter on \"Printing\"."
 msgstr "Capítulo sobre \"Impressão\"."
 
-#: C/gtkmm-tutorial-in.xml:75(firstname)
+#: C/gtkmm-tutorial-in.xml:65(firstname)
 msgid "Daniel"
 msgstr "Daniel"
 
-#: C/gtkmm-tutorial-in.xml:76(surname)
+#: C/gtkmm-tutorial-in.xml:66(surname)
 msgid "Elstner"
 msgstr "Elstner"
 
-#: C/gtkmm-tutorial-in.xml:77(contrib)
+#: C/gtkmm-tutorial-in.xml:67(contrib)
 msgid ""
 "Section \"Build Structure\" of chapter on \"Wrapping C Libraries with gmmproc"
 "\"."
 msgstr ""
+"Seção \"Construir a estrutura\" do capítulo sobre \"Envolvendo bibliotecas C "
+"com gmmproc\"."
 
-#: C/gtkmm-tutorial-in.xml:81(firstname)
+#: C/gtkmm-tutorial-in.xml:71(firstname)
+msgid "Chris"
+msgstr "Chris"
+
+#: C/gtkmm-tutorial-in.xml:72(surname)
+msgid "Vine"
+msgstr "Vine"
+
+#: C/gtkmm-tutorial-in.xml:73(contrib)
+msgid "Chapter on \"Multi-threaded programs\"."
+msgstr "Capítulo sobre \"Programas com várias linhas de processamento\"."
+
+#: C/gtkmm-tutorial-in.xml:76(firstname)
 msgid "David"
 msgstr "David"
 
-#: C/gtkmm-tutorial-in.xml:82(surname)
+#: C/gtkmm-tutorial-in.xml:77(surname)
 msgid "King"
 msgstr "King"
 
-#: C/gtkmm-tutorial-in.xml:83(contrib)
+#: C/gtkmm-tutorial-in.xml:78(contrib)
 msgid "Section on Gtk::Grid."
 msgstr "Seção sobre Gtk::Grid."
 
+#: C/gtkmm-tutorial-in.xml:81(firstname)
+msgid "Pedro"
+msgstr "Pedro"
+
+#: C/gtkmm-tutorial-in.xml:82(surname)
+msgid "Ferreira"
+msgstr "Ferreira"
+
+#: C/gtkmm-tutorial-in.xml:83(contrib)
+msgid "Chapter on Keyboard Events."
+msgstr "Capítulo sobre eventos de teclado."
+
+#: C/gtkmm-tutorial-in.xml:86(firstname)
+msgid "Kjell"
+msgstr "Kjell"
+
+#: C/gtkmm-tutorial-in.xml:87(surname)
+msgid "Ahlstedt"
+msgstr "Ahlstedt"
+
+#: C/gtkmm-tutorial-in.xml:88(contrib)
+msgid "Parts of the update from gtkmm 2 to gtkmm 3."
+msgstr "Partes da atualização da gtkmm 2 a gtkmm 3."
+
 #. This text is copied from the introduction.
-#: C/gtkmm-tutorial-in.xml:90(para)
+#: C/gtkmm-tutorial-in.xml:95(para)
 msgid ""
 "This book explains key concepts of the <application>gtkmm</application> C++ "
 "API for creating user interfaces. It also introduces the main user interface "
@@ -140,15 +162,15 @@ msgstr ""
 "application> para a criação de interfaces com o usuário. Ele também "
 "apresenta os principais elementos de interfaceamento (\"widgets\")."
 
-#: C/gtkmm-tutorial-in.xml:96(year)
+#: C/gtkmm-tutorial-in.xml:101(year)
 msgid "2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010"
 msgstr "2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010"
 
-#: C/gtkmm-tutorial-in.xml:97(holder)
+#: C/gtkmm-tutorial-in.xml:102(holder)
 msgid "Murray Cumming"
 msgstr "Murray Cumming"
 
-#: C/gtkmm-tutorial-in.xml:101(para)
+#: C/gtkmm-tutorial-in.xml:106(para)
 msgid ""
 "Permission is granted to copy, distribute and/or modify this document under "
 "the terms of the GNU Free Documentation License, Version 1.2 or any later "
@@ -158,16 +180,24 @@ msgid ""
 "by visiting their Web site or by writing to: Free Software Foundation, Inc., "
 "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA."
 msgstr ""
+"Permissão concedida para copiar, distribuir e/ou modificar este documento "
+"sob os termos da Licença de Documentação Livre GNU (GNU Free Documentation "
+"License), Versão 1.2 ou qualquer versão mais recente publicada pela Free "
+"Software Foundation; sem Seções Invariantes, Textos de Capa Frontal, e sem "
+"Textos de Contracapa. Você pode encontrar uma cópia da licença GNU Free "
+"Documentation License da Free Software Foundation ao visitar seu web site ou "
+"escrevendo para: Free Software Foundation, Inc., 59 Temple Place - Suite "
+"330, Boston, MA 02111-1307, USA."
 
-#: C/gtkmm-tutorial-in.xml:113(title)
+#: C/gtkmm-tutorial-in.xml:118(title)
 msgid "Introduction"
 msgstr "Introdução"
 
-#: C/gtkmm-tutorial-in.xml:116(title)
+#: C/gtkmm-tutorial-in.xml:121(title)
 msgid "This book"
 msgstr "Este livro"
 
-#: C/gtkmm-tutorial-in.xml:118(para)
+#: C/gtkmm-tutorial-in.xml:123(para)
 msgid ""
 "This book explains key concepts of the <application>gtkmm</application> C++ "
 "API for creating user interfaces. It also introduces the main user interface "
@@ -182,7 +212,7 @@ msgstr ""
 "detalhes. Portanto, para uma informação mais completa da API, você deveria "
 "seguir os links na documentação de referência."
 
-#: C/gtkmm-tutorial-in.xml:120(para)
+#: C/gtkmm-tutorial-in.xml:125(para)
 msgid ""
 "This book assumes a good understanding of C++, and how to create C++ "
 "programs."
@@ -190,7 +220,7 @@ msgstr ""
 "Este livro presume que tenha um bom conhecimento de C++ e de como criar "
 "programas em C++."
 
-#: C/gtkmm-tutorial-in.xml:122(para)
+#: C/gtkmm-tutorial-in.xml:127(para)
 msgid ""
 "We would very much like to hear of any problems you have learning "
 "<application>gtkmm</application> with this document, and would appreciate "
@@ -199,14 +229,14 @@ msgid ""
 msgstr ""
 "Gostaríamos muito de ouvir sobre quaisquer problemas que tenha em aprender "
 "sobre <application>gtkmm</application> com este documento, e agradeceríamos "
-"informações sobre melhorias. Por favor, veja a seção link linkend=\"chapter-"
+"informações sobre melhorias. Por favor, veja a seção <link linkend=\"chapter-"
 "contributing\">Contribuindo</link> para maiores informações."
 
-#: C/gtkmm-tutorial-in.xml:129(title)
+#: C/gtkmm-tutorial-in.xml:134(title)
 msgid "gtkmm"
 msgstr "gtkmm"
 
-#: C/gtkmm-tutorial-in.xml:130(para)
+#: C/gtkmm-tutorial-in.xml:135(para)
 msgid ""
 "<application>gtkmm</application> is a C++ wrapper for <ulink url=\"http://";
 "www.gtk.org/\">GTK+</ulink>, a library used to create graphical user "
@@ -220,7 +250,7 @@ msgstr ""
 "desenvolver software aberto, software livre ou mesmo softwares comerciais "
 "não livres usando <application>gtkmm</application> sem comprar licenças."
 
-#: C/gtkmm-tutorial-in.xml:138(para)
+#: C/gtkmm-tutorial-in.xml:143(para)
 msgid ""
 "<application>gtkmm</application> was originally named gtk-- because GTK+ "
 "already has a + in the name. However, as -- is not easily indexed by search "
@@ -232,11 +262,11 @@ msgstr ""
 "indexado por mecanismos de busca, o pacote geralmente ficava com o nome "
 "<application>gtkmm</application>, e é por isso que o adotamos por fim."
 
-#: C/gtkmm-tutorial-in.xml:141(title)
+#: C/gtkmm-tutorial-in.xml:146(title)
 msgid "Why use <application>gtkmm</application> instead of GTK+?"
 msgstr "Por que usar <application>gtkmm</application> em vez de GTK+?"
 
-#: C/gtkmm-tutorial-in.xml:142(para)
+#: C/gtkmm-tutorial-in.xml:147(para)
 msgid ""
 "<application>gtkmm</application> allows you to write code using normal C++ "
 "techniques such as encapsulation, derivation, and polymorphism. As a C++ "
@@ -248,7 +278,7 @@ msgstr ""
 "programador de C++, você já deve perceber que isso leva a um código mais "
 "limpo e melhor organizado."
 
-#: C/gtkmm-tutorial-in.xml:143(para)
+#: C/gtkmm-tutorial-in.xml:148(para)
 msgid ""
 "<application>gtkmm</application> is more type-safe, so the compiler can "
 "detect errors that would only be detected at run time when using C. This use "
@@ -261,7 +291,7 @@ msgstr ""
 "clara, porque você pode ver que tipos deveriam ser usados apenas olhando a "
 "declaração de um método."
 
-#: C/gtkmm-tutorial-in.xml:144(para)
+#: C/gtkmm-tutorial-in.xml:149(para)
 msgid ""
 "Inheritance can be used to derive new widgets. The derivation of new widgets "
 "in GTK+ C code is so complicated and error prone that almost no C coders do "
@@ -273,14 +303,18 @@ msgstr ""
 "nenhum programador C a faz. Sendo um desenvolvedor C++, você sabe que "
 "derivação é uma técnica essencial em orientação a objetos."
 
-#: C/gtkmm-tutorial-in.xml:145(para)
+#: C/gtkmm-tutorial-in.xml:150(para)
 msgid ""
 "Member instances can be used, simplifying memory management. All GTK+ C "
 "widgets are dealt with by use of pointers. As a C++ coder you know that "
 "pointers should be avoided where possible."
 msgstr ""
+"Instâncias membros podem ser usadas, simplificando o gerenciamento de "
+"memória. Todos widgets GTK+ C são tratados pelo uso de ponteiros. Como um "
+"programador em C++ você sabe que os ponteiros devem ser evitados sempre que "
+"possível."
 
-#: C/gtkmm-tutorial-in.xml:146(para)
+#: C/gtkmm-tutorial-in.xml:151(para)
 msgid ""
 "<application>gtkmm</application> involves less code compared to GTK+, which "
 "uses prefixed function names and lots of cast macros."
@@ -288,11 +322,11 @@ msgstr ""
 "<application>gtkmm</application> envolve menos código comparado ao GTK+, que "
 "usa nomes de funções com prefixos e muitas macros de conversão."
 
-#: C/gtkmm-tutorial-in.xml:150(title)
+#: C/gtkmm-tutorial-in.xml:155(title)
 msgid "<application>gtkmm</application> compared to Qt"
 msgstr "<application>gtkmm</application> comparado ao Qt"
 
-#: C/gtkmm-tutorial-in.xml:151(para)
+#: C/gtkmm-tutorial-in.xml:156(para)
 msgid ""
 "Trolltech's Qt is the closest competition to <application>gtkmm</"
 "application>, so it deserves discussion."
@@ -300,7 +334,7 @@ msgstr ""
 "O Qt da Trolltech é o competidor mais próximo do <application>gtkmm</"
 "application>, então merece uma discussão."
 
-#: C/gtkmm-tutorial-in.xml:153(para)
+#: C/gtkmm-tutorial-in.xml:158(para)
 msgid ""
 "<application>gtkmm</application> developers tend to prefer "
 "<application>gtkmm</application> to Qt because <application>gtkmm</"
@@ -315,7 +349,7 @@ msgid ""
 "differences."
 msgstr ""
 "Desenvolvedores de <application>gtkmm</application> tendem a preferi-lo a Qt "
-"porque <application>gtkmm</application>  faz as coisas de uma maneira mais à "
+"porque <application>gtkmm</application> faz as coisas de uma maneira mais à "
 "la C++. Qt vem de uma época quando C++ e a biblioteca padrão não eram "
 "padronizados ou com um bom suporte por compiladores. Assim, ele duplica "
 "muita coisa faz agora parte da biblioteca padrão, tais como contêineres e "
@@ -325,11 +359,11 @@ msgstr ""
 "usar o C++ padrão para prover sinais sem alterá-lo. Veja o Perguntas "
 "frequentes para maiores detalhes nas diferenças."
 
-#: C/gtkmm-tutorial-in.xml:157(title)
+#: C/gtkmm-tutorial-in.xml:162(title)
 msgid "<application>gtkmm</application> is a wrapper"
 msgstr "<application>gtkmm</application> é um wrapper"
 
-#: C/gtkmm-tutorial-in.xml:158(para)
+#: C/gtkmm-tutorial-in.xml:163(para)
 msgid ""
 "<application>gtkmm</application> is not a native C++ toolkit, but a C++ "
 "wrapper of a C toolkit. This separation of interface and implementation has "
@@ -353,15 +387,15 @@ msgstr ""
 "específico - há mais pessoas que implementam, mais desenvolvedores, mais "
 "testadores e mais usuários."
 
-#: C/gtkmm-tutorial-in.xml:166(title)
+#: C/gtkmm-tutorial-in.xml:171(title)
 msgid "Installation"
 msgstr "Instalação"
 
-#: C/gtkmm-tutorial-in.xml:168(title)
+#: C/gtkmm-tutorial-in.xml:173(title)
 msgid "Dependencies"
 msgstr "Dependências"
 
-#: C/gtkmm-tutorial-in.xml:169(para)
+#: C/gtkmm-tutorial-in.xml:174(para)
 msgid ""
 "Before attempting to install <application>gtkmm</application> 3.0, you might "
 "first need to install these other packages."
@@ -369,27 +403,27 @@ msgstr ""
 "Antes de tentar instalar o <application>gtkmm</application> 3.0, você pode "
 "primeiro precisar instalar estes outros pacotes."
 
-#: C/gtkmm-tutorial-in.xml:174(application)
+#: C/gtkmm-tutorial-in.xml:179(application)
 msgid "libsigc++ 2.0"
 msgstr "libsigc++ 2.0"
 
-#: C/gtkmm-tutorial-in.xml:175(application)
+#: C/gtkmm-tutorial-in.xml:180(application)
 msgid "GTK+ 3.0"
 msgstr "GTK+ 3.0"
 
-#: C/gtkmm-tutorial-in.xml:176(application)
+#: C/gtkmm-tutorial-in.xml:181(application)
 msgid "cairomm"
 msgstr "cairomm"
 
-#: C/gtkmm-tutorial-in.xml:177(application)
+#: C/gtkmm-tutorial-in.xml:182(application)
 msgid "pangomm"
 msgstr "pangomm"
 
-#: C/gtkmm-tutorial-in.xml:178(application)
+#: C/gtkmm-tutorial-in.xml:183(application)
 msgid "atkmm"
 msgstr "atkmm"
 
-#: C/gtkmm-tutorial-in.xml:180(para)
+#: C/gtkmm-tutorial-in.xml:185(para)
 msgid ""
 "These dependencies have their own dependencies, including the following "
 "applications and libraries:"
@@ -397,39 +431,39 @@ msgstr ""
 "Essas dependências têm suas próprias dependências, incluindo os seguintes "
 "aplicativos e bibliotecas:"
 
-#: C/gtkmm-tutorial-in.xml:185(application)
+#: C/gtkmm-tutorial-in.xml:190(application)
 msgid "pkg-config"
 msgstr "pkg-config"
 
-#: C/gtkmm-tutorial-in.xml:186(application)
+#: C/gtkmm-tutorial-in.xml:191(application)
 msgid "glib"
 msgstr "glib"
 
-#: C/gtkmm-tutorial-in.xml:187(application)
+#: C/gtkmm-tutorial-in.xml:192(application)
 msgid "ATK"
 msgstr "ATK"
 
-#: C/gtkmm-tutorial-in.xml:188(application)
+#: C/gtkmm-tutorial-in.xml:193(application)
 msgid "Pango"
 msgstr "Pango"
 
-#: C/gtkmm-tutorial-in.xml:189(application)
+#: C/gtkmm-tutorial-in.xml:194(application)
 msgid "cairo"
 msgstr "cairo"
 
-#: C/gtkmm-tutorial-in.xml:190(application)
+#: C/gtkmm-tutorial-in.xml:195(application)
 msgid "gdk-pixbuf"
 msgstr "gdk-pixbuf"
 
-#: C/gtkmm-tutorial-in.xml:195(title)
+#: C/gtkmm-tutorial-in.xml:200(title)
 msgid "Unix and Linux"
 msgstr "Unix e Linux"
 
-#: C/gtkmm-tutorial-in.xml:198(title)
+#: C/gtkmm-tutorial-in.xml:203(title)
 msgid "Prebuilt Packages"
 msgstr "Pacotes pré-compilados"
 
-#: C/gtkmm-tutorial-in.xml:200(para)
+#: C/gtkmm-tutorial-in.xml:205(para)
 msgid ""
 "Recent versions of <application>gtkmm</application> are packaged by nearly "
 "every major Linux distribution these days. So, if you use Linux, you can "
@@ -445,7 +479,7 @@ msgstr ""
 "incluem <application>gtkmm</application> em seus repositórios são Debian, "
 "Ubuntu, Red Hat, Fedora, Mandriva, Suse e muitas outras."
 
-#: C/gtkmm-tutorial-in.xml:208(para)
+#: C/gtkmm-tutorial-in.xml:213(para)
 msgid ""
 "The names of the <application>gtkmm</application> packages vary from "
 "distribution to distribution (e.g. <application>libgtkmm3.0-dev</"
@@ -461,7 +495,7 @@ msgstr ""
 "distribuição pelo nome correto do pacote e instale-o como faria com qualquer "
 "outro."
 
-#: C/gtkmm-tutorial-in.xml:216(para)
+#: C/gtkmm-tutorial-in.xml:221(para)
 msgid ""
 "The package names will not change when new API/ABI-compatible versions of "
 "<application>gtkmm</application> are released. Otherwise they would not be "
@@ -475,11 +509,11 @@ msgstr ""
 "encontrar o <application>gtkmm</application> 3.2 sendo fornecido pelo pacote "
 "<application>libgtkmm3.0-dev</application> do Debian."
 
-#: C/gtkmm-tutorial-in.xml:226(title)
+#: C/gtkmm-tutorial-in.xml:231(title)
 msgid "Installing From Source"
 msgstr "Instalando pelo código fonte"
 
-#: C/gtkmm-tutorial-in.xml:228(para)
+#: C/gtkmm-tutorial-in.xml:233(para)
 msgid ""
 "If your distribution does not provide a pre-built <application>gtkmm</"
 "application> package, or if you want to install a different version than the "
@@ -493,7 +527,7 @@ msgstr ""
 "<application>gtkmm</application> a partir do código-fonte. Ele pode ser "
 "baixado em <ulink url=\"http://www.gtkmm.org/\"/>."
 
-#: C/gtkmm-tutorial-in.xml:234(para)
+#: C/gtkmm-tutorial-in.xml:239(para)
 msgid ""
 "After you've installed all of the dependencies, download the "
 "<application>gtkmm</application> source code, unpack it, and change to the "
@@ -505,7 +539,7 @@ msgstr ""
 "criado. O <application>gtkmm</application> pode ser compilado e instalado "
 "com a seguinte sequência de comandos: "
 
-#: C/gtkmm-tutorial-in.xml:239(screen)
+#: C/gtkmm-tutorial-in.xml:244(screen)
 #, no-wrap
 msgid ""
 "\n"
@@ -518,7 +552,7 @@ msgstr ""
 "# make\n"
 "# make install\n"
 
-#: C/gtkmm-tutorial-in.xml:245(para)
+#: C/gtkmm-tutorial-in.xml:250(para)
 msgid ""
 "Remember that on a Unix or Linux operating system, you will probably need to "
 "be <literal>root</literal> to install software. The <command>su</command> "
@@ -530,7 +564,7 @@ msgstr ""
 "<command>su</command> lhe permite informar a senha de <literal>root</"
 "literal> e ter temporariamente o status de <literal>root</literal>."
 
-#: C/gtkmm-tutorial-in.xml:252(para)
+#: C/gtkmm-tutorial-in.xml:257(para)
 msgid ""
 "The <filename>configure</filename> script will check to make sure all of the "
 "required dependencies are already installed. If you are missing any "
@@ -540,7 +574,7 @@ msgstr ""
 "dependências exigidas já estão instaladas. Se você estiver sem alguma "
 "dependência, ele sairá e mostrará um erro."
 
-#: C/gtkmm-tutorial-in.xml:257(para)
+#: C/gtkmm-tutorial-in.xml:262(para)
 msgid ""
 "By default, <application>gtkmm</application> will be installed under the "
 "<filename>/usr/local</filename> directory. On some systems you may need to "
@@ -558,7 +592,7 @@ msgstr ""
 "# ./configure --prefix=/usr\n"
 "</screen>"
 
-#: C/gtkmm-tutorial-in.xml:268(para)
+#: C/gtkmm-tutorial-in.xml:273(para)
 msgid ""
 "You should be very careful when installing to standard system prefixes such "
 "as <filename>/usr</filename>. Linux distributions install software packages "
@@ -575,7 +609,7 @@ msgstr ""
 "deveria usar um prefixo separado para todos os softwares que você instalar a "
 "partir do código-fonte."
 
-#: C/gtkmm-tutorial-in.xml:277(para)
+#: C/gtkmm-tutorial-in.xml:282(para)
 msgid ""
 "If you want to help develop <application>gtkmm</application> or experiment "
 "with new features, you can also install <application>gtkmm</application> "
@@ -591,11 +625,11 @@ msgstr ""
 "<application>gtkmm</application> , veja o apêndice <link linkend=\"chapter-"
 "working-with-source\">Trabalhando com o código-fonte do gtkmm</link>."
 
-#: C/gtkmm-tutorial-in.xml:288(title)
+#: C/gtkmm-tutorial-in.xml:293(title)
 msgid "Microsoft Windows"
 msgstr "Microsoft Windows"
 
-#: C/gtkmm-tutorial-in.xml:289(para)
+#: C/gtkmm-tutorial-in.xml:294(para)
 msgid ""
 "GTK+ and <application>gtkmm</application> were designed to work well with "
 "Microsoft Windows, and the developers encourage its use on the win32 "
@@ -611,11 +645,11 @@ msgstr ""
 "live.gnome.org/gtkmm/MSWindows\">Instalação no Windows</ulink> para "
 "instruções e notas específicas sobre instalação no Windows."
 
-#: C/gtkmm-tutorial-in.xml:296(title)
+#: C/gtkmm-tutorial-in.xml:301(title)
 msgid "Basics"
 msgstr "Básico"
 
-#: C/gtkmm-tutorial-in.xml:298(para)
+#: C/gtkmm-tutorial-in.xml:303(para)
 msgid ""
 "This chapter will introduce some of the most important aspects of "
 "<application>gtkmm</application> coding. These will be demonstrated with "
@@ -627,7 +661,7 @@ msgstr ""
 "código de exemplo simples e funcional. Mas isso é só um aperitivo, então "
 "você precisará olhar os outros capítulos para informações mais substanciais."
 
-#: C/gtkmm-tutorial-in.xml:301(para)
+#: C/gtkmm-tutorial-in.xml:306(para)
 msgid ""
 "Your existing knowledge of C++ will help you with <application>gtkmm</"
 "application> as it would with any library. Unless we state otherwise, you "
@@ -642,11 +676,11 @@ msgstr ""
 "+, e pode contar com o uso de técnicas de C++ que você conhece com as "
 "bibliotecas do <application>gtkmm</application>."
 
-#: C/gtkmm-tutorial-in.xml:306(title) C/gtkmm-tutorial-in.xml:3468(title)
+#: C/gtkmm-tutorial-in.xml:311(title) C/gtkmm-tutorial-in.xml:3400(title)
 msgid "Simple Example"
 msgstr "Exemplo simples"
 
-#: C/gtkmm-tutorial-in.xml:308(para)
+#: C/gtkmm-tutorial-in.xml:313(para)
 msgid ""
 "To begin our introduction to <application>gtkmm</application>, we'll start "
 "with the simplest program possible. This program will create an empty 200 x "
@@ -656,51 +690,54 @@ msgstr ""
 "o programa mais simples possível. Este programa cria uma janela vazia com "
 "200 x 200 pixels."
 
-#: C/gtkmm-tutorial-in.xml:313(ulink) C/gtkmm-tutorial-in.xml:491(ulink)
-#: C/gtkmm-tutorial-in.xml:761(ulink) C/gtkmm-tutorial-in.xml:869(ulink)
-#: C/gtkmm-tutorial-in.xml:978(ulink) C/gtkmm-tutorial-in.xml:1143(ulink)
-#: C/gtkmm-tutorial-in.xml:1197(ulink) C/gtkmm-tutorial-in.xml:1252(ulink)
-#: C/gtkmm-tutorial-in.xml:1299(ulink) C/gtkmm-tutorial-in.xml:1326(ulink)
-#: C/gtkmm-tutorial-in.xml:1351(ulink) C/gtkmm-tutorial-in.xml:1499(ulink)
-#: C/gtkmm-tutorial-in.xml:1565(ulink) C/gtkmm-tutorial-in.xml:1589(ulink)
-#: C/gtkmm-tutorial-in.xml:1620(ulink) C/gtkmm-tutorial-in.xml:1677(ulink)
-#: C/gtkmm-tutorial-in.xml:1718(ulink) C/gtkmm-tutorial-in.xml:1763(ulink)
-#: C/gtkmm-tutorial-in.xml:1798(ulink) C/gtkmm-tutorial-in.xml:1837(ulink)
-#: C/gtkmm-tutorial-in.xml:1975(ulink) C/gtkmm-tutorial-in.xml:2103(ulink)
-#: C/gtkmm-tutorial-in.xml:2146(ulink) C/gtkmm-tutorial-in.xml:2188(ulink)
-#: C/gtkmm-tutorial-in.xml:2347(ulink) C/gtkmm-tutorial-in.xml:2395(ulink)
-#: C/gtkmm-tutorial-in.xml:2435(ulink) C/gtkmm-tutorial-in.xml:3031(ulink)
-#: C/gtkmm-tutorial-in.xml:3050(ulink) C/gtkmm-tutorial-in.xml:3069(ulink)
-#: C/gtkmm-tutorial-in.xml:3091(ulink) C/gtkmm-tutorial-in.xml:3113(ulink)
-#: C/gtkmm-tutorial-in.xml:3186(ulink) C/gtkmm-tutorial-in.xml:3199(ulink)
-#: C/gtkmm-tutorial-in.xml:3233(ulink) C/gtkmm-tutorial-in.xml:3246(ulink)
-#: C/gtkmm-tutorial-in.xml:3477(ulink) C/gtkmm-tutorial-in.xml:3652(ulink)
-#: C/gtkmm-tutorial-in.xml:3665(ulink) C/gtkmm-tutorial-in.xml:3721(ulink)
-#: C/gtkmm-tutorial-in.xml:3974(ulink) C/gtkmm-tutorial-in.xml:4036(ulink)
-#: C/gtkmm-tutorial-in.xml:4063(ulink) C/gtkmm-tutorial-in.xml:4086(ulink)
-#: C/gtkmm-tutorial-in.xml:4110(ulink) C/gtkmm-tutorial-in.xml:4312(ulink)
-#: C/gtkmm-tutorial-in.xml:4402(ulink) C/gtkmm-tutorial-in.xml:4478(ulink)
-#: C/gtkmm-tutorial-in.xml:4601(ulink) C/gtkmm-tutorial-in.xml:4627(ulink)
-#: C/gtkmm-tutorial-in.xml:4840(ulink) C/gtkmm-tutorial-in.xml:5000(ulink)
-#: C/gtkmm-tutorial-in.xml:5020(ulink) C/gtkmm-tutorial-in.xml:5394(ulink)
-#: C/gtkmm-tutorial-in.xml:5615(ulink) C/gtkmm-tutorial-in.xml:5749(ulink)
-#: C/gtkmm-tutorial-in.xml:5855(ulink) C/gtkmm-tutorial-in.xml:5952(ulink)
-#: C/gtkmm-tutorial-in.xml:5989(ulink) C/gtkmm-tutorial-in.xml:6342(ulink)
-#: C/gtkmm-tutorial-in.xml:6410(ulink) C/gtkmm-tutorial-in.xml:7055(ulink)
-#: C/gtkmm-tutorial-in.xml:7112(ulink) C/gtkmm-tutorial-in.xml:7857(ulink)
+#: C/gtkmm-tutorial-in.xml:318(ulink) C/gtkmm-tutorial-in.xml:500(ulink)
+#: C/gtkmm-tutorial-in.xml:768(ulink) C/gtkmm-tutorial-in.xml:876(ulink)
+#: C/gtkmm-tutorial-in.xml:985(ulink) C/gtkmm-tutorial-in.xml:1148(ulink)
+#: C/gtkmm-tutorial-in.xml:1202(ulink) C/gtkmm-tutorial-in.xml:1272(ulink)
+#: C/gtkmm-tutorial-in.xml:1319(ulink) C/gtkmm-tutorial-in.xml:1346(ulink)
+#: C/gtkmm-tutorial-in.xml:1371(ulink) C/gtkmm-tutorial-in.xml:1519(ulink)
+#: C/gtkmm-tutorial-in.xml:1585(ulink) C/gtkmm-tutorial-in.xml:1609(ulink)
+#: C/gtkmm-tutorial-in.xml:1640(ulink) C/gtkmm-tutorial-in.xml:1697(ulink)
+#: C/gtkmm-tutorial-in.xml:1737(ulink) C/gtkmm-tutorial-in.xml:1782(ulink)
+#: C/gtkmm-tutorial-in.xml:1817(ulink) C/gtkmm-tutorial-in.xml:1856(ulink)
+#: C/gtkmm-tutorial-in.xml:1985(ulink) C/gtkmm-tutorial-in.xml:2146(ulink)
+#: C/gtkmm-tutorial-in.xml:2187(ulink) C/gtkmm-tutorial-in.xml:2229(ulink)
+#: C/gtkmm-tutorial-in.xml:2290(ulink) C/gtkmm-tutorial-in.xml:2330(ulink)
+#: C/gtkmm-tutorial-in.xml:2926(ulink) C/gtkmm-tutorial-in.xml:2945(ulink)
+#: C/gtkmm-tutorial-in.xml:2964(ulink) C/gtkmm-tutorial-in.xml:2986(ulink)
+#: C/gtkmm-tutorial-in.xml:3008(ulink) C/gtkmm-tutorial-in.xml:3081(ulink)
+#: C/gtkmm-tutorial-in.xml:3094(ulink) C/gtkmm-tutorial-in.xml:3165(ulink)
+#: C/gtkmm-tutorial-in.xml:3178(ulink) C/gtkmm-tutorial-in.xml:3409(ulink)
+#: C/gtkmm-tutorial-in.xml:3584(ulink) C/gtkmm-tutorial-in.xml:3597(ulink)
+#: C/gtkmm-tutorial-in.xml:3653(ulink) C/gtkmm-tutorial-in.xml:3906(ulink)
+#: C/gtkmm-tutorial-in.xml:3968(ulink) C/gtkmm-tutorial-in.xml:3995(ulink)
+#: C/gtkmm-tutorial-in.xml:4018(ulink) C/gtkmm-tutorial-in.xml:4042(ulink)
+#: C/gtkmm-tutorial-in.xml:4074(ulink) C/gtkmm-tutorial-in.xml:4275(ulink)
+#: C/gtkmm-tutorial-in.xml:4365(ulink) C/gtkmm-tutorial-in.xml:4393(ulink)
+#: C/gtkmm-tutorial-in.xml:4469(ulink) C/gtkmm-tutorial-in.xml:4541(ulink)
+#: C/gtkmm-tutorial-in.xml:4604(ulink) C/gtkmm-tutorial-in.xml:4630(ulink)
+#: C/gtkmm-tutorial-in.xml:4843(ulink) C/gtkmm-tutorial-in.xml:5009(ulink)
+#: C/gtkmm-tutorial-in.xml:5029(ulink) C/gtkmm-tutorial-in.xml:5403(ulink)
+#: C/gtkmm-tutorial-in.xml:5624(ulink) C/gtkmm-tutorial-in.xml:5758(ulink)
+#: C/gtkmm-tutorial-in.xml:5882(ulink) C/gtkmm-tutorial-in.xml:5950(ulink)
+#: C/gtkmm-tutorial-in.xml:6011(ulink) C/gtkmm-tutorial-in.xml:6108(ulink)
+#: C/gtkmm-tutorial-in.xml:6145(ulink) C/gtkmm-tutorial-in.xml:6472(ulink)
+#: C/gtkmm-tutorial-in.xml:6540(ulink) C/gtkmm-tutorial-in.xml:7184(ulink)
+#: C/gtkmm-tutorial-in.xml:7241(ulink) C/gtkmm-tutorial-in.xml:7497(ulink)
+#: C/gtkmm-tutorial-in.xml:8382(ulink)
 msgid "Source Code"
 msgstr "Código-fonte"
 
-#: C/gtkmm-tutorial-in.xml:315(para)
+#: C/gtkmm-tutorial-in.xml:320(para)
 msgid "We will now explain each line of the example"
 msgstr "Explicaremos agora cada linha do exemplo"
 
-#: C/gtkmm-tutorial-in.xml:316(programlisting)
+#: C/gtkmm-tutorial-in.xml:321(programlisting)
 #, no-wrap
 msgid "#include &lt;gtkmm.h&gt;"
 msgstr "#include &lt;gtkmm.h&gt;"
 
-#: C/gtkmm-tutorial-in.xml:317(para)
+#: C/gtkmm-tutorial-in.xml:322(para)
 msgid ""
 "All <application>gtkmm</application> programs must include certain "
 "<application>gtkmm</application> headers; <literal>gtkmm.h</literal> "
@@ -714,24 +751,26 @@ msgstr ""
 "uma boa ideia, porque inclui um megabyte ou mais de cabeçalhos, mas, para "
 "programas simples, é o suficiente."
 
-#: C/gtkmm-tutorial-in.xml:327(programlisting)
+#: C/gtkmm-tutorial-in.xml:332(programlisting)
 #, no-wrap
-msgid "Gtk::Main kit(argc, argv);"
-msgstr "Gtk::Main kit(argc, argv);"
+msgid "Glib::RefPtr&lt;Gtk::Application&gt; app = Gtk::Application::create(argc, argv, 
\"org.gtkmm.examples.base\");"
+msgstr "Glib::RefPtr&lt;Gtk::Application&gt; app = Gtk::Application::create(argc, argv, 
\"org.gtkmm.examples.base\");"
 
-#: C/gtkmm-tutorial-in.xml:324(para)
+#: C/gtkmm-tutorial-in.xml:329(para)
+#, fuzzy
 msgid ""
-"The next line: <placeholder-1/> creates a <classname>Gtk::Main</classname> "
-"object. This is needed in all <application>gtkmm</application> applications. "
-"The constructor for this object initializes <application>gtkmm</"
-"application>, and checks the arguments passed to your application on the "
-"command line, looking for standard options such as <literal>-display</"
-"literal>. It takes these from the argument list, leaving anything it does "
-"not recognize for your application to parse or ignore. This ensures that all "
-"<application>gtkmm</application> applications accept the same set of "
-"standard arguments."
+"The next statement: <placeholder-1/> creates a <classname>Gtk::Application</"
+"classname> object, stored in a <classname>RefPtr</classname> smartpointer. "
+"This is needed in all <application>gtkmm</application> applications. The "
+"<methodname>create()</methodname> method for this object initializes "
+"<application>gtkmm</application>, and checks the arguments passed to your "
+"application on the command line, looking for standard options such as "
+"<literal>--display</literal>. It takes these from the argument list, leaving "
+"anything it does not recognize for your application to parse or ignore. This "
+"ensures that all <application>gtkmm</application> applications accept the "
+"same set of standard arguments."
 msgstr ""
-"A próxima linha: <placeholder-1/> cria um objeto <classname>Gtk::Main</"
+"A próxima linha: <placeholder-1/> cria um objeto <classname>Gtk::Application</"
 "classname>. Isso é necessário para todos os aplicativos <application>gtkmm</"
 "application>. O construtor para este objeto inicia o <application>gtkmm</"
 "application> e verifica os argumentos passados para o seu aplicativo na "
@@ -741,41 +780,54 @@ msgstr ""
 "que todos os aplicativos <application>gtkmm</application> aceitem o mesmo "
 "conjunto de argumentos padronizados."
 
-#: C/gtkmm-tutorial-in.xml:337(para)
-msgid "The next two lines of code create and display a window:"
-msgstr "As próximas duas linhas de código criam e exibem uma janela:"
+#: C/gtkmm-tutorial-in.xml:342(para)
+msgid ""
+"The next two lines of code create a window and set its default (initial) "
+"size:"
+msgstr ""
+"As próximas duas linhas de código criam uma janela e define seu tamanho "
+"padrão (inicial):"
 
-#: C/gtkmm-tutorial-in.xml:340(programlisting)
+#: C/gtkmm-tutorial-in.xml:345(programlisting)
 #, no-wrap
-msgid "Gtk::Window window;"
-msgstr "Gtk::Window window;"
+msgid ""
+"Gtk::Window window;\n"
+"window.set_default_size(200, 200);"
+msgstr ""
+"Gtk::Window window;\n"
+"window.set_default_size(200, 200);"
 
-#: C/gtkmm-tutorial-in.xml:341(para)
+#: C/gtkmm-tutorial-in.xml:347(para)
+#, fuzzy
 msgid ""
 "The last line shows the window and enters the <application>gtkmm</"
 "application> main processing loop, which will finish when the window is "
-"closed."
+"closed. Your <function>main()</function> function will then return with an "
+"appropriate success or error code."
 msgstr ""
 "A última linha mostra a janela e entra no laço de processamento principal do "
 "<application>gtkmm</application>, que terminará quando a janela for fechada."
 
-#: C/gtkmm-tutorial-in.xml:345(programlisting)
+#: C/gtkmm-tutorial-in.xml:352(programlisting)
 #, no-wrap
-msgid "Gtk::Main::run(window);"
-msgstr "Gtk::Main::run(window);"
+msgid "return app-&gt;run(window);"
+msgstr "return app-&gt;run(window);"
 
-#: C/gtkmm-tutorial-in.xml:349(programlisting)
+#: C/gtkmm-tutorial-in.xml:357(programlisting)
 #, no-wrap
 msgid "g++ simple.cc -o simple `pkg-config gtkmm-3.0 --cflags --libs`"
 msgstr "g++ simple.cc -o simple `pkg-config gtkmm-3.0 --cflags --libs`"
 
-#: C/gtkmm-tutorial-in.xml:347(para)
+#: C/gtkmm-tutorial-in.xml:354(para)
+#, fuzzy
 msgid ""
 "After putting the source code in <literal>simple.cc</literal> you can "
-"compile the above program with gcc using: <placeholder-1/> Note that you "
-"must surround the <literal>pkg-config</literal> invocation with backquotes. "
-"Backquotes cause the shell to execute the command inside them, and to use "
-"the command's output as part of the command line."
+"compile the above program with <application>gcc</application> using: "
+"<placeholder-1/> Note that you must surround the <literal>pkg-config</"
+"literal> invocation with backquotes. Backquotes cause the shell to execute "
+"the command inside them, and to use the command's output as part of the "
+"command line. Note also that <literal>simple.cc</literal> must come before "
+"the <literal>pkg-config</literal> invocation on the command line."
 msgstr ""
 "Depois de colocar o código-fonte em <literal>simple.cc</literal>, você pode "
 "compilar o programa acima com o gcc usando: <placeholder-1/> Note que você "
@@ -783,11 +835,11 @@ msgstr ""
 "graves. Os acentos graves fazem com que o shell executem o comando dentro "
 "deles, e a usar a saída desse comando como parte da linha de comando."
 
-#: C/gtkmm-tutorial-in.xml:358(title)
+#: C/gtkmm-tutorial-in.xml:367(title)
 msgid "Headers and Linking"
 msgstr "Cabeçalhos e vinculação"
 
-#: C/gtkmm-tutorial-in.xml:359(para)
+#: C/gtkmm-tutorial-in.xml:368(para)
 msgid ""
 "Although we have shown the compilation command for the simple example, you "
 "really should use the automake and autoconf tools, as described in "
@@ -805,7 +857,7 @@ msgstr ""
 "mostraremos mais esses comandos. Você só precisará achar o diretório correto "
 "e digitar <literal>make</literal>."
 
-#: C/gtkmm-tutorial-in.xml:362(para)
+#: C/gtkmm-tutorial-in.xml:371(para)
 msgid ""
 "To simplify compilation, we use <literal>pkg-config</literal>, which is "
 "present in all (properly installed) <application>gtkmm</application> "
@@ -828,12 +880,12 @@ msgstr ""
 "diretórios onde achá-los. Experimente executá-lo no seu prompt do shell para "
 "ver os resultados no seu sistema."
 
-#: C/gtkmm-tutorial-in.xml:375(programlisting)
+#: C/gtkmm-tutorial-in.xml:384(programlisting)
 #, no-wrap
 msgid "PKG_CHECK_MODULES([MYAPP], [gtkmm-3.0 &gt;= 3.0.0])"
 msgstr "PKG_CHECK_MODULES([MEUAPLICATIVO], [gtkmm-3.0 &gt;= 3.0.0])"
 
-#: C/gtkmm-tutorial-in.xml:372(para)
+#: C/gtkmm-tutorial-in.xml:381(para)
 msgid ""
 "However, this is even simpler when using the <function>PKG_CHECK_MODULES()</"
 "function> macro in a standard configure.ac file with autoconf and automake. "
@@ -846,7 +898,7 @@ msgstr ""
 "presença de gtkmm e define MEUAPLICATIVO_LIBS e MEUAPLICATIVO_CFLAGS para "
 "usar em seus arquivos Makefile.am."
 
-#: C/gtkmm-tutorial-in.xml:378(para)
+#: C/gtkmm-tutorial-in.xml:387(para)
 msgid ""
 "gtkmm-3.0 is the name of the current stable API. There was an older API "
 "called gtkmm-2-4 which installs in parallel when it is available. There were "
@@ -856,15 +908,15 @@ msgid ""
 "Theoretically, there might be a future gtkmm-4.0 API which would install in "
 "parallel with gtkmm-3.0 without affecting existing applications."
 msgstr ""
-"gtkmm-3.0 é o nome da API estável atual. Existiu uma antiga chamada gtkmm-"
-"2.4 que instala em paralelo quando disponível. Existem muitas versões do "
-"gtkmm-2.4, como gtkmm 2.10, e existem várias versões da API gtkmm-3.0 No que "
-"o nome da API não se altera a cada versão, por que isso seria uma quebra de "
-"compatibilidade de API e ABI. Teoricamente, pode existir uma futura API "
+"gtkmm-3.0 é o nome da API estável atual. Existiu uma antiga chamada "
+"gtkmm-2.4 que instala em paralelo quando disponível. Existem muitas versões "
+"do gtkmm-2.4, como gtkmm 2.10, e existem várias versões da API gtkmm-3.0 No "
+"que o nome da API não se altera a cada versão, por que isso seria uma quebra "
+"de compatibilidade de API e ABI. Teoricamente, pode existir uma futura API "
 "gtkmm-4.0, que se instalaria em paralelo com o gtkmm-3.0 sem afetar os "
 "aplicativos existentes."
 
-#: C/gtkmm-tutorial-in.xml:381(para)
+#: C/gtkmm-tutorial-in.xml:390(para)
 msgid ""
 "Note that if you mention extra modules in addition to gtkmm-3.0, they should "
 "be separated by spaces, not commas."
@@ -872,7 +924,7 @@ msgstr ""
 "Note que se você mencionar módulos além do gtkmm-3.0, eles seriam separados "
 "por espaços, e não por vírgulas."
 
-#: C/gtkmm-tutorial-in.xml:383(para)
+#: C/gtkmm-tutorial-in.xml:392(para)
 msgid ""
 "Openismus has more <ulink url=\"http://www.openismus.com/documents/linux/";
 "automake/automake.shtml\">basic help with automake and autoconf</ulink>."
@@ -880,11 +932,11 @@ msgstr ""
 "Openismus tem mais <ulink url=\"http://www.openismus.com/documents/linux/";
 "automake/automake.shtml\">ajuda básica sobre automake e autoconf</ulink>."
 
-#: C/gtkmm-tutorial-in.xml:390(title) C/gtkmm-tutorial-in.xml:6012(title)
+#: C/gtkmm-tutorial-in.xml:399(title) C/gtkmm-tutorial-in.xml:6168(title)
 msgid "Widgets"
 msgstr "Widgets"
 
-#: C/gtkmm-tutorial-in.xml:391(para)
+#: C/gtkmm-tutorial-in.xml:400(para)
 msgid ""
 "<application>gtkmm</application> applications consist of windows containing "
 "widgets, such as buttons and text boxes. In some other systems, widgets are "
@@ -898,7 +950,7 @@ msgstr ""
 "janelas do seu aplicativo, há um objeto C++ em seu código. Então você "
 "precisa chamar um método da classe do widget para afetar o widget visível."
 
-#: C/gtkmm-tutorial-in.xml:393(programlisting)
+#: C/gtkmm-tutorial-in.xml:402(programlisting)
 #, no-wrap
 msgid ""
 "m_box.pack_start(m_Button1);\n"
@@ -907,20 +959,21 @@ msgstr ""
 "m_caixa.pack_start(m_Botao1);\n"
 "m_caixa.pack_start(m_Botao2);"
 
-#: C/gtkmm-tutorial-in.xml:396(programlisting)
+#: C/gtkmm-tutorial-in.xml:405(programlisting)
 #, no-wrap
 msgid "m_frame.add(m_box);"
 msgstr "m_moldura.add(m_caixa);"
 
-#: C/gtkmm-tutorial-in.xml:392(para)
+#: C/gtkmm-tutorial-in.xml:401(para)
+#, fuzzy
 msgid ""
 "Widgets are arranged inside container widgets such as frames and notebooks, "
 "in a hierarchy of widgets within widgets. Some of these container widgets, "
 "such as <classname>Gtk::Grid</classname>, are not visible - they exist only "
 "to arrange other widgets. Here is some example code that adds 2 "
-"<classname>Gtk::Button</classname> widgets to a <classname>Gtk::VBox</"
-"classname> container widgets: <placeholder-1/> and here is how to add the "
-"<classname>Gtk::VBox</classname>, containing those buttons, to a "
+"<classname>Gtk::Button</classname> widgets to a <classname>Gtk::Box</"
+"classname> container widget: <placeholder-1/> and here is how to add the "
+"<classname>Gtk::Box</classname>, containing those buttons, to a "
 "<classname>Gtk::Frame</classname>, which has a visible frame and title: "
 "<placeholder-2/>"
 msgstr ""
@@ -934,7 +987,7 @@ msgstr ""
 "classname>, que contém esses botões, a um <classname>Gtk::Frame</classname>, "
 "que tem uma moldura e um título visíveis: <placeholder-2/>"
 
-#: C/gtkmm-tutorial-in.xml:398(para)
+#: C/gtkmm-tutorial-in.xml:407(para)
 msgid ""
 "Most of the chapters in this book deal with specific widgets. See the <link "
 "linkend=\"chapter-container-widgets\">Container Widgets</link> section for "
@@ -944,7 +997,7 @@ msgstr ""
 "seção <link linkend=\"chapter-container-widgets\">Widgets contêineres</link> "
 "para mais detalhes sobre a adição de widgets a widgets contêineres."
 
-#: C/gtkmm-tutorial-in.xml:402(para)
+#: C/gtkmm-tutorial-in.xml:411(para)
 msgid ""
 "Although you can specify the layout and appearance of windows and widgets "
 "with C++ code, you will probably find it more convenient to design your user "
@@ -958,7 +1011,7 @@ msgstr ""
 "carregá-las em tempo de execução com o <literal>Gtk::Builder</literal>. Veja "
 "o capítulo <link linkend=\"chapter-builder\">Glade e Gtk::Builder</link>."
 
-#: C/gtkmm-tutorial-in.xml:405(para)
+#: C/gtkmm-tutorial-in.xml:414(para)
 msgid ""
 "Although <application>gtkmm</application> widget instances have lifetimes "
 "and scopes just like those of other C++ classes, <application>gtkmm</"
@@ -980,13 +1033,13 @@ msgstr ""
 "técnicas de gerenciamento de memória do <application>gtkmm</application> no "
 "<link linkend=\"chapter-memory\">capítulo de Gerenciamento de memória</link>."
 
-#: C/gtkmm-tutorial-in.xml:411(title) C/gtkmm-tutorial-in.xml:765(title)
-#: C/gtkmm-tutorial-in.xml:4758(title) C/gtkmm-tutorial-in.xml:5049(title)
-#: C/gtkmm-tutorial-in.xml:7393(title)
+#: C/gtkmm-tutorial-in.xml:420(title) C/gtkmm-tutorial-in.xml:772(title)
+#: C/gtkmm-tutorial-in.xml:4761(title) C/gtkmm-tutorial-in.xml:5058(title)
+#: C/gtkmm-tutorial-in.xml:7775(title)
 msgid "Signals"
 msgstr "Sinais"
 
-#: C/gtkmm-tutorial-in.xml:413(para)
+#: C/gtkmm-tutorial-in.xml:422(para)
 msgid ""
 "<application>gtkmm</application>, like most GUI toolkits, is <emphasis>event-"
 "driven</emphasis>. When an event occurs, such as the press of a mouse "
@@ -1003,7 +1056,7 @@ msgstr ""
 "botão resultar em uma ação, nós configuramos um <emphasis>manipulador de "
 "sinais</emphasis> para capturar o sinal \"clicked\" do botão."
 
-#: C/gtkmm-tutorial-in.xml:421(programlisting)
+#: C/gtkmm-tutorial-in.xml:430(programlisting)
 #, no-wrap
 msgid ""
 "m_button1.signal_clicked().connect( sigc::mem_fun(*this,\n"
@@ -1012,7 +1065,7 @@ msgstr ""
 "m_botao1.signal_clicked().connect( sigc::mem_fun(*this,\n"
 "  &amp;OlaMundo::ao_clicar_botao) );"
 
-#: C/gtkmm-tutorial-in.xml:420(para)
+#: C/gtkmm-tutorial-in.xml:429(para)
 msgid ""
 "<application>gtkmm</application> uses the libsigc++ library to implement "
 "signals. Here is an example line of code that connects a Gtk::Button's "
@@ -1024,7 +1077,7 @@ msgstr ""
 "sinal \"clicked\" de um Gtk::Button com um manipulador de eventos chamado "
 "\"ao_clicar_botao\": <placeholder-1/>"
 
-#: C/gtkmm-tutorial-in.xml:425(para)
+#: C/gtkmm-tutorial-in.xml:434(para)
 msgid ""
 "For more detailed information about signals, see the <link linkend=\"chapter-"
 "signals\">appendix</link>."
@@ -1032,7 +1085,7 @@ msgstr ""
 "Para informações mais detalhadas sobre sinais, veja o <link linkend="
 "\"chapter-signals\">apêndice</link>."
 
-#: C/gtkmm-tutorial-in.xml:426(para)
+#: C/gtkmm-tutorial-in.xml:435(para)
 msgid ""
 "For information about implementing your own signals rather than just "
 "connecting to the existing <application>gtkmm</application> signals, see the "
@@ -1042,11 +1095,11 @@ msgstr ""
 "apenas conectar os sinais <application>gtkmm</application> existentes, veja "
 "o <link linkend=\"chapter-custom-signals\">apêndice</link>."
 
-#: C/gtkmm-tutorial-in.xml:432(title) C/gtkmm-tutorial-in.xml:9224(classname)
+#: C/gtkmm-tutorial-in.xml:441(title) C/gtkmm-tutorial-in.xml:9893(classname)
 msgid "Glib::ustring"
 msgstr "Glib::ustring"
 
-#: C/gtkmm-tutorial-in.xml:433(para)
+#: C/gtkmm-tutorial-in.xml:442(para)
 msgid ""
 "You might be surprised to learn that <application>gtkmm</application> "
 "doesn't use <classname>std::string</classname> in it its interfaces. Instead "
@@ -1063,11 +1116,12 @@ msgstr ""
 "seção. Mas continue lendo se quiser usar idiomas que não seja o inglês no "
 "seu aplicativo."
 
-#: C/gtkmm-tutorial-in.xml:434(para)
+#: C/gtkmm-tutorial-in.xml:443(para)
+#, fuzzy
 msgid ""
 "std::string uses 8 bit per character, but 8 bits aren't enough to encode "
 "languages such as Arabic, Chinese, and Japanese. Although the encodings for "
-"these languages has now been specified by the Unicode Constortium, the C and "
+"these languages have now been specified by the Unicode Consortium, the C and "
 "C++ languages do not yet provide any standardised Unicode support. GTK+ and "
 "GNOME chose to implement Unicode using UTF-8, and that's what is wrapped by "
 "Glib::ustring. It provides almost exactly the same interface as std::string, "
@@ -1082,7 +1136,7 @@ msgstr ""
 "mesma interface que std::string, juntamente com conversões automáticas de e "
 "para std::string."
 
-#: C/gtkmm-tutorial-in.xml:435(para)
+#: C/gtkmm-tutorial-in.xml:444(para)
 msgid ""
 "One of the benefits of UTF-8 is that you don't need to use it unless you "
 "want to, so you don't need to retrofit all of your code at once. "
@@ -1100,7 +1154,7 @@ msgstr ""
 "travamentos. Então, tudo que você precisa fazer é começar a usar "
 "<classname>Glib::ustring</classname> no lugar."
 
-#: C/gtkmm-tutorial-in.xml:436(para)
+#: C/gtkmm-tutorial-in.xml:445(para)
 msgid ""
 "Note that UTF-8 isn't compatible with 8-bit encodings like ISO-8859-1. For "
 "instance, German umlauts are not in the ASCII range and need more than 1 "
@@ -1114,7 +1168,7 @@ msgstr ""
 "constantes em 8 bits, você tem que convertê-los para UTF-8 (exemplo: o "
 "cumprimento da Bavária \"Grüß Gott\" seria \"Gr\\xC3\\xBC\\xC3\\x9F Gott\")."
 
-#: C/gtkmm-tutorial-in.xml:437(para)
+#: C/gtkmm-tutorial-in.xml:446(para)
 msgid ""
 "You should avoid C-style pointer arithmetic, and functions such as strlen(). "
 "In UTF-8, each character might need anywhere from 1 to 6 bytes, so it's not "
@@ -1130,7 +1184,7 @@ msgstr ""
 "você para que possa usar métodos tais como Glib::ustring::substr() enquanto "
 "ainda raciocina em termos de caracteres em vez de bytes."
 
-#: C/gtkmm-tutorial-in.xml:439(para)
+#: C/gtkmm-tutorial-in.xml:448(para)
 msgid ""
 "Unlike the Windows UCS-2 Unicode solution, this does not require any special "
 "compiler options to process string literals, and it does not result in "
@@ -1141,33 +1195,33 @@ msgstr ""
 "gerar executáveis e biblioteca Unicode que sejam incompatíveis com os em "
 "ASCII."
 
-#: C/gtkmm-tutorial-in.xml:441(ulink) C/gtkmm-tutorial-in.xml:745(ulink)
-#: C/gtkmm-tutorial-in.xml:843(ulink) C/gtkmm-tutorial-in.xml:858(ulink)
-#: C/gtkmm-tutorial-in.xml:961(ulink) C/gtkmm-tutorial-in.xml:1015(ulink)
-#: C/gtkmm-tutorial-in.xml:1033(ulink) C/gtkmm-tutorial-in.xml:1079(ulink)
-#: C/gtkmm-tutorial-in.xml:1181(ulink) C/gtkmm-tutorial-in.xml:1236(ulink)
-#: C/gtkmm-tutorial-in.xml:1282(ulink) C/gtkmm-tutorial-in.xml:1482(ulink)
-#: C/gtkmm-tutorial-in.xml:1530(ulink) C/gtkmm-tutorial-in.xml:1578(ulink)
-#: C/gtkmm-tutorial-in.xml:1666(ulink) C/gtkmm-tutorial-in.xml:1707(ulink)
-#: C/gtkmm-tutorial-in.xml:1748(ulink) C/gtkmm-tutorial-in.xml:1781(ulink)
-#: C/gtkmm-tutorial-in.xml:1821(ulink) C/gtkmm-tutorial-in.xml:2067(ulink)
-#: C/gtkmm-tutorial-in.xml:2134(ulink) C/gtkmm-tutorial-in.xml:2171(ulink)
-#: C/gtkmm-tutorial-in.xml:2329(ulink) C/gtkmm-tutorial-in.xml:2384(ulink)
-#: C/gtkmm-tutorial-in.xml:2424(ulink) C/gtkmm-tutorial-in.xml:2471(ulink)
-#: C/gtkmm-tutorial-in.xml:2487(ulink) C/gtkmm-tutorial-in.xml:2505(ulink)
-#: C/gtkmm-tutorial-in.xml:2613(ulink) C/gtkmm-tutorial-in.xml:3132(ulink)
-#: C/gtkmm-tutorial-in.xml:3285(ulink) C/gtkmm-tutorial-in.xml:3313(ulink)
-#: C/gtkmm-tutorial-in.xml:3342(ulink) C/gtkmm-tutorial-in.xml:3394(ulink)
-#: C/gtkmm-tutorial-in.xml:3414(ulink) C/gtkmm-tutorial-in.xml:3462(ulink)
-#: C/gtkmm-tutorial-in.xml:3956(ulink) C/gtkmm-tutorial-in.xml:4013(ulink)
-#: C/gtkmm-tutorial-in.xml:4024(ulink) C/gtkmm-tutorial-in.xml:4051(ulink)
-#: C/gtkmm-tutorial-in.xml:4074(ulink) C/gtkmm-tutorial-in.xml:4098(ulink)
-#: C/gtkmm-tutorial-in.xml:4868(ulink) C/gtkmm-tutorial-in.xml:5139(ulink)
-#: C/gtkmm-tutorial-in.xml:5171(ulink) C/gtkmm-tutorial-in.xml:7265(ulink)
+#: C/gtkmm-tutorial-in.xml:450(ulink) C/gtkmm-tutorial-in.xml:752(ulink)
+#: C/gtkmm-tutorial-in.xml:850(ulink) C/gtkmm-tutorial-in.xml:865(ulink)
+#: C/gtkmm-tutorial-in.xml:968(ulink) C/gtkmm-tutorial-in.xml:1022(ulink)
+#: C/gtkmm-tutorial-in.xml:1039(ulink) C/gtkmm-tutorial-in.xml:1084(ulink)
+#: C/gtkmm-tutorial-in.xml:1186(ulink) C/gtkmm-tutorial-in.xml:1256(ulink)
+#: C/gtkmm-tutorial-in.xml:1302(ulink) C/gtkmm-tutorial-in.xml:1502(ulink)
+#: C/gtkmm-tutorial-in.xml:1550(ulink) C/gtkmm-tutorial-in.xml:1598(ulink)
+#: C/gtkmm-tutorial-in.xml:1686(ulink) C/gtkmm-tutorial-in.xml:1726(ulink)
+#: C/gtkmm-tutorial-in.xml:1767(ulink) C/gtkmm-tutorial-in.xml:1800(ulink)
+#: C/gtkmm-tutorial-in.xml:1840(ulink) C/gtkmm-tutorial-in.xml:2076(ulink)
+#: C/gtkmm-tutorial-in.xml:2175(ulink) C/gtkmm-tutorial-in.xml:2212(ulink)
+#: C/gtkmm-tutorial-in.xml:2279(ulink) C/gtkmm-tutorial-in.xml:2319(ulink)
+#: C/gtkmm-tutorial-in.xml:2366(ulink) C/gtkmm-tutorial-in.xml:2382(ulink)
+#: C/gtkmm-tutorial-in.xml:2400(ulink) C/gtkmm-tutorial-in.xml:2508(ulink)
+#: C/gtkmm-tutorial-in.xml:3027(ulink) C/gtkmm-tutorial-in.xml:3217(ulink)
+#: C/gtkmm-tutorial-in.xml:3245(ulink) C/gtkmm-tutorial-in.xml:3274(ulink)
+#: C/gtkmm-tutorial-in.xml:3326(ulink) C/gtkmm-tutorial-in.xml:3346(ulink)
+#: C/gtkmm-tutorial-in.xml:3394(ulink) C/gtkmm-tutorial-in.xml:3888(ulink)
+#: C/gtkmm-tutorial-in.xml:3945(ulink) C/gtkmm-tutorial-in.xml:3956(ulink)
+#: C/gtkmm-tutorial-in.xml:3983(ulink) C/gtkmm-tutorial-in.xml:4006(ulink)
+#: C/gtkmm-tutorial-in.xml:4030(ulink) C/gtkmm-tutorial-in.xml:4062(ulink)
+#: C/gtkmm-tutorial-in.xml:4876(ulink) C/gtkmm-tutorial-in.xml:5148(ulink)
+#: C/gtkmm-tutorial-in.xml:5180(ulink) C/gtkmm-tutorial-in.xml:7647(ulink)
 msgid "Reference"
 msgstr "Referência"
 
-#: C/gtkmm-tutorial-in.xml:443(para)
+#: C/gtkmm-tutorial-in.xml:452(para)
 msgid ""
 "See the <link linkend=\"chapter-internationalization\">Internationalization</"
 "link> section for information about providing the UTF-8 string literals."
@@ -1176,11 +1230,11 @@ msgstr ""
 "\">Internacionalização</link> para informações sobre como fornecer textos "
 "constantes em UTF-8."
 
-#: C/gtkmm-tutorial-in.xml:448(title)
+#: C/gtkmm-tutorial-in.xml:457(title)
 msgid "Intermediate types"
 msgstr "Tipos intermediários"
 
-#: C/gtkmm-tutorial-in.xml:449(para)
+#: C/gtkmm-tutorial-in.xml:458(para)
 msgid ""
 "Some API related to gtkmm uses intermediate data containers, such as "
 "<classname>Glib::StringArrayHandle</classname>, instead of a specific "
@@ -1196,7 +1250,7 @@ msgstr ""
 "<application>gtkmm</application> agora use apenas <classname>std::vector</"
 "classname> desde a versão <application>gtkmm</application> 3.0."
 
-#: C/gtkmm-tutorial-in.xml:452(para)
+#: C/gtkmm-tutorial-in.xml:461(para)
 msgid ""
 "<classname>Glib::StringArrayHandle</classname> or <classname>Glib::"
 "ArrayHandle&lt;Glib::ustring&gt;</classname>: Use <classname>std::vector&lt;"
@@ -1208,7 +1262,7 @@ msgstr ""
 "Glib::ustring&gt;</classname>, <classname>std::list&lt;Glib::ustring&gt;</"
 "classname>, <type>const char*[]</type>, etc."
 
-#: C/gtkmm-tutorial-in.xml:453(para)
+#: C/gtkmm-tutorial-in.xml:462(para)
 msgid ""
 "<classname>Glib::ListHandle&lt;Gtk::Widget*&gt;</classname>: Use "
 "<classname>std::vector&lt;Gtk::Widget*&gt;</classname>, <classname>std::"
@@ -1218,7 +1272,7 @@ msgstr ""
 "<classname>std::vector&lt;Gtk::Widget*&gt;</classname>, <classname>std::"
 "list&lt;Gtk::Widget*&gt;</classname>, etc."
 
-#: C/gtkmm-tutorial-in.xml:454(para)
+#: C/gtkmm-tutorial-in.xml:463(para)
 msgid ""
 "<classname>Glib::SListHandle&lt;Gtk::Widget*&gt;</classname>: Use "
 "<classname>std::vector&lt;Gtk::Widget*&gt;</classname>, <classname>std::"
@@ -1228,7 +1282,7 @@ msgstr ""
 "<classname>std::vector&lt;Gtk::Widget*&gt;</classname>, <classname>std::"
 "list&lt;Gtk::Widget*&gt;</classname>, etc."
 
-#: C/gtkmm-tutorial-in.xml:450(para)
+#: C/gtkmm-tutorial-in.xml:459(para)
 msgid ""
 "You should not declare these types yourself. You should instead use whatever "
 "Standard C++ container you prefer. glibmm will do the conversion for you. "
@@ -1238,11 +1292,11 @@ msgstr ""
 "do C++ padrão que preferir. glibmm fará a conversão para você. Aqui estão "
 "alguns desses tipos intermediários: <placeholder-1/>"
 
-#: C/gtkmm-tutorial-in.xml:462(title)
+#: C/gtkmm-tutorial-in.xml:471(title)
 msgid "Mixing C and C++ APIs"
 msgstr "Misturando APIs C e C++"
 
-#: C/gtkmm-tutorial-in.xml:463(para)
+#: C/gtkmm-tutorial-in.xml:472(para)
 msgid ""
 "You can use C APIs which do not yet have convenient C++ interfaces. It is "
 "generally not a problem to use C APIs from C++, and <application>gtkmm</"
@@ -1256,7 +1310,7 @@ msgstr ""
 "uma maneira fácil de criar um objeto C++ de wrap para um objeto C, desde que "
 "a API C também seja baseada no sistema GObject."
 
-#: C/gtkmm-tutorial-in.xml:465(para)
+#: C/gtkmm-tutorial-in.xml:474(para)
 msgid ""
 "To use a <application>gtkmm</application> instance with a C function that "
 "requires a C GObject instance, use the <function>gobj()</function> function "
@@ -1266,7 +1320,7 @@ msgstr ""
 "exija um objeto GObject C, use a função <function>gobj()</function> para "
 "obter um ponteiro para o objeto GObject escondido. Por exemplo,"
 
-#: C/gtkmm-tutorial-in.xml:468(programlisting)
+#: C/gtkmm-tutorial-in.xml:477(programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -1277,7 +1331,7 @@ msgstr ""
 "Gtk::Button* botao = new Gtk::Button(\"exemplo\");\n"
 "gtk_button_faca_algo_novo(botao-&gt;gobj());\n"
 
-#: C/gtkmm-tutorial-in.xml:474(para)
+#: C/gtkmm-tutorial-in.xml:483(para)
 msgid ""
 "To obtain a <application>gtkmm</application> instance from a C GObject "
 "instance, use the Glib::wrap() function. For instance"
@@ -1285,7 +1339,7 @@ msgstr ""
 "Para obter um objeto <application>gtkmm</application> a partir de um GObject "
 "C, use a função Glib::wrap(). Por exemplo,"
 
-#: C/gtkmm-tutorial-in.xml:476(programlisting)
+#: C/gtkmm-tutorial-in.xml:485(programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -1296,11 +1350,11 @@ msgstr ""
 "GtkButton* botao_c = pegar_um_botao();\n"
 "Gtk::Button* botao = Glib::wrap(botao_c);\n"
 
-#: C/gtkmm-tutorial-in.xml:484(title)
+#: C/gtkmm-tutorial-in.xml:493(title)
 msgid "Hello World in <application>gtkmm</application>"
 msgstr "Olá mundo em <application>gtkmm</application>"
 
-#: C/gtkmm-tutorial-in.xml:486(para)
+#: C/gtkmm-tutorial-in.xml:495(para)
 msgid ""
 "We've now learned enough to look at a real example. In accordance with an "
 "ancient tradition of computer science, we now introduce Hello World, a la "
@@ -1310,7 +1364,7 @@ msgstr ""
 "Conforme uma antiga tradição da ciência da computação, apresentaremos um "
 "Olá, mundo, à la <application>gtkmm</application>:"
 
-#: C/gtkmm-tutorial-in.xml:493(para)
+#: C/gtkmm-tutorial-in.xml:502(para)
 msgid ""
 "Try to compile and run it before going on. You should see something like "
 "this:"
@@ -1318,11 +1372,11 @@ msgstr ""
 "Tente compilá-lo e executá-lo antes de continuar. Você deveria ver algo "
 "assim:"
 
-#: C/gtkmm-tutorial-in.xml:498(title)
+#: C/gtkmm-tutorial-in.xml:507(title)
 msgid "Hello World"
 msgstr "Olá, Mundo"
 
-#: C/gtkmm-tutorial-in.xml:504(para)
+#: C/gtkmm-tutorial-in.xml:513(para)
 msgid ""
 "Pretty thrilling, eh? Let's examine the code. First, the "
 "<classname>HelloWorld</classname> class:"
@@ -1330,7 +1384,7 @@ msgstr ""
 "Bem empolgante, hein? Vamos examinar o código. Primeiro, a classe "
 "<classname>HelloWorld</classname>:"
 
-#: C/gtkmm-tutorial-in.xml:509(programlisting)
+#: C/gtkmm-tutorial-in.xml:518(programlisting)
 #, no-wrap
 msgid ""
 "class HelloWorld : public Gtk::Window\n"
@@ -1363,7 +1417,7 @@ msgstr ""
 "  Gtk::Button m_button;\n"
 "};"
 
-#: C/gtkmm-tutorial-in.xml:524(para)
+#: C/gtkmm-tutorial-in.xml:533(para)
 msgid ""
 "This class implements the \"Hello World\" window. It's derived from "
 "<classname>Gtk::Window</classname>, and has a single <classname>Gtk::Button</"
@@ -1377,7 +1431,7 @@ msgstr ""
 "trabalho de iniciação para a janela, incluindo a configuração dos sinais. "
 "Aqui está, com os comentários omitidos:"
 
-#: C/gtkmm-tutorial-in.xml:533(programlisting)
+#: C/gtkmm-tutorial-in.xml:542(programlisting)
 #, no-wrap
 msgid ""
 "HelloWorld::HelloWorld()\n"
@@ -1402,7 +1456,7 @@ msgstr ""
 "  m_button.show();\n"
 "}"
 
-#: C/gtkmm-tutorial-in.xml:544(para)
+#: C/gtkmm-tutorial-in.xml:553(para)
 msgid ""
 "Notice that we've used an initialiser statement to give the "
 "<literal>m_button</literal> object the label \"Hello World\"."
@@ -1410,7 +1464,7 @@ msgstr ""
 "Note que usamos uma declaração iniciadora para dar ao objeto "
 "<literal>m_button</literal> o rótulo \"Hello World\"."
 
-#: C/gtkmm-tutorial-in.xml:549(para)
+#: C/gtkmm-tutorial-in.xml:558(para)
 msgid ""
 "Next we call the Window's <methodname>set_border_width()</methodname> "
 "method. This sets the amount of space between the sides of the window and "
@@ -1420,7 +1474,7 @@ msgstr ""
 "janela. Isso define a quantidade de espaço entre as laterais da janela e o "
 "widget que ela contém."
 
-#: C/gtkmm-tutorial-in.xml:555(para)
+#: C/gtkmm-tutorial-in.xml:564(para)
 msgid ""
 "We then hook up a signal handler to <literal>m_button</literal>'s "
 "<literal>clicked</literal> signal. This prints our friendly greeting to "
@@ -1430,7 +1484,7 @@ msgstr ""
 "<literal>m_button</literal>. Ele emitirá nosso cumprimento amistoso para "
 "<literal>stdout</literal>."
 
-#: C/gtkmm-tutorial-in.xml:560(para)
+#: C/gtkmm-tutorial-in.xml:569(para)
 msgid ""
 "Next, we use the Window's <methodname>add()</methodname> method to put "
 "<literal>m_button</literal> in the Window. (<methodname>add()</methodname> "
@@ -1450,7 +1504,7 @@ msgstr ""
 "tem que chamar o método <methodname>show()</methodname>, que é o que fazemos "
 "na linha seguinte."
 
-#: C/gtkmm-tutorial-in.xml:570(para)
+#: C/gtkmm-tutorial-in.xml:579(para)
 msgid ""
 "Now let's look at our program's <function>main()</function> function. Here "
 "it is, without comments:"
@@ -1458,17 +1512,15 @@ msgstr ""
 "Agora vamos olhar para a função <function>main()</function> do nosso "
 "programa. Aqui está, sem os comentários:"
 
-#: C/gtkmm-tutorial-in.xml:575(programlisting)
-#, no-wrap
+#: C/gtkmm-tutorial-in.xml:584(programlisting)
+#, fuzzy, no-wrap
 msgid ""
 "int main(int argc, char** argv)\n"
 "{\n"
-"  Gtk::Main kit(argc, argv);\n"
+"  Glib::RefPtr&lt;Gtk::Application&gt; app = Gtk::Application::create(argc, argv, \"org.gtkmm.example\");\n"
 "\n"
 "  HelloWorld helloworld;\n"
-"  Gtk::Main::run(helloworld);\n"
-"\n"
-"  return 0;\n"
+"  return app-&gt;run(helloworld);\n"
 "}"
 msgstr ""
 "int main(int argc, char** argv)\n"
@@ -1481,13 +1533,15 @@ msgstr ""
 "  return 0;\n"
 "}"
 
-#: C/gtkmm-tutorial-in.xml:585(para)
+#: C/gtkmm-tutorial-in.xml:592(para)
+#, fuzzy
 msgid ""
-"First we instantiate an object called <literal>kit</literal>. This is of "
-"type <classname>Gtk::Main</classname>. Every <application>gtkmm</"
-"application> program must have one of these. We pass our command-line "
-"arguments to its constructor. It takes the arguments it wants, and leaves "
-"you the rest, as we described earlier."
+"First we instantiate an object stored in a <classname>RefPtr</classname> "
+"smartpointer called <literal>app</literal>. This is of type <classname>Gtk::"
+"Application</classname>. Every <application>gtkmm</application> program must "
+"have one of these. We pass our command-line arguments to its create() "
+"method. It takes the arguments it wants, and leaves you the rest, as we "
+"described earlier."
 msgstr ""
 "Primeiro, instanciamos um objeto chamado <literal>kit</literal>. Ele é do "
 "tipo <classname>Gtk::Main</classname>. Todo programa <application>gtkmm</"
@@ -1495,16 +1549,18 @@ msgstr ""
 "comando para o seu construtor. Ele pega aqueles que quiser/entende e deixa "
 "para você os demais, como descrevemos anteriormente."
 
-#: C/gtkmm-tutorial-in.xml:592(para)
+#: C/gtkmm-tutorial-in.xml:599(para)
+#, fuzzy
 msgid ""
 "Next we make an object of our <classname>HelloWorld</classname> class, whose "
-"constructor takes no arguments, but it isn't visible yet. When we call Gtk::"
-"Main::run(), giving it the helloworld Window, it shows the Window and starts "
-"the <application>gtkmm</application><emphasis>event loop</emphasis>. During "
-"the event loop <application>gtkmm</application> idles, waiting for actions "
-"from the user, and responding appropriately. When the user closes the "
-"Window, run() will return, causing the final line of our main() function be "
-"to executed. The application will then finish."
+"constructor takes no arguments, but it isn't visible yet. When we "
+"call<methodname>Gtk::Application::run()</methodname>, giving it the "
+"helloworld Window, it shows the Window and starts the <application>gtkmm</"
+"application><emphasis>event loop</emphasis>. During the event loop "
+"<application>gtkmm</application> idles, waiting for actions from the user, "
+"and responding appropriately. When the user closes the Window, run() will "
+"return, causing the final line of our main() function be to executed. The "
+"application will then finish."
 msgstr ""
 "Em seguida, fazemos um objeto da nossa classe <classname>HelloWorld</"
 "classname>, cujo construtor não recebe argumentos, mas ainda não está "
@@ -1516,11 +1572,11 @@ msgstr ""
 "retornar, fazendo com que a última linha de nossa função main() seja "
 "executada. O aplicativo então termina."
 
-#: C/gtkmm-tutorial-in.xml:601(title)
+#: C/gtkmm-tutorial-in.xml:608(title)
 msgid "Changes in <application>gtkmm</application> 3"
-msgstr ""
+msgstr "Mudanças na <application>gtkmm</application> 3"
 
-#: C/gtkmm-tutorial-in.xml:603(para)
+#: C/gtkmm-tutorial-in.xml:610(para)
 msgid ""
 "<application>gtkmm</application>-3.0 is a new version of the "
 "<application>gtkmm</application> API that installs in parallel with the "
@@ -1532,49 +1588,75 @@ msgid ""
 "compatibility. If you never used the <application>gtkmm</application>-2.4 "
 "API then you can safely ignore this chapter."
 msgstr ""
-
-#: C/gtkmm-tutorial-in.xml:605(para)
-msgid ""
-"<application>gtkmm</application> 3's library is called <literal>libgtkmm-"
-"3.0</literal> rather than <literal>libgtkmm-2.4</literal> and installs its "
-"headers in a similarly-versioned directory, so your pkg-config check should "
-"ask for <literal>gtkmm-3.0</literal> rather than <literal>gtkmm-2.4</"
-"literal>."
-msgstr ""
-
-#: C/gtkmm-tutorial-in.xml:608(para)
+"<application>gtkmm</application>-3.0 é a nova versão da API "
+"<application>gtkmm</application> que se instala em paralelo com a antiga API "
+"<application>gtkmm</application>-2.4. A última versão da API "
+"<application>gtkmm</application>-2.4 foi a <application>gtkmm</application> "
+"2.24. <application>gtkmm</application> 3 não tem grandes diferenças "
+"fundamentais com a API <application>gtkmm</application>-2.4 então você pode "
+"ignorar este capítulo."
+
+#: C/gtkmm-tutorial-in.xml:612(para)
+msgid ""
+"<application>gtkmm</application> 3's library is called "
+"<literal>libgtkmm-3.0</literal> rather than <literal>libgtkmm-2.4</literal> "
+"and installs its headers in a similarly-versioned directory, so your pkg-"
+"config check should ask for <literal>gtkmm-3.0</literal> rather than "
+"<literal>gtkmm-2.4</literal>."
+msgstr ""
+"A biblioteca <application>gtkmm</application> 3 é chamada "
+"<literal>libgtkmm-3.0</literal> em vez de <literal>libgtkmm-2.4</literal> e "
+"instala seus cabeçalhos em um diretório com a mesma versão, assim sua "
+"verificação pkg-config, deve pedir por <literal>gtkmm-3.0</literal> em vez "
+"de <literal>gtkmm-2.4</literal>."
+
+#: C/gtkmm-tutorial-in.xml:615(para)
 msgid "<application>gtkmm</application> 3 added some new classes:"
-msgstr ""
+msgstr "<application>gtkmm</application> 3 adicionou algumas novas classes:"
 
-#: C/gtkmm-tutorial-in.xml:612(simpara)
+#: C/gtkmm-tutorial-in.xml:619(simpara)
 msgid ""
 "<classname>Gtk::AppChooser</classname>, <classname>Gtk::AppChooserButton</"
 "classname>, <classname>Gtk::AppChooserDialog</classname> allow the user to "
-"select an installed application to open a particularl type of content."
+"select an installed application to open a particular type of content."
 msgstr ""
+"<classname>Gtk::AppChooser</classname>, <classname>Gtk::AppChooserButton</"
+"classname>, <classname>Gtk::AppChooserDialog</classname> permite ao usuário "
+"selecionar uma aplicação instalada para abrir um determinado tipo de "
+"conteúdo."
 
-#: C/gtkmm-tutorial-in.xml:614(simpara)
+#: C/gtkmm-tutorial-in.xml:621(simpara)
 msgid ""
 "<classname>Gtk::Grid</classname> is a new container widget that will "
 "eventually replace <classname>Gtk::Box</classname>. It arranges its children "
 "according to properties of those children rather than its own layout details."
 msgstr ""
+"<classname>Gtk::Grid</classname> é um novo widget contêiner que irá "
+"substituir <classname>Gtk::Box</classname>. Ele organiza seus filhos de "
+"acordo com as propriedades desses filhos, em vez dos seus próprios detalhes "
+"de layout."
 
-#: C/gtkmm-tutorial-in.xml:615(simpara)
+#: C/gtkmm-tutorial-in.xml:622(simpara)
 msgid ""
 "<classname>Gtk::Switch</classname> displays On/Off states more explictly "
 "than <classname>Gtk::CheckBox</classname>. It may be useful, for instance, "
 "when allowing users to activate hardware."
 msgstr ""
+"<classname>Gtk::Switch</classname> exibe os estados ligado/desligado mais "
+"explicitamente do que <classname>Gtk::CheckBox</classname>. Ele pode ser "
+"útil, por exemplo, ao permitir que os utilizadores possam ativar o hardware."
 
-#: C/gtkmm-tutorial-in.xml:618(para)
+#: C/gtkmm-tutorial-in.xml:625(para)
 msgid ""
 "<application>gtkmm</application> 3 also made several small changes to the "
 "API, which you will probably encounter when porting code that used "
 "<application>gtkmm</application>-2.4. Here is a short list:"
 msgstr ""
+"<application>gtkmm</application> 3 também fez várias pequenas mudanças na "
+"API, que provavelmente você encontrará quando portar o código usado na "
+"<application>gtkmm</application>-2.4. Aqui está uma pequena lista:"
 
-#: C/gtkmm-tutorial-in.xml:623(simpara)
+#: C/gtkmm-tutorial-in.xml:630(simpara)
 msgid ""
 "<classname>Gtk::CellLayout</classname>, used by <classname>Gtk::IconView</"
 "classname>, <classname>Gtk::TreeView::Column</classname> and <classname>Gtk::"
@@ -1582,89 +1664,130 @@ msgid ""
 "can be used to specify more details of how the <classname>CellRenderer</"
 "classname>s are arranged and aligned."
 msgstr ""
+"<classname>Gtk::CellLayout</classname>, utilizado pela <classname>Gtk::"
+"IconView</classname>, <classname>Gtk::TreeView::Column</classname> e "
+"<classname>Gtk::ComboBox</classname>, agora tem uma <classname>Gtk::"
+"CellArea</classname> que pode ser usado para especificar mais detalhes sobre "
+"como a <classname>CellRenderer</classname> são dispostos e alinhados."
 
-#: C/gtkmm-tutorial-in.xml:625(simpara)
+#: C/gtkmm-tutorial-in.xml:632(simpara)
 msgid ""
 "Gtk::ComboBox now derives from CellLayout, allowing easier layout and "
 "alignment of its <classname>Gtk::CellRenderer</classname>s."
 msgstr ""
+"Gtk::ComboBox agora deriva de CellLayout, permitindo uma fácil distribuição "
+"e alinhamento das suas <classname>Gtk::CellRenderer</classname>."
 
-#: C/gtkmm-tutorial-in.xml:627(simpara)
+#: C/gtkmm-tutorial-in.xml:634(simpara)
 msgid ""
 "<classname>Gtk::Adjustment</classname> and <classname>IconSet</classname> "
 "and <classname>Gdk::Cursor</classname> are now used via <classname>Glib::"
 "RefPtr</classname>."
 msgstr ""
+"<classname>Gtk::Adjustment</classname>, <classname>IconSet</classname> e "
+"<classname>Gdk::Cursor</classname> agora são usados através de "
+"<classname>Glib::RefPtr</classname>."
 
-#: C/gtkmm-tutorial-in.xml:629(simpara)
+#: C/gtkmm-tutorial-in.xml:636(simpara)
 msgid ""
 "<classname>Gtk::Box</classname>, <classname>Gtk::ButtonBox</classname>, "
 "<classname>Gtk::IconView</classname>, <classname>Gtk::Paned</classname>, "
 "<classname>Gtk::ProgressBar</classname>, <classname>Gtk::ScaleButton</"
-"classname>, <classname>Gtk::ScrollBar</classname> and <classname>Gtk::"
+"classname>, <classname>Gtk::Scrollbar</classname> and <classname>Gtk::"
 "Separator</classname> now derive from <classname>Gtk::Orientable</"
 "classname>, allowing their orientation (vertical or horizontal) to be "
 "specified without requiring the use of a derived class such as "
 "<classname>Gtk::HBox</classname>."
 msgstr ""
+"<classname>Gtk::Box</classname>, <classname>Gtk::ButtonBox</classname>, "
+"<classname>Gtk::IconView</classname>, <classname>Gtk::Paned</classname>, "
+"<classname>Gtk::ProgressBar</classname>, <classname>Gtk::ScaleButton</"
+"classname>, <classname>Gtk::Scrollbar</classname> e <classname>Gtk::"
+"Separator</classname> agora derivam de <classname>Gtk::Orientable</"
+"classname>, permitindo que sua orientação (vertical ou horizontal) seja "
+"especificado sem exigir o uso de uma classe derivada, tal como "
+"<classname>Gtk::HBox</classname>."
 
-#: C/gtkmm-tutorial-in.xml:632(simpara)
+#: C/gtkmm-tutorial-in.xml:639(simpara)
 msgid ""
 "<classname>Gtk::IconView</classname>, <classname>Gtk::TextView</classname>, "
 "<classname>Gtk::TreeView</classname> and other widgets derive from "
 "Scrollable instead of having their own methods such as "
-"<methodname>get_vadjustment()</methodname> and instead of having their won "
+"<methodname>get_vadjustment()</methodname> and instead of having their own "
 "set_scroll_adjustments signal."
 msgstr ""
+"<classname>Gtk::IconView</classname>, <classname>Gtk::TextView</classname>, "
+"<classname>Gtk::TreeView</classname> e outros widgets derivam de Scrollable "
+"em vez de ter seus próprios métodos, como <methodname>get_vadjustment()</"
+"methodname> e ao invés de ter seu próprio sinal set_scroll_adjustments."
 
-#: C/gtkmm-tutorial-in.xml:634(simpara)
+#: C/gtkmm-tutorial-in.xml:641(simpara)
 msgid ""
 "<classname>Gtk::Style</classname> and <classname>Gtk::Rc</classname> were "
 "removed, replaced by <classname>Gtk::StyleContext</classname>, and "
 "<classname>Gtk::StyleProvider</classname>s, such as <classname>Gtk::"
 "CssProvider</classname>."
 msgstr ""
+"<classname>Gtk::Style</classname> e <classname>Gtk::Rc</classname> foram "
+"removidos, substituídos por <classname>Gtk::StyleContext</classname>, e "
+"<classname>Gtk::StyleProvider</classname>, tal como <classname>Gtk::"
+"CssProvider</classname>."
 
-#: C/gtkmm-tutorial-in.xml:636(simpara)
+#: C/gtkmm-tutorial-in.xml:643(simpara)
 msgid ""
 "Widget::on_expose_event() was replaced by Widget::on_draw(), which assumes "
 "that cairomm is used for drawing, via the provided <classname>Cairo::"
 "Context</classname> and does not require you to call <methodname>Cairo::"
 "Context::clip()</methodname>."
 msgstr ""
+"Widget::on_expose_event() foi substituido por Widget::on_draw(), que assume "
+"que cairomm é utilizado para desenho, por meio do <classname>Cairo::Context</"
+"classname> e não requer que você chame <methodname>Cairo::Context::clip()</"
+"methodname>."
 
-#: C/gtkmm-tutorial-in.xml:638(simpara)
+#: C/gtkmm-tutorial-in.xml:645(simpara)
 msgid ""
 "<classname>Gdk::RGBA</classname> replaces <classname>Color</classname>, "
 "adding an alpha component for opacity. <classname>Colormap</classname> was "
 "removed, along with its awkward use to allocate colors."
 msgstr ""
+"<classname>Gdk::RGBA</classname> substitui <classname>Color</classname>, "
+"adicionando um componente alfa para a opacidade. <classname>Colormap</"
+"classname> foi removido, juntamente com o seu uso difícil de alocar cores."
 
-#: C/gtkmm-tutorial-in.xml:640(simpara)
+#: C/gtkmm-tutorial-in.xml:647(simpara)
 msgid ""
 "<classname>Gdk::Pixmap</classname> and <classname>Gdk::Bitmap</classname> "
 "were removed in favour of <classname>Gdk::Pixbuf</classname>."
 msgstr ""
+"<classname>Gdk::Pixmap</classname> e <classname>Gdk::Bitmap</classname> "
+"foram removidos em favor de <classname>Gdk::Pixbuf</classname>."
 
-#: C/gtkmm-tutorial-in.xml:642(simpara)
+#: C/gtkmm-tutorial-in.xml:649(simpara)
 msgid ""
 "<classname>Gdk::Drawable</classname> was removed, with its methods moving "
 "into <classname>Gdk::Window</classname>."
 msgstr ""
+"<classname>Gdk::Drawable</classname> foi removido, com seus método movidos "
+"para <classname>Gdk::Window</classname>."
 
-#: C/gtkmm-tutorial-in.xml:644(simpara)
+#: C/gtkmm-tutorial-in.xml:651(simpara)
 msgid ""
 "We now use std::vector in several methods instead of the intermediate "
 "*Handle types to make the API clearer."
 msgstr ""
+"Agora usamos std::vector em vários métodos, em vez do tipo intermediário "
+"*Handle para fazer a API mais clara."
 
-#: C/gtkmm-tutorial-in.xml:649(para)
+#: C/gtkmm-tutorial-in.xml:656(para)
 msgid ""
 "All deprecated API was removed in <application>gtkmm</application> 3.0, "
 "though there will be new deprecations in future versions."
 msgstr ""
+"Toda API obsoleta foi removida na <application>gtkmm</application> 3.0, que "
+"haverá novas depreciações em versões futuras."
 
-#: C/gtkmm-tutorial-in.xml:651(para)
+#: C/gtkmm-tutorial-in.xml:658(para)
 msgid ""
 "As a first step to porting your source code to <application>gtkmm</"
 "application>-3.0; you should probably ensure that your application builds "
@@ -1674,20 +1797,28 @@ msgid ""
 "See the <ulink url=\"https://live.gnome.org/gtkmm/PortingToGtkmm3\";>gtkmm 3 "
 "porting wiki page</ulink> for more details."
 msgstr ""
+"Como um primeiro passo para portar seu código fonte para <application>gtkmm</"
+"application>-3.0; você provavelmente deve garantir que seu aplicativo "
+"funcione com a obsoleta <application>gtkmm</application>-2.4; Desativar a "
+"API, definindo a macro tal como GTK_DISABLE_DEPRECATED. Há algumas macros "
+"autotools que podem ajudar com isso, definindo-os opcionalmente em tempo de "
+"compilação. Consulte <ulink url=\"https://live.gnome.org/gtkmm/";
+"PortingToGtkmm3\">gtkmm 3 portabilidade na página wiki</ulink> para mais "
+"detalhes."
 
-#: C/gtkmm-tutorial-in.xml:656(title)
+#: C/gtkmm-tutorial-in.xml:663(title)
 msgid "Buttons"
 msgstr "Botões"
 
-#: C/gtkmm-tutorial-in.xml:658(para)
+#: C/gtkmm-tutorial-in.xml:665(para)
 msgid "<application>gtkmm</application> provides four basic types of buttons:"
 msgstr "<application>gtkmm</application> provẽ quatro tipos básicos de botões:"
 
-#: C/gtkmm-tutorial-in.xml:665(term)
+#: C/gtkmm-tutorial-in.xml:672(term)
 msgid "Push-Buttons"
 msgstr "Botões de pressão"
 
-#: C/gtkmm-tutorial-in.xml:667(para)
+#: C/gtkmm-tutorial-in.xml:674(para)
 msgid ""
 "<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1Button.";
 "html\"><classname>Gtk::Button</classname></ulink>. Standard buttons, usually "
@@ -1699,11 +1830,11 @@ msgstr ""
 "normalmente marcados com um rótulo ou imagem. Pressioná-los dispara uma "
 "ação. Veja a seção <link linkend=\"sec-pushbuttons\">Botão</link>."
 
-#: C/gtkmm-tutorial-in.xml:674(term)
+#: C/gtkmm-tutorial-in.xml:681(term)
 msgid "Toggle buttons"
 msgstr "Botões de alternância"
 
-#: C/gtkmm-tutorial-in.xml:676(para)
+#: C/gtkmm-tutorial-in.xml:683(para)
 msgid ""
 "<ulink url=\"http://developer.gnome.org/gtkmm/unstable/";
 "classGtk_1_1ToggleButton.html\"><classname>Gtk::ToggleButton</classname></"
@@ -1718,11 +1849,11 @@ msgstr ""
 "novamente. Isso pode ser útil como um interruptor liga/desliga. Veja a seção "
 "<link linkend=\"sec-toggle-buttons\">Botão de alternância</link>."
 
-#: C/gtkmm-tutorial-in.xml:684(term)
+#: C/gtkmm-tutorial-in.xml:691(term)
 msgid "Checkboxes"
 msgstr "Botão de seleção"
 
-#: C/gtkmm-tutorial-in.xml:686(para)
+#: C/gtkmm-tutorial-in.xml:693(para)
 msgid ""
 "<ulink url=\"http://developer.gnome.org/gtkmm/unstable/";
 "classGtk_1_1CheckButton.html\"><classname>Gtk::CheckButton</classname></"
@@ -1738,11 +1869,11 @@ msgstr ""
 "maioria das situações que exigem uma configuração liga/desliga. Veja a seção "
 "<link linkend=\"sec-checkboxes\">Botão de seleção</link>."
 
-#: C/gtkmm-tutorial-in.xml:696(term)
+#: C/gtkmm-tutorial-in.xml:703(term)
 msgid "Radio buttons"
 msgstr "Botões de opção"
 
-#: C/gtkmm-tutorial-in.xml:698(para)
+#: C/gtkmm-tutorial-in.xml:705(para)
 msgid ""
 "<ulink url=\"http://developer.gnome.org/gtkmm/unstable/";
 "classGtk_1_1RadioButton.html\"><classname>Gtk::RadioButton</classname></"
@@ -1762,7 +1893,7 @@ msgstr ""
 "widget com um rótulo ao lado), mas normalmente tem uma aparência distinta. "
 "Veja a seção <link linkend=\"sec-radio-buttons\">Botão de opção</link>."
 
-#: C/gtkmm-tutorial-in.xml:712(para)
+#: C/gtkmm-tutorial-in.xml:719(para)
 msgid ""
 "Note that, due to GTK+'s theming system, the appearance of these widgets "
 "will vary. In the case of checkboxes and radio buttons, they may vary "
@@ -1772,15 +1903,15 @@ msgstr ""
 "variar. No caso dos botões de seleção e de opção, eles podem variar "
 "consideravelmente."
 
-#: C/gtkmm-tutorial-in.xml:719(title)
+#: C/gtkmm-tutorial-in.xml:726(title)
 msgid "Button"
 msgstr "Botão"
 
-#: C/gtkmm-tutorial-in.xml:721(title)
+#: C/gtkmm-tutorial-in.xml:728(title)
 msgid "Constructors"
 msgstr "Construtores"
 
-#: C/gtkmm-tutorial-in.xml:723(para)
+#: C/gtkmm-tutorial-in.xml:730(para)
 msgid ""
 "There are two ways to create a Button. You can specify a label string in the "
 "<classname>Gtk::Button</classname> constructor, or set it later with "
@@ -1790,7 +1921,7 @@ msgstr ""
 "rótulo no construtor <classname>Gtk::Button</classname> ou defini-lo mais "
 "tarde com <methodname>set_label()</methodname>."
 
-#: C/gtkmm-tutorial-in.xml:729(para)
+#: C/gtkmm-tutorial-in.xml:736(para)
 msgid ""
 "To define an accelerator key for keyboard navigation, place an underscore "
 "before one of the label's characters and specify <literal>true</literal> for "
@@ -1800,17 +1931,17 @@ msgstr ""
 "sublinha antes de um dos caracteres do rótulo e especifique <literal>true</"
 "literal> para o parâmetro opcional <literal>mnemonic</literal>. Por exemplo:"
 
-#: C/gtkmm-tutorial-in.xml:731(programlisting)
+#: C/gtkmm-tutorial-in.xml:738(programlisting)
 #, no-wrap
 msgid "Gtk::Button* pButton = new Gtk::Button(\"_Something\", true);"
 msgstr "Gtk::Button* pButton = new Gtk::Button(\"_Algo\", true);"
 
-#: C/gtkmm-tutorial-in.xml:735(programlisting)
+#: C/gtkmm-tutorial-in.xml:742(programlisting)
 #, no-wrap
 msgid "Gtk::Button* pButton = new Gtk::Button(Gtk::Stock::OK);"
 msgstr "Gtk::Button* pButton = new Gtk::Button(Gtk::Stock::OK);"
 
-#: C/gtkmm-tutorial-in.xml:733(para)
+#: C/gtkmm-tutorial-in.xml:740(para)
 msgid ""
 "Wherever possible you should use Stock items, to ensure consistency with "
 "other applications, and to improve the appearance of your applications by "
@@ -1823,7 +1954,7 @@ msgstr ""
 "padrão, em todos os idiomas, com os aceleradores padrões, com um ícone "
 "padrão."
 
-#: C/gtkmm-tutorial-in.xml:739(para)
+#: C/gtkmm-tutorial-in.xml:746(para)
 msgid ""
 "<classname>Gtk::Button</classname> is also a container so you could put any "
 "other widget, such as a <classname>Gtk::Image</classname> into it."
@@ -1832,36 +1963,38 @@ msgstr ""
 "colocar qualquer outro widget nele, como um <classname>Gtk::Image</"
 "classname>."
 
-#: C/gtkmm-tutorial-in.xml:748(title) C/gtkmm-tutorial-in.xml:860(title)
-#: C/gtkmm-tutorial-in.xml:965(title) C/gtkmm-tutorial-in.xml:1126(title)
-#: C/gtkmm-tutorial-in.xml:1183(title) C/gtkmm-tutorial-in.xml:1486(title)
-#: C/gtkmm-tutorial-in.xml:1556(title) C/gtkmm-tutorial-in.xml:1580(title)
-#: C/gtkmm-tutorial-in.xml:1611(title) C/gtkmm-tutorial-in.xml:1668(title)
-#: C/gtkmm-tutorial-in.xml:1709(title) C/gtkmm-tutorial-in.xml:1750(title)
-#: C/gtkmm-tutorial-in.xml:1784(title) C/gtkmm-tutorial-in.xml:1824(title)
-#: C/gtkmm-tutorial-in.xml:2099(title) C/gtkmm-tutorial-in.xml:2137(title)
-#: C/gtkmm-tutorial-in.xml:2173(title) C/gtkmm-tutorial-in.xml:2333(title)
-#: C/gtkmm-tutorial-in.xml:2386(title) C/gtkmm-tutorial-in.xml:2426(title)
-#: C/gtkmm-tutorial-in.xml:3959(title) C/gtkmm-tutorial-in.xml:4027(title)
-#: C/gtkmm-tutorial-in.xml:4054(title) C/gtkmm-tutorial-in.xml:4077(title)
-#: C/gtkmm-tutorial-in.xml:4101(title) C/gtkmm-tutorial-in.xml:4274(title)
-#: C/gtkmm-tutorial-in.xml:4390(title) C/gtkmm-tutorial-in.xml:4465(title)
-#: C/gtkmm-tutorial-in.xml:4590(title) C/gtkmm-tutorial-in.xml:4830(title)
-#: C/gtkmm-tutorial-in.xml:5375(title) C/gtkmm-tutorial-in.xml:6336(title)
-#: C/gtkmm-tutorial-in.xml:6405(title) C/gtkmm-tutorial-in.xml:7042(title)
-#: C/gtkmm-tutorial-in.xml:7101(title) C/gtkmm-tutorial-in.xml:7851(title)
+#: C/gtkmm-tutorial-in.xml:755(title) C/gtkmm-tutorial-in.xml:867(title)
+#: C/gtkmm-tutorial-in.xml:972(title) C/gtkmm-tutorial-in.xml:1131(title)
+#: C/gtkmm-tutorial-in.xml:1188(title) C/gtkmm-tutorial-in.xml:1506(title)
+#: C/gtkmm-tutorial-in.xml:1576(title) C/gtkmm-tutorial-in.xml:1600(title)
+#: C/gtkmm-tutorial-in.xml:1631(title) C/gtkmm-tutorial-in.xml:1688(title)
+#: C/gtkmm-tutorial-in.xml:1728(title) C/gtkmm-tutorial-in.xml:1769(title)
+#: C/gtkmm-tutorial-in.xml:1803(title) C/gtkmm-tutorial-in.xml:1843(title)
+#: C/gtkmm-tutorial-in.xml:2142(title) C/gtkmm-tutorial-in.xml:2178(title)
+#: C/gtkmm-tutorial-in.xml:2214(title) C/gtkmm-tutorial-in.xml:2281(title)
+#: C/gtkmm-tutorial-in.xml:2321(title) C/gtkmm-tutorial-in.xml:3891(title)
+#: C/gtkmm-tutorial-in.xml:3959(title) C/gtkmm-tutorial-in.xml:3986(title)
+#: C/gtkmm-tutorial-in.xml:4009(title) C/gtkmm-tutorial-in.xml:4033(title)
+#: C/gtkmm-tutorial-in.xml:4065(title) C/gtkmm-tutorial-in.xml:4237(title)
+#: C/gtkmm-tutorial-in.xml:4381(title) C/gtkmm-tutorial-in.xml:4456(title)
+#: C/gtkmm-tutorial-in.xml:4528(title) C/gtkmm-tutorial-in.xml:4593(title)
+#: C/gtkmm-tutorial-in.xml:4833(title) C/gtkmm-tutorial-in.xml:5384(title)
+#: C/gtkmm-tutorial-in.xml:5864(title) C/gtkmm-tutorial-in.xml:5913(title)
+#: C/gtkmm-tutorial-in.xml:6466(title) C/gtkmm-tutorial-in.xml:6535(title)
+#: C/gtkmm-tutorial-in.xml:7171(title) C/gtkmm-tutorial-in.xml:7230(title)
+#: C/gtkmm-tutorial-in.xml:7473(title) C/gtkmm-tutorial-in.xml:8376(title)
 msgid "Example"
 msgstr "Exemplo"
 
-#: C/gtkmm-tutorial-in.xml:750(para)
+#: C/gtkmm-tutorial-in.xml:757(para)
 msgid "This example creates a button with a picture and a label."
 msgstr "Este exemplo cria um botão com uma figura e um rótulo."
 
-#: C/gtkmm-tutorial-in.xml:755(title)
+#: C/gtkmm-tutorial-in.xml:762(title)
 msgid "buttons example"
 msgstr "exemplo de botões"
 
-#: C/gtkmm-tutorial-in.xml:767(para)
+#: C/gtkmm-tutorial-in.xml:774(para)
 msgid ""
 "The <classname>Gtk::Button</classname> widget has the following signals, but "
 "most of the time you will just handle the <literal>clicked</literal> signal:"
@@ -1870,61 +2003,61 @@ msgstr ""
 "maioria das vezes você só precisará manipular o sinal <literal>clicked</"
 "literal>:"
 
-#: C/gtkmm-tutorial-in.xml:775(literal)
+#: C/gtkmm-tutorial-in.xml:782(literal)
 msgid "pressed"
 msgstr "pressed"
 
-#: C/gtkmm-tutorial-in.xml:777(para)
+#: C/gtkmm-tutorial-in.xml:784(para)
 msgid "Emitted when the button is pressed."
 msgstr "Emitido quando o botão é pressionado."
 
-#: C/gtkmm-tutorial-in.xml:783(literal)
+#: C/gtkmm-tutorial-in.xml:790(literal)
 msgid "released"
 msgstr "released"
 
-#: C/gtkmm-tutorial-in.xml:785(para)
+#: C/gtkmm-tutorial-in.xml:792(para)
 msgid "Emitted when the button is released."
 msgstr "Emitido quando o botão é solto."
 
-#: C/gtkmm-tutorial-in.xml:791(literal)
+#: C/gtkmm-tutorial-in.xml:798(literal)
 msgid "clicked"
 msgstr "clicked"
 
-#: C/gtkmm-tutorial-in.xml:793(para)
+#: C/gtkmm-tutorial-in.xml:800(para)
 msgid "Emitted when the button is pressed and released."
 msgstr "Emitido quando o botão é pressionado e depois liberado."
 
-#: C/gtkmm-tutorial-in.xml:799(literal)
+#: C/gtkmm-tutorial-in.xml:806(literal)
 msgid "enter"
 msgstr "enter"
 
-#: C/gtkmm-tutorial-in.xml:801(para)
+#: C/gtkmm-tutorial-in.xml:808(para)
 msgid "Emitted when the mouse pointer moves over the button's window."
 msgstr "Emitido quando o ponteiro do mouse se move sobre a janela do botão."
 
-#: C/gtkmm-tutorial-in.xml:807(literal)
+#: C/gtkmm-tutorial-in.xml:814(literal)
 msgid "leave"
 msgstr "leave"
 
-#: C/gtkmm-tutorial-in.xml:809(para)
+#: C/gtkmm-tutorial-in.xml:816(para)
 msgid "Emitted when the mouse pointer leaves the button's window."
 msgstr "Emitido quando o ponteiro do mouse sai da janela do botão."
 
-#: C/gtkmm-tutorial-in.xml:821(title)
+#: C/gtkmm-tutorial-in.xml:828(title)
 msgid "ToggleButton"
 msgstr "Botão de alternância"
 
-#: C/gtkmm-tutorial-in.xml:823(para)
+#: C/gtkmm-tutorial-in.xml:830(para)
 msgid ""
 "<classname>ToggleButton</classname>s are like normal <classname>Button</"
 "classname>s, but when clicked they remain activated, or pressed, until "
 "clicked again."
 msgstr ""
 "Um <classname>ToggleButton</classname> é como um <classname>Button</"
-"classname> normal, só que uma vez  clicados, eles permanecem ativados, ou "
+"classname> normal, só que uma vez clicados, eles permanecem ativados, ou "
 "pressionados, até que sejam clicados de novo."
 
-#: C/gtkmm-tutorial-in.xml:825(para)
+#: C/gtkmm-tutorial-in.xml:832(para)
 msgid ""
 "To retrieve the state of the <classname>ToggleButton</classname>, you can "
 "use the <methodname>get_active()</methodname> method. This returns "
@@ -1941,7 +2074,7 @@ msgstr ""
 "com que o sinal <literal>clicked</literal> seja emitido. Isso é o que você "
 "quer normalmente."
 
-#: C/gtkmm-tutorial-in.xml:832(para)
+#: C/gtkmm-tutorial-in.xml:839(para)
 msgid ""
 "You can use the <methodname>toggled()</methodname> method to toggle the "
 "button, rather than forcing it to be up or down: This switches the button's "
@@ -1951,7 +2084,7 @@ msgstr ""
 "botão, em vez de forçá-lo para cima ou para baixo: isso troca o estado do "
 "botão e faz com que o sinal <literal>toggled</literal> seja emitido."
 
-#: C/gtkmm-tutorial-in.xml:837(para)
+#: C/gtkmm-tutorial-in.xml:844(para)
 msgid ""
 "<classname>Gtk::ToggleButton</classname> is most useful as a base class for "
 "the <classname>Gtk::CheckButton</classname> and <classname>Gtk::RadioButton</"
@@ -1961,11 +2094,11 @@ msgstr ""
 "classes <classname>Gtk::CheckButton</classname> e <classname>Gtk::"
 "RadioButton</classname>."
 
-#: C/gtkmm-tutorial-in.xml:848(title) C/gtkmm-tutorial-in.xml:863(title)
+#: C/gtkmm-tutorial-in.xml:855(title) C/gtkmm-tutorial-in.xml:870(title)
 msgid "CheckButton"
 msgstr "Botão de seleção"
 
-#: C/gtkmm-tutorial-in.xml:850(para)
+#: C/gtkmm-tutorial-in.xml:857(para)
 msgid ""
 "<classname>Gtk::CheckButton</classname> inherits from <classname>Gtk::"
 "ToggleButton</classname>. The only real difference between the two is "
@@ -1979,11 +2112,11 @@ msgstr ""
 "alternar um botão de seleção usando os mesmos métodos membros de um "
 "<classname>Gtk::ToggleButton</classname>."
 
-#: C/gtkmm-tutorial-in.xml:875(title) C/gtkmm-tutorial-in.xml:972(title)
+#: C/gtkmm-tutorial-in.xml:882(title) C/gtkmm-tutorial-in.xml:979(title)
 msgid "RadioButton"
 msgstr "Botão de opção"
 
-#: C/gtkmm-tutorial-in.xml:877(para)
+#: C/gtkmm-tutorial-in.xml:884(para)
 msgid ""
 "Like checkboxes, radio buttons also inherit from <classname>Gtk::"
 "ToggleButton</classname>, but these work in groups, and only one RadioButton "
@@ -1993,11 +2126,11 @@ msgstr ""
 "<classname>Gtk::ToggleButton</classname>, mas eles trabalham em grupos, e só "
 "um botão de opção em um grupo pode estar selecionado por vez."
 
-#: C/gtkmm-tutorial-in.xml:883(title)
+#: C/gtkmm-tutorial-in.xml:890(title)
 msgid "Groups"
 msgstr "Grupos"
 
-#: C/gtkmm-tutorial-in.xml:884(para)
+#: C/gtkmm-tutorial-in.xml:891(para)
 msgid ""
 "There are two ways to set up a group of radio buttons. The first way is to "
 "create the buttons, and set up their groups afterwards. Only the first two "
@@ -2011,7 +2144,7 @@ msgstr ""
 "classe janela chamada <classname>RadioButtons</classname>, e então colocamos "
 "três botões nela:"
 
-#: C/gtkmm-tutorial-in.xml:892(programlisting)
+#: C/gtkmm-tutorial-in.xml:899(programlisting)
 #, no-wrap
 msgid ""
 "class RadioButtons : public Gtk::Window\n"
@@ -2052,7 +2185,7 @@ msgstr ""
 "    m_rb3.set_group(grupo);\n"
 "}"
 
-#: C/gtkmm-tutorial-in.xml:910(para)
+#: C/gtkmm-tutorial-in.xml:917(para)
 msgid ""
 "We told <application>gtkmm</application> to put all three "
 "<classname>RadioButton</classname>s in the same group by obtaining the group "
@@ -2060,25 +2193,34 @@ msgid ""
 "methodname> to tell the other <classname>RadioButton</classname>s to share "
 "that group."
 msgstr ""
+"Dissemos a <application>gtkmm</application> para colocar os três "
+"<classname>RadioButton</classname>s no mesmo grupo obtendo o grupo com  "
+"<methodname>get_group()</methodname> e usando <methodname>set_group()</"
+"methodname> para dizer ao outro <classname>RadioButton</classname> "
+"compartilhar esse grupo."
 
-#: C/gtkmm-tutorial-in.xml:919(programlisting)
+#: C/gtkmm-tutorial-in.xml:926(programlisting)
 #, no-wrap
 msgid "m_rb2.set_group(m_rb1.get_group()); //doesn't work"
-msgstr ""
+msgstr "m_rb2.set_group(m_rb1.get_group()); //não funciona"
 
-#: C/gtkmm-tutorial-in.xml:917(para)
+#: C/gtkmm-tutorial-in.xml:924(para)
 msgid ""
 "Note that you can't just do <placeholder-1/> because the group is modified "
 "by <methodname>set_group()</methodname> and therefore non-const."
 msgstr ""
+"Note que você não pode simplesmente fazer <placeholder-1/> porque o grupo é "
+"modificado por <methodname>set_group()</methodname> e portanto não é const."
 
-#: C/gtkmm-tutorial-in.xml:925(para)
+#: C/gtkmm-tutorial-in.xml:932(para)
 msgid ""
 "The second way to set up radio buttons is to make a group first, and then "
 "add radio buttons to it. Here's an example:"
 msgstr ""
+"A segunda maneira de configurar os botões de opção é criar um grupo "
+"primeiro, e depois adicionar botões de opção a ele. Aqui está um exemplo:"
 
-#: C/gtkmm-tutorial-in.xml:929(programlisting)
+#: C/gtkmm-tutorial-in.xml:936(programlisting)
 #, no-wrap
 msgid ""
 "class RadioButtons : public Gtk::Window\n"
@@ -2098,38 +2240,63 @@ msgid ""
 "        new Gtk::RadioButton(group,\"button3\"));\n"
 "}"
 msgstr ""
+"class RadioButtons : public Gtk::Window\n"
+"{\n"
+"public:\n"
+"    RadioButtons();\n"
+"};\n"
+"\n"
+"RadioButtons::RadioButtons()\n"
+"{\n"
+"    Gtk::RadioButton::Group group;\n"
+"    Gtk::RadioButton *m_rb1 = Gtk::manage(\n"
+"      new Gtk::RadioButton(group,\"botão 1\"));\n"
+"    Gtk::RadioButton *m_rb2 = manage(\n"
+"      new Gtk::RadioButton(group,\"botão 2\"));\n"
+"      Gtk::RadioButton *m_rb3 = manage(\n"
+"        new Gtk::RadioButton(group,\"botão 3\"));\n"
+"}"
 
-#: C/gtkmm-tutorial-in.xml:946(para)
+#: C/gtkmm-tutorial-in.xml:953(para)
 msgid ""
 "We made a new group by simply declaring a variable, <literal>group</"
 "literal>, of type <classname>Gtk::RadioButton::Group</classname>. Then we "
 "made three radio buttons, using a constructor to make each of them part of "
 "<literal>group</literal>."
 msgstr ""
+"Criar um novo grupo, simplesmente declarando uma variável <literal>group</"
+"literal>, do tipo <classname>Gtk::RadioButton::Group</classname>. Depois "
+"criamos três botões de opção, usando um construtor para fazer cada um parte "
+"de <literal>group</literal>."
 
-#: C/gtkmm-tutorial-in.xml:954(title) C/gtkmm-tutorial-in.xml:1436(title)
-#: C/gtkmm-tutorial-in.xml:4701(title)
+#: C/gtkmm-tutorial-in.xml:961(title) C/gtkmm-tutorial-in.xml:1456(title)
+#: C/gtkmm-tutorial-in.xml:4704(title)
 msgid "Methods"
-msgstr ""
+msgstr "Métodos"
 
-#: C/gtkmm-tutorial-in.xml:955(para)
+#: C/gtkmm-tutorial-in.xml:962(para)
 msgid ""
 "<classname>RadioButtons</classname> are \"off\" when created; this means "
 "that when you first make a group of them, they will all be off. Don't forget "
 "to turn one of them on using <methodname>set_active()</methodname>:"
 msgstr ""
+"<classname>RadioButtons</classname> são \"desligado\" quando criado; o que "
+"significa que quando você faz um grupo deles, todos eles irão estar "
+"desligado. Não esqueça de ativar um deles na utilização com "
+"<methodname>set_active()</methodname>:"
 
-#: C/gtkmm-tutorial-in.xml:966(para)
+#: C/gtkmm-tutorial-in.xml:973(para)
 msgid ""
 "The following example demonstrates the use of <classname>RadioButton</"
 "classname>s:"
 msgstr ""
+"O exemplo seguinte demonstra o uso de <classname>RadioButton</classname>s:"
 
-#: C/gtkmm-tutorial-in.xml:988(title) C/gtkmm-tutorial-in.xml:1137(title)
+#: C/gtkmm-tutorial-in.xml:995(title) C/gtkmm-tutorial-in.xml:1142(title)
 msgid "Range Widgets"
-msgstr ""
+msgstr "Widgets de intervalos"
 
-#: C/gtkmm-tutorial-in.xml:990(para)
+#: C/gtkmm-tutorial-in.xml:997(para)
 msgid ""
 "<classname>Gtk::Scale</classname> and <classname>Gtk::Scrollbar</classname> "
 "both inherit from <classname>Gtk::Range</classname> and share much "
@@ -2140,8 +2307,16 @@ msgid ""
 "designated amount, depending on which mouse button is used. This should be "
 "familiar scrollbar behaviour."
 msgstr ""
+"<classname>Gtk::Scale</classname> e <classname>Gtk::Scrollbar</classname> "
+"ambos herdam de <classname>Gtk::Range</classname> e compartilham muitas "
+"funcionalidades. Eles contêm uma \"calha\" e um \"deslizante\" (às vezes "
+"chamado \"botão deslizante\" em outros ambientes GUI). Arrastando o controle "
+"deslizante com o ponteiro movendo dentro da calha, enquanto clica nos "
+"avanços da calha o controle desliza para a localização do clique, quer "
+"inteiramente, quer por um valor designado, dependendo de qual botão do mouse "
+"é usado. Este deve ser um comportamento de rolagem familiar. "
 
-#: C/gtkmm-tutorial-in.xml:1001(para)
+#: C/gtkmm-tutorial-in.xml:1008(para)
 msgid ""
 "As will be explained in the <link linkend=\"chapter-adjustment\">Adjustment</"
 "link> section, all Range widgets are associated with a "
@@ -2156,11 +2331,11 @@ msgid ""
 "further details."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1018(title)
+#: C/gtkmm-tutorial-in.xml:1025(title)
 msgid "Scrollbar Widgets"
-msgstr ""
+msgstr "Widgets de barra de rolagem"
 
-#: C/gtkmm-tutorial-in.xml:1020(para)
+#: C/gtkmm-tutorial-in.xml:1027(para)
 msgid ""
 "These are standard scrollbars. They should be used only to scroll another "
 "widget, such as, a <classname>Gtk::Entry</classname>, or a <classname>Gtk::"
@@ -2168,17 +2343,19 @@ msgid ""
 "ScrolledWindow</classname> widget in most cases."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1027(para)
+#: C/gtkmm-tutorial-in.xml:1034(para)
 msgid ""
-"There are horizontal and vertical scrollbar classes - <classname>Gtk::"
-"HScrollbar</classname> and <classname>Gtk::VScrollbar</classname>."
+"The orientation of a <classname>Gtk::Scrollbar</classname> can be either "
+"horizontal or vertical."
 msgstr ""
+"A orientação de um <classname>Gtk::Scrollbar</classname> pode ser horizontal "
+"ou vertical."
 
-#: C/gtkmm-tutorial-in.xml:1038(title)
+#: C/gtkmm-tutorial-in.xml:1044(title)
 msgid "Scale Widgets"
-msgstr ""
+msgstr "Widgets de escala"
 
-#: C/gtkmm-tutorial-in.xml:1040(para)
+#: C/gtkmm-tutorial-in.xml:1046(para)
 msgid ""
 "<classname>Gtk::Scale</classname> widgets (or \"sliders\") allow the user to "
 "visually select and manipulate a value within a specific range. You might "
@@ -2187,28 +2364,30 @@ msgid ""
 "number of minutes of inactivity before a screensaver takes over the screen."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1049(para)
+#: C/gtkmm-tutorial-in.xml:1055(para)
 msgid ""
-"As with <classname>Scrollbar</classname>s, there are separate widget types "
-"for horizontal and vertical widgets - <classname>Gtk::HScale</classname> and "
-"<classname>Gtk::VScale</classname>. The default constructors create an "
+"As with <classname>Scrollbar</classname>s, the orientation can be either "
+"horizontal or vertical. The default constructor creates an "
 "<classname>Adjustment</classname> with all of its values set to "
 "<literal>0.0</literal>. This isn't useful so you will need to set some "
 "<classname>Adjustment</classname> details to get meaningful behaviour."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1059(title)
+#: C/gtkmm-tutorial-in.xml:1064(title)
 msgid "Useful methods"
-msgstr ""
+msgstr "Métodos úteis"
 
-#: C/gtkmm-tutorial-in.xml:1061(para)
+#: C/gtkmm-tutorial-in.xml:1066(para)
 msgid ""
 "<classname>Scale</classname> widgets can display their current value as a "
 "number next to the trough. By default they show the value, but you can "
 "change this with the <methodname>set_draw_value()</methodname> method."
 msgstr ""
+"Widgets de <classname>Scala</classname> pode exibir seu valor atual com um "
+"número próximo à calha. Por padrão, eles mostram o valor, você pode mudar "
+"isso com o método <methodname>set_draw_value()</methodname>."
 
-#: C/gtkmm-tutorial-in.xml:1067(para)
+#: C/gtkmm-tutorial-in.xml:1072(para)
 msgid ""
 "The value displayed by a scale widget is rounded to one decimal point by "
 "default, as is the <literal>value</literal> field in its <classname>Gtk::"
@@ -2216,38 +2395,43 @@ msgid ""
 "</methodname> method."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1074(para)
+#: C/gtkmm-tutorial-in.xml:1079(para)
 msgid ""
 "Also, the value can be drawn in different positions relative to the trough, "
 "specified by the <methodname>set_value_pos()</methodname> method."
 msgstr ""
+"Além disso, o valor pode ser desenhado em diferentes posições em relação à "
+"calha, especificado pelo método <methodname>set_value_pos()</methodname>."
 
-#: C/gtkmm-tutorial-in.xml:1085(title)
+#: C/gtkmm-tutorial-in.xml:1090(title)
 msgid "Update Policies"
-msgstr ""
+msgstr "Política de atualização"
 
-#: C/gtkmm-tutorial-in.xml:1097(para)
+#: C/gtkmm-tutorial-in.xml:1102(para)
 msgid ""
 "<literal>Gtk::UPDATE_CONTINUOUS</literal> - This is the default. The "
 "<literal>value_changed</literal> signal is emitted continuously, i.e. "
 "whenever the slider is moved by even the tiniest amount."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1105(para)
+#: C/gtkmm-tutorial-in.xml:1110(para)
 msgid ""
 "<literal>Gtk::UPDATE_DISCONTINUOUS</literal> - The <literal>value_changed</"
 "literal> signal is only emitted once the slider has stopped moving and the "
 "user has released the mouse button."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1113(para)
+#: C/gtkmm-tutorial-in.xml:1118(para)
 msgid ""
 "<literal>Gtk::UPDATE_DELAYED</literal> - The <literal>value_changed</"
 "literal> signal is emitted when the user releases the mouse button, or if "
 "the slider stops moving for a short period of time."
 msgstr ""
+"<literal>Gtk::UPDATE_DELAYED</literal> - O sinal <literal>value_changed</"
+"literal>é emitido quando o usuário libera o botão do mouse, ou se o cursor "
+"para de se mover por um curto período de tempo."
 
-#: C/gtkmm-tutorial-in.xml:1087(para)
+#: C/gtkmm-tutorial-in.xml:1092(para)
 msgid ""
 "The <emphasis>update policy</emphasis> of a <classname>Range</classname> "
 "widget defines at what points during user interaction it will change the "
@@ -2257,7 +2441,7 @@ msgid ""
 "<placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1128(para)
+#: C/gtkmm-tutorial-in.xml:1133(para)
 msgid ""
 "This example displays a window with three range widgets all connected to the "
 "same adjustment, along with a couple of controls for adjusting some of the "
@@ -2265,36 +2449,37 @@ msgid ""
 "how they affect the way these widgets work for the user."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1150(title)
+#: C/gtkmm-tutorial-in.xml:1155(title)
 msgid "Miscellaneous Widgets"
-msgstr ""
+msgstr "Diversos widgets"
 
-#: C/gtkmm-tutorial-in.xml:1153(title) C/gtkmm-tutorial-in.xml:1191(title)
+#: C/gtkmm-tutorial-in.xml:1158(title) C/gtkmm-tutorial-in.xml:1196(title)
 msgid "Label"
-msgstr ""
+msgstr "Rótulo"
 
-#: C/gtkmm-tutorial-in.xml:1155(para)
+#: C/gtkmm-tutorial-in.xml:1160(para)
 msgid ""
 "Labels are the main method of placing non-editable text in windows, for "
 "instance to place a title next to a <classname>Entry</classname> widget. You "
 "can specify the text in the constructor, or later with the "
-"<methodname>set_text()</methodname> or set_markup() methods."
+"<methodname>set_text()</methodname> or <methodname>set_markup()</methodname> "
+"methods."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1162(para)
+#: C/gtkmm-tutorial-in.xml:1167(para)
 msgid ""
 "The width of the label will be adjusted automatically. You can produce multi-"
 "line labels by putting line breaks (\"\\n\") in the label string."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1166(para)
+#: C/gtkmm-tutorial-in.xml:1171(para)
 msgid ""
 "The label text can be justified using the <methodname>set_justify()</"
 "methodname> method. The widget is also capable of word-wrapping, which can "
 "be activated with <methodname>set_line_wrap()</methodname>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1172(para)
+#: C/gtkmm-tutorial-in.xml:1177(para)
 msgid ""
 "Gtk::Label support some simple formatting, for instance allowing you to make "
 "some text bold, colored, or larger. You can do this by providing a string to "
@@ -2304,83 +2489,106 @@ msgid ""
 "s&gt;strikethrough text&lt;/s&gt; </code> ."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1184(para)
+#: C/gtkmm-tutorial-in.xml:1189(para)
 msgid ""
 "Below is a short example to illustrate these functions. This example makes "
 "use of the Frame widget to better demonstrate the label styles. (The Frame "
 "widget is explained in the <link linkend=\"sec-frame\">Frame</link> section.)"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1204(title) C/gtkmm-tutorial-in.xml:1246(title)
+#: C/gtkmm-tutorial-in.xml:1209(title) C/gtkmm-tutorial-in.xml:1266(title)
 msgid "Entry"
-msgstr ""
+msgstr "Entrada"
 
-#: C/gtkmm-tutorial-in.xml:1207(title)
+#: C/gtkmm-tutorial-in.xml:1212(title)
 msgid "Simple Use"
-msgstr ""
+msgstr "Uso simples"
 
-#: C/gtkmm-tutorial-in.xml:1209(para)
+#: C/gtkmm-tutorial-in.xml:1214(para)
 msgid ""
 "Entry widgets allow the user to enter text. You can change the contents with "
 "the <methodname>set_text()</methodname> method, and read the current "
 "contents with the <methodname>get_text()</methodname> method."
 msgstr ""
+"Campos de entrada permite o usuário digitar texto. Você pode alterar o "
+"conteúdo com o método <methodname>set_text()</methodname>, e ler o conteúdo "
+"atual com o método <methodname>get_text()</methodname>."
 
-#: C/gtkmm-tutorial-in.xml:1214(para)
+#: C/gtkmm-tutorial-in.xml:1219(para)
 msgid ""
 "Occasionally you might want to make an <classname>Entry</classname> widget "
 "read-only. This can be done by passing <literal>false</literal> to the "
 "<methodname>set_editable()</methodname> method."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1220(para)
+#: C/gtkmm-tutorial-in.xml:1225(para)
 msgid ""
 "For the input of passwords, passphrases and other information you don't want "
 "echoed on the screen, calling <methodname>set_visibility()</methodname> with "
 "<literal>false</literal> will cause the text to be hidden."
 msgstr ""
+"Para entrada de senhas, frases e outras informações que você não deseja "
+"mostrar na tela, chamando <methodname>set_visibility()</methodname> com "
+"<literal>false</literal> irá fazer com que o texto seja escondido."
 
-#: C/gtkmm-tutorial-in.xml:1226(para)
+#: C/gtkmm-tutorial-in.xml:1231(para)
 msgid ""
 "You might want to be notified whenever the user types in a text entry "
 "widget. <classname>Gtk::Entry</classname> provides two signals, "
-"<literal>activate</literal> and <literal>changed</literal>, for just this "
+"<literal>activate</literal> and <literal>changed</literal>, for this "
 "purpose. <literal>activate</literal> is emitted when the user presses the "
-"enter key in a text-entry widget; <literal>changed</literal> is emitted when "
+"Enter key in a text-entry widget; <literal>changed</literal> is emitted when "
 "the text in the widget changes. You can use these, for instance, to validate "
-"or filter the text the user types."
+"or filter the text the user types. Moving the keyboard focus to another "
+"widget may also signal that the user has finished entering text. The "
+"<literal>focus_out_event</literal> signal that <classname>Gtk::Entry</"
+"classname> inherits from <classname>Gtk::Widget</classname> can notify you "
+"when that happens. The <link linkend=\"sec-comboboxentry\">ComboBox with an "
+"Entry</link> section contains example programs that use these signals."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1238(title)
-msgid "Simple Entry Example"
+#: C/gtkmm-tutorial-in.xml:1246(para)
+msgid ""
+"If you pass <literal>true</literal> to the <methodname>set_activates_default"
+"()</methodname> method, pressing Enter in the <classname>Gtk::Entry</"
+"classname> will activate the default widget for the window containing the "
+"<classname>Gtk::Entry</classname>. This is especially useful in dialog "
+"boxes. The default widget is usually one of the dialog buttons, which e.g. "
+"will close the dialog box. To set a widget as the default widget, use "
+"<methodname>Gtk::Widget::set_can_default()</methodname> and <methodname>Gtk::"
+"Widget::grab_default()</methodname>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1239(para)
+#: C/gtkmm-tutorial-in.xml:1258(title)
+msgid "Simple Entry Example"
+msgstr "Exemplo de entrada simples"
+
+#: C/gtkmm-tutorial-in.xml:1259(para)
 msgid ""
 "This example uses <classname>Gtk::Entry</classname>. It also has two "
 "<classname>CheckButton</classname>s, with which you can toggle the editable "
 "and visible flags."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1259(title) C/gtkmm-tutorial-in.xml:1293(title)
+#: C/gtkmm-tutorial-in.xml:1279(title) C/gtkmm-tutorial-in.xml:1313(title)
 msgid "Entry Completion"
-msgstr ""
+msgstr "Entrada com auto completar"
 
-#: C/gtkmm-tutorial-in.xml:1260(para)
+#: C/gtkmm-tutorial-in.xml:1280(para)
 msgid ""
 "A <classname>Entry</classname> widget can offer a drop-down list of pre-"
 "existing choices based on the first few characters typed by the user. For "
 "instance, a search dialog could suggest text from previous searches."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1265(para)
+#: C/gtkmm-tutorial-in.xml:1285(para)
 msgid ""
 "To enable this functionality, you must create a <classname>EntryCompletion</"
 "classname> object, and provide it to the <classname>Entry</classname> widget "
 "via the <methodname>set_completion()</methodname> method."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1270(para)
+#: C/gtkmm-tutorial-in.xml:1290(para)
 msgid ""
 "The <classname>EntryCompletion</classname> may use a <classname>TreeModel</"
 "classname> containing possible entries, specified with <methodname>set_model"
@@ -2389,20 +2597,19 @@ msgid ""
 "possible text entries."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1276(para)
+#: C/gtkmm-tutorial-in.xml:1296(para)
 msgid ""
 "Alternatively, if a complete list of possible entries would be too large or "
 "too inconvenient to generate, a callback slot may instead be specified with "
-"<methodname>set_match_func()</methodname>. That callback function. This is "
-"also useful if you wish to match on a part of the string other than the "
-"start."
+"<methodname>set_match_func()</methodname>. This is also useful if you wish "
+"to match on a part of the string other than the start."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1284(title)
+#: C/gtkmm-tutorial-in.xml:1304(title)
 msgid "Entry Completion Example"
-msgstr ""
+msgstr "Exemplo de entrada com auto completar"
 
-#: C/gtkmm-tutorial-in.xml:1285(para)
+#: C/gtkmm-tutorial-in.xml:1305(para)
 msgid ""
 "This example creates a <classname>Gtk::EntryCompletion</classname> and "
 "associates it with a <classname>Gtk::Entry</classname> widget. The "
@@ -2410,11 +2617,11 @@ msgid ""
 "and some additional actions."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1305(title)
+#: C/gtkmm-tutorial-in.xml:1325(title)
 msgid "Entry Icons"
-msgstr ""
+msgstr "Entrada com ícones"
 
-#: C/gtkmm-tutorial-in.xml:1306(para)
+#: C/gtkmm-tutorial-in.xml:1326(para)
 msgid ""
 "An <classname>Entry</classname> widget can show an icon at the start or end "
 "of the text area. The icon can be specifed by methods such as "
@@ -2424,25 +2631,25 @@ msgid ""
 "methodname> signal."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1313(title)
+#: C/gtkmm-tutorial-in.xml:1333(title)
 msgid "Entry Icon Example"
-msgstr ""
+msgstr "Exemplo de entrada com ícones"
 
-#: C/gtkmm-tutorial-in.xml:1314(para)
+#: C/gtkmm-tutorial-in.xml:1334(para)
 msgid ""
 "This example shows a <classname>Gtk::Entry</classname> widget with a stock "
 "search icon, and prints text to the terminal when the icon is pressed."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1320(title)
+#: C/gtkmm-tutorial-in.xml:1340(title)
 msgid "Entry with Icon"
-msgstr ""
+msgstr "Entrada com ícone"
 
-#: C/gtkmm-tutorial-in.xml:1332(title)
+#: C/gtkmm-tutorial-in.xml:1352(title)
 msgid "Entry Progress"
-msgstr ""
+msgstr "Entrada com barra de progresso"
 
-#: C/gtkmm-tutorial-in.xml:1333(para)
+#: C/gtkmm-tutorial-in.xml:1353(para)
 msgid ""
 "An <classname>Entry</classname> widget can show a progress bar inside the "
 "text area, under the entered text. The progress bar will be shown if the "
@@ -2450,25 +2657,25 @@ msgid ""
 "<methodname>set_progress_pulse_step()</methodname> methods are called."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1338(title)
+#: C/gtkmm-tutorial-in.xml:1358(title)
 msgid "Entry Progress Example"
-msgstr ""
+msgstr "Exemplo de entrada com barra de progresso"
 
-#: C/gtkmm-tutorial-in.xml:1339(para)
+#: C/gtkmm-tutorial-in.xml:1359(para)
 msgid ""
 "This example shows a <classname>Gtk::Entry</classname> widget with a "
 "progress bar."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1345(title)
+#: C/gtkmm-tutorial-in.xml:1365(title)
 msgid "Entry with Progress Bar"
-msgstr ""
+msgstr "Entrada com barra de progresso"
 
-#: C/gtkmm-tutorial-in.xml:1359(title) C/gtkmm-tutorial-in.xml:1493(title)
+#: C/gtkmm-tutorial-in.xml:1379(title) C/gtkmm-tutorial-in.xml:1513(title)
 msgid "SpinButton"
-msgstr ""
+msgstr "SpinButton"
 
-#: C/gtkmm-tutorial-in.xml:1361(para)
+#: C/gtkmm-tutorial-in.xml:1381(para)
 msgid ""
 "A <classname>SpinButton</classname> allows the user to select a value from a "
 "range of numeric values. It has an Entry widget with up and down arrow "
@@ -2477,7 +2684,7 @@ msgid ""
 "widget may also be used to enter a value directly."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1369(para)
+#: C/gtkmm-tutorial-in.xml:1389(para)
 msgid ""
 "The value can have an adjustable number of decimal places, and the step size "
 "is configurable. <classname>SpinButton</classname>s have an 'auto-repeat' "
@@ -2485,35 +2692,39 @@ msgid ""
 "value to change more quickly the longer the arrow is held down."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1384(para)
+#: C/gtkmm-tutorial-in.xml:1404(para)
 msgid "<literal>value</literal>: value for the Spin Button"
-msgstr ""
+msgstr "<literal>value</literal>: valor para o seletor numérico"
 
-#: C/gtkmm-tutorial-in.xml:1390(para)
+#: C/gtkmm-tutorial-in.xml:1410(para)
 msgid "<literal>lower</literal>: lower range value"
-msgstr ""
+msgstr "<literal>lower</literal>: valor mínimo do intervalo"
 
-#: C/gtkmm-tutorial-in.xml:1396(para)
+#: C/gtkmm-tutorial-in.xml:1416(para)
 msgid "<literal>upper</literal>: upper range value"
-msgstr ""
+msgstr "<literal>upper</literal>: valor máximo do intervalo"
 
-#: C/gtkmm-tutorial-in.xml:1401(para)
+#: C/gtkmm-tutorial-in.xml:1421(para)
 msgid ""
 "<literal>step_increment</literal>: value to increment/decrement when "
 "pressing mouse button 1 on a button"
 msgstr ""
+"<literal>step_increment</literal>: valor para aumentar/diminuir quando "
+"pressiona o botão 1 do mouse em um botão"
 
-#: C/gtkmm-tutorial-in.xml:1408(para)
+#: C/gtkmm-tutorial-in.xml:1428(para)
 msgid ""
 "<literal>page_increment</literal>: value to increment/decrement when "
 "pressing mouse button 2 on a button"
 msgstr ""
+"<literal>page_increment</literal>: valor para aumentar/diminuir quando "
+"pressiona o botão 2 do mouse em um botão"
 
-#: C/gtkmm-tutorial-in.xml:1415(para)
+#: C/gtkmm-tutorial-in.xml:1435(para)
 msgid "<literal>page_size</literal>: unused"
-msgstr ""
+msgstr "<literal>page_size</literal>: não usado"
 
-#: C/gtkmm-tutorial-in.xml:1376(para)
+#: C/gtkmm-tutorial-in.xml:1396(para)
 msgid ""
 "<classname>SpinButton</classname>s use an <link linkend=\"chapter-adjustment"
 "\">Adjustment</link> object to hold information about the range of values. "
@@ -2521,13 +2732,15 @@ msgid ""
 "<placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1423(para)
+#: C/gtkmm-tutorial-in.xml:1443(para)
 msgid ""
 "Additionally, mouse button 3 can be used to jump directly to the "
 "<literal>upper</literal> or <literal>lower</literal> values."
 msgstr ""
+"Além disso, o botão 3 do mouse pode ser usado para ir diretamente aos "
+"valores <literal>upper</literal> ou <literal>lower</literal>."
 
-#: C/gtkmm-tutorial-in.xml:1428(para)
+#: C/gtkmm-tutorial-in.xml:1448(para)
 msgid ""
 "The <classname>SpinButton</classname> can create a default "
 "<classname>Adjustment</classname>, which you can access via the "
@@ -2535,20 +2748,20 @@ msgid ""
 "existing <classname>Adjustment</classname> in the constructor."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1438(para)
+#: C/gtkmm-tutorial-in.xml:1458(para)
 msgid ""
 "The number of decimal places can be altered using the <methodname>set_digits"
 "()</methodname> method."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1443(para)
+#: C/gtkmm-tutorial-in.xml:1463(para)
 msgid ""
 "You can set the spinbutton's value using the <methodname>set_value()</"
 "methodname> method, and retrieve it with <methodname>get_value()</"
 "methodname>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1448(para)
+#: C/gtkmm-tutorial-in.xml:1468(para)
 msgid ""
 "The <methodname>spin()</methodname> method 'spins' the "
 "<classname>SpinButton</classname>, as if one of its arrows had been clicked. "
@@ -2556,26 +2769,26 @@ msgid ""
 "direction or new position."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1455(para)
+#: C/gtkmm-tutorial-in.xml:1475(para)
 msgid ""
 "To prevent the user from typing non-numeric characters into the entry box, "
 "pass <literal>true</literal> to the <methodname>set_numeric()</methodname> "
 "method."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1460(para)
+#: C/gtkmm-tutorial-in.xml:1480(para)
 msgid ""
 "To make the <classname>SpinButton</classname> 'wrap' between its upper and "
 "lower bounds, use the <methodname>set_wrap()</methodname> method."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1465(para)
+#: C/gtkmm-tutorial-in.xml:1485(para)
 msgid ""
 "To force it to snap to the nearest <literal>step_increment</literal>, use "
 "<methodname>set_snap_to_ticks()</methodname>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1470(para)
+#: C/gtkmm-tutorial-in.xml:1490(para)
 msgid ""
 "You can modify the update policy using the <methodname>set_update_policy()</"
 "methodname> method, specifying either <literal>Gtk::UPDATE_ALWAYS</literal> "
@@ -2587,45 +2800,45 @@ msgid ""
 "<methodname>update()</methodname> method."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1488(para)
+#: C/gtkmm-tutorial-in.xml:1508(para)
 msgid "Here's an example of a <classname>SpinButton</classname> in action:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1506(title) C/gtkmm-tutorial-in.xml:1559(title)
+#: C/gtkmm-tutorial-in.xml:1526(title) C/gtkmm-tutorial-in.xml:1579(title)
 msgid "ProgressBar"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1508(para)
+#: C/gtkmm-tutorial-in.xml:1528(para)
 msgid ""
 "Progress bars are used to show the status of an ongoing operation. For "
 "instance, a <classname>ProgressBar</classname> can show how much of a task "
 "has been completed."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1514(para)
+#: C/gtkmm-tutorial-in.xml:1534(para)
 msgid ""
 "To change the value shown, use the <methodname>set_fraction()</methodname> "
 "method, passing a double between 0 and 1 to provide the new percentage."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1519(para)
+#: C/gtkmm-tutorial-in.xml:1539(para)
 msgid ""
 "where <literal>percentage</literal> is a number, from 0 to 1, indicating "
 "what fraction of the bar should be filled."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1524(para)
+#: C/gtkmm-tutorial-in.xml:1544(para)
 msgid ""
 "A <classname>ProgressBar</classname>is horizontal and left-to-right by "
 "default, but you can change it to a vertical progress bar by using the "
 "<methodname>set_orientation()</methodname> method."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1533(title)
+#: C/gtkmm-tutorial-in.xml:1553(title)
 msgid "Activity Mode"
-msgstr ""
+msgstr "Modo de atividade"
 
-#: C/gtkmm-tutorial-in.xml:1534(para)
+#: C/gtkmm-tutorial-in.xml:1554(para)
 msgid ""
 "Besides indicating the amount of progress that has occured, the progress bar "
 "can also be used to indicate that there is some activity; this is done by "
@@ -2636,37 +2849,37 @@ msgid ""
 "unknown length)."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1544(para)
+#: C/gtkmm-tutorial-in.xml:1564(para)
 msgid ""
 "To do this, you need to call the <methodname>pulse()</methodname> method at "
 "regular intervals. You can also choose the step size, with the "
 "<methodname>set_pulse_step()</methodname> method."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1550(para)
+#: C/gtkmm-tutorial-in.xml:1570(para)
 msgid ""
 "When in continuous mode, the progress bar can also display a configurable "
 "text string within its trough, using the <methodname>set_text()</methodname> "
 "method."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1573(title) C/gtkmm-tutorial-in.xml:1583(title)
+#: C/gtkmm-tutorial-in.xml:1593(title) C/gtkmm-tutorial-in.xml:1603(title)
 msgid "InfoBar"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1575(para)
+#: C/gtkmm-tutorial-in.xml:1595(para)
 msgid ""
-"An <classname>InfoBar</classname> may show small items of information or to "
-"ask brief questions. Unlike a <classname>Dialog</classname>, it appears at "
-"the top of the current window instead of opening a new window. Its API is "
-"very similar to the <link linkend=\"chapter-dialogs\">Gtk::Dialog</link> API."
+"An <classname>InfoBar</classname> may show small items of information or ask "
+"brief questions. Unlike a <classname>Dialog</classname>, it appears at the "
+"top of the current window instead of opening a new window. Its API is very "
+"similar to the <link linkend=\"chapter-dialogs\">Gtk::Dialog</link> API."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1596(title)
+#: C/gtkmm-tutorial-in.xml:1616(title)
 msgid "Tooltips"
-msgstr ""
+msgstr "Dicas"
 
-#: C/gtkmm-tutorial-in.xml:1598(para)
+#: C/gtkmm-tutorial-in.xml:1618(para)
 msgid ""
 "Tooltips are the little information windows that pop up when you leave your "
 "pointer over a widget for a few seconds. Use <methodname>set_tooltip_text()</"
@@ -2677,36 +2890,36 @@ msgid ""
 "an image as well as text."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1608(ulink)
+#: C/gtkmm-tutorial-in.xml:1628(ulink)
 msgid "Widget Reference"
-msgstr ""
+msgstr "Widgets de referência"
 
-#: C/gtkmm-tutorial-in.xml:1609(ulink)
+#: C/gtkmm-tutorial-in.xml:1629(ulink)
 msgid "Tooltip Reference"
-msgstr ""
+msgstr "Dicas de referência"
 
-#: C/gtkmm-tutorial-in.xml:1614(title)
+#: C/gtkmm-tutorial-in.xml:1634(title)
 msgid "Tooltip"
-msgstr ""
+msgstr "Dica de Ferramenta"
 
-#: C/gtkmm-tutorial-in.xml:1629(title)
+#: C/gtkmm-tutorial-in.xml:1649(title)
 msgid "Container Widgets"
-msgstr ""
+msgstr "Widgets de empacotamento"
 
-#: C/gtkmm-tutorial-in.xml:1631(para)
+#: C/gtkmm-tutorial-in.xml:1651(para)
 msgid ""
 "All container widgets derive from <classname>Gtk::Container</classname>, not "
-"always directly. Some container widgets, such as <classname>Gtk::Table</"
+"always directly. Some container widgets, such as <classname>Gtk::Grid</"
 "classname> can hold many child widgets, so these typically have more complex "
 "interfaces. Others, such as <classname>Gtk::Frame</classname> contain only "
 "one child widget."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1640(title)
+#: C/gtkmm-tutorial-in.xml:1660(title)
 msgid "Single-item Containers"
-msgstr ""
+msgstr "Empacotamento de item único"
 
-#: C/gtkmm-tutorial-in.xml:1642(para)
+#: C/gtkmm-tutorial-in.xml:1662(para)
 msgid ""
 "The single-item container widgets derive from <classname>Gtk::Bin</"
 "classname>, which provides the <methodname>add()</methodname> and "
@@ -2716,18 +2929,18 @@ msgid ""
 "elsewhere."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1650(para)
+#: C/gtkmm-tutorial-in.xml:1670(para)
 msgid ""
 "We also discuss the <classname>Gtk::Paned</classname> widget, which allows "
 "you to divide a window into two separate \"panes\". This widget actually "
 "contains two child widgets, but the number is fixed so it seems appropriate."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1657(title) C/gtkmm-tutorial-in.xml:1671(title)
+#: C/gtkmm-tutorial-in.xml:1677(title) C/gtkmm-tutorial-in.xml:1691(title)
 msgid "Frame"
-msgstr ""
+msgstr "Moldura"
 
-#: C/gtkmm-tutorial-in.xml:1659(para)
+#: C/gtkmm-tutorial-in.xml:1679(para)
 msgid ""
 "Frames can enclose one or a group of widgets within a box, optionally with a "
 "title. For instance, you might place a group of <classname>RadioButton</"
@@ -2735,38 +2948,36 @@ msgid ""
 "classname>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1685(title) C/gtkmm-tutorial-in.xml:1712(title)
+#: C/gtkmm-tutorial-in.xml:1705(title) C/gtkmm-tutorial-in.xml:1731(title)
 msgid "Paned"
-msgstr ""
+msgstr "Painel"
 
-#: C/gtkmm-tutorial-in.xml:1687(para)
+#: C/gtkmm-tutorial-in.xml:1707(para)
 msgid ""
-"Panes divide a widget into two halves, separated by a moveable divider. "
-"There are two such widgets: <classname>Gtk::HPaned</classname> adds a "
-"horizontal divider, and <classname>Gtk::VPaned</classname> adds a vertical "
-"one. Other than the names and the orientations, there's no difference "
-"between the two."
+"Panes divide a widget into two halves, separated by a moveable divider. The "
+"two halves (panes) can be oriented either horizontally (side by side) or "
+"vertically (one above the other)."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1694(para)
+#: C/gtkmm-tutorial-in.xml:1713(para)
 msgid ""
-"Unlike the other widgets in this chapter, pane widgets contain not one but "
+"Unlike the other widgets in this section, pane widgets contain not one but "
 "two child widgets, one in each pane. Therefore, you should use "
 "<methodname>add1()</methodname> and <methodname>add2()</methodname> instead "
 "of the <methodname>add()</methodname> method."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1701(para)
+#: C/gtkmm-tutorial-in.xml:1720(para)
 msgid ""
 "You can adjust the position of the divider using the <methodname>set_position"
 "()</methodname> method, and you will probably need to do so."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1725(title) C/gtkmm-tutorial-in.xml:1757(title)
+#: C/gtkmm-tutorial-in.xml:1744(title) C/gtkmm-tutorial-in.xml:1776(title)
 msgid "ScrolledWindow"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1727(para)
+#: C/gtkmm-tutorial-in.xml:1746(para)
 msgid ""
 "<classname>ScrolledWindow</classname> widgets create a scrollable area. You "
 "can insert any type of widget into a <classname>ScrolledWindow</classname> "
@@ -2775,7 +2986,7 @@ msgid ""
 "<classname>Gtk::Window</classname> despite the slightly misleading name."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1736(para)
+#: C/gtkmm-tutorial-in.xml:1755(para)
 msgid ""
 "Scrolled windows have <emphasis>scrollbar policies</emphasis> which "
 "determine whether the <classname>Scrollbar</classname>s will be displayed. "
@@ -2787,17 +2998,17 @@ msgid ""
 "POLICY_ALWAYS</literal> will cause the scrollbar to be displayed always."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1752(para)
+#: C/gtkmm-tutorial-in.xml:1771(para)
 msgid ""
 "Here is a simple example that packs 100 toggle buttons into a "
 "ScrolledWindow. Try resizing the window to see the scrollbars react."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1770(title) C/gtkmm-tutorial-in.xml:1792(title)
+#: C/gtkmm-tutorial-in.xml:1789(title) C/gtkmm-tutorial-in.xml:1811(title)
 msgid "AspectFrame"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1772(para)
+#: C/gtkmm-tutorial-in.xml:1791(para)
 msgid ""
 "The <classname>AspectFrame</classname> widget looks like a <classname>Frame</"
 "classname> widget, but it also enforces the <emphasis>aspect ratio</"
@@ -2807,25 +3018,25 @@ msgid ""
 "vertically while resizing."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1785(para)
+#: C/gtkmm-tutorial-in.xml:1804(para)
 msgid ""
 "The following program uses a <classname>Gtk::AspectFrame</classname> to "
 "present a drawing area whose aspect ratio will always be 2:1, no matter how "
 "the user resizes the top-level window."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1805(title) C/gtkmm-tutorial-in.xml:1831(title)
+#: C/gtkmm-tutorial-in.xml:1824(title) C/gtkmm-tutorial-in.xml:1850(title)
 msgid "Alignment"
-msgstr ""
+msgstr "Alinhamento"
 
-#: C/gtkmm-tutorial-in.xml:1807(para)
+#: C/gtkmm-tutorial-in.xml:1826(para)
 msgid ""
 "The <classname>Alignment</classname> widget allows you to place a widget at "
 "a position and size relative to the size of the <classname>Alignment</"
 "classname> widget itself. For instance, it might be used to center a widget."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1813(para)
+#: C/gtkmm-tutorial-in.xml:1832(para)
 msgid ""
 "You need to specify the <classname>Alignment</classname>'s characteristics "
 "to the constructor, or to the <methodname>set()</methodname> method. In "
@@ -2835,23 +3046,23 @@ msgid ""
 "fill all available space."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1825(para)
+#: C/gtkmm-tutorial-in.xml:1844(para)
 msgid ""
 "This example right-aligns a button in a window by using an "
 "<classname>Alignment</classname> widget."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1839(para)
+#: C/gtkmm-tutorial-in.xml:1858(para)
 msgid ""
 "See the <link linkend=\"sec-progressbar\">ProgressBar</link> section for "
 "another example that uses an <classname>Alignment</classname>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1851(title)
+#: C/gtkmm-tutorial-in.xml:1870(title)
 msgid "Multiple-item widgets"
-msgstr ""
+msgstr "Widgets de múltiplos itens"
 
-#: C/gtkmm-tutorial-in.xml:1853(para)
+#: C/gtkmm-tutorial-in.xml:1872(para)
 msgid ""
 "Multiple-item widgets inherit from <classname>Gtk::Container</classname>; "
 "just as with <classname>Gtk::Bin</classname>, you use the <methodname>add()</"
@@ -2861,32 +3072,32 @@ msgid ""
 "Container</classname> takes an argument, specifiying which widget to remove."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1863(title)
+#: C/gtkmm-tutorial-in.xml:1882(title)
 msgid "Packing"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1864(para)
+#: C/gtkmm-tutorial-in.xml:1883(para)
 msgid ""
 "You've probably noticed that <application>gtkmm</application> windows seem "
 "\"elastic\" - they can usually be stretched in many different ways. This is "
 "due to the <emphasis>widget packing</emphasis> system."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1869(para)
+#: C/gtkmm-tutorial-in.xml:1888(para)
 msgid ""
 "Many GUI toolkits require you to precisely place widgets in a window, using "
 "absolute positioning, often using a visual editor. This leads to several "
 "problems:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1876(para)
+#: C/gtkmm-tutorial-in.xml:1895(para)
 msgid ""
 "The widgets don't rearrange themselves when the window is resized. Some "
 "widgets are hidden when the window is made smaller, and lots of useless "
 "space appears when the window is made larger."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1880(para)
+#: C/gtkmm-tutorial-in.xml:1899(para)
 msgid ""
 "It's impossible to predict the amount of space necessary for text after it "
 "has been translated to other languages, or displayed in a different font. On "
@@ -2894,14 +3105,14 @@ msgid ""
 "window manager."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1884(para)
+#: C/gtkmm-tutorial-in.xml:1903(para)
 msgid ""
 "Changing the layout of a window \"on the fly\", to make some extra widgets "
 "appear, for instance, is complex. It requires tedious recalculation of every "
 "widget's position."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1890(para)
+#: C/gtkmm-tutorial-in.xml:1909(para)
 msgid ""
 "<application>gtkmm</application> uses the packing system to solve these "
 "problems. Rather than specifying the position and size of each widget in the "
@@ -2917,7 +3128,7 @@ msgid ""
 "the user manipulates the window."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1899(para)
+#: C/gtkmm-tutorial-in.xml:1918(para)
 msgid ""
 "<application>gtkmm</application> arranges widgets hierarchically, using "
 "<emphasis>containers</emphasis>. A Container widget contains other widgets. "
@@ -2930,62 +3141,54 @@ msgid ""
 "classname>, including <classname>Gtk::Window</classname>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1910(para)
+#: C/gtkmm-tutorial-in.xml:1929(para)
 msgid ""
 "Yes, that's correct: a Window can contain at most one widget. How, then, can "
 "we use a window for anything useful? By placing a multiple-child container "
-"in the window. The most useful container widgets are <classname>Gtk:Grid</"
-"classname>, <classname>Gtk:VBox</classname>, <classname>Gtk::HBox</"
-"classname>, and <classname>Gtk::Table</classname>."
+"in the window. The most useful container widgets are <classname>Gtk::Grid</"
+"classname> and <classname>Gtk::Box</classname>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1922(para)
+#: C/gtkmm-tutorial-in.xml:1940(para)
 msgid ""
 "<classname>Gtk::Grid</classname> arranges its child widgets in rows and "
 "columns. Use <methodname>attach()</methodname>, <methodname>attach_next_to()"
 "</methodname> and <methodname>add()</methodname> to insert child widgets."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1931(para)
+#: C/gtkmm-tutorial-in.xml:1949(para)
 msgid ""
-"<classname>Gtk::VBox</classname> and <classname>Gtk::HBox</classname> "
-"arrange their child widgets vertically and horizontally, respectively. Use "
-"<methodname>pack_start()</methodname> and <methodname>pack_end()</"
-"methodname> to insert child widgets."
+"<classname>Gtk::Box</classname> arranges its child widgets vertically or "
+"horizontally. Use <methodname>pack_start()</methodname> and "
+"<methodname>pack_end()</methodname> to insert child widgets."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1940(para)
-msgid ""
-"<classname>Gtk::Table</classname> arranges its widgets in a grid. Use "
-"<methodname>attach()</methodname> to insert widgets."
-msgstr ""
-
-#: C/gtkmm-tutorial-in.xml:1948(para)
+#: C/gtkmm-tutorial-in.xml:1958(para)
 msgid "There are several other containers, which we will also discuss."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1952(para)
+#: C/gtkmm-tutorial-in.xml:1962(para)
 msgid ""
 "If you've never used a packing toolkit before, it can take some getting used "
 "to. You'll probably find, however, that you don't need to rely on visual "
 "form editors quite as much as you might with other toolkits."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1962(title)
+#: C/gtkmm-tutorial-in.xml:1972(title)
 msgid "An improved Hello World"
-msgstr ""
+msgstr "Um olá mundo melhorado"
 
-#: C/gtkmm-tutorial-in.xml:1964(para)
+#: C/gtkmm-tutorial-in.xml:1974(para)
 msgid ""
 "Let's take a look at a slightly improved <literal>helloworld</literal>, "
 "showing what we've learnt."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1969(title)
+#: C/gtkmm-tutorial-in.xml:1979(title)
 msgid "Hello World 2"
-msgstr ""
+msgstr "Olá, mundo 2"
 
-#: C/gtkmm-tutorial-in.xml:1977(para)
+#: C/gtkmm-tutorial-in.xml:1987(para)
 msgid ""
 "After building and running this program, try resizing the window to see the "
 "behaviour. Also, try playing with the options to <methodname>pack_start()</"
@@ -2993,11 +3196,11 @@ msgid ""
 "section."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:1987(title)
+#: C/gtkmm-tutorial-in.xml:1997(title)
 msgid "Boxes"
-msgstr ""
+msgstr "Caixas"
 
-#: C/gtkmm-tutorial-in.xml:1989(para)
+#: C/gtkmm-tutorial-in.xml:1999(para)
 msgid ""
 "Most packing uses boxes as in the above example. These are invisible "
 "containers into which we can pack our widgets. When packing widgets into a "
@@ -3008,28 +3211,28 @@ msgid ""
 "boxes inside or beside other boxes to create the desired effect."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2000(title) C/gtkmm-tutorial-in.xml:2234(title)
+#: C/gtkmm-tutorial-in.xml:2010(title)
 msgid "Adding widgets"
-msgstr ""
+msgstr "Adicionando widgets"
 
-#: C/gtkmm-tutorial-in.xml:2001(title)
+#: C/gtkmm-tutorial-in.xml:2011(title)
 msgid "Per-child packing options"
-msgstr ""
+msgstr "Opções de empacotamento por filhos"
 
-#: C/gtkmm-tutorial-in.xml:2002(para)
+#: C/gtkmm-tutorial-in.xml:2012(para)
 msgid ""
 "The <methodname>pack_start()</methodname> and <methodname>pack_end()</"
 "methodname> methods place widgets inside these containers. The "
 "<methodname>pack_start()</methodname> method will start at the top and work "
-"its way down in a <classname>VBox</classname>, or pack left to right in an "
-"<classname>HBox</classname>. <methodname>pack_end()</methodname> will do the "
-"opposite, packing from bottom to top in a <classname>VBox</classname>, or "
-"right to left in an <classname>HBox</classname>. Using these methods allows "
+"its way down in a <classname>Box</classname> with vertical orientation, or "
+"pack left to right in a <classname>Box</classname> with horizontal "
+"orientation. <methodname>pack_end()</methodname> will do the opposite, "
+"packing from bottom to top or from right to left. Using these methods allows "
 "us to right justify or left justify our widgets. We will use "
 "<methodname>pack_start()</methodname> in most of our examples."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2015(para)
+#: C/gtkmm-tutorial-in.xml:2024(para)
 msgid ""
 "There are several options governing how widgets are to be packed, and this "
 "can be confusing at first. If you have difficulties then it is sometimes a "
@@ -3038,90 +3241,99 @@ msgid ""
 "Builder</application> API to load your GUI at runtime."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2023(para)
+#: C/gtkmm-tutorial-in.xml:2032(para)
 msgid "There are basically five different styles, as shown in this picture:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2029(title)
+#: C/gtkmm-tutorial-in.xml:2038(title)
+#, fuzzy
 msgid "Box Packing 1"
-msgstr ""
+msgstr "Caixa de Embalagem 1"
 
-#: C/gtkmm-tutorial-in.xml:2035(para)
+#: C/gtkmm-tutorial-in.xml:2044(para)
 msgid ""
-"Each line contains one horizontal box (<classname>HBox</classname>) with "
-"several buttons. Each of the buttons on a line is packed into the "
-"<classname>HBox</classname> with the same arguments to the "
-"<methodname>pack_start()</methodname> method)."
+"Each line contains one horizontal <classname>Box</classname> with several "
+"buttons. Each of the buttons on a line is packed into the <classname>Box</"
+"classname> with the same arguments to the <methodname>pack_start()</"
+"methodname> method."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2042(para)
+#: C/gtkmm-tutorial-in.xml:2051(para)
 msgid ""
 "This is the declaration of the <methodname>pack_start()</methodname> method:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2045(programlisting)
+#: C/gtkmm-tutorial-in.xml:2054(programlisting)
 #, no-wrap
 msgid ""
 "void pack_start(Gtk::Widget&amp; child,\n"
-"                PackOptions options = PACK_EXPAND_WIDGET,\n"
+"                Gtk::PackOptions options = Gtk::PACK_EXPAND_WIDGET,\n"
 "                guint padding = 0);"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2049(para)
+#: C/gtkmm-tutorial-in.xml:2058(para)
 msgid ""
 "The first argument is the widget you're packing. In our example these are "
 "all <classname>Button</classname>s."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2056(para)
+#: C/gtkmm-tutorial-in.xml:2065(para)
 msgid ""
-"<literal>PACK_SHRINK</literal>: Space is contracted to the child widget "
+"<literal>Gtk::PACK_SHRINK</literal>: Space is contracted to the child widget "
 "size. The widget will take up just-enough space and never expand."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2057(para)
+#: C/gtkmm-tutorial-in.xml:2066(para)
 msgid ""
-"<literal>PACK_EXPAND_PADDING</literal>: Extra space is filled with padding. "
-"The widgets will be spaced out evenly, but their sizes won't change - there "
-"will be empty space between the widgets instead."
+"<literal>Gtk::PACK_EXPAND_PADDING</literal>: Extra space is filled with "
+"padding. The widgets will be spaced out evenly, but their sizes won't change "
+"- there will be empty space between the widgets instead."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2058(para)
+#: C/gtkmm-tutorial-in.xml:2067(para)
 msgid ""
-"<literal>PACK_EXPAND_WIDGET</literal>: Extra space is taken up by increasing "
-"the child widget size, without changing the amount of space between widgets."
+"<literal>Gtk::PACK_EXPAND_WIDGET</literal>: Extra space is taken up by "
+"increasing the child widget size, without changing the amount of space "
+"between widgets."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2053(para)
+#: C/gtkmm-tutorial-in.xml:2062(para)
 msgid ""
 "The <parameter>options</parameter> argument can take one of these three "
 "options: <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2062(para)
+#: C/gtkmm-tutorial-in.xml:2071(para)
 msgid ""
 "The <parameter>padding</parameter> argument specifies the width of an extra "
 "border area to leave around the packed widget."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2071(title)
+#: C/gtkmm-tutorial-in.xml:2080(title)
 msgid "Per-container packing options"
-msgstr ""
+msgstr "Opções de empacotamento por recipiente"
 
-#: C/gtkmm-tutorial-in.xml:2074(programlisting)
+#: C/gtkmm-tutorial-in.xml:2084(programlisting)
 #, no-wrap
-msgid "Gtk::Box(bool homogeneous = false, int spacing = 0);"
+msgid ""
+"Gtk::Box(Gtk::Orientation orientation = Gtk::ORIENTATION_HORIZONTAL, int spacing = 0);\n"
+"void set_spacing(int spacing);\n"
+"void set_homogeneous(bool homogeneous = true);"
 msgstr ""
+"Gtk::Box(Gtk::Orientation orientation = Gtk::ORIENTATION_HORIZONTAL, int spacing = 0);\n"
+"void set_spacing(int spacing);\n"
+"void set_homogeneous(bool homogeneous = true);"
 
-#: C/gtkmm-tutorial-in.xml:2072(para)
+#: C/gtkmm-tutorial-in.xml:2081(para)
 msgid ""
-"Here's the constructor for the box widgets: <placeholder-1/> Passing "
-"<literal>true</literal> for <parameter>homogeneous</parameter> will cause "
-"all of the contained widgets to be the same size. <parameter>spacing</"
+"Here's the constructor for the <classname>Box</classname> widget, and "
+"methods that set per-container packing options: <placeholder-1/> Passing "
+"<literal>true</literal> to <methodname>set_homogeneous()</methodname> will "
+"cause all of the contained widgets to be the same size. <parameter>spacing</"
 "parameter> is a (minimum) number of pixels to leave between each widget."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2081(para)
+#: C/gtkmm-tutorial-in.xml:2093(para)
 msgid ""
 "What's the difference between spacing (set when the box is created) and "
 "padding (set when elements are packed)? Spacing is added between objects, "
@@ -3129,65 +3341,117 @@ msgid ""
 "make it clearer:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2089(title)
+#: C/gtkmm-tutorial-in.xml:2101(title)
 msgid "Box Packing 2"
+msgstr "Caixa de embalagem 2"
+
+#: C/gtkmm-tutorial-in.xml:2111(title)
+msgid "Gtk::Application and command-line options"
+msgstr "Gtk::Application e opções de linha de comando"
+
+#: C/gtkmm-tutorial-in.xml:2112(para)
+msgid ""
+"The following example program requires a command-line option. The source "
+"code shows two ways of handling command-line options in combination with "
+"<classname>Gtk::Application</classname>."
+msgstr ""
+"O programa de exemplo a seguir exige uma opção de linha de comando. O código "
+"fonte mostra duas maneiras de lidar com linhas de comando em combinação com "
+"<classname>Gtk::Application</classname>."
+
+#: C/gtkmm-tutorial-in.xml:2118(para)
+msgid ""
+"Handle the options in <function>main()</function> and hide them from "
+"<classname>Gtk::Application</classname> by setting <literal>argc = 1</"
+"literal> in the call to <methodname>Gtk::Application::create()</methodname>."
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:2124(para)
+msgid ""
+"Give all command-line options to <methodname>Gtk::Application::create()</"
+"methodname> and add the flag <literal>Gio::APPLICATION_HANDLES_COMMAND_LINE</"
+"literal>. Connect a signal handler to the <literal>command_line</literal> "
+"signal, and handle the command-line options in the signal handler."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2100(para)
+#: C/gtkmm-tutorial-in.xml:2130(para)
+msgid ""
+"You must set the optional parameter <literal>after = false</literal> in the "
+"call to <literal>signal_command_line().connect()</literal>, because your "
+"signal handler must be called before the default signal handler. You must "
+"also call <methodname>Gio::Application::activate()</methodname> in the "
+"signal handler, unless you want your application to exit without showing its "
+"main window. (<classname>Gio::Application</classname> is a base class of "
+"<classname>Gtk::Application</classname>.)"
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:2143(para)
 msgid ""
 "Here is the source code for the example that produced the screenshots above. "
 "When you run this example, provide a number between 1 and 3 as a command-"
 "line option, to see different packing options in use."
 msgstr ""
+"Aqui está o código fonte para o exemplo que produziu as imagens acima. "
+"Quando você executar esse exemplo, fornecer um número entre 1 e 3 como uma "
+"opção de linha de comando, para ver diferentes opções de empacotamento em "
+"uso."
 
-#: C/gtkmm-tutorial-in.xml:2109(title)
+#: C/gtkmm-tutorial-in.xml:2152(title)
 msgid "ButtonBoxes"
-msgstr ""
+msgstr "Caixa de botões"
 
-#: C/gtkmm-tutorial-in.xml:2111(para)
+#: C/gtkmm-tutorial-in.xml:2154(para)
 msgid ""
 "Button boxes are a convenient way to quickly arrange a group of buttons. "
-"They come in both horizontal (<classname>Gtk::HButtonBox</classname>) and "
-"vertical (<classname>Gtk::VButtonBox</classname>) flavours. They are exactly "
-"alike, except in name and orientation."
+"Their orientation can be either horizontal or vertical."
 msgstr ""
+"Caixas de botões são uma forma conveniente de arranjar rapidamente um grupo "
+"de botões. Sua orientação pode ser horizontal ou vertical."
 
-#: C/gtkmm-tutorial-in.xml:2118(para)
+#: C/gtkmm-tutorial-in.xml:2159(para)
 msgid ""
 "<classname>ButtonBox</classname>es help to make applications appear "
 "consistent because they use standard settings, such as inter-button spacing "
 "and packing."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2123(para)
+#: C/gtkmm-tutorial-in.xml:2164(para)
 msgid ""
 "Buttons are added to a <classname>ButtonBox</classname> with the "
 "<methodname>add()</methodname> method."
 msgstr ""
+"Os botões são adicionados a um <classname>ButtonBox</classname> com o método "
+"<methodname>add()</methodname>."
 
-#: C/gtkmm-tutorial-in.xml:2128(para)
+#: C/gtkmm-tutorial-in.xml:2169(para)
 msgid ""
 "Button boxes support several layout styles. The style can be retrieved and "
 "changed using <methodname>get_layout()</methodname> and "
 "<methodname>set_layout()</methodname>."
 msgstr ""
+"Caixa de botões suportam varios estilos de layout. O estilo pode ser "
+"recuperado e alterado usando <methodname>get_layout()</methodname> and "
+"<methodname>set_layout()</methodname>."
 
-#: C/gtkmm-tutorial-in.xml:2140(title)
+#: C/gtkmm-tutorial-in.xml:2181(title)
 msgid "ButtonBox"
-msgstr ""
+msgstr "Caixa de botões"
 
-#: C/gtkmm-tutorial-in.xml:2153(title) C/gtkmm-tutorial-in.xml:2182(title)
+#: C/gtkmm-tutorial-in.xml:2194(title) C/gtkmm-tutorial-in.xml:2223(title)
 msgid "Grid"
-msgstr ""
+msgstr "Grade"
 
-#: C/gtkmm-tutorial-in.xml:2155(para)
+#: C/gtkmm-tutorial-in.xml:2196(para)
 msgid ""
 "A <classname>Grid</classname> dynamically lays out child widgets in rows and "
 "columns. The dimensions of the grid do not need to be specified in the "
 "constructor."
 msgstr ""
+"Uma <classname>Grid</classname> dinamicamente estabelece widgets filhos em "
+"linhas e colunas. As dimensões da grade não precisa ser especificado no "
+"construtor."
 
-#: C/gtkmm-tutorial-in.xml:2160(para)
+#: C/gtkmm-tutorial-in.xml:2201(para)
 msgid ""
 "Child widgets can span multiple rows or columns, using <methodname>attach()</"
 "methodname>, or added next to an existing widget inside the grid with "
@@ -3197,185 +3461,47 @@ msgid ""
 "<methodname>set_column_homogeneous()</methodname>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2167(para)
+#: C/gtkmm-tutorial-in.xml:2208(para)
 msgid ""
 "You can set the <emphasis>margin</emphasis> and <emphasis>expand</emphasis> "
 "properties of the child <classname>Widget</classname>s to control their "
 "spacing and their behaviour when the Grid is resized."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2174(para)
+#: C/gtkmm-tutorial-in.xml:2215(para)
 msgid ""
 "This example creates a window with three buttons in a grid. The first two "
 "buttons are in the upper row, from left to right. A third button is attached "
 "underneath the first button, in a new lower row, spanning two columns."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2195(title) C/gtkmm-tutorial-in.xml:2341(title)
+#: C/gtkmm-tutorial-in.xml:2236(title)
 msgid "Table"
-msgstr ""
-
-#: C/gtkmm-tutorial-in.xml:2197(para)
-msgid ""
-"Tables allows us to place widgets in a grid, similar to <classname>Gtk::"
-"Grid</classname>."
-msgstr ""
-
-#: C/gtkmm-tutorial-in.xml:2201(title)
-msgid "Constructor"
-msgstr ""
-
-#: C/gtkmm-tutorial-in.xml:2202(para)
-msgid "The grid's dimensions need to be specified in the constructor:"
-msgstr ""
-
-#: C/gtkmm-tutorial-in.xml:2205(programlisting)
-#, no-wrap
-msgid "Gtk::Table(int rows = 1, int columns = 1, bool homogeneous = false);"
-msgstr ""
-
-#: C/gtkmm-tutorial-in.xml:2207(para)
-msgid ""
-"The first argument is the number of rows to make in the table, while the "
-"second, obviously, is the number of columns. If <parameter>homogeneous</"
-"parameter> is <literal>true</literal>, the table cells will all be the same "
-"size (the size of the largest widget in the table)."
-msgstr ""
+msgstr "Tabela"
 
-#: C/gtkmm-tutorial-in.xml:2214(para)
+#: C/gtkmm-tutorial-in.xml:2238(para)
 msgid ""
-"The rows and columns are indexed starting at 0. If you specify "
-"<parameter>rows</parameter> = 2 and <parameter>columns</parameter> = 2, the "
-"layout would look something like this:"
+"<classname>Gtk::Table</classname> allows us to place widgets in a grid, "
+"similar to <classname>Gtk::Grid</classname>."
 msgstr ""
+"<classname>Gtk::Table</classname> nos permite colocar widgets em uma grade, "
+"semelhante à <classname>Gtk::Grid</classname>."
 
-#: C/gtkmm-tutorial-in.xml:2220(programlisting)
-#, no-wrap
-msgid ""
-"\n"
-" 0          1          2\n"
-"0+----------+----------+\n"
-" |          |          |\n"
-"1+----------+----------+\n"
-" |          |          |\n"
-"2+----------+----------+\n"
-msgstr ""
-
-#: C/gtkmm-tutorial-in.xml:2229(para)
-msgid "Note that the coordinate system starts in the upper left hand corner."
-msgstr ""
-
-#: C/gtkmm-tutorial-in.xml:2235(para)
-msgid "To place a widget into a box, use the following method:"
-msgstr ""
-
-#: C/gtkmm-tutorial-in.xml:2238(programlisting)
-#, no-wrap
+#: C/gtkmm-tutorial-in.xml:2242(para)
 msgid ""
-"void Gtk::Table::attach(Gtk::Widget&amp; child,\n"
-"                        guint left_attach, guint right_attach,\n"
-"                        guint top_attach, guint bottom_attach,\n"
-"                        guint xoptions = Gtk::FILL | Gtk::EXPAND,\n"
-"                        guint yoptions = Gtk::FILL | Gtk::EXPAND,\n"
-"                        guint xpadding = 0, guint ypadding = 0);"
+"<classname>Gtk::Table</classname> is deprecated from <application>gtkmm</"
+"application> version 3.4 and should not be used in newly-written code. Use "
+"<classname>Gtk::Grid</classname> instead."
 msgstr ""
+"<classname>Gtk::Table</classname> está obsoleto a partir da "
+"<application>gtkmm</application> versão 3.4 e não deve ser utilizado em "
+"códigos recentemente escritos. Ao invés use <classname>Gtk::Grid</classname>."
 
-#: C/gtkmm-tutorial-in.xml:2244(para)
-msgid "The first argument is the widget you wish to place in the table."
-msgstr ""
-
-#: C/gtkmm-tutorial-in.xml:2248(para)
-msgid ""
-"The <parameter>left_attach</parameter> and <parameter>right_attach</"
-"parameter> arguments specify where to place the widget, and how many boxes "
-"to use. For example, if you want a button in the lower-right cell of a 2 x 2 "
-"table, and want it to occupy that cell <emphasis>only</emphasis>, then "
-"<parameter>left_attach</parameter> would be 1, <parameter>right_attach</"
-"parameter> 2, <parameter>top_attach</parameter> 1, and "
-"<parameter>bottom_attach</parameter> 2. If, on the other hand, you wanted a "
-"widget to take up the entire top row of our 2 x 2 table, you'd set "
-"<parameter>left_attach</parameter> = 0, <parameter>right_attach</parameter> "
-"= 2, <parameter>top_attach</parameter> = 0, and <parameter>bottom_attach</"
-"parameter> = 1."
-msgstr ""
-
-#: C/gtkmm-tutorial-in.xml:2264(para)
-msgid ""
-"<parameter>xoptions</parameter> and <parameter>yoptions</parameter> are used "
-"to specify packing options and may be bitwise ORed together to allow "
-"multiple options. These options are:"
-msgstr ""
-
-#: C/gtkmm-tutorial-in.xml:2274(literal)
-msgid "Gtk::FILL"
-msgstr ""
-
-#: C/gtkmm-tutorial-in.xml:2276(para)
-msgid ""
-"If the table box is larger than the widget, and <literal>Gtk::FILL</literal> "
-"is specified, the widget will expand to use all the room available."
-msgstr ""
-
-#: C/gtkmm-tutorial-in.xml:2284(literal)
-msgid "Gtk::SHRINK"
-msgstr ""
-
-#: C/gtkmm-tutorial-in.xml:2286(para)
-msgid ""
-"If the table widget is allocated less space than it requested (because the "
-"user resized the window), then the widgets will normally just disappear off "
-"the bottom of the window. If <literal>Gtk::SHRINK</literal> is specified, "
-"the widgets will shrink with the table."
-msgstr ""
-
-#: C/gtkmm-tutorial-in.xml:2297(literal)
-msgid "Gtk::EXPAND"
-msgstr ""
-
-#: C/gtkmm-tutorial-in.xml:2299(para)
-msgid ""
-"This will cause the table to expand to use up anyremaining space in the "
-"window."
-msgstr ""
-
-#: C/gtkmm-tutorial-in.xml:2307(para)
-msgid ""
-"The padding arguments work just as they do for <methodname>pack_start()</"
-"methodname>."
-msgstr ""
-
-#: C/gtkmm-tutorial-in.xml:2313(title)
-msgid "Other methods"
-msgstr ""
-
-#: C/gtkmm-tutorial-in.xml:2315(para)
-msgid ""
-"<methodname>set_row_spacing()</methodname> and <methodname>set_col_spacing()"
-"</methodname> set the spacing between the rows at the specified row or "
-"column. Note that for columns, the space goes to the right of the column, "
-"and for rows, the space goes below the row."
-msgstr ""
-
-#: C/gtkmm-tutorial-in.xml:2322(para)
-msgid ""
-"You can also set a consistent spacing for all rows and/or columns with "
-"<methodname>set_row_spacings()</methodname> and <methodname>set_col_spacings"
-"()</methodname>. Note that with these calls, the last row and last column do "
-"not get any spacing."
-msgstr ""
-
-#: C/gtkmm-tutorial-in.xml:2334(para)
-msgid ""
-"In the following example, we make a window with three buttons in a 2 x 2 "
-"table. The first two buttons will be placed in the upper row. A third button "
-"is placed in the lower row, spanning both columns."
-msgstr ""
-
-#: C/gtkmm-tutorial-in.xml:2354(title) C/gtkmm-tutorial-in.xml:2389(title)
+#: C/gtkmm-tutorial-in.xml:2249(title) C/gtkmm-tutorial-in.xml:2284(title)
 msgid "Notebook"
-msgstr ""
+msgstr "Painel com abas"
 
-#: C/gtkmm-tutorial-in.xml:2356(para)
+#: C/gtkmm-tutorial-in.xml:2251(para)
 msgid ""
 "A <classname>Notebook</classname> has a set of stacked <literal>pages</"
 "literal>, each of which contains widgets. Labelled <literal>tabs</literal> "
@@ -3384,7 +3510,7 @@ msgid ""
 "page at a time. For instance, they are often used in preferences dialogs."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2365(para)
+#: C/gtkmm-tutorial-in.xml:2260(para)
 msgid ""
 "Use the <methodname>append_page()</methodname>, <methodname>prepend_page()</"
 "methodname> and <methodname>insert_page()</methodname> methods to add tabbed "
@@ -3392,7 +3518,7 @@ msgid ""
 "name for the tab."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2372(para)
+#: C/gtkmm-tutorial-in.xml:2267(para)
 msgid ""
 "To discover the currently visible page, use the <methodname>get_current_page"
 "()</methodname> method. This returns the page number, and then calling "
@@ -3400,17 +3526,19 @@ msgid ""
 "pointer to the actual child widget."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2379(para)
+#: C/gtkmm-tutorial-in.xml:2274(para)
 msgid ""
 "To programmatically change the selected page, use the "
 "<methodname>set_current_page()</methodname> method."
 msgstr ""
+"Para alterar programaticamente a página selecionada, use o método "
+"<methodname>set_current_page()</methodname>."
 
-#: C/gtkmm-tutorial-in.xml:2402(title) C/gtkmm-tutorial-in.xml:2429(title)
+#: C/gtkmm-tutorial-in.xml:2297(title) C/gtkmm-tutorial-in.xml:2324(title)
 msgid "Assistant"
-msgstr ""
+msgstr "Assistente"
 
-#: C/gtkmm-tutorial-in.xml:2404(para)
+#: C/gtkmm-tutorial-in.xml:2299(para)
 msgid ""
 "An <classname>Assistant</classname> splits a complex operation into steps. "
 "Each step is a page, containing a header, a child widget and an action area. "
@@ -3419,15 +3547,19 @@ msgid ""
 "<methodname>set_page_type()</methodname>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2408(para)
+#: C/gtkmm-tutorial-in.xml:2303(para)
 msgid ""
 "Use the <methodname>append_page()</methodname>, <methodname>prepend_page</"
 "methodname> and <methodname>insert_page()</methodname> methods to add pages "
 "to the <classname>Assistant</classname>, supplying the child widget for each "
 "page."
 msgstr ""
+"Use os métodos <methodname>append_page()</methodname>, "
+"<methodname>prepend_page</methodname> e <methodname>insert_page()</"
+"methodname> para adicionar páginas ao <classname>Assistant</classname>, "
+"fornecendo o widget filho para cada página."
 
-#: C/gtkmm-tutorial-in.xml:2412(para)
+#: C/gtkmm-tutorial-in.xml:2307(para)
 msgid ""
 "To determine the currently-visible page, use the <methodname>get_current_page"
 "()</methodname> method, and pass the result to <methodname>get_nth_page()</"
@@ -3436,36 +3568,47 @@ msgid ""
 "<methodname>set_current_page()</methodname> method."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2416(para)
+#: C/gtkmm-tutorial-in.xml:2311(para)
 msgid ""
 "To set the title of a page, use the <methodname>set_page_title()</"
 "methodname> method. The header and side images of a page can be set with the "
 "<methodname>set_page_header_image()</methodname> and "
 "<methodname>set_page_side_image()</methodname> methods."
 msgstr ""
+"Para definir o título de uma página, utilize o método "
+"<methodname>set_page_title()</methodname>. As imagens de cabeçalho e do lado "
+"de uma página pode ser definido com os métodos "
+"<methodname>set_page_header_image()</methodname> e "
+"<methodname>set_page_side_image()</methodname>."
 
-#: C/gtkmm-tutorial-in.xml:2420(para)
+#: C/gtkmm-tutorial-in.xml:2315(para)
 msgid ""
 "To add widgets to the action area, use the <methodname>add_action_widget()</"
 "methodname> method. They will be packed alongside the default buttons. Use "
 "the <methodname>remove_action_widget()</methodname> method to remove widgets."
 msgstr ""
+"Para adicionar widgets para a área de ação, usar o método "
+"<methodname>add_action_widget()</methodname>. Eles serão acondicionados ao "
+"lado dos botões padrão. Usar o método <methodname>remove_action_widget()</"
+"methodname> para remover widgets."
 
-#: C/gtkmm-tutorial-in.xml:2447(title)
+#: C/gtkmm-tutorial-in.xml:2342(title)
 msgid "The TreeView widget"
-msgstr ""
+msgstr "Widget de visualização em árvore"
 
-#: C/gtkmm-tutorial-in.xml:2448(para)
+#: C/gtkmm-tutorial-in.xml:2343(para)
 msgid ""
 "The <classname>Gtk::TreeView</classname> widget can contain lists or trees "
 "of data, in columns."
 msgstr ""
+"O widget <classname>Gtk::TreeView</classname> pode conter listas ou árvores "
+"de dados, em colunas."
 
-#: C/gtkmm-tutorial-in.xml:2454(title)
+#: C/gtkmm-tutorial-in.xml:2349(title)
 msgid "The Model"
-msgstr ""
+msgstr "Modelo"
 
-#: C/gtkmm-tutorial-in.xml:2455(para)
+#: C/gtkmm-tutorial-in.xml:2350(para)
 msgid ""
 "Each <classname>Gtk::TreeView</classname> has an associated <classname>Gtk::"
 "TreeModel</classname>, which contains the data displayed by the "
@@ -3477,46 +3620,51 @@ msgid ""
 "\"views\") might show different fields from the same database table."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2465(para)
+#: C/gtkmm-tutorial-in.xml:2360(para)
 msgid ""
 "Although you can theoretically implement your own Model, you will normally "
 "use either the <classname>ListStore</classname> or <classname>TreeStore</"
 "classname> model classes."
 msgstr ""
+"Embora você pode, teoricamente, implementar seu próprio modelo, normalmente "
+"você vai usar a classe modelo <classname>ListStore</classname> ou "
+"<classname>TreeStore</classname>."
 
-#: C/gtkmm-tutorial-in.xml:2474(title)
+#: C/gtkmm-tutorial-in.xml:2369(title)
+#, fuzzy
 msgid "ListStore, for rows"
-msgstr ""
+msgstr "ListStore, para linhas"
 
-#: C/gtkmm-tutorial-in.xml:2475(para)
+#: C/gtkmm-tutorial-in.xml:2370(para)
 msgid ""
 "The <classname>ListStore</classname> contains simple rows of data, and each "
 "row has no children."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2481(title) C/gtkmm-tutorial-in.xml:3025(title)
+#: C/gtkmm-tutorial-in.xml:2376(title) C/gtkmm-tutorial-in.xml:2920(title)
+#, fuzzy
 msgid "TreeView - ListStore"
-msgstr ""
+msgstr "TreeView - ListStore"
 
-#: C/gtkmm-tutorial-in.xml:2492(title)
+#: C/gtkmm-tutorial-in.xml:2387(title)
 msgid "TreeStore, for a hierarchy"
-msgstr ""
+msgstr "TreeStore, por hierarquia"
 
-#: C/gtkmm-tutorial-in.xml:2493(para)
+#: C/gtkmm-tutorial-in.xml:2388(para)
 msgid ""
 "The <classname>TreeStore</classname> contains rows of data, and each row may "
 "have child rows."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2499(title) C/gtkmm-tutorial-in.xml:3044(title)
+#: C/gtkmm-tutorial-in.xml:2394(title) C/gtkmm-tutorial-in.xml:2939(title)
 msgid "TreeView - TreeStore"
-msgstr ""
+msgstr "TreeView - TreeStore"
 
-#: C/gtkmm-tutorial-in.xml:2510(title)
+#: C/gtkmm-tutorial-in.xml:2405(title)
 msgid "Model Columns"
-msgstr ""
+msgstr "Modelo de colunas"
 
-#: C/gtkmm-tutorial-in.xml:2511(para)
+#: C/gtkmm-tutorial-in.xml:2406(para)
 msgid ""
 "The <classname>TreeModelColumnRecord</classname> class is used to keep track "
 "of the columns and their data types. You add <classname>TreeModelColumn</"
@@ -3527,7 +3675,7 @@ msgid ""
 "<classname>TreeModelColumn</classname> instances as member data."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2522(programlisting)
+#: C/gtkmm-tutorial-in.xml:2417(programlisting)
 #, no-wrap
 msgid ""
 "class ModelColumns : public Gtk::TreeModelColumnRecord\n"
@@ -3544,131 +3692,131 @@ msgid ""
 "ModelColumns m_Columns;"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2535(para)
+#: C/gtkmm-tutorial-in.xml:2430(para)
 msgid ""
 "You specify the <classname>ColumnRecord</classname> when creating the Model, "
 "like so:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2539(programlisting)
+#: C/gtkmm-tutorial-in.xml:2434(programlisting)
 #, no-wrap
 msgid ""
 "Glib::RefPtr&lt;Gtk::ListStore&gt; refListStore =\n"
 "    Gtk::ListStore::create(m_Columns);"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2541(para)
+#: C/gtkmm-tutorial-in.xml:2436(para)
 msgid ""
 "Note that the instance (such as m_Columns here) should usually not be "
 "static, because it often needs to be instantiated after glibmm has been "
 "instantiated."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2546(title)
+#: C/gtkmm-tutorial-in.xml:2441(title)
 msgid "Adding Rows"
-msgstr ""
+msgstr "Adicionando linhas"
 
-#: C/gtkmm-tutorial-in.xml:2547(para)
+#: C/gtkmm-tutorial-in.xml:2442(para)
 msgid ""
 "Add rows to the model with the <methodname>append()</methodname>, "
 "<methodname>prepend()</methodname>, or <methodname>insert()</methodname> "
 "methods."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2551(programlisting)
+#: C/gtkmm-tutorial-in.xml:2446(programlisting)
 #, no-wrap
 msgid "Gtk::TreeModel::iterator iter = m_refListStore-&gt;append();"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2552(para)
+#: C/gtkmm-tutorial-in.xml:2447(para)
 msgid "You can dereference the iterator to get the Row:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2554(programlisting)
+#: C/gtkmm-tutorial-in.xml:2449(programlisting)
 #, no-wrap
 msgid "Gtk::TreeModel::Row row = *iter;"
-msgstr ""
+msgstr "Gtk::TreeModel::Row row = *iter;"
 
-#: C/gtkmm-tutorial-in.xml:2555(title)
+#: C/gtkmm-tutorial-in.xml:2450(title)
 msgid "Adding child rows"
-msgstr ""
+msgstr "Adicionando linhas filhas"
 
-#: C/gtkmm-tutorial-in.xml:2556(para)
+#: C/gtkmm-tutorial-in.xml:2451(para)
 msgid ""
 "<classname>Gtk::TreeStore</classname> models can have child items. Add them "
 "with the <methodname>append()</methodname>, <methodname>prepend()</"
 "methodname>, or <methodname>insert()</methodname> methods, like so:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2561(programlisting)
+#: C/gtkmm-tutorial-in.xml:2456(programlisting)
 #, no-wrap
 msgid ""
 "Gtk::TreeModel::iterator iter_child =\n"
 "    m_refListStore-&gt;append(row.children());"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2568(title)
+#: C/gtkmm-tutorial-in.xml:2463(title)
 msgid "Setting values"
-msgstr ""
+msgstr "Ajustando valores"
 
-#: C/gtkmm-tutorial-in.xml:2569(para)
+#: C/gtkmm-tutorial-in.xml:2464(para)
 msgid ""
 "You can use the <methodname>operator[]</methodname> override to set the data "
 "for a particular column in the row, specifying the "
 "<classname>TreeModelColumn</classname> used to create the model."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2574(programlisting)
+#: C/gtkmm-tutorial-in.xml:2469(programlisting)
 #, no-wrap
 msgid "row[m_Columns.m_col_text] = \"sometext\";"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2578(title)
+#: C/gtkmm-tutorial-in.xml:2473(title)
 msgid "Getting values"
-msgstr ""
+msgstr "Obtenção de valores"
 
-#: C/gtkmm-tutorial-in.xml:2579(para)
+#: C/gtkmm-tutorial-in.xml:2474(para)
 msgid ""
 "You can use the <methodname>operator[]</methodname> override to get the data "
 "in a particular column in a row, specifiying the <classname>TreeModelColumn</"
 "classname> used to create the model."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2584(programlisting)
+#: C/gtkmm-tutorial-in.xml:2479(programlisting)
 #, no-wrap
 msgid ""
 "Glib::ustring strText = row[m_Columns.m_col_text];\n"
 "int number = row[m_Columns.m_col_number];"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2586(para)
+#: C/gtkmm-tutorial-in.xml:2481(para)
 msgid ""
 "The compiler will complain if you use an inappropriate type. For instance, "
 "this would generate a compiler error:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2590(programlisting)
+#: C/gtkmm-tutorial-in.xml:2485(programlisting)
 #, no-wrap
 msgid ""
 "//compiler error - no conversion from ustring to int.\n"
 "int number = row[m_Columns.m_col_text];"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2595(title)
+#: C/gtkmm-tutorial-in.xml:2490(title)
 msgid "\"Hidden\" Columns"
-msgstr ""
+msgstr "\"Ocultando\" colunas"
 
-#: C/gtkmm-tutorial-in.xml:2596(para)
+#: C/gtkmm-tutorial-in.xml:2491(para)
 msgid ""
 "You might want to associate extra data with each row. If so, just add it as "
 "a Model column, but don't add it to the View."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2605(title) C/gtkmm-tutorial-in.xml:3399(title)
+#: C/gtkmm-tutorial-in.xml:2500(title) C/gtkmm-tutorial-in.xml:3331(title)
 msgid "The View"
-msgstr ""
+msgstr "Visualização"
 
-#: C/gtkmm-tutorial-in.xml:2606(para)
+#: C/gtkmm-tutorial-in.xml:2501(para)
 msgid ""
 "The View is the actual widget (<classname>Gtk::TreeView</classname>) that "
 "displays the model (<classname>Gtk::TreeModel</classname>) data and allows "
@@ -3676,39 +3824,39 @@ msgid ""
 "or just some, and it can show them in various ways."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2616(title)
+#: C/gtkmm-tutorial-in.xml:2511(title)
 msgid "Using a Model"
-msgstr ""
+msgstr "Utilizando um modelo"
 
-#: C/gtkmm-tutorial-in.xml:2617(para)
+#: C/gtkmm-tutorial-in.xml:2512(para)
 msgid ""
 "You can specify a <classname>Gtk::TreeModel</classname> when constructing "
 "the <classname>Gtk::TreeView</classname>, or you can use the "
 "<methodname>set_model()</methodname> method, like so:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2622(programlisting)
+#: C/gtkmm-tutorial-in.xml:2517(programlisting)
 #, no-wrap
 msgid "m_TreeView.set_model(m_refListStore);"
-msgstr ""
+msgstr "m_TreeView.set_model(m_refListStore);"
 
-#: C/gtkmm-tutorial-in.xml:2626(title)
+#: C/gtkmm-tutorial-in.xml:2521(title)
 msgid "Adding View Columns"
-msgstr ""
+msgstr "Adicionando visualização em colunas"
 
-#: C/gtkmm-tutorial-in.xml:2627(para)
+#: C/gtkmm-tutorial-in.xml:2522(para)
 msgid ""
 "You can use the <methodname>append_column()</methodname> method to tell the "
 "View that it should display certain Model columns, in a certain order, with "
 "a certain column title."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2632(programlisting)
+#: C/gtkmm-tutorial-in.xml:2527(programlisting)
 #, no-wrap
 msgid "m_TreeView.append_column(\"Messages\", m_Columns.m_col_text);"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2633(para)
+#: C/gtkmm-tutorial-in.xml:2528(para)
 msgid ""
 "When using this simple <methodname>append_column()</methodname> override, "
 "the <classname>TreeView</classname> will display the model data with an "
@@ -3723,18 +3871,18 @@ msgid ""
 "as the column type instead."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2649(title)
+#: C/gtkmm-tutorial-in.xml:2544(title)
 msgid "More than one Model Column per View Column"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2650(para)
+#: C/gtkmm-tutorial-in.xml:2545(para)
 msgid ""
 "To render more than one model column in a view column, you need to create "
 "the <classname>TreeView::Column</classname> widget manually, and use "
 "<methodname>pack_start()</methodname> to add the model columns to it."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2656(para)
+#: C/gtkmm-tutorial-in.xml:2551(para)
 msgid ""
 "Then use <methodname>append_column()</methodname> to add the view Column to "
 "the View. Notice that <methodname>Gtk::View::append_column()</methodname> is "
@@ -3744,13 +3892,13 @@ msgid ""
 "widget."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2663(para)
+#: C/gtkmm-tutorial-in.xml:2558(para)
 msgid ""
 "Here is some example code from <filename>demos/gtk-demo/example_stockbrowser."
 "cc</filename>, which has a pixbuf icon and a text name in the same column:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2668(programlisting)
+#: C/gtkmm-tutorial-in.xml:2563(programlisting)
 #, no-wrap
 msgid ""
 "Gtk::TreeView::Column* pColumn =\n"
@@ -3764,11 +3912,11 @@ msgid ""
 "m_TreeView.append_column(*pColumn);"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2680(title)
+#: C/gtkmm-tutorial-in.xml:2575(title)
 msgid "Specifying CellRenderer details"
-msgstr ""
+msgstr "Especificando detalhes do renderizador de célula"
 
-#: C/gtkmm-tutorial-in.xml:2681(para)
+#: C/gtkmm-tutorial-in.xml:2576(para)
 msgid ""
 "The default <classname>CellRenderers</classname> and their default behaviour "
 "will normally suffice, but you might occasionally need finer control. For "
@@ -3778,7 +3926,7 @@ msgid ""
 "columns through various aspects of its appearance."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2689(programlisting)
+#: C/gtkmm-tutorial-in.xml:2584(programlisting)
 #, no-wrap
 msgid ""
 "Gtk::CellRendererToggle* pRenderer =\n"
@@ -3795,13 +3943,13 @@ msgid ""
 "      m_columns.world);"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2702(para)
+#: C/gtkmm-tutorial-in.xml:2597(para)
 msgid ""
 "You can also connect to <classname>CellRenderer</classname> signals to "
 "detect user actions. For instance:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2706(programlisting)
+#: C/gtkmm-tutorial-in.xml:2601(programlisting)
 #, no-wrap
 msgid ""
 "Gtk::CellRendererToggle* pRenderer =\n"
@@ -3812,15 +3960,15 @@ msgid ""
 ");"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2715(title) C/gtkmm-tutorial-in.xml:3054(title)
+#: C/gtkmm-tutorial-in.xml:2610(title) C/gtkmm-tutorial-in.xml:2949(title)
 msgid "Editable Cells"
-msgstr ""
+msgstr "Células editáveis"
 
-#: C/gtkmm-tutorial-in.xml:2718(title)
+#: C/gtkmm-tutorial-in.xml:2613(title)
 msgid "Automatically-stored editable cells."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2719(para)
+#: C/gtkmm-tutorial-in.xml:2614(para)
 msgid ""
 "Cells in a <classname>TreeView</classname> can be edited in-place by the "
 "user. To allow this, use the <classname>Gtk::TreeView</"
@@ -3833,18 +3981,18 @@ msgid ""
 "ustring</classname>, int, and long."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2733(title)
+#: C/gtkmm-tutorial-in.xml:2628(title)
 msgid "Implementing custom logic for editable cells."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2734(para)
+#: C/gtkmm-tutorial-in.xml:2629(para)
 msgid ""
 "However, you might not want the new values to be stored immediately. For "
 "instance, maybe you want to restrict the input to certain characters or "
 "ranges of values."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2739(para)
+#: C/gtkmm-tutorial-in.xml:2634(para)
 msgid ""
 "To achieve this, you should use the normal <classname>Gtk::TreeView</"
 "classname><methodname>insert_column()</methodname> and "
@@ -3853,31 +4001,31 @@ msgid ""
 "<classname>Gtk::CellRenderer</classname> used by that column."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2745(para)
+#: C/gtkmm-tutorial-in.xml:2640(para)
 msgid ""
 "You should then cast that <classname>Gtk::CellRenderer*</classname> to the "
 "specific <classname>CellRenderer</classname> that you expect, so you can use "
 "specific API."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2749(para)
+#: C/gtkmm-tutorial-in.xml:2644(para)
 msgid ""
 "For instance, for a CellRendererText, you would set the cell's "
 "<emphasis>editable</emphasis> property to true, like so:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2752(programlisting)
+#: C/gtkmm-tutorial-in.xml:2647(programlisting)
 #, no-wrap
 msgid "cell.property_editable() = true;"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2753(para)
+#: C/gtkmm-tutorial-in.xml:2648(para)
 msgid ""
 "For a CellRendererToggle, you would set the <emphasis>activatable</emphasis> "
 "property instead."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2757(para)
+#: C/gtkmm-tutorial-in.xml:2652(para)
 msgid ""
 "You can then connect to the appropriate \"edited\" signal. For instance, "
 "connect to <methodname>Gtk::CellRendererText::signal_edited()</methodname>, "
@@ -3888,17 +4036,17 @@ msgid ""
 "Column."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2765(para)
+#: C/gtkmm-tutorial-in.xml:2660(para)
 msgid ""
 "In your signal handler, you should examine the new value and then store it "
 "in the Model if that is appropriate for your application."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2777(title)
+#: C/gtkmm-tutorial-in.xml:2672(title)
 msgid "Iterating over Model Rows"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2778(para)
+#: C/gtkmm-tutorial-in.xml:2673(para)
 msgid ""
 "<classname>Gtk::TreeModel</classname> provides a C++ Standard Library-style "
 "container of its children, via the <methodname>children()</methodname> "
@@ -3906,7 +4054,7 @@ msgid ""
 "<methodname>end()</methodname> methods iterator incrementing, like so:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2784(programlisting)
+#: C/gtkmm-tutorial-in.xml:2679(programlisting)
 #, no-wrap
 msgid ""
 "typedef Gtk::TreeModel::Children type_children; //minimise code length.\n"
@@ -3919,16 +4067,16 @@ msgid ""
 "}"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2794(title)
+#: C/gtkmm-tutorial-in.xml:2689(title)
 msgid "Row children"
-msgstr ""
+msgstr "Linhas filhas"
 
-#: C/gtkmm-tutorial-in.xml:2799(programlisting)
+#: C/gtkmm-tutorial-in.xml:2694(programlisting)
 #, no-wrap
 msgid "Gtk::TreeModel::Children children = row.children();"
-msgstr ""
+msgstr "Gtk::TreeModel::Children children = row.children();"
 
-#: C/gtkmm-tutorial-in.xml:2795(para)
+#: C/gtkmm-tutorial-in.xml:2690(para)
 msgid ""
 "When using a <classname>Gtk::TreeStore</classname>, the rows can have child "
 "rows, which can have their own children in turn. Use <methodname>Gtk::"
@@ -3936,50 +4084,50 @@ msgid ""
 "<classname>Row</classname>s: <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2806(title)
+#: C/gtkmm-tutorial-in.xml:2701(title)
 msgid "The Selection"
-msgstr ""
+msgstr "Seleção"
 
-#: C/gtkmm-tutorial-in.xml:2807(para)
+#: C/gtkmm-tutorial-in.xml:2702(para)
 msgid ""
 "To find out what rows the user has selected, get the <classname>Gtk::"
 "TreeView::Selection</classname> object from the <classname>TreeView</"
 "classname>, like so:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2812(programlisting)
+#: C/gtkmm-tutorial-in.xml:2707(programlisting)
 #, no-wrap
 msgid ""
 "Glib::RefPtr&lt;Gtk::TreeSelection&gt; refTreeSelection =\n"
 "    m_TreeView.get_selection();"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2816(title)
+#: C/gtkmm-tutorial-in.xml:2711(title)
 msgid "Single or multiple selection"
-msgstr ""
+msgstr "Seleção única ou múltipla"
 
-#: C/gtkmm-tutorial-in.xml:2820(programlisting)
+#: C/gtkmm-tutorial-in.xml:2715(programlisting)
 #, no-wrap
 msgid "refTreeSelection-&gt;set_mode(Gtk::SELECTION_MULTIPLE);"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2817(para)
+#: C/gtkmm-tutorial-in.xml:2712(para)
 msgid ""
 "By default, only single rows can be selected, but you can allow multiple "
 "selection by setting the mode, like so: <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2825(title)
+#: C/gtkmm-tutorial-in.xml:2720(title)
 msgid "The selected rows"
-msgstr ""
+msgstr "As linhas selecionadas"
 
-#: C/gtkmm-tutorial-in.xml:2826(para)
+#: C/gtkmm-tutorial-in.xml:2721(para)
 msgid ""
 "For single-selection, you can just call <methodname>get_selected()</"
 "methodname>, like so:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2830(programlisting)
+#: C/gtkmm-tutorial-in.xml:2725(programlisting)
 #, no-wrap
 msgid ""
 "TreeModel::iterator iter = refTreeSelection-&gt;get_selected();\n"
@@ -3990,7 +4138,7 @@ msgid ""
 "}"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2837(para)
+#: C/gtkmm-tutorial-in.xml:2732(para)
 msgid ""
 "For multiple-selection, you need to define a callback, and give it to "
 "<methodname>selected_foreach()</methodname>, "
@@ -3998,7 +4146,7 @@ msgid ""
 "<methodname>selected_foreach_iter()</methodname>, like so:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2843(programlisting)
+#: C/gtkmm-tutorial-in.xml:2738(programlisting)
 #, no-wrap
 msgid ""
 "refTreeSelection-&gt;selected_foreach_iter(\n"
@@ -4012,17 +4160,17 @@ msgid ""
 "}"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2856(title)
+#: C/gtkmm-tutorial-in.xml:2751(title)
 msgid "The \"changed\" signal"
-msgstr ""
+msgstr "O sinal \"changed\""
 
-#: C/gtkmm-tutorial-in.xml:2857(para)
+#: C/gtkmm-tutorial-in.xml:2752(para)
 msgid ""
 "To respond to the user clicking on a row or range of rows, connect to the "
 "signal like so:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2861(programlisting)
+#: C/gtkmm-tutorial-in.xml:2756(programlisting)
 #, no-wrap
 msgid ""
 "refTreeSelection-&gt;signal_changed().connect(\n"
@@ -4030,36 +4178,36 @@ msgid ""
 ");"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2867(title)
+#: C/gtkmm-tutorial-in.xml:2762(title)
 msgid "Preventing row selection"
-msgstr ""
+msgstr "Impedindo a seleção de linhas"
 
-#: C/gtkmm-tutorial-in.xml:2868(para)
+#: C/gtkmm-tutorial-in.xml:2763(para)
 msgid ""
 "Maybe the user should not be able to select every item in your list or tree. "
 "For instance, in the gtk-demo, you can select a demo to see the source code, "
 "but it doesn't make any sense to select a demo category."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2873(para)
+#: C/gtkmm-tutorial-in.xml:2768(para)
 msgid ""
 "To control which rows can be selected, use the "
 "<methodname>set_select_function()</methodname> method, providing a "
 "<classname>sigc::slot</classname> callback. For instance:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2878(programlisting)
+#: C/gtkmm-tutorial-in.xml:2773(programlisting)
 #, no-wrap
 msgid ""
 "m_refTreeSelection-&gt;set_select_function( sigc::mem_fun(*this,\n"
 "    &amp;DemoWindow::select_function) );"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2880(para)
+#: C/gtkmm-tutorial-in.xml:2775(para)
 msgid "and then"
-msgstr ""
+msgstr "e, em seguida,"
 
-#: C/gtkmm-tutorial-in.xml:2883(programlisting)
+#: C/gtkmm-tutorial-in.xml:2778(programlisting)
 #, no-wrap
 msgid ""
 "bool DemoWindow::select_function(\n"
@@ -4071,17 +4219,17 @@ msgid ""
 "}"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2893(title)
+#: C/gtkmm-tutorial-in.xml:2788(title)
 msgid "Changing the selection"
-msgstr ""
+msgstr "Alterando a seleção"
 
-#: C/gtkmm-tutorial-in.xml:2894(para)
+#: C/gtkmm-tutorial-in.xml:2789(para)
 msgid ""
 "To change the selection, specify a <classname>Gtk::TreeModel::iterator</"
 "classname> or <classname>Gtk::TreeModel::Row</classname>, like so:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2899(programlisting)
+#: C/gtkmm-tutorial-in.xml:2794(programlisting)
 #, no-wrap
 msgid ""
 "Gtk::TreeModel::Row row = m_refModel-&gt;children()[5]; //The fifth row.\n"
@@ -4089,11 +4237,11 @@ msgid ""
 "  refTreeSelection-&gt;select(row);"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2902(para)
+#: C/gtkmm-tutorial-in.xml:2797(para)
 msgid "or"
-msgstr ""
+msgstr " ou "
 
-#: C/gtkmm-tutorial-in.xml:2905(programlisting)
+#: C/gtkmm-tutorial-in.xml:2800(programlisting)
 #, no-wrap
 msgid ""
 "Gtk::TreeModel::iterator iter = m_refModel-&gt;children().begin()\n"
@@ -4101,29 +4249,29 @@ msgid ""
 "  refTreeSelection-&gt;select(iter);"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2914(title)
+#: C/gtkmm-tutorial-in.xml:2809(title)
 msgid "Sorting"
-msgstr ""
+msgstr "Classificando"
 
-#: C/gtkmm-tutorial-in.xml:2915(para)
+#: C/gtkmm-tutorial-in.xml:2810(para)
 msgid ""
 "The standard tree models (<classname>TreeStore</classname> and "
-"<classname>ListStore</classname> derive from <classname>TreeSortable</"
+"<classname>ListStore</classname>) derive from <classname>TreeSortable</"
 "classname>, so they offer sorting functionality. For instance, call "
 "<methodname>set_sort_column()</methodname>, to sort the model by the "
 "specified column. Or supply a callback function to <methodname>set_sort_func"
 "()</methodname> to implement a more complicated sorting algorithm."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2919(ulink)
+#: C/gtkmm-tutorial-in.xml:2814(ulink)
 msgid "TreeSortable Reference"
-msgstr ""
+msgstr "Referência TreeSortable"
 
-#: C/gtkmm-tutorial-in.xml:2922(title)
+#: C/gtkmm-tutorial-in.xml:2817(title)
 msgid "Sorting by clicking on columns"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2923(para)
+#: C/gtkmm-tutorial-in.xml:2818(para)
 msgid ""
 "So that a user can click on a <classname>TreeView</classname>'s column "
 "header to sort the <classname>TreeView</classname>'s contents, call "
@@ -4132,7 +4280,7 @@ msgid ""
 "For instance:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2926(programlisting)
+#: C/gtkmm-tutorial-in.xml:2821(programlisting)
 #, no-wrap
 msgid ""
 "Gtk::TreeView::Column* pColumn = treeview.get_column(0);\n"
@@ -4140,11 +4288,11 @@ msgid ""
 "  pColumn-&gt;set_sort_column(m_columns.m_col_id);"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2932(title)
+#: C/gtkmm-tutorial-in.xml:2827(title)
 msgid "Independently sorted views of the same model"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2933(para)
+#: C/gtkmm-tutorial-in.xml:2828(para)
 msgid ""
 "The <classname>TreeView</classname> already allows you to show the same "
 "<classname>TreeModel</classname> in two <classname>TreeView</classname> "
@@ -4157,7 +4305,7 @@ msgid ""
 "<classname>TreeView</classname> like so:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2936(programlisting)
+#: C/gtkmm-tutorial-in.xml:2831(programlisting)
 #, no-wrap
 msgid ""
 "Glib::RefPtr&lt;Gtk::TreeModelSort&gt; sorted_model =\n"
@@ -4166,14 +4314,14 @@ msgid ""
 "treeview.set_model(sorted_model);"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2941(para)
+#: C/gtkmm-tutorial-in.xml:2836(para)
 msgid ""
 "Note, however, that the TreeView will provide iterators to the sorted model. "
 "You must convert them to iterators to the underlying child model in order to "
 "perform actions on that model. For instance:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2943(programlisting)
+#: C/gtkmm-tutorial-in.xml:2838(programlisting)
 #, no-wrap
 msgid ""
 "void ExampleWindow::on_button_delete()\n"
@@ -4194,17 +4342,17 @@ msgid ""
 "}"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2960(ulink)
+#: C/gtkmm-tutorial-in.xml:2855(ulink)
 msgid "TreeModelSort Reference"
-msgstr ""
+msgstr "Referência TreeModelSort"
 
-#: C/gtkmm-tutorial-in.xml:2966(title) C/gtkmm-tutorial-in.xml:3073(title)
-#: C/gtkmm-tutorial-in.xml:3705(title) C/gtkmm-tutorial-in.xml:4672(title)
-#: C/gtkmm-tutorial-in.xml:4834(title)
+#: C/gtkmm-tutorial-in.xml:2861(title) C/gtkmm-tutorial-in.xml:2968(title)
+#: C/gtkmm-tutorial-in.xml:3637(title) C/gtkmm-tutorial-in.xml:4675(title)
+#: C/gtkmm-tutorial-in.xml:4837(title)
 msgid "Drag and Drop"
-msgstr ""
+msgstr "Arrastar e soltar"
 
-#: C/gtkmm-tutorial-in.xml:2967(para)
+#: C/gtkmm-tutorial-in.xml:2862(para)
 msgid ""
 "<classname>Gtk::TreeView</classname> already implments simple drag-and-drop "
 "when used with the <classname>Gtk::ListStore</classname> or <classname>Gtk::"
@@ -4213,18 +4361,18 @@ msgid ""
 "<link linkend=\"chapter-draganddrop\">Drag and Drop</link> API."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2976(title)
+#: C/gtkmm-tutorial-in.xml:2871(title)
 msgid "Reorderable rows"
-msgstr ""
+msgstr "Linhas reordenáveis"
 
-#: C/gtkmm-tutorial-in.xml:2977(para)
+#: C/gtkmm-tutorial-in.xml:2872(para)
 msgid ""
 "If you call <methodname>Gtk::TreeView::set_reorderable()</methodname> then "
 "your TreeView's items can be moved within the treeview itself. This is "
 "demonstrated in the <classname>TreeStore</classname> example."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2982(para)
+#: C/gtkmm-tutorial-in.xml:2877(para)
 msgid ""
 "However, this does not allow you any control of which items can be dragged, "
 "and where they can be dropped. If you need that extra control then you might "
@@ -4233,19 +4381,19 @@ msgid ""
 "<literal>Gtk::TreeDragSource::row_draggable()</literal> and <literal>Gdk::"
 "TreeDragDest::row_drop_possible()</literal> virtual methods. You can examine "
 "the <literal>Gtk::TreeModel::Path</literal>s provided and allow or disallow "
-"dragging or dropping by return <literal>true</literal> or <literal>false</"
+"dragging or dropping by returning <literal>true</literal> or <literal>false</"
 "literal>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2983(para)
+#: C/gtkmm-tutorial-in.xml:2878(para)
 msgid "This is demonstrated in the drag_and_drop example."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2989(title) C/gtkmm-tutorial-in.xml:3095(title)
+#: C/gtkmm-tutorial-in.xml:2884(title) C/gtkmm-tutorial-in.xml:2990(title)
 msgid "Popup Context Menu"
-msgstr ""
+msgstr "Contexto de menu popup"
 
-#: C/gtkmm-tutorial-in.xml:2990(para)
+#: C/gtkmm-tutorial-in.xml:2885(para)
 msgid ""
 "Lots of people need to implement right-click context menus for "
 "<classname>TreeView</classname>'s so we will explain how to do that here to "
@@ -4254,11 +4402,11 @@ msgid ""
 "\">menus chapter</link>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:2999(title)
+#: C/gtkmm-tutorial-in.xml:2894(title)
 msgid "Handling <literal>button_press_event</literal>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3000(para)
+#: C/gtkmm-tutorial-in.xml:2895(para)
 msgid ""
 "To detect a click of the right mouse button, you need to handle the "
 "<literal>button_press_event</literal> signal, and check exactly which button "
@@ -4271,62 +4419,62 @@ msgid ""
 "first."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3010(para)
+#: C/gtkmm-tutorial-in.xml:2905(para)
 msgid "This is demonstrated in the Popup Custom Menu example."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3015(title) C/gtkmm-tutorial-in.xml:3466(title)
-#: C/gtkmm-tutorial-in.xml:3641(title) C/gtkmm-tutorial-in.xml:4983(title)
+#: C/gtkmm-tutorial-in.xml:2910(title) C/gtkmm-tutorial-in.xml:3398(title)
+#: C/gtkmm-tutorial-in.xml:3573(title) C/gtkmm-tutorial-in.xml:4992(title)
 msgid "Examples"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3017(title)
+#: C/gtkmm-tutorial-in.xml:2912(title)
 msgid "ListStore"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3018(para)
+#: C/gtkmm-tutorial-in.xml:2913(para)
 msgid ""
 "This example has a <classname>Gtk::TreeView</classname> widget, with a "
 "<classname>Gtk::ListStore</classname> model."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3035(title)
+#: C/gtkmm-tutorial-in.xml:2930(title)
 msgid "TreeStore"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3037(para)
+#: C/gtkmm-tutorial-in.xml:2932(para)
 msgid ""
 "This example is very similar to the <classname>ListStore</classname> "
 "example, but uses a <classname>Gtk::TreeStore</classname> model instead, and "
 "adds children to the rows."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3056(para)
+#: C/gtkmm-tutorial-in.xml:2951(para)
 msgid ""
 "This example is identical to the <classname>ListStore</classname> example, "
 "but it uses <methodname>TreeView::append_column_editable()</methodname> "
 "instead of <methodname>TreeView::append_column()</methodname>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3063(title)
+#: C/gtkmm-tutorial-in.xml:2958(title)
 msgid "TreeView - Editable Cells"
-msgstr ""
+msgstr "TreeView - Células editáveis"
 
-#: C/gtkmm-tutorial-in.xml:3075(para)
+#: C/gtkmm-tutorial-in.xml:2970(para)
 msgid ""
 "This example is much like the <classname>TreeStore</classname> example, but "
 "has 2 extra columns to indicate whether the row can be dragged, and whether "
 "it can receive drag-and-dropped rows. It uses a derived <classname>Gtk::"
 "TreeStore</classname> which overrides the virtual functions as described in "
 "the <link linkend=\"sec-treeview-draganddrop\">TreeView Drag and Drop</link> "
-"section.."
+"section."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3085(title)
+#: C/gtkmm-tutorial-in.xml:2980(title)
 msgid "TreeView - Drag And Drop"
-msgstr ""
+msgstr "TreeView - Arrastar e soltar"
 
-#: C/gtkmm-tutorial-in.xml:3097(para)
+#: C/gtkmm-tutorial-in.xml:2992(para)
 msgid ""
 "This example is much like the <classname>ListStore</classname> example, but "
 "derives a custom <classname>TreeView</classname> in order to override the "
@@ -4335,26 +4483,26 @@ msgid ""
 "contextmenu\">TreeView Popup Context Menu</link> section."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3107(title)
+#: C/gtkmm-tutorial-in.xml:3002(title)
 msgid "TreeView - Popup Context Menu"
-msgstr ""
+msgstr "TreeView - Contexto de menu popup"
 
-#: C/gtkmm-tutorial-in.xml:3124(title)
+#: C/gtkmm-tutorial-in.xml:3019(title)
 msgid "Combo Boxes"
-msgstr ""
+msgstr "Caixa de combinação"
 
-#: C/gtkmm-tutorial-in.xml:3126(para)
+#: C/gtkmm-tutorial-in.xml:3021(para)
 msgid ""
-"The <classname>ComboBox</classname> widgets offers a list (or tree) of "
+"The <classname>ComboBox</classname> widget offers a list (or tree) of "
 "choices in a dropdown menu. If appropriate, it can show extra information "
 "about each item, such as text, a picture, a checkbox, or a progress bar. The "
 "<classname>ComboBox</classname> widget usually restricts the user to the "
 "available choices, but it can optionally have an <classname>Entry</"
-"classname>, allowing the user to enter arbitrary text if the none of the "
+"classname>, allowing the user to enter arbitrary text if none of the "
 "available choices are suitable."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3129(para)
+#: C/gtkmm-tutorial-in.xml:3024(para)
 msgid ""
 "The list is provided via a <classname>TreeModel</classname>, and columns "
 "from this model are added to the ComboBox's view with the "
@@ -4364,18 +4512,18 @@ msgid ""
 "flexibility is not required."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3135(title)
+#: C/gtkmm-tutorial-in.xml:3030(title)
 msgid "The model"
-msgstr ""
+msgstr "O modelo"
 
-#: C/gtkmm-tutorial-in.xml:3136(para)
+#: C/gtkmm-tutorial-in.xml:3031(para)
 msgid ""
 "The model for a ComboBox can be defined and filled exactly as for a "
 "<classname>TreeView</classname>. For instance, you might derive a ComboBox "
-"class with one integer and one text columns, like so:"
+"class with one integer and one text column, like so:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3138(programlisting)
+#: C/gtkmm-tutorial-in.xml:3033(programlisting)
 #, no-wrap
 msgid ""
 "ModelColumns()\n"
@@ -4388,12 +4536,12 @@ msgid ""
 "ModelColumns m_columns;"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3147(para)
+#: C/gtkmm-tutorial-in.xml:3042(para)
 msgid ""
 "After appending rows to this model, you should provide the model to the "
 "<classname>ComboBox</classname> with the <methodname>set_model()</"
 "methodname> method. Then use the <methodname>pack_start()</methodname> or "
-"<methodname>pack_end()</methodname> methods to specify what methods will be "
+"<methodname>pack_end()</methodname> methods to specify what columns will be "
 "displayed in the ComboBox. As with the TreeView you may either use the "
 "default cell renderer by passing the <classname>TreeModelColumn</classname> "
 "to the pack methods, or you may instantiate a specific "
@@ -4403,11 +4551,11 @@ msgid ""
 "in the <classname>CellLayout</classname> base class."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3151(title)
+#: C/gtkmm-tutorial-in.xml:3046(title)
 msgid "The chosen item"
-msgstr ""
+msgstr "O item escolhido"
 
-#: C/gtkmm-tutorial-in.xml:3152(para)
+#: C/gtkmm-tutorial-in.xml:3047(para)
 msgid ""
 "To discover what item, if any, the user has chosen from the ComboBox, call "
 "<methodname>ComboBox::get_active()</methodname>. This returns a "
@@ -4418,7 +4566,7 @@ msgid ""
 "instance:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3154(programlisting)
+#: C/gtkmm-tutorial-in.xml:3049(programlisting)
 #, no-wrap
 msgid ""
 "Gtk::TreeModel::iterator iter = m_Combo.get_active();\n"
@@ -4435,95 +4583,143 @@ msgid ""
 "  set_nothing_chosen(); //Your own function."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3169(title)
+#: C/gtkmm-tutorial-in.xml:3064(title) C/gtkmm-tutorial-in.xml:3120(title)
 msgid "Responding to changes"
-msgstr ""
+msgstr "Respondendo as mudanças"
 
-#: C/gtkmm-tutorial-in.xml:3170(para)
+#: C/gtkmm-tutorial-in.xml:3065(para)
 msgid ""
 "You might need to react to every change of selection in the ComboBox, for "
-"instance to update other widgets. To do so, you should handle the \"changed"
-"\" signal. For instance:"
+"instance to update other widgets. To do so, you should handle the "
+"<literal>changed</literal> signal. For instance:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3173(programlisting)
+#: C/gtkmm-tutorial-in.xml:3068(programlisting)
 #, no-wrap
 msgid ""
 "m_combo.signal_changed().connect( sigc::mem_fun(*this,\n"
 "      &amp;ExampleWindow::on_combo_changed) );"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3177(title) C/gtkmm-tutorial-in.xml:3224(title)
+#: C/gtkmm-tutorial-in.xml:3072(title) C/gtkmm-tutorial-in.xml:3156(title)
 msgid "Full Example"
-msgstr ""
+msgstr "Exemplo completo"
 
-#: C/gtkmm-tutorial-in.xml:3180(title) C/gtkmm-tutorial-in.xml:3193(title)
+#: C/gtkmm-tutorial-in.xml:3075(title)
 msgid "ComboBox"
-msgstr ""
+msgstr "Caixa de combinação"
 
-#: C/gtkmm-tutorial-in.xml:3190(title) C/gtkmm-tutorial-in.xml:3237(title)
+#: C/gtkmm-tutorial-in.xml:3085(title) C/gtkmm-tutorial-in.xml:3169(title)
 msgid "Simple Text Example"
+msgstr "Exemplo de texto simples"
+
+#: C/gtkmm-tutorial-in.xml:3088(title)
+msgid "ComboBoxText"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3204(title)
+#: C/gtkmm-tutorial-in.xml:3099(title)
 msgid "ComboBox with an Entry"
-msgstr ""
+msgstr "ComboBox com uma entrada"
 
-#: C/gtkmm-tutorial-in.xml:3206(para)
+#: C/gtkmm-tutorial-in.xml:3101(para)
 msgid ""
 "A <classname>ComboBox</classname> may contain an <classname>Entry</"
-"classname> widget for entering of arbitrary text, by specifying true for the "
-"constructor's <literal>has_entry</literal> parameter."
+"classname> widget for entering of arbitrary text, by specifying "
+"<literal>true</literal> for the constructor's <literal>has_entry</literal> "
+"parameter."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3209(title)
+#: C/gtkmm-tutorial-in.xml:3104(title)
 msgid "The text column"
-msgstr ""
+msgstr "A coluna de texto"
 
-#: C/gtkmm-tutorial-in.xml:3211(programlisting)
+#: C/gtkmm-tutorial-in.xml:3106(programlisting)
 #, no-wrap
-msgid "m_combo.set_text_column(m_columns.m_col_name);"
+msgid "m_combo.set_entry_text_column(m_columns.m_col_name);"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3210(para)
+#: C/gtkmm-tutorial-in.xml:3105(para)
 msgid ""
-"So that the Entry can interact with the drop-down list of choices, you must "
-"specify which of your model columns is the text column, with "
-"<methodname>set_text_column()</methodname>. For instance: <placeholder-1/>"
+"So that the <classname>Entry</classname> can interact with the drop-down "
+"list of choices, you must specify which of your model columns is the text "
+"column, with <methodname>set_entry_text_column()</methodname>. For instance: "
+"<placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3213(para)
+#: C/gtkmm-tutorial-in.xml:3108(para)
 msgid ""
 "When you select a choice from the drop-down menu, the value from this column "
 "will be placed in the <classname>Entry</classname>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3219(title)
+#: C/gtkmm-tutorial-in.xml:3114(title)
 msgid "The entry"
-msgstr ""
+msgstr "Entrada"
 
-#: C/gtkmm-tutorial-in.xml:3220(para)
+#: C/gtkmm-tutorial-in.xml:3115(para)
 msgid ""
 "Because the user may enter arbitrary text, an active model row isn't enough "
-"to tell us what text the user has inputted. Therefore, you should retrieve "
-"the <classname>Entry</classname> widget with the <methodname>ComboBoxEntry::"
+"to tell us what text the user has entered. Therefore, you should retrieve "
+"the <classname>Entry</classname> widget with the <methodname>ComboBox::"
 "get_entry()</methodname> method and call <methodname>get_text()</methodname> "
 "on that."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3227(title)
-msgid "ComboBoxEntry"
+#: C/gtkmm-tutorial-in.xml:3129(programlisting)
+#, no-wrap
+msgid ""
+"Gtk::Entry* entry = m_Combo.get_entry();\n"
+"if (entry)\n"
+"{\n"
+"  // The Entry shall receive focus-out events.\n"
+"  entry-&gt;add_events(Gdk::FOCUS_CHANGE_MASK);\n"
+"\n"
+"  // Alternatively you can connect to m_Combo.signal_changed().\n"
+"  entry-&gt;signal_changed().connect(sigc::mem_fun(*this,\n"
+"    &amp;ExampleWindow::on_entry_changed) );\n"
+"\n"
+"  entry-&gt;signal_activate().connect(sigc::mem_fun(*this,\n"
+"    &amp;ExampleWindow::on_entry_activate) );\n"
+"\n"
+"  entry-&gt;signal_focus_out_event().connect(sigc::mem_fun(*this,\n"
+"    &amp;ExampleWindow::on_entry_focus_out_event) );\n"
+"}"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3240(title)
-msgid "ComboBoxEntryText"
+#: C/gtkmm-tutorial-in.xml:3121(para)
+msgid ""
+"When the user enters arbitrary text, it may not be enough to connect to the "
+"<literal>changed</literal> signal, which is emitted for every typed "
+"character. It is not emitted when the user presses the Enter key. Pressing "
+"the Enter key or moving the keyboard focus to another widget may signal that "
+"the user has finished entering text. To be notified of these events, connect "
+"to the <classname>Entry</classname>'s <literal>activate</literal> and "
+"<literal>focus_out_event</literal> signals, like so <placeholder-1/> The "
+"<literal>changed</literal> signals of <classname>ComboBox</classname> and "
+"<classname>Entry</classname> are both emitted for every change. It doesn't "
+"matter which one you connect to. But only <classname>Entry</classname>'s "
+"<literal>focus_out_event</literal> signal is useful here."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3259(title) C/gtkmm-tutorial-in.xml:3471(title)
+#: C/gtkmm-tutorial-in.xml:3150(para)
+msgid ""
+"X events are described in more detail in the <link linkend=\"sec-"
+"xeventsignals\">X Event signals</link> section in the appendix."
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:3159(title)
+msgid "ComboBox with Entry"
+msgstr "Caixa de combinação com entrada"
+
+#: C/gtkmm-tutorial-in.xml:3172(title)
+msgid "ComboBoxText with Entry"
+msgstr "ComboBoxText com uma entrada"
+
+#: C/gtkmm-tutorial-in.xml:3191(title) C/gtkmm-tutorial-in.xml:3403(title)
 msgid "TextView"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3260(para)
+#: C/gtkmm-tutorial-in.xml:3192(para)
 msgid ""
 "The <classname>TextView</classname> widget can be used to display and edit "
 "large amounts of formatted text. Like the <classname>TreeView</classname>, "
@@ -4531,11 +4727,11 @@ msgid ""
 "classname> is the model."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3268(title)
+#: C/gtkmm-tutorial-in.xml:3200(title)
 msgid "The Buffer"
-msgstr ""
+msgstr "O Buffer"
 
-#: C/gtkmm-tutorial-in.xml:3269(para)
+#: C/gtkmm-tutorial-in.xml:3201(para)
 msgid ""
 "<classname>Gtk::TextBuffer</classname> is a model containing the data for "
 "the <classname>Gtk::TextView</classname>, like the <classname>Gtk::"
@@ -4547,26 +4743,26 @@ msgid ""
 "different times in the same <classname>Gtk::TextView</classname> widget."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3279(para)
+#: C/gtkmm-tutorial-in.xml:3211(para)
 msgid ""
 "The <classname>TextView</classname> creates its own default "
 "<classname>TextBuffer</classname>, which you can access via the "
 "<methodname>get_buffer()</methodname> method."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3288(title)
+#: C/gtkmm-tutorial-in.xml:3220(title)
 msgid "Iterators"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3294(title)
+#: C/gtkmm-tutorial-in.xml:3226(title)
 msgid "Tags and Formatting"
-msgstr ""
+msgstr "Etiquetas e formatação"
 
-#: C/gtkmm-tutorial-in.xml:3297(title)
+#: C/gtkmm-tutorial-in.xml:3229(title)
 msgid "Tags"
-msgstr ""
+msgstr "Etiquetas"
 
-#: C/gtkmm-tutorial-in.xml:3298(para)
+#: C/gtkmm-tutorial-in.xml:3230(para)
 msgid ""
 "To specify that some text in the buffer should have specific formatting, you "
 "must define a tag to hold that formatting information, and then apply that "
@@ -4574,7 +4770,7 @@ msgid ""
 "properties:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3301(programlisting)
+#: C/gtkmm-tutorial-in.xml:3233(programlisting)
 #, no-wrap
 msgid ""
 "Glib::RefPtr&lt;Gtk::TextBuffer::Tag&gt; refTagMatch =\n"
@@ -4582,21 +4778,21 @@ msgid ""
 "refTagMatch-&gt;property_background() = \"orange\";"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3304(para)
+#: C/gtkmm-tutorial-in.xml:3236(para)
 msgid ""
 "You can specify a name for the <classname>Tag</classname> when using the "
 "<methodname>create()</methodname> method, but it is not necessary."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3309(para)
+#: C/gtkmm-tutorial-in.xml:3241(para)
 msgid "The <classname>Tag</classname> class has many other properties."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3318(title)
+#: C/gtkmm-tutorial-in.xml:3250(title)
 msgid "TagTable"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3320(para)
+#: C/gtkmm-tutorial-in.xml:3252(para)
 msgid ""
 "Each <classname>Gtk::TextBuffer</classname> uses a <classname>Gtk::"
 "TextBuffer::TagTable</classname>, which contains the <classname>Tag</"
@@ -4606,7 +4802,7 @@ msgid ""
 "classname>. For instance:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3328(programlisting)
+#: C/gtkmm-tutorial-in.xml:3260(programlisting)
 #, no-wrap
 msgid ""
 "Glib::RefPtr&lt;Gtk::TextBuffer::TagTable&gt; refTagTable =\n"
@@ -4618,18 +4814,18 @@ msgid ""
 "    Gtk::TextBuffer::create(refTagTable);"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3336(para)
+#: C/gtkmm-tutorial-in.xml:3268(para)
 msgid ""
 "You can also use <methodname>get_tag_table()</methodname> to get, and maybe "
 "modify, the <classname>TextBuffer</classname>'s default <classname>TagTable</"
 "classname> instead of creating one explicitly."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3347(title)
+#: C/gtkmm-tutorial-in.xml:3279(title)
 msgid "Applying Tags"
-msgstr ""
+msgstr "Aplicando etiquetas"
 
-#: C/gtkmm-tutorial-in.xml:3348(para)
+#: C/gtkmm-tutorial-in.xml:3280(para)
 msgid ""
 "If you have created a <classname>Tag</classname> and added it to the "
 "<classname>TagTable</classname>, you may apply that tag to part of the "
@@ -4638,18 +4834,18 @@ msgid ""
 "specifying <classname>Gtk::TextBuffer::iterator</classname>s. For instance:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3355(programlisting)
+#: C/gtkmm-tutorial-in.xml:3287(programlisting)
 #, no-wrap
 msgid "refBuffer-&gt;apply_tag(refTagMatch, iterRangeStart, iterRangeStop);"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3356(para)
+#: C/gtkmm-tutorial-in.xml:3288(para)
 msgid ""
 "Or you could specify the tag when first inserting the text: refBuffer-&gt;"
 "insert_with_tag(iter, \"Some text\", refTagMatch);"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3361(para)
+#: C/gtkmm-tutorial-in.xml:3293(para)
 msgid ""
 "You can apply more than one <classname>Tag</classname> to the same text, by "
 "using <methodname>apply_tag()</methodname> more than once, or by using "
@@ -4658,31 +4854,31 @@ msgid ""
 "these conflicts by using <methodname>Tag::set_priority()</methodname>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3373(title)
+#: C/gtkmm-tutorial-in.xml:3305(title)
 msgid "Marks"
-msgstr ""
+msgstr "Marcas"
 
-#: C/gtkmm-tutorial-in.xml:3374(para)
+#: C/gtkmm-tutorial-in.xml:3306(para)
 msgid ""
 "<classname>TextBuffer</classname> iterators are generally invalidated when "
 "the text changes, but you can use a <classname>Gtk::TextBuffer::Mark</"
 "classname> to remember a position in these situations. For instance,"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3379(programlisting)
+#: C/gtkmm-tutorial-in.xml:3311(programlisting)
 #, no-wrap
 msgid ""
 "Glib::RefPtr&lt;Gtk::TextBuffer::Mark&gt; refMark =\n"
 "    refBuffer-&gt;create_mark(iter);"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3382(para)
+#: C/gtkmm-tutorial-in.xml:3314(para)
 msgid ""
 "You can then use the <methodname>get_iter()</methodname> method later to "
 "create an iterator for the <classname>Mark</classname>'s new position."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3387(para)
+#: C/gtkmm-tutorial-in.xml:3319(para)
 msgid ""
 "There are two built-in <classname>Mark</classname>s - <literal>insert</"
 "literal> and <literal>select_bound</literal>, which you can access with "
@@ -4690,14 +4886,14 @@ msgid ""
 "and <methodname>get_selection_bound()</methodname> methods."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3400(para)
+#: C/gtkmm-tutorial-in.xml:3332(para)
 msgid ""
 "As mentioned above, each <classname>TextView</classname> has a "
 "<classname>TextBuffer</classname>, and one or more <classname>TextView</"
 "classname> can share the same <classname>TextBuffer</classname>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3407(para)
+#: C/gtkmm-tutorial-in.xml:3339(para)
 msgid ""
 "Like the <classname>TreeView</classname>, you should probably put your "
 "<classname>TextView</classname> inside a <classname>ScrolledWindow</"
@@ -4705,11 +4901,11 @@ msgid ""
 "scrollbars."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3417(title)
+#: C/gtkmm-tutorial-in.xml:3349(title)
 msgid "Default formatting"
-msgstr ""
+msgstr "Formatação padrão"
 
-#: C/gtkmm-tutorial-in.xml:3418(para)
+#: C/gtkmm-tutorial-in.xml:3350(para)
 msgid ""
 "<classname>TextView</classname> has various methods which allow you to "
 "change the presentation of the buffer for this particular view. Some of "
@@ -4719,11 +4915,11 @@ msgid ""
 "methodname>, <methodname>set_indent()</methodname>, etc."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3429(title)
+#: C/gtkmm-tutorial-in.xml:3361(title)
 msgid "Scrolling"
-msgstr ""
+msgstr "Deslocamento"
 
-#: C/gtkmm-tutorial-in.xml:3430(para)
+#: C/gtkmm-tutorial-in.xml:3362(para)
 msgid ""
 "<classname>Gtk::TextView</classname> has various <methodname>scroll_to_*()</"
 "methodname> methods. These allow you to ensure that a particular part of the "
@@ -4732,11 +4928,12 @@ msgid ""
 "found text."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3445(title)
+#: C/gtkmm-tutorial-in.xml:3377(title)
+#, fuzzy
 msgid "Widgets and ChildAnchors"
-msgstr ""
+msgstr "Widgets e ChildAnchors"
 
-#: C/gtkmm-tutorial-in.xml:3446(para)
+#: C/gtkmm-tutorial-in.xml:3378(para)
 msgid ""
 "You can embed widgets, such as <classname>Gtk::Button</classname>s, in the "
 "text. Each such child widget needs a <classname>ChildAnchor</classname>. "
@@ -4745,39 +4942,39 @@ msgid ""
 "<methodname>Gtk::TextBuffer::create_child_anchor()</methodname>:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3453(programlisting)
+#: C/gtkmm-tutorial-in.xml:3385(programlisting)
 #, no-wrap
 msgid ""
 "Glib::RefPtr&lt;Gtk::TextChildAnchor&gt; refAnchor =\n"
 "    refBuffer-&gt;create_child_anchor(iter);"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3456(para)
+#: C/gtkmm-tutorial-in.xml:3388(para)
 msgid ""
 "Then, to add a widget at that position, use <methodname>Gtk::TextView::"
 "add_child_at_anchor()</methodname>:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3460(programlisting)
+#: C/gtkmm-tutorial-in.xml:3392(programlisting)
 #, no-wrap
 msgid "m_TextView.add_child_at_anchor(m_Button, refAnchor);"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3486(title)
+#: C/gtkmm-tutorial-in.xml:3418(title)
 msgid "Menus and Toolbars"
-msgstr ""
+msgstr "Menus e barras de ferramentas"
 
-#: C/gtkmm-tutorial-in.xml:3488(para)
+#: C/gtkmm-tutorial-in.xml:3420(para)
 msgid ""
 "There are specific APIs for Menus and toolbars, but you should usually deal "
 "with them together, using the <classname>UIManager</classname> to define "
-"<classname>Action</classname>s which you can then arrange in menu and "
+"<classname>Action</classname>s which you can then arrange in menus and "
 "toolbars. In this way you can handle activation of the action instead of "
 "responding to the menu and toolbar items separately. And you can enable or "
 "disable both the menu and toolbar item via the action."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3496(para)
+#: C/gtkmm-tutorial-in.xml:3428(para)
 msgid ""
 "This involves the use of the <classname>Gtk::ActionGroup</classname>, "
 "<classname>Gtk::Action</classname>, and <classname>UIManager</classname> "
@@ -4785,18 +4982,18 @@ msgid ""
 "methodname> methods, which return <classname>RefPtr</classname>s."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3505(title)
+#: C/gtkmm-tutorial-in.xml:3437(title)
 msgid "Actions"
-msgstr ""
+msgstr "Ações"
 
-#: C/gtkmm-tutorial-in.xml:3506(para)
+#: C/gtkmm-tutorial-in.xml:3438(para)
 msgid ""
 "First create the <classname>Action</classname>s and add them to an "
 "<classname>ActionGroup</classname>, with <methodname>ActionGroup::add()</"
 "methodname>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3512(para)
+#: C/gtkmm-tutorial-in.xml:3444(para)
 msgid ""
 "The arguments to <methodname>Action::create()</methodname> specify the "
 "action's name and how it will appear in menus and toolbars. Use stock items "
@@ -4804,22 +5001,22 @@ msgid ""
 "icon, and tooltips, and so you can use pre-existing translations."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3518(para)
+#: C/gtkmm-tutorial-in.xml:3450(para)
 msgid ""
 "You can also specify a signal handler when calling <methodname>ActionGroup::"
 "add()</methodname>. This signal handler will be called when the action is "
 "activated via either a menu item or a toolbar button."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3523(para)
+#: C/gtkmm-tutorial-in.xml:3455(para)
 msgid "Note that you must specify actions for sub menus as well as menu items."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3525(para)
+#: C/gtkmm-tutorial-in.xml:3457(para)
 msgid "For instance:"
-msgstr ""
+msgstr "Por exemplo:"
 
-#: C/gtkmm-tutorial-in.xml:3527(programlisting)
+#: C/gtkmm-tutorial-in.xml:3459(programlisting)
 #, no-wrap
 msgid ""
 "m_refActionGroup = Gtk::ActionGroup::create();\n"
@@ -4833,7 +5030,7 @@ msgid ""
 "  sigc::mem_fun(*this, &amp;ExampleWindow::on_action_file_quit) );"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3537(para)
+#: C/gtkmm-tutorial-in.xml:3469(para)
 msgid ""
 "Note that this is where we specify the names of the actions as they will be "
 "seen by users in menus and toolbars. Therefore, this is where you should "
@@ -4841,11 +5038,11 @@ msgid ""
 "the Gtk::Stock items, of course, translations are automatically available."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3542(title)
+#: C/gtkmm-tutorial-in.xml:3474(title)
 msgid "UIManager"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3543(para)
+#: C/gtkmm-tutorial-in.xml:3475(para)
 msgid ""
 "Next you should create a <classname>UIManager</classname> and add the "
 "<classname>ActionGroup</classname> to the <classname>UIManager</classname> "
@@ -4854,11 +5051,11 @@ msgid ""
 "shortcuts, by using <methodname>add_accel_group()</methodname>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3551(para) C/gtkmm-tutorial-in.xml:4901(para)
+#: C/gtkmm-tutorial-in.xml:3483(para) C/gtkmm-tutorial-in.xml:4913(para)
 msgid "For instance,"
-msgstr ""
+msgstr "Por exemplo,"
 
-#: C/gtkmm-tutorial-in.xml:3553(programlisting)
+#: C/gtkmm-tutorial-in.xml:3485(programlisting)
 #, no-wrap
 msgid ""
 "Glib::RefPtr&lt;Gtk::UIManager&gt; m_refUIManager =\n"
@@ -4867,7 +5064,7 @@ msgid ""
 "add_accel_group(m_refUIManager-&gt;get_accel_group());"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3557(para)
+#: C/gtkmm-tutorial-in.xml:3489(para)
 msgid ""
 "Then, you can define the actual visible layout of the menus and toolbars, "
 "and add the UI layout to the <classname>UIManager</classname>. This \"ui "
@@ -4875,7 +5072,7 @@ msgid ""
 "actions that you have already created. For instance:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3563(programlisting)
+#: C/gtkmm-tutorial-in.xml:3495(programlisting)
 #, no-wrap
 msgid ""
 "Glib::ustring ui_info =\n"
@@ -4902,7 +5099,7 @@ msgid ""
 "m_refUIManager-&gt;add_ui_from_string(ui_info);"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3586(para)
+#: C/gtkmm-tutorial-in.xml:3518(para)
 msgid ""
 "Remember that these names are just the identifiers that we used when "
 "creating the actions. They are not the text that the user will see in the "
@@ -4910,7 +5107,7 @@ msgid ""
 "the actions."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3587(para)
+#: C/gtkmm-tutorial-in.xml:3519(para)
 msgid ""
 "To instantiate a <classname>Gtk::MenuBar</classname> or <classname>Gtk::"
 "Toolbar</classname> which you can actually show, you should use the "
@@ -4918,18 +5115,18 @@ msgid ""
 "widget to a container. For instance:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3593(programlisting)
+#: C/gtkmm-tutorial-in.xml:3525(programlisting)
 #, no-wrap
 msgid ""
 "Gtk::Widget* pMenubar = m_refUIManager-&gt;get_widget(\"/MenuBar\");\n"
 "pBox-&gt;add(*pMenuBar, Gtk::PACK_SHRINK);"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3599(title)
+#: C/gtkmm-tutorial-in.xml:3531(title)
 msgid "Popup Menus"
-msgstr ""
+msgstr "Menus popup"
 
-#: C/gtkmm-tutorial-in.xml:3600(para)
+#: C/gtkmm-tutorial-in.xml:3532(para)
 msgid ""
 "<classname>Menus</classname> are normally just added to a window, but they "
 "can also be displayed temporarily as the result of a mouse button click. For "
@@ -4937,13 +5134,13 @@ msgid ""
 "mouse button."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3607(para)
+#: C/gtkmm-tutorial-in.xml:3539(para)
 msgid ""
 "The UI layout for a popup menu should use the <literal>popup</literal> node. "
 "For instance:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3609(programlisting)
+#: C/gtkmm-tutorial-in.xml:3541(programlisting)
 #, no-wrap
 msgid ""
 "Glib::ustring ui_info =\n"
@@ -4958,7 +5155,7 @@ msgid ""
 "m_refUIManager-&gt;add_ui_from_string(ui_info);"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3620(para)
+#: C/gtkmm-tutorial-in.xml:3552(para)
 msgid ""
 "To show the popup menu, use <classname>Gtk::Menu</classname>'s "
 "<methodname>popup()</methodname> method, providing the button identifier and "
@@ -4966,7 +5163,7 @@ msgid ""
 "literal> signal, which you will need to handle anyway. For instance:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3626(programlisting)
+#: C/gtkmm-tutorial-in.xml:3558(programlisting)
 #, no-wrap
 msgid ""
 "bool ExampleWindow::on_button_press_event(GdkEventButton* event)\n"
@@ -4982,27 +5179,27 @@ msgid ""
 "}"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3643(title)
+#: C/gtkmm-tutorial-in.xml:3575(title)
 msgid "Main Menu example"
-msgstr ""
+msgstr "Exemplo de menu principal"
 
-#: C/gtkmm-tutorial-in.xml:3646(title)
+#: C/gtkmm-tutorial-in.xml:3578(title)
 msgid "Main Menu"
-msgstr ""
+msgstr "Menu principal"
 
-#: C/gtkmm-tutorial-in.xml:3656(title)
+#: C/gtkmm-tutorial-in.xml:3588(title)
 msgid "Popup Menu example"
-msgstr ""
+msgstr "Exemplo de menu popup"
 
-#: C/gtkmm-tutorial-in.xml:3659(title)
+#: C/gtkmm-tutorial-in.xml:3591(title)
 msgid "Popup Menu"
-msgstr ""
+msgstr "Menu popup"
 
-#: C/gtkmm-tutorial-in.xml:3674(title) C/gtkmm-tutorial-in.xml:3715(title)
+#: C/gtkmm-tutorial-in.xml:3606(title) C/gtkmm-tutorial-in.xml:3647(title)
 msgid "ToolPalette"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3676(para)
+#: C/gtkmm-tutorial-in.xml:3608(para)
 msgid ""
 "A <classname>ToolPalette</classname> is similar to a <classname>Toolbar</"
 "classname> but can contain a grid of items, categorized into groups. The "
@@ -5010,7 +5207,7 @@ msgid ""
 "displayed as only icons, as only text, or as icons with text."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3678(para)
+#: C/gtkmm-tutorial-in.xml:3610(para)
 msgid ""
 "The <classname>ToolPalette</classname>'s items might be dragged or simply "
 "activated. For instance, the user might drag objects to a canvas to create "
@@ -5018,14 +5215,14 @@ msgid ""
 "size in a drawing application."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3679(para)
+#: C/gtkmm-tutorial-in.xml:3611(para)
 msgid ""
 "<classname>ToolItemGroup</classname>s should be added to the tool pallete "
 "via the base class's <function>Gtk::Container::add()</function> method, for "
 "instance like so:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3682(programlisting)
+#: C/gtkmm-tutorial-in.xml:3614(programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -5034,13 +5231,13 @@ msgid ""
 "m_ToolPalette.add(*group_brushes);\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3688(para)
+#: C/gtkmm-tutorial-in.xml:3620(para)
 msgid ""
 "<classname>Gtk::ToolItem</classname>s can then be added to the group. For "
 "instance, like so:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3692(programlisting)
+#: C/gtkmm-tutorial-in.xml:3624(programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -5049,7 +5246,7 @@ msgid ""
 "group_brushes-&gt;insert(*button);\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3698(para)
+#: C/gtkmm-tutorial-in.xml:3630(para)
 msgid ""
 "You might then handle the <classname>ToolButton</classname>'s "
 "<literal>clicked</literal> signal. Alternatively, you could allow the item "
@@ -5059,19 +5256,22 @@ msgid ""
 "<literal>drag_data_received</literal> signal handler."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3700(ulink)
+#: C/gtkmm-tutorial-in.xml:3632(ulink)
+#, fuzzy
 msgid "ToolPalette Reference"
-msgstr ""
+msgstr "Referência ToolPalette"
 
-#: C/gtkmm-tutorial-in.xml:3701(ulink)
+#: C/gtkmm-tutorial-in.xml:3633(ulink)
+#, fuzzy
 msgid "ToolItemGroup Reference"
-msgstr ""
+msgstr "Referência ToolItemGroup"
 
-#: C/gtkmm-tutorial-in.xml:3702(ulink)
+#: C/gtkmm-tutorial-in.xml:3634(ulink)
+#, fuzzy
 msgid "ToolItem Reference"
-msgstr ""
+msgstr "Referência ToolItem"
 
-#: C/gtkmm-tutorial-in.xml:3706(para)
+#: C/gtkmm-tutorial-in.xml:3638(para)
 msgid ""
 "Call <methodname>add_drag_dest()</methodname> to allow items or groups to be "
 "dragged from the tool palette to a particular destination widget. You can "
@@ -5082,17 +5282,18 @@ msgid ""
 "to add a dropped item, or to show a suitable icon while dragging."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3707(para)
+#: C/gtkmm-tutorial-in.xml:3639(para)
 msgid ""
 "See the <link linkend=\"chapter-draganddrop\">Drag and Drop</link> chapter "
 "for general advice about Drag and Drop with gtkmm."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3710(title)
+#: C/gtkmm-tutorial-in.xml:3642(title)
+#, fuzzy
 msgid "ToolPalette Example"
-msgstr ""
+msgstr "Exemplo de ToolPalette"
 
-#: C/gtkmm-tutorial-in.xml:3712(para)
+#: C/gtkmm-tutorial-in.xml:3644(para)
 msgid ""
 "This example adds a <classname>ToolPalette</classname> and a "
 "<classname>DrawingArea</classname> to a window and allows the user to drag "
@@ -5101,11 +5302,11 @@ msgid ""
 "and orientation of the tool palette."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3728(title)
+#: C/gtkmm-tutorial-in.xml:3660(title)
 msgid "Adjustments"
-msgstr ""
+msgstr "Ajustes"
 
-#: C/gtkmm-tutorial-in.xml:3730(para)
+#: C/gtkmm-tutorial-in.xml:3662(para)
 msgid ""
 "<application>gtkmm</application> has various widgets that can be visually "
 "adjusted using the mouse or the keyboard, such as the <classname>Range</"
@@ -5116,7 +5317,7 @@ msgid ""
 "objects that express this common part of their API."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3740(para)
+#: C/gtkmm-tutorial-in.xml:3672(para)
 msgid ""
 "So that applications can react to changes, for instance when a user moves a "
 "scrollbar, <classname>Gtk::Adjustment</classname> has a <literal>changed</"
@@ -5124,15 +5325,15 @@ msgid ""
 "method to discover the new value."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3748(title)
+#: C/gtkmm-tutorial-in.xml:3680(title)
 msgid "Creating an Adjustment"
-msgstr ""
+msgstr "Criando um ajuste"
 
-#: C/gtkmm-tutorial-in.xml:3750(para)
+#: C/gtkmm-tutorial-in.xml:3682(para)
 msgid "The <classname>Gtk::Adjustment</classname> constructor is as follows:"
-msgstr ""
+msgstr "O construtor <classname>Gtk::Adjustment</classname> é como se segue:"
 
-#: C/gtkmm-tutorial-in.xml:3754(programlisting)
+#: C/gtkmm-tutorial-in.xml:3686(programlisting)
 #, no-wrap
 msgid ""
 "Gtk::Adjustment(float value,\n"
@@ -5143,7 +5344,7 @@ msgid ""
 "                float page_size = 0);"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3761(para)
+#: C/gtkmm-tutorial-in.xml:3693(para)
 msgid ""
 "The <parameter>value</parameter> argument is the initial value of the "
 "adjustment, usually corresponding to the topmost or leftmost position of an "
@@ -5158,23 +5359,26 @@ msgid ""
 "panning widget's child."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3780(title)
+#: C/gtkmm-tutorial-in.xml:3712(title)
 msgid "Using Adjustments the Easy Way"
-msgstr ""
+msgstr "Usando ajustes o caminho fácil"
 
-#: C/gtkmm-tutorial-in.xml:3782(para)
+#: C/gtkmm-tutorial-in.xml:3714(para)
 msgid ""
 "The adjustable widgets can be roughly divided into those which use and "
 "require specific units for these values, and those which treat them as "
 "arbitrary numbers."
 msgstr ""
+"Os widgets ajustáveis ​​podem ser grosseiramente divididos naqueles que usam e "
+"requerem unidades específicas para estes valores, e aqueles que tratá-los "
+"como números arbitrários."
 
-#: C/gtkmm-tutorial-in.xml:3787(para)
+#: C/gtkmm-tutorial-in.xml:3719(para)
 msgid ""
 "The group which treats the values as arbitrary numbers includes the "
-"<classname>Range</classname> widgets (<classname>Scrollbars</classname> and "
-"<classname>Scales</classname>, the <classname>Progressbar</classname> "
-"widget, and the <classname>SpinButton</classname> widget). These widgets are "
+"<classname>Range</classname> widgets (<classname>Scrollbar</classname> and "
+"<classname>Scale</classname>), the <classname>ScaleButton</classname> "
+"widget, and the <classname>SpinButton</classname> widget. These widgets are "
 "typically \"adjusted\" directly by the user with the mouse or keyboard. They "
 "will treat the <parameter>lower</parameter> and <parameter>upper</parameter> "
 "values of an adjustment as a range within which the user can manipulate the "
@@ -5182,7 +5386,7 @@ msgid ""
 "the <parameter>value</parameter> of an adjustment."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3799(para)
+#: C/gtkmm-tutorial-in.xml:3731(para)
 msgid ""
 "The other group includes the <classname>Viewport</classname> widget and the "
 "<classname>ScrolledWindow</classname> widget. All of these widgets use pixel "
@@ -5192,27 +5396,31 @@ msgid ""
 "this particular category of widgets create its own adjustments."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3808(para)
+#: C/gtkmm-tutorial-in.xml:3740(para)
 msgid ""
 "If you share an adjustment object between a Scrollbar and a TextView widget, "
 "manipulating the scrollbar will automagically adjust the TextView widget. "
 "You can set it up like this:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3813(programlisting)
+#: C/gtkmm-tutorial-in.xml:3745(programlisting)
 #, no-wrap
 msgid ""
 "// creates its own adjustments\n"
 "Gtk::TextView textview;\n"
 "// uses the newly-created adjustment for the scrollbar as well\n"
-"Gtk::VScrollbar vscrollbar (*(textview.get_vadjustment()));"
+"Gtk::Scrollbar vscrollbar (textview.get_vadjustment(), Gtk::ORIENTATION_VERTICAL);"
 msgstr ""
+"// cria seus próprios ajustes\n"
+"Gtk::TextView textview;\n"
+"// usa o ajuste recém-criado para a barra de rolagem assim\n"
+"Gtk::Scrollbar vscrollbar (textview.get_vadjustment(), Gtk::ORIENTATION_VERTICAL);"
 
-#: C/gtkmm-tutorial-in.xml:3821(title)
+#: C/gtkmm-tutorial-in.xml:3753(title)
 msgid "Adjustment Internals"
-msgstr ""
+msgstr "Ajustamento interno"
 
-#: C/gtkmm-tutorial-in.xml:3823(para)
+#: C/gtkmm-tutorial-in.xml:3755(para)
 msgid ""
 "OK, you say, that's nice, but what if I want to create my own handlers to "
 "respond when the user adjusts a <classname>Range</classname> widget or a "
@@ -5221,7 +5429,7 @@ msgid ""
 "and <methodname>set_value()</methodname> methods:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3831(para)
+#: C/gtkmm-tutorial-in.xml:3763(para)
 msgid ""
 "As mentioned earlier, <classname>Gtk::Adjustment</classname> can emit "
 "signals. This is, of course, how updates happen automatically when you share "
@@ -5231,14 +5439,14 @@ msgid ""
 "signal, as can your program."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3840(para)
+#: C/gtkmm-tutorial-in.xml:3772(para)
 msgid ""
 "So, for example, if you have a <classname>Scale</classname> widget, and you "
 "want to change the rotation of a picture whenever its value changes, you "
 "would create a signal handler like this:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3845(programlisting)
+#: C/gtkmm-tutorial-in.xml:3777(programlisting)
 #, no-wrap
 msgid ""
 "void cb_rotate_picture (Gtk::Widget *picture)\n"
@@ -5246,19 +5454,25 @@ msgid ""
 "  picture-&gt;set_rotation (adj-&gt;value);\n"
 "..."
 msgstr ""
+"void cb_rotate_picture (Gtk::Widget *picture)\n"
+"{\n"
+"  picture-&gt;set_rotation (adj-&gt;value);\n"
+"..."
 
-#: C/gtkmm-tutorial-in.xml:3849(para)
+#: C/gtkmm-tutorial-in.xml:3781(para)
 msgid "and connect it to the scale widget's adjustment like this:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3852(programlisting)
+#: C/gtkmm-tutorial-in.xml:3784(programlisting)
 #, no-wrap
 msgid ""
 "adj.value_changed.connect(sigc::bind&lt;Widget*&gt;(sigc::mem_fun(*this,\n"
 "    &amp;cb_rotate_picture), picture));"
 msgstr ""
+"adj.value_changed.connect(sigc::bind&lt;Widget*&gt;(sigc::mem_fun(*this,\n"
+"    &amp;cb_rotate_picture), picture));"
 
-#: C/gtkmm-tutorial-in.xml:3855(para)
+#: C/gtkmm-tutorial-in.xml:3787(para)
 msgid ""
 "What if a widget reconfigures the <parameter>upper</parameter> or "
 "<parameter>lower</parameter> fields of its <classname>Adjustment</"
@@ -5266,7 +5480,7 @@ msgid ""
 "case, it emits the <literal>changed</literal> signal."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3862(para)
+#: C/gtkmm-tutorial-in.xml:3794(para)
 msgid ""
 "<classname>Range</classname> widgets typically connect a handler to this "
 "signal, which changes their appearance to reflect the change - for example, "
@@ -5275,22 +5489,22 @@ msgid ""
 "<parameter>upper</parameter> values of its <classname>Adjustment</classname>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3871(para)
+#: C/gtkmm-tutorial-in.xml:3803(para)
 msgid ""
 "You probably won't ever need to attach a handler to this signal, unless "
 "you're writing a new type of range widget."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3875(programlisting)
+#: C/gtkmm-tutorial-in.xml:3807(programlisting)
 #, no-wrap
 msgid "adjustment-&gt;changed();"
-msgstr ""
+msgstr "adjustment-&gt;changed();"
 
-#: C/gtkmm-tutorial-in.xml:3882(title)
+#: C/gtkmm-tutorial-in.xml:3814(title)
 msgid "Widgets Without X-Windows"
-msgstr ""
+msgstr "Widgets sem X-Windows"
 
-#: C/gtkmm-tutorial-in.xml:3884(para)
+#: C/gtkmm-tutorial-in.xml:3816(para)
 msgid ""
 "Some Widgets do not have an associated X-Window, so they therefore do not "
 "receive X events. This means that the signals described in the <link linkend="
@@ -5300,11 +5514,11 @@ msgid ""
 "linkend=\"sec-eventbox\">EventBox</link> section."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3893(para)
+#: C/gtkmm-tutorial-in.xml:3825(para)
 msgid "Here is a list of some of these Widgets:"
-msgstr ""
+msgstr "Aqui está uma lista de alguns desses Widgets:"
 
-#: C/gtkmm-tutorial-in.xml:3896(programlisting)
+#: C/gtkmm-tutorial-in.xml:3828(programlisting)
 #, no-wrap
 msgid ""
 "Gtk::Alignment\n"
@@ -5326,33 +5540,54 @@ msgid ""
 "Gtk::Range\n"
 "Gtk::ScrolledWindow\n"
 "Gtk::Separator\n"
-"Gtk::Table\n"
+"Gtk::Table (deprecated from <application>gtkmm</application> version 3.4)\n"
 "Gtk::Toolbar"
 msgstr ""
+"Gtk::Alignment\n"
+"Gtk::Arrow\n"
+"Gtk::AspectFrame\n"
+"Gtk::Bin\n"
+"Gtk::Box\n"
+"Gtk::Button\n"
+"Gtk::CheckButton\n"
+"Gtk::Fixed\n"
+"Gtk::Frame\n"
+"Gtk::Grid\n"
+"Gtk::Image\n"
+"Gtk::Label\n"
+"Gtk::MenuItem\n"
+"Gtk::Notebook\n"
+"Gtk::Paned\n"
+"Gtk::RadioButton\n"
+"Gtk::Range\n"
+"Gtk::ScrolledWindow\n"
+"Gtk::Separator\n"
+"Gtk::Table (obsoleta a partir da <application>gtkmm</application> versão 3.4)\n"
+"Gtk::Toolbar"
 
-#: C/gtkmm-tutorial-in.xml:3918(para)
+#: C/gtkmm-tutorial-in.xml:3850(para)
 msgid ""
 "These widgets are mainly used for decoration or layout, so you won't often "
 "need to capture events on them. They are intended to have no X-Window in "
 "order to improve performance."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3924(title) C/gtkmm-tutorial-in.xml:3968(title)
+#: C/gtkmm-tutorial-in.xml:3856(title) C/gtkmm-tutorial-in.xml:3900(title)
 msgid "EventBox"
-msgstr ""
+msgstr "EventBox"
 
-#: C/gtkmm-tutorial-in.xml:3926(para)
+#: C/gtkmm-tutorial-in.xml:3858(para)
 msgid ""
 "Some <application>gtkmm</application> widgets don't have associated X "
 "windows; they draw on their parents' windows. Because of this, they cannot "
 "receive events. Also, if they are incorrectly sized, they don't clip, so you "
 "can get messy overwriting etc. To receive events on one of these widgets, "
-"you can it inside an <classname>EventBox</classname> widget and then call "
-"<methodname>Gtk::Widget::set_events()</methodname> on the EventBox before "
-"showing it."
+"you can place it inside an <classname>EventBox</classname> widget and then "
+"call <methodname>Gtk::Widget::set_events()</methodname> on the EventBox "
+"before showing it."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3934(para)
+#: C/gtkmm-tutorial-in.xml:3866(para)
 msgid ""
 "Although the name <classname>EventBox</classname> emphasises the event-"
 "handling method, the widget can also be used for clipping (and more; see the "
@@ -5362,26 +5597,28 @@ msgstr ""
 #. <para>TODO: Why don't they have X Windows - explain clipping.
 #. Also, how does this affect platform such as Windows and MacOS that don't use X.
 #. </para>
-#: C/gtkmm-tutorial-in.xml:3944(para)
+#: C/gtkmm-tutorial-in.xml:3876(para)
 msgid "The constructor for <classname>Gtk::EventBox</classname> is:"
-msgstr ""
+msgstr "O construtor para <classname>Gtk::EventBox</classname> é:"
 
-#: C/gtkmm-tutorial-in.xml:3948(programlisting)
+#: C/gtkmm-tutorial-in.xml:3880(programlisting)
 #, no-wrap
 msgid "Gtk::EventBox();"
-msgstr ""
+msgstr "Gtk::EventBox();"
 
-#: C/gtkmm-tutorial-in.xml:3950(para)
+#: C/gtkmm-tutorial-in.xml:3882(para)
 msgid ""
 "A child widget can be added to the <classname>EventBox</classname> using:"
 msgstr ""
+"Um elemento filho pode ser adicionado a <classname>Caixa de Evento</"
+"classname> usando:"
 
-#: C/gtkmm-tutorial-in.xml:3954(programlisting)
+#: C/gtkmm-tutorial-in.xml:3886(programlisting)
 #, no-wrap
 msgid "event_box.add(child_widget);"
-msgstr ""
+msgstr "event_box.add(child_widget);"
 
-#: C/gtkmm-tutorial-in.xml:3960(para)
+#: C/gtkmm-tutorial-in.xml:3892(para)
 msgid ""
 "The following example demonstrates both uses of an <classname>EventBox</"
 "classname> - a label is created that is clipped to a small box, and set up "
@@ -5389,11 +5626,11 @@ msgid ""
 "window reveals varying amounts of the label."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3982(title)
+#: C/gtkmm-tutorial-in.xml:3914(title)
 msgid "Dialogs"
-msgstr ""
+msgstr "Caixas de diálogo"
 
-#: C/gtkmm-tutorial-in.xml:3984(para)
+#: C/gtkmm-tutorial-in.xml:3916(para)
 msgid ""
 "Dialogs are used as secondary windows, to provide specific information or to "
 "ask questions. <classname>Gtk::Dialog</classname> windows contain a few pre-"
@@ -5401,7 +5638,7 @@ msgid ""
 "method which blocks until the user dismisses the dialog."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3991(para)
+#: C/gtkmm-tutorial-in.xml:3923(para)
 msgid ""
 "There are several derived <classname>Dialog</classname> classes which you "
 "might find useful. <classname>Gtk::MessageDialog</classname> is used for "
@@ -5409,7 +5646,7 @@ msgid ""
 "own dialog class to provide more complex functionality."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:3998(para)
+#: C/gtkmm-tutorial-in.xml:3930(para)
 msgid ""
 "To pack widgets into a custom dialog, you should pack them into the "
 "<classname>Gtk::Box</classname>, available via <methodname>get_content_area()"
@@ -5418,20 +5655,20 @@ msgid ""
 "</methodname> method."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4006(para)
+#: C/gtkmm-tutorial-in.xml:3938(para)
 msgid ""
 "The <methodname>run()</methodname> method returns an <literal>int</literal>. "
 "This may be a value from the <literal>Gtk::ResponseType</literal> if the "
-"user closed the button by clicking a standard button, or it could be the "
+"user closed the dialog by clicking a standard button, or it could be the "
 "custom response value that you specified when using <methodname>add_button()"
 "</methodname>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4015(title) C/gtkmm-tutorial-in.xml:4030(title)
+#: C/gtkmm-tutorial-in.xml:3947(title) C/gtkmm-tutorial-in.xml:3962(title)
 msgid "MessageDialog"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4016(para)
+#: C/gtkmm-tutorial-in.xml:3948(para)
 msgid ""
 "<classname>MessageDialog</classname> is a convenience class, used to create "
 "simple, standard message dialogs, with a message, an icon, and buttons for "
@@ -5440,53 +5677,79 @@ msgid ""
 "ButtonsType</literal> enum."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4041(title)
+#: C/gtkmm-tutorial-in.xml:3973(title)
 msgid "FileChooserDialog"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4042(para)
+#: C/gtkmm-tutorial-in.xml:3974(para)
 msgid ""
 "The <classname>FileChooserDialog</classname> is suitable for use with \"Open"
 "\" or \"Save\" menu items."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4046(para)
+#: C/gtkmm-tutorial-in.xml:3978(para)
 msgid ""
 "Most of the useful member methods for this class are actually in the "
 "<classname>Gtk::FileChooser</classname> base class."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4057(title)
+#: C/gtkmm-tutorial-in.xml:3989(title)
 msgid "FileChooser"
-msgstr ""
+msgstr "Seletor de arquivos"
 
-#: C/gtkmm-tutorial-in.xml:4067(title) C/gtkmm-tutorial-in.xml:4080(title)
-msgid "ColorSelectionDialog"
+#: C/gtkmm-tutorial-in.xml:3999(title) C/gtkmm-tutorial-in.xml:4012(title)
+msgid "ColorChooserDialog"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4068(para)
+#: C/gtkmm-tutorial-in.xml:4000(para)
 msgid ""
-"The <classname>ColorSelectionDialog</classname> allows the user to choose a "
+"The <classname>ColorChooserDialog</classname> allows the user to choose a "
 "color. The <classname>ColorButton</classname> opens a color selection dialog "
 "when it is clicked."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4091(title) C/gtkmm-tutorial-in.xml:4104(title)
+#: C/gtkmm-tutorial-in.xml:4023(title) C/gtkmm-tutorial-in.xml:4036(title)
 msgid "FontChooserDialog"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4092(para)
+#: C/gtkmm-tutorial-in.xml:4024(para)
 msgid ""
 "The <classname>FontChooserDialog</classname> allows the user to choose a "
 "font. The <classname>FontButton</classname> opens a font chooser dialog when "
 "it is clicked."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4119(title)
-msgid "The Drawing Area Widget"
+#: C/gtkmm-tutorial-in.xml:4047(title)
+msgid "Non-modal AboutDialog"
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:4048(para)
+msgid ""
+"The <classname>AboutDialog</classname> offers a simple way to display "
+"information about a program, like its logo, name, copyright, website and "
+"license."
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:4052(para)
+msgid ""
+"Most dialogs in this chapter are modal, that is, they freeze the rest of the "
+"application while they are shown. It's also possible to create a non-modal "
+"dialog, which does not freeze other windows in the application. The "
+"following example shows a non-modal <classname>AboutDialog</classname>. This "
+"is perhaps not the kind of dialog you would normally make non-modal, but non-"
+"modal dialogs can be useful in other cases. E.g. <application>gedit</"
+"application>'s search-and-replace dialog is non-modal."
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:4068(title)
+msgid "AboutDialog"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4120(para)
+#: C/gtkmm-tutorial-in.xml:4082(title)
+msgid "The Drawing Area Widget"
+msgstr "O widget área de desenho"
+
+#: C/gtkmm-tutorial-in.xml:4083(para)
 msgid ""
 "The <classname>DrawingArea</classname> widget is a blank window that gives "
 "you the freedom to create any graphic you desire. Along with that freedom "
@@ -5498,14 +5761,14 @@ msgid ""
 "the virtual <methodname>on_draw()</methodname> member function."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4132(para)
+#: C/gtkmm-tutorial-in.xml:4095(para)
 msgid ""
 "GTK+ uses the <ulink url=\"http://cairographics.org\";>Cairo</ulink> drawing "
 "API. With gtkmm, you may use the <ulink url=\"http://www.cairographics.org/";
 "cairomm/\">cairomm</ulink> C++ API for cairo."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4137(para)
+#: C/gtkmm-tutorial-in.xml:4100(para)
 msgid ""
 "You can draw very sophisticated shapes using Cairo, but the methods to do so "
 "are quite basic. Cairo provides methods for drawing straight lines, curved "
@@ -5516,11 +5779,11 @@ msgid ""
 "text."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4147(title)
+#: C/gtkmm-tutorial-in.xml:4110(title)
 msgid "Cairo and Pango"
-msgstr ""
+msgstr "Cairo e pango"
 
-#: C/gtkmm-tutorial-in.xml:4148(para)
+#: C/gtkmm-tutorial-in.xml:4111(para)
 msgid ""
 "Although Cairo can render text, it's not meant to be a replacement for "
 "Pango. Pango is a better choice if you need to perform more advanced text "
@@ -5528,7 +5791,7 @@ msgid ""
 "should only be done if the text is part of a graphic."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4153(para)
+#: C/gtkmm-tutorial-in.xml:4116(para)
 msgid ""
 "In this section of the tutorial, we'll cover the basic Cairo drawing model, "
 "describe each of the basic drawing elements in some detail (with examples), "
@@ -5536,17 +5799,17 @@ msgid ""
 "widget."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4160(title)
+#: C/gtkmm-tutorial-in.xml:4123(title)
 msgid "The Cairo Drawing Model"
-msgstr ""
+msgstr "Modelo de desenho com cairo"
 
-#: C/gtkmm-tutorial-in.xml:4161(para)
+#: C/gtkmm-tutorial-in.xml:4124(para)
 msgid ""
 "The basic concept of drawing in Cairo involves defining 'invisible' paths "
 "and then stroking or filling them to make them visible."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4165(para)
+#: C/gtkmm-tutorial-in.xml:4128(para)
 msgid ""
 "To do any drawing in <application>gtkmm</application> with Cairo, you must "
 "first create a <classname>Cairo::Context</classname> object. This class "
@@ -5560,14 +5823,14 @@ msgid ""
 "<classname>Cairo::RefPtr&lt;Cairo::Context&gt;</classname> object."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4178(para)
+#: C/gtkmm-tutorial-in.xml:4141(para)
 msgid ""
 "The following example shows how to set up a Cairo context with a foreground "
 "color of red and a width of 2. Any drawing functions that use this context "
 "will use these settings."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4183(programlisting)
+#: C/gtkmm-tutorial-in.xml:4146(programlisting)
 #, no-wrap
 msgid ""
 "Gtk::DrawingArea myArea;\n"
@@ -5576,7 +5839,7 @@ msgid ""
 "myContext-&gt;set_line_width(2.0);"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4187(para)
+#: C/gtkmm-tutorial-in.xml:4150(para)
 msgid ""
 "Each <classname>Cairo::Context</classname> is associated with a particular "
 "<classname>Gdk::Window</classname>, so the first line of the above example "
@@ -5586,7 +5849,7 @@ msgid ""
 "graphics state of the context."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4196(para)
+#: C/gtkmm-tutorial-in.xml:4159(para)
 msgid ""
 "There are a number of graphics state variables that can be set for a Cairo "
 "context. The most common context attributes are color (using "
@@ -5603,7 +5866,7 @@ msgid ""
 "cairographics.org/cairomm/\">cairomm</ulink> API documentation."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4228(para)
+#: C/gtkmm-tutorial-in.xml:4191(para)
 msgid ""
 "It is good practice to put all modifications to the graphics state between "
 "<methodname>save()</methodname>/<methodname>restore()</methodname> function "
@@ -5612,19 +5875,19 @@ msgid ""
 "follows:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4234(programlisting)
+#: C/gtkmm-tutorial-in.xml:4197(programlisting)
 #, no-wrap
 msgid ""
 "void doSomething(const Cairo::RefPtr&lt;Cairo::Context&gt;&amp; context, int x)\n"
 "{\n"
 "    context-&gt;save();\n"
 "    // change graphics state\n"
-"    // peform drawing operations\n"
+"    // perform drawing operations\n"
 "    context-&gt;restore();\n"
 "}"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4211(para)
+#: C/gtkmm-tutorial-in.xml:4174(para)
 msgid ""
 "The current state of a <classname>Cairo::Context</classname> can be saved to "
 "an internal stack of saved states and later be restored to the state it was "
@@ -5641,7 +5904,7 @@ msgid ""
 "paired <methodname>save()</methodname>. <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4243(para)
+#: C/gtkmm-tutorial-in.xml:4206(para)
 msgid ""
 "The virtual <methodname>on_draw()</methodname> method provides a Cairo "
 "context that you shall use for drawing in the <classname>Gtk::DrawingArea</"
@@ -5649,11 +5912,11 @@ msgid ""
 "context in <methodname>on_draw()</methodname>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4251(title)
+#: C/gtkmm-tutorial-in.xml:4214(title)
 msgid "Drawing Straight Lines"
-msgstr ""
+msgstr "Desenho de linhas retas"
 
-#: C/gtkmm-tutorial-in.xml:4260(para)
+#: C/gtkmm-tutorial-in.xml:4223(para)
 msgid ""
 "Since the Cairo graphics library was written with support for multiple "
 "output targets (the X window system, PNG images, OpenGL, etc), there is a "
@@ -5666,7 +5929,7 @@ msgid ""
 "the <methodname>Cairo::Context::scale()</methodname> function."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4252(para)
+#: C/gtkmm-tutorial-in.xml:4215(para)
 msgid ""
 "Now that we understand the basics of the Cairo graphics library, we're "
 "almost ready to start drawing. We'll start with the simplest of drawing "
@@ -5676,7 +5939,7 @@ msgid ""
 "right and positive y values going down. <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4275(para)
+#: C/gtkmm-tutorial-in.xml:4238(para)
 msgid ""
 "In this example, we'll construct a small but fully functional "
 "<application>gtkmm</application> program and draw some lines into the "
@@ -5689,7 +5952,7 @@ msgid ""
 "between two points, use the <methodname>line_to()</methodname> function."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4287(para)
+#: C/gtkmm-tutorial-in.xml:4250(para)
 msgid ""
 "After you've finished creating your path, you still haven't drawn anything "
 "visible yet. To make the path visible, you must use the function "
@@ -5699,7 +5962,7 @@ msgid ""
 "you can start on your next path."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4296(para)
+#: C/gtkmm-tutorial-in.xml:4259(para)
 msgid ""
 "Many Cairo drawing functions have a <methodname>_preserve()</methodname> "
 "variant. Normally drawing functions such as <methodname>clip()</methodname>, "
@@ -5709,11 +5972,11 @@ msgid ""
 "with the next drawing function."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4306(title) C/gtkmm-tutorial-in.xml:4396(title)
+#: C/gtkmm-tutorial-in.xml:4269(title) C/gtkmm-tutorial-in.xml:4387(title)
 msgid "Drawing Area - Lines"
-msgstr ""
+msgstr "Área de desenho - Linhas"
 
-#: C/gtkmm-tutorial-in.xml:4314(para)
+#: C/gtkmm-tutorial-in.xml:4277(para)
 msgid ""
 "This program contains a single class, <classname>MyArea</classname>, which "
 "is a subclass of <classname>Gtk::DrawingArea</classname> and contains an "
@@ -5729,46 +5992,46 @@ msgid ""
 "and then stroked this path with <methodname>stroke()</methodname>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4331(title)
+#: C/gtkmm-tutorial-in.xml:4294(title)
 msgid "Drawing with relative coordinates"
-msgstr ""
+msgstr "Desenho com coordenadas relativas"
 
-#: C/gtkmm-tutorial-in.xml:4332(para)
+#: C/gtkmm-tutorial-in.xml:4295(para)
 msgid ""
 "In the example above we drew everything using absolute coordinates. You can "
 "also draw using relative coordinates. For a straight line, this is done with "
 "the function <methodname>Cairo::Context::rel_line_to()</methodname>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4338(title)
+#: C/gtkmm-tutorial-in.xml:4301(title)
 msgid "Line styles"
-msgstr ""
+msgstr "Estilos de linha"
 
-#: C/gtkmm-tutorial-in.xml:4339(para)
+#: C/gtkmm-tutorial-in.xml:4302(para)
 msgid ""
 "In addition to drawing basic straight lines, there are a number of things "
 "that you can customize about a line. You've already seen examples of setting "
 "a line's color and width, but there are others as well."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4345(para)
+#: C/gtkmm-tutorial-in.xml:4308(para)
 msgid ""
 "If you've drawn a series of lines that form a path, you may want them to "
 "join together in a certain way. Cairo offers three different ways to join "
 "lines together: Miter, Bevel, and Round. These are show below:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4352(title)
+#: C/gtkmm-tutorial-in.xml:4315(title)
 msgid "Different join types in Cairo"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4357(para)
+#: C/gtkmm-tutorial-in.xml:4320(para)
 msgid ""
 "The line join style is set using the function <methodname>Cairo::Context::"
 "set_line_join()</methodname>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4361(para)
+#: C/gtkmm-tutorial-in.xml:4324(para)
 msgid ""
 "Line ends can have different styles as well. The default style is for the "
 "line to start and stop exactly at the destination points of the line. This "
@@ -5778,18 +6041,45 @@ msgid ""
 "the function <methodname>Cairo::Context::set_line_cap()</methodname>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4371(para)
+#: C/gtkmm-tutorial-in.xml:4334(para)
 msgid ""
 "There are other things you can customize as well, including creating dashed "
 "lines and other things. For more information, see the Cairo API "
 "documentation."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4379(title)
-msgid "Drawing Curved Lines"
+#: C/gtkmm-tutorial-in.xml:4341(title)
+msgid "Drawing thin lines"
+msgstr "Desenhando linhas finas"
+
+#: C/gtkmm-tutorial-in.xml:4342(para)
+msgid ""
+"If you try to draw one pixel wide lines, you may notice that the line "
+"sometimes comes up blurred and wider than it ought to be. This happens "
+"because Cairo will try to draw from the selected position, to both sides "
+"(half to each), so if you're positioned right on the intersection of the "
+"pixels, and want a one pixel wide line, Cairo will try to use half of each "
+"adjacent pixel, which isn't possible (a pixel is the smallest unit "
+"possible). This happens when the width of the line is an odd number of "
+"pixels (not just one pixel)."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4380(para)
+#: C/gtkmm-tutorial-in.xml:4352(para)
+msgid ""
+"The trick is to position in the middle of the pixel where you want the line "
+"to be drawn, and thus guaranteeing you get the desired results. See <ulink "
+"url=\"http://cairographics.org/FAQ/#sharp_lines\";>Cairo FAQ</ulink>."
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:4359(title)
+msgid "Drawing Area - Thin Lines"
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:4370(title)
+msgid "Drawing Curved Lines"
+msgstr "Desenhando linhas curvadas"
+
+#: C/gtkmm-tutorial-in.xml:4371(para)
 msgid ""
 "In addition to drawing straight lines Cairo allows you to easily draw curved "
 "lines (technically a cubic Bézier spline) using the <methodname>Cairo::"
@@ -5799,20 +6089,20 @@ msgid ""
 "best explained using an example, so let's dive in."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4391(para)
+#: C/gtkmm-tutorial-in.xml:4382(para)
 msgid ""
 "This simple application draws a curve with Cairo and displays the control "
 "points for each end of the curve."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4403(para)
+#: C/gtkmm-tutorial-in.xml:4394(para)
 msgid ""
 "The only difference between this example and the straight line example is in "
 "the <methodname>on_draw()</methodname> function, but there are a few new "
 "concepts and functions introduced here, so let's examine them briefly."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4409(para)
+#: C/gtkmm-tutorial-in.xml:4400(para)
 msgid ""
 "We make a call to <methodname>Cairo::Context::scale()</methodname>, passing "
 "in the width and height of the drawing area. This scales the user-space "
@@ -5821,7 +6111,7 @@ msgid ""
 "system in this case, but sometimes it can make drawing operations easier."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4418(para)
+#: C/gtkmm-tutorial-in.xml:4409(para)
 msgid ""
 "The call to <methodname>Cairo::Context::curve_to()</methodname> should be "
 "fairly self-explanatory. The first pair of coordinates define the control "
@@ -5836,11 +6126,11 @@ msgid ""
 "value of the color (valid values are between 0 and 1)."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4436(title)
+#: C/gtkmm-tutorial-in.xml:4427(title)
 msgid "Drawing Arcs and Circles"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4437(para)
+#: C/gtkmm-tutorial-in.xml:4428(para)
 msgid ""
 "With Cairo, the same function is used to draw arcs, circles, or ellipses: "
 "<methodname>Cairo::Context::arc()</methodname>. This function takes five "
@@ -5856,7 +6146,7 @@ msgid ""
 "that the positive Y axis points downwards.)"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4458(programlisting)
+#: C/gtkmm-tutorial-in.xml:4449(programlisting)
 #, no-wrap
 msgid ""
 "context-&gt;save();\n"
@@ -5866,7 +6156,7 @@ msgid ""
 "context-&gt;restore();"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4452(para)
+#: C/gtkmm-tutorial-in.xml:4443(para)
 msgid ""
 "To draw an ellipse, you can scale the current transformation matrix by "
 "different amounts in the X and Y directions. For example, to draw an ellipse "
@@ -5874,17 +6164,17 @@ msgid ""
 "<varname>width</varname>, <varname>height</varname>: <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4466(para)
+#: C/gtkmm-tutorial-in.xml:4457(para)
 msgid ""
 "Here's an example of a simple program that draws an arc, a circle and an "
 "ellipse into a drawing area."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4471(title)
+#: C/gtkmm-tutorial-in.xml:4462(title)
 msgid "Drawing Area - Arcs"
-msgstr ""
+msgstr "Área de desenho - Arcos"
 
-#: C/gtkmm-tutorial-in.xml:4480(para)
+#: C/gtkmm-tutorial-in.xml:4471(para)
 msgid ""
 "There are a couple of things to note about this example code. Again, the "
 "only real difference between this example and the previous ones is the "
@@ -5893,7 +6183,7 @@ msgid ""
 "identical to the previous examples, so we'll skip that portion."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4488(para)
+#: C/gtkmm-tutorial-in.xml:4479(para)
 msgid ""
 "Note that in this case, we've expressed nearly everything in terms of the "
 "height and width of the window, including the width of the lines. Because of "
@@ -5903,7 +6193,7 @@ msgid ""
 "methodname> pair so that we're back at a known state after each drawing."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4497(para)
+#: C/gtkmm-tutorial-in.xml:4488(para)
 msgid ""
 "The section for drawing an arc introduces one new function, "
 "<methodname>close_path()</methodname>. This function will in effect draw a "
@@ -5915,26 +6205,26 @@ msgid ""
 "lines will end at the same point, but Cairo won't do any special joining."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4510(title)
+#: C/gtkmm-tutorial-in.xml:4501(title)
 msgid "Drawing counter-clockwise"
-msgstr ""
+msgstr "Desenhando no sentido anti-horário"
 
-#: C/gtkmm-tutorial-in.xml:4511(para)
+#: C/gtkmm-tutorial-in.xml:4502(para)
 msgid ""
 "The function <methodname>Cairo::Context::arc_negative()</methodname> is "
 "exactly the same as <methodname>Cairo::Context::arc()</methodname> but the "
 "angles go the opposite direction."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4523(title)
+#: C/gtkmm-tutorial-in.xml:4514(title)
 msgid "Drawing Text"
-msgstr ""
+msgstr "Desenhando texto"
 
-#: C/gtkmm-tutorial-in.xml:4525(title)
+#: C/gtkmm-tutorial-in.xml:4516(title)
 msgid "Drawing Text with Pango"
-msgstr ""
+msgstr "Desenhando texto com pango"
 
-#: C/gtkmm-tutorial-in.xml:4526(para)
+#: C/gtkmm-tutorial-in.xml:4517(para)
 msgid ""
 "Text is drawn via Pango Layouts. The easiest way to create a "
 "<classname>Pango::Layout</classname> is to use <methodname>Gtk::Widget::"
@@ -5944,17 +6234,22 @@ msgid ""
 "show_in_cairo_context()</methodname> method."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4535(para)
+#: C/gtkmm-tutorial-in.xml:4529(para)
 msgid ""
-"The Printing chapter contains an <link linkend=\"sec-printing-example"
-"\">example</link> of drawing text."
+"Here is an example of a program that draws some text, some of it upside-"
+"down. The Printing chapter contains another <link linkend=\"sec-printing-"
+"example\">example</link> of drawing text."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4549(title)
+#: C/gtkmm-tutorial-in.xml:4535(title)
+msgid "Drawing Area - Text"
+msgstr "Área de desenho - Texto"
+
+#: C/gtkmm-tutorial-in.xml:4552(title)
 msgid "Drawing Images"
-msgstr ""
+msgstr "Desenhando imagens"
 
-#: C/gtkmm-tutorial-in.xml:4550(para)
+#: C/gtkmm-tutorial-in.xml:4553(para)
 msgid ""
 "There is a method for drawing from a <classname>Gdk::Pixbuf</classname> to a "
 "<classname>Cairo::Context</classname>. A <classname>Gdk::Pixbuf</classname> "
@@ -5962,14 +6257,14 @@ msgid ""
 "from files, and manipulated in various ways."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4557(para)
+#: C/gtkmm-tutorial-in.xml:4560(para)
 msgid ""
 "Probably the most common way of creating <classname>Gdk::Pixbuf</classname>s "
 "is to use <methodname>Gdk::Pixbuf::create_from_file()</methodname>, which "
 "can read an image file, such as a png file into a pixbuf ready for rendering."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4564(para)
+#: C/gtkmm-tutorial-in.xml:4567(para)
 msgid ""
 "The <classname>Gdk::Pixbuf</classname> can be rendered by setting it as the "
 "source pattern of the Cairo context with <methodname>Gdk::Cairo::"
@@ -5982,14 +6277,14 @@ msgid ""
 "classname> as its first parameter."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4575(para)
+#: C/gtkmm-tutorial-in.xml:4578(para)
 msgid ""
 "Here is a small bit of code to tie it all together: (Note that usually you "
 "wouldn't load the image every time in the draw signal handler! It's just "
 "shown here to keep it all together.)"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4580(programlisting)
+#: C/gtkmm-tutorial-in.xml:4583(programlisting)
 #, no-wrap
 msgid ""
 "bool MyArea::on_draw(const Cairo::RefPtr&lt;Cairo::Context&gt;&amp; cr)\n"
@@ -6003,19 +6298,19 @@ msgid ""
 "}"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4591(para)
+#: C/gtkmm-tutorial-in.xml:4594(para)
 msgid "Here is an example of a simple program that draws an image."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4595(title)
+#: C/gtkmm-tutorial-in.xml:4598(title)
 msgid "Drawing Area - Image"
-msgstr ""
+msgstr "Área de desenho - Imagens"
 
-#: C/gtkmm-tutorial-in.xml:4615(title)
+#: C/gtkmm-tutorial-in.xml:4618(title)
 msgid "Example Application: Creating a Clock with Cairo"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4616(para)
+#: C/gtkmm-tutorial-in.xml:4619(para)
 msgid ""
 "Now that we've covered the basics of drawing with Cairo, let's try to put it "
 "all together and create a simple application that actually does something. "
@@ -6024,7 +6319,7 @@ msgid ""
 "hand, and updates itself every second."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4628(para)
+#: C/gtkmm-tutorial-in.xml:4631(para)
 msgid ""
 "As before, almost all of the interesting stuff is done in the draw signal "
 "handler <methodname>on_draw()</methodname>. Before we dig into the draw "
@@ -6037,7 +6332,7 @@ msgid ""
 "forced to redraw it."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4639(para)
+#: C/gtkmm-tutorial-in.xml:4642(para)
 msgid ""
 "Now let's take a look at the code that performs the actual drawing. The "
 "first section of <methodname>on_draw()</methodname> should be pretty "
@@ -6048,7 +6343,7 @@ msgid ""
 "0) coordinate is in the very center of the window."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4649(para)
+#: C/gtkmm-tutorial-in.xml:4652(para)
 msgid ""
 "The function <methodname>Cairo::Context::paint()</methodname> is used here "
 "to set the background color of the window. This function takes no arguments "
@@ -6061,7 +6356,7 @@ msgid ""
 "outside the outline of the clock."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4661(para)
+#: C/gtkmm-tutorial-in.xml:4664(para)
 msgid ""
 "After drawing the outline, we go around the clock and draw ticks for every "
 "hour, with a larger tick at 12, 3, 6, and 9. Now we're finally ready to "
@@ -6070,17 +6365,17 @@ msgid ""
 "hands at the correct angles."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4673(para)
+#: C/gtkmm-tutorial-in.xml:4676(para)
 msgid ""
 "<classname>Gtk::Widget</classname> has several methods and signals which are "
 "prefixed with \"drag_\". These are used for Drag and Drop."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4678(title)
+#: C/gtkmm-tutorial-in.xml:4681(title)
 msgid "Sources and Destinations"
-msgstr ""
+msgstr "Origens e destinos"
 
-#: C/gtkmm-tutorial-in.xml:4679(para)
+#: C/gtkmm-tutorial-in.xml:4682(para)
 msgid ""
 "Things are dragged from <literal>sources</literal> to be dropped on "
 "<literal>destinations</literal>. Each source and destination has infomation "
@@ -6092,42 +6387,42 @@ msgid ""
 "was used."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4692(para)
+#: C/gtkmm-tutorial-in.xml:4695(para)
 msgid "target: A name, such as \"STRING\""
-msgstr ""
+msgstr "target: Um nome, tal como \"STRING\""
 
-#: C/gtkmm-tutorial-in.xml:4693(para)
+#: C/gtkmm-tutorial-in.xml:4696(para)
 msgid ""
 "info: An identifier which will be sent to your signals to tell you which "
 "TargetEntry was used."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4694(para)
+#: C/gtkmm-tutorial-in.xml:4697(para)
 msgid ""
 "flags: Used only for drag and drop, this specifies whether the data may be "
 "dragged to other widgets and applications, or only to the same ones."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4689(para)
+#: C/gtkmm-tutorial-in.xml:4692(para)
 msgid ""
 "<classname>Gtk::TargetEntry</classname> objects contain this information: "
 "<placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4702(para)
+#: C/gtkmm-tutorial-in.xml:4705(para)
 msgid ""
 "<classname>Widgets</classname> can be identified as sources or destinations "
 "using these <classname>Gtk::Widget</classname> methods:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4706(programlisting)
+#: C/gtkmm-tutorial-in.xml:4709(programlisting)
 #, no-wrap
 msgid ""
 "void drag_source_set(const ArrayHandle_TargetEntry&amp; targets,\n"
 "      GdkModifierType start_button_mask, GdkDragAction actions);"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4711(para)
+#: C/gtkmm-tutorial-in.xml:4714(para)
 msgid ""
 "<literal>targets</literal> is a container of <classname>Gtk::TargetEntry</"
 "classname> (<classname>std::list&lt;Gtk::TargetEntry&gt;</classname> or "
@@ -6135,13 +6430,13 @@ msgid ""
 "elements."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4720(para)
+#: C/gtkmm-tutorial-in.xml:4723(para)
 msgid ""
 "<literal>start_button_mask</literal> is an ORed combination of values, which "
 "specify which modifier key or mouse button must be pressed to start the drag."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4727(para)
+#: C/gtkmm-tutorial-in.xml:4730(para)
 msgid ""
 "<literal>actions</literal> is an ORed combination of values, which specified "
 "which Drag and Drop operations will be possible from this source - for "
@@ -6151,26 +6446,26 @@ msgid ""
 "by a different cursor."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4738(programlisting)
+#: C/gtkmm-tutorial-in.xml:4741(programlisting)
 #, no-wrap
 msgid ""
 "void drag_dest_set(const ArrayHandle_TargetEntry&amp; targets,\n"
 "    GtkDestDefaults flags, GdkDragAction actions);"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4743(para)
+#: C/gtkmm-tutorial-in.xml:4746(para)
 msgid ""
 "<literal>flags</literal> is an ORed combination of values which indicates "
 "how the widget will respond visually to Drag and Drop items."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4749(para)
+#: C/gtkmm-tutorial-in.xml:4752(para)
 msgid ""
 "<literal>actions</literal> indicates the Drag and Drop actions which this "
 "destination can receive - see the description above."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4759(para)
+#: C/gtkmm-tutorial-in.xml:4762(para)
 msgid ""
 "When a drop destination has accepted a dragged item, certain signals will be "
 "emitted, depending on what action has been selected. For instance, the user "
@@ -6181,42 +6476,42 @@ msgid ""
 "</methodname>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4770(title) C/gtkmm-tutorial-in.xml:4893(title)
+#: C/gtkmm-tutorial-in.xml:4773(title) C/gtkmm-tutorial-in.xml:4905(title)
 msgid "Copy"
-msgstr ""
+msgstr "Copiar"
 
-#: C/gtkmm-tutorial-in.xml:4774(para)
+#: C/gtkmm-tutorial-in.xml:4777(para)
 msgid "<literal>drag_begin</literal>: Provides DragContext."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4775(para)
+#: C/gtkmm-tutorial-in.xml:4778(para)
 msgid ""
 "<literal>drag_motion</literal>: Provides DragContext and coordinates. You "
 "can call the drag_status() method of the DragContext to indicate which "
 "target will be accepted."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4776(para)
+#: C/gtkmm-tutorial-in.xml:4779(para)
 msgid ""
 "<literal>drag_get</literal>: Provides <literal>info</literal> about the "
 "dragged data format, and a <literal>GtkSelectionData</literal> structure, in "
 "which you should put the requested data."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4777(para)
+#: C/gtkmm-tutorial-in.xml:4780(para)
 msgid "<literal>drag_drop</literal>: Provides DragContext and coordinates."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4778(para)
+#: C/gtkmm-tutorial-in.xml:4781(para)
 msgid "<literal>drag_end</literal>: Provides DragContext."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4771(para)
+#: C/gtkmm-tutorial-in.xml:4774(para)
 msgid ""
 "The source widget will emit these signals, in this order: <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4785(para)
+#: C/gtkmm-tutorial-in.xml:4788(para)
 msgid ""
 "<literal>drag_data_received</literal>: Provides <literal>info</literal> "
 "about the dragged data format, and a <literal>GtkSelectionData</literal> "
@@ -6225,33 +6520,33 @@ msgid ""
 "literal> to indicate whether the operation was successful."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4781(para)
+#: C/gtkmm-tutorial-in.xml:4784(para)
 msgid ""
 "The destination widget will emit this signal, after the source destination "
 "has emitted the <literal>drag_get</literal> signal: <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4800(title)
+#: C/gtkmm-tutorial-in.xml:4803(title)
 msgid "Move"
-msgstr ""
+msgstr "Mover"
 
-#: C/gtkmm-tutorial-in.xml:4803(para)
+#: C/gtkmm-tutorial-in.xml:4806(para)
 msgid ""
 "<literal>drag_delete</literal>: Gives the source the opportunity to delete "
 "the original data if that's appropriate."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4801(para)
+#: C/gtkmm-tutorial-in.xml:4804(para)
 msgid ""
 "During a <literal>move</literal>, the source widget will also emit this "
 "signal: <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4817(title)
+#: C/gtkmm-tutorial-in.xml:4820(title)
 msgid "DragContext"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4818(para)
+#: C/gtkmm-tutorial-in.xml:4821(para)
 msgid ""
 "The drag and drop signals provide a DragContext, which contains some "
 "information about the drag and drop operation and can be used to influence "
@@ -6262,66 +6557,70 @@ msgid ""
 "handler to indicate whether the drop was successful."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4831(para)
+#: C/gtkmm-tutorial-in.xml:4834(para)
 msgid ""
 "Here is a very simple example, demonstrating a drag and drop <literal>Copy</"
 "literal> operation:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4842(para)
-msgid "There is a more complex example in examples/dnd."
+#: C/gtkmm-tutorial-in.xml:4845(para)
+msgid "There is a more complex example in examples/others/dnd."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4851(title)
+#: C/gtkmm-tutorial-in.xml:4854(title)
 msgid "The Clipboard"
-msgstr ""
+msgstr "Área de transferência"
 
-#: C/gtkmm-tutorial-in.xml:4852(para)
+#: C/gtkmm-tutorial-in.xml:4855(para)
 msgid ""
 "Simple text copy-paste functionality is provided for free by widgets such as "
-"Gtk::Entry and Gtk::TextView, but you might need special code to deal with "
-"your own data formats. For instance, a drawing program would need special "
-"code to allow copy and paste within a view, or between documents."
+"<classname>Gtk::Entry</classname> and <classname>Gtk::TextView</classname>, "
+"but you might need special code to deal with your own data formats. For "
+"instance, a drawing program would need special code to allow copy and paste "
+"within a view, or between documents."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4854(para)
+#: C/gtkmm-tutorial-in.xml:4861(para)
 msgid ""
-"<classname>Gtk::Clipboard</classname> is a singleton. You can get the one "
-"and only instance with <methodname>Gtk::Clipboard::get()</methodname>."
+"You can usually pretend that <classname>Gtk::Clipboard</classname> is a "
+"singleton. You can get the default clipboard instance with <methodname>Gtk::"
+"Clipboard::get()</methodname>. This is probably the only clipboard you will "
+"ever need."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4859(para)
+#: C/gtkmm-tutorial-in.xml:4867(para)
 msgid ""
-"So your application doesn't need to wait for clipboard operations, "
-"particularly between the time when the user chooses Copy and then later "
-"chooses Paste, most <classname>Gtk::Clipboard</classname> methods take "
-"<classname>sigc::slot</classname>s which specify callback methods. When "
-"<classname>Gtk::Clipboard</classname> is ready, it will call these methods, "
-"either providing the requested data, or asking for data."
+"Your application doesn't need to wait for clipboard operations, particularly "
+"between the time when the user chooses Copy and then later chooses Paste. "
+"Most <classname>Gtk::Clipboard</classname> methods take <classname>sigc::"
+"slot</classname>s which specify callback methods. When <classname>Gtk::"
+"Clipboard</classname> is ready, it will call these methods, either providing "
+"the requested data, or asking for data."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4871(title)
+#: C/gtkmm-tutorial-in.xml:4879(title)
 msgid "Targets"
-msgstr ""
+msgstr "Alvos"
 
-#: C/gtkmm-tutorial-in.xml:4872(para)
+#: C/gtkmm-tutorial-in.xml:4880(para)
 msgid ""
 "Different applications contain different types of data, and they might make "
 "that data available in a variety of formats. <application>gtkmm</"
 "application> calls these data types <literal>target</literal>s."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4876(para)
+#: C/gtkmm-tutorial-in.xml:4884(para)
 msgid ""
-"For instance, gedit can supply and receive the <literal>\"UTF8_STRING\"</"
-"literal> target, so you can paste data into gedit from any application that "
-"supplies that target. Or two different image editing applications might "
-"supply and receive a variety of image formats as targets. As long as one "
-"application can receive one of the targets that the other supplies then you "
-"will be able to copy data from one to the other."
+"For instance, <application>gedit</application> can supply and receive the "
+"<literal>\"UTF8_STRING\"</literal> target, so you can paste data into "
+"<application>gedit</application> from any application that supplies that "
+"target. Or two different image editing applications might supply and receive "
+"a variety of image formats as targets. As long as one application can "
+"receive one of the targets that the other supplies then you will be able to "
+"copy data from one to the other."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4880(para)
+#: C/gtkmm-tutorial-in.xml:4891(para)
 msgid ""
 "A target can be in a variety of binary formats. This chapter, and the "
 "examples, assume that the data is 8-bit text. This would allow us to use an "
@@ -6331,91 +6630,91 @@ msgid ""
 "detail if necessary."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4889(para)
+#: C/gtkmm-tutorial-in.xml:4900(para)
 msgid ""
 "The <link linkend=\"chapter-draganddrop\">Drag and Drop</link> API uses the "
 "same mechanism. You should probably use the same data targets and formats "
-"for both Clipboard and Drag and Drap operations."
+"for both Clipboard and Drag and Drop operations."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4894(para)
+#: C/gtkmm-tutorial-in.xml:4906(para)
 msgid ""
 "When the user asks to copy some data, you should tell the "
 "<classname>Clipboard</classname> what targets are available, and provide the "
 "callback methods that it can use to get the data. At this point you should "
 "store a copy of the data, to be provided when the clipboard calls your "
-"callback method in repsonse to a paste."
+"callback method in response to a paste."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4903(programlisting)
+#: C/gtkmm-tutorial-in.xml:4915(programlisting)
 #, no-wrap
 msgid ""
 "Glib::RefPtr&lt;Gtk::Clipboard&gt; refClipboard = Gtk::Clipboard::get();\n"
 "\n"
 "//Targets:\n"
-"std::list&lt;Gtk::TargetEntry&gt; listTargets;\n"
-"listTargets.push_back( Gtk::TargetEntry(\"example_custom_target\") );\n"
-"listTargets.push_back( Gtk::TargetEntry(\"UTF8_STRING\") );\n"
+"std::vector&lt;Gtk::TargetEntry&gt; targets;\n"
+"targets.push_back( Gtk::TargetEntry(\"example_custom_target\") );\n"
+"targets.push_back( Gtk::TargetEntry(\"UTF8_STRING\") );\n"
 "\n"
-"refClipboard-&gt;set( listTargets,\n"
+"refClipboard-&gt;set( targets,\n"
 "    sigc::mem_fun(*this, &amp;ExampleWindow::on_clipboard_get),\n"
 "    sigc::mem_fun(*this, &amp;ExampleWindow::on_clipboard_clear) );"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4914(para)
+#: C/gtkmm-tutorial-in.xml:4926(para)
 msgid ""
-"Your callback will then provide the store data when the user chooses to "
+"Your callback will then provide the stored data when the user chooses to "
 "paste the data. For instance:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4916(programlisting)
+#: C/gtkmm-tutorial-in.xml:4928(programlisting)
 #, no-wrap
 msgid ""
 "void ExampleWindow::on_clipboard_get(\n"
-"    Gtk::SelectionData&amp; selection_data, guint info)\n"
+"    Gtk::SelectionData&amp; selection_data, guint /* info */)\n"
 "{\n"
-"  const Glib::ustring target = selection_data.get_target();\n"
+"  const std::string target = selection_data.get_target();\n"
 "\n"
 "  if(target == \"example_custom_target\")\n"
 "    selection_data.set(\"example_custom_target\", m_ClipboardStore);\n"
 "}"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4924(para)
+#: C/gtkmm-tutorial-in.xml:4936(para)
 msgid ""
 "The <literal>ideal</literal> example below can supply more than one "
 "clipboard target."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4928(para)
+#: C/gtkmm-tutorial-in.xml:4940(para)
 msgid ""
 "The clear callback allows you to free the memory used by your stored data "
 "when the clipboard replaces its data with something else."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4934(title)
+#: C/gtkmm-tutorial-in.xml:4946(title)
 msgid "Paste"
-msgstr ""
+msgstr "Colar"
 
-#: C/gtkmm-tutorial-in.xml:4935(para)
+#: C/gtkmm-tutorial-in.xml:4947(para)
 msgid ""
 "When the user asks to paste data from the <classname>Clipboard</classname>, "
 "you should request a specific format and provide a callback method which "
 "will be called with the actual data. For instance:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4940(programlisting)
+#: C/gtkmm-tutorial-in.xml:4952(programlisting)
 #, no-wrap
 msgid ""
 "refClipboard-&gt;request_contents(\"example_custom_target\",\n"
 "    sigc::mem_fun(*this, &amp;ExampleWindow::on_clipboard_received) );"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4943(para)
+#: C/gtkmm-tutorial-in.xml:4955(para)
 msgid "Here is an example callback method:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4945(programlisting)
+#: C/gtkmm-tutorial-in.xml:4957(programlisting)
 #, no-wrap
 msgid ""
 "void ExampleWindow::on_clipboard_received(\n"
@@ -6426,11 +6725,11 @@ msgid ""
 "}"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4953(title)
+#: C/gtkmm-tutorial-in.xml:4965(title)
 msgid "Discovering the available targets"
-msgstr ""
+msgstr "Descobrindo os alvos disponíveis"
 
-#: C/gtkmm-tutorial-in.xml:4954(para)
+#: C/gtkmm-tutorial-in.xml:4966(para)
 msgid ""
 "To find out what targets are currently available on the "
 "<classname>Clipboard</classname> for pasting, call the "
@@ -6438,29 +6737,26 @@ msgid ""
 "called with the information. For instance:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4960(programlisting)
+#: C/gtkmm-tutorial-in.xml:4972(programlisting)
 #, no-wrap
 msgid ""
 "refClipboard-&gt;request_targets( sigc::mem_fun(*this,\n"
 "    &amp;ExampleWindow::on_clipboard_received_targets) );"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4963(para)
+#: C/gtkmm-tutorial-in.xml:4975(para)
 msgid ""
-"In your callback, compare the list of available targets with those that your "
-"application supports for pasting. You could enable or disable a Paste menu "
-"item, depending on whether pasting is currently possible. For instance:"
+"In your callback, compare the vector of available targets with those that "
+"your application supports for pasting. You could enable or disable a Paste "
+"menu item, depending on whether pasting is currently possible. For instance:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4966(programlisting)
+#: C/gtkmm-tutorial-in.xml:4978(programlisting)
 #, no-wrap
 msgid ""
 "void ExampleWindow::on_clipboard_received_targets(\n"
-"  const Glib::StringArrayHandle&amp; targets_array)\n"
+"  const std::vector&lt;Glib::ustring&gt;&amp; targets)\n"
 "{\n"
-"  // Get the list of available clipboard targets:\n"
-"  std::list&lt;std::string&gt; targets = targets_array;\n"
-"\n"
 "  const bool bPasteIsPossible =\n"
 "    std::find(targets.begin(), targets.end(),\n"
 "      example_target_custom) != targets.end();\n"
@@ -6470,11 +6766,11 @@ msgid ""
 "}"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4985(title) C/gtkmm-tutorial-in.xml:5378(title)
+#: C/gtkmm-tutorial-in.xml:4994(title) C/gtkmm-tutorial-in.xml:5387(title)
 msgid "Simple"
-msgstr ""
+msgstr "Simples"
 
-#: C/gtkmm-tutorial-in.xml:4986(para)
+#: C/gtkmm-tutorial-in.xml:4995(para)
 msgid ""
 "This example allows copy and pasting of application-specific data, using the "
 "standard text target. Although this is simple, it's not ideal because it "
@@ -6482,46 +6778,46 @@ msgid ""
 "particular type."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:4994(title)
+#: C/gtkmm-tutorial-in.xml:5003(title)
 msgid "Clipboard - Simple"
-msgstr ""
+msgstr "Área de transferência - Simples"
 
-#: C/gtkmm-tutorial-in.xml:5004(title)
+#: C/gtkmm-tutorial-in.xml:5013(title)
 msgid "Ideal"
-msgstr ""
+msgstr "Ideal"
 
-#: C/gtkmm-tutorial-in.xml:5007(simpara)
+#: C/gtkmm-tutorial-in.xml:5016(simpara)
 msgid ""
 "Defines a custom clipboard target, though the format of that target is still "
 "text."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5008(simpara)
+#: C/gtkmm-tutorial-in.xml:5017(simpara)
 msgid ""
 "It supports pasting of 2 targets - both the custom one and a text one that "
 "creates an arbitrary text representation of the custom data."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5009(simpara)
+#: C/gtkmm-tutorial-in.xml:5018(simpara)
 msgid ""
 "It uses <methodname>request_targets()</methodname> and the "
 "<literal>owner_change</literal> signal and disables the Paste button if it "
 "can't use anything on the clipboard."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5005(para)
+#: C/gtkmm-tutorial-in.xml:5014(para)
 msgid "This is like the simple example, but it <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5014(title)
+#: C/gtkmm-tutorial-in.xml:5023(title)
 msgid "Clipboard - Ideal"
-msgstr ""
+msgstr "Área de transferência - Ideal"
 
-#: C/gtkmm-tutorial-in.xml:5030(title)
+#: C/gtkmm-tutorial-in.xml:5039(title)
 msgid "Printing"
-msgstr ""
+msgstr "Imprimindo"
 
-#: C/gtkmm-tutorial-in.xml:5032(para)
+#: C/gtkmm-tutorial-in.xml:5041(para)
 msgid ""
 "At the application development level, <application>gtkmm</application>'s "
 "printing API provides dialogs that are consistent across applications and "
@@ -6530,11 +6826,11 @@ msgid ""
 "printer-specific drivers are used."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5038(title)
+#: C/gtkmm-tutorial-in.xml:5047(title)
 msgid "PrintOperation"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5040(para)
+#: C/gtkmm-tutorial-in.xml:5049(para)
 msgid ""
 "The primary object is <classname>Gtk::PrintOperation</classname>, allocated "
 "for each print operation. To handle page drawing connect to its signals, or "
@@ -6543,7 +6839,7 @@ msgid ""
 "affecting the print loop."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5057(para)
+#: C/gtkmm-tutorial-in.xml:5066(para)
 msgid ""
 "<literal>begin_print</literal>: You must handle this signal, because this is "
 "where you create and set up a <classname>Pango::Layout</classname> using the "
@@ -6551,21 +6847,21 @@ msgid ""
 "printing output into pages."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5067(para)
+#: C/gtkmm-tutorial-in.xml:5076(para)
 msgid ""
 "<literal>paginate</literal>: Pagination is potentially slow so if you need "
 "to monitor it you can call the <methodname>PrintOperation::set_show_progress"
 "()</methodname> method and handle this signal."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5081(para)
+#: C/gtkmm-tutorial-in.xml:5090(para)
 msgid ""
 "<literal>request_page_setup</literal>: Provides a <classname>PrintContext</"
 "classname>, page number and <classname>Gtk::PageSetup</classname>. Handle "
 "this signal if you need to modify page setup on a per-page basis."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5090(para)
+#: C/gtkmm-tutorial-in.xml:5099(para)
 msgid ""
 "<literal>draw_page</literal>: You must handle this signal, which provides a "
 "<classname>PrintContext</classname> and a page number. The "
@@ -6575,13 +6871,13 @@ msgid ""
 "you created in the <literal>begin_print</literal> handler."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5076(para)
+#: C/gtkmm-tutorial-in.xml:5085(para)
 msgid ""
 "For each page that needs to be rendered, the following signals are emitted: "
 "<placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5105(para)
+#: C/gtkmm-tutorial-in.xml:5114(para)
 msgid ""
 "<literal>end_print</literal>: A handler for it is a safe place to free any "
 "resources related to a <classname>PrintOperation</classname>. If you have "
@@ -6589,7 +6885,7 @@ msgid ""
 "it is naturally simpler to do it in the destructor."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5115(para)
+#: C/gtkmm-tutorial-in.xml:5124(para)
 msgid ""
 "<literal>done</literal>: This signal is emitted when printing is finished, "
 "meaning when the print data is spooled. Note that the provided <literal>Gtk::"
@@ -6597,7 +6893,7 @@ msgid ""
 "case you probably want to notify the user about the final status."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5125(para)
+#: C/gtkmm-tutorial-in.xml:5134(para)
 msgid ""
 "<literal>status_changed</literal>: Emitted whenever a print job's status "
 "changes, until it is finished. Call the <methodname>PrintOperation::"
@@ -6606,17 +6902,17 @@ msgid ""
 "<methodname>get_status_string()</methodname>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5051(para)
+#: C/gtkmm-tutorial-in.xml:5060(para)
 msgid ""
 "The <methodname>PrintOperation::run()</methodname> method starts the print "
 "loop, during which various signals are emitted: <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5147(title)
+#: C/gtkmm-tutorial-in.xml:5156(title)
 msgid "Page setup"
-msgstr ""
+msgstr "Configurar página"
 
-#: C/gtkmm-tutorial-in.xml:5149(para)
+#: C/gtkmm-tutorial-in.xml:5158(para)
 msgid ""
 "The <classname>PrintOperation</classname> class has a method called "
 "<methodname>set_default_page_setup()</methodname> which selects the default "
@@ -6628,13 +6924,13 @@ msgid ""
 "<literal>Gtk::PageOrientation</literal> and printer-specific margins."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5159(para)
+#: C/gtkmm-tutorial-in.xml:5168(para)
 msgid ""
 "You should save the chosen <classname>Gtk::PageSetup</classname> so you can "
 "use it again if the page setup dialog is shown again."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5163(programlisting)
+#: C/gtkmm-tutorial-in.xml:5172(programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -6643,12 +6939,12 @@ msgid ""
 "m_refPageSetup = new_page_setup;\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5162(para) C/gtkmm-tutorial-in.xml:5227(para)
-#: C/gtkmm-tutorial-in.xml:9367(para)
+#: C/gtkmm-tutorial-in.xml:5171(para) C/gtkmm-tutorial-in.xml:5236(para)
+#: C/gtkmm-tutorial-in.xml:10036(para)
 msgid "For instance, <placeholder-1/>"
-msgstr ""
+msgstr "Por exemplo, <placeholder-1/>"
 
-#: C/gtkmm-tutorial-in.xml:5174(para)
+#: C/gtkmm-tutorial-in.xml:5183(para)
 msgid ""
 "The Cairo coordinate system, in the <literal>draw_page</literal> handler, is "
 "automatically rotated to the current page orientation. It is normally within "
@@ -6658,11 +6954,11 @@ msgid ""
 "<methodname>PrintOperation::set_unit()</methodname> method."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5186(title)
+#: C/gtkmm-tutorial-in.xml:5195(title)
 msgid "Rendering text"
-msgstr ""
+msgstr "Processamento de texto"
 
-#: C/gtkmm-tutorial-in.xml:5188(para)
+#: C/gtkmm-tutorial-in.xml:5197(para)
 msgid ""
 "Text rendering is done using Pango. The <classname>Pango::Layout</classname> "
 "object for printing should be created by calling the "
@@ -6677,17 +6973,17 @@ msgid ""
 "page number."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5203(para)
+#: C/gtkmm-tutorial-in.xml:5212(para)
 msgid ""
 "See <link linkend=\"sec-printing-example-simple\">an example</link> of "
 "exactly how this can be done."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5211(title)
+#: C/gtkmm-tutorial-in.xml:5220(title)
 msgid "Asynchronous operations"
-msgstr ""
+msgstr "Operações assíncronas"
 
-#: C/gtkmm-tutorial-in.xml:5213(para)
+#: C/gtkmm-tutorial-in.xml:5222(para)
 msgid ""
 "By default, <methodname>PrintOperation::run()</methodname> returns when a "
 "print operation is completed. If you need to run a non-blocking print "
@@ -6696,7 +6992,7 @@ msgid ""
 "platforms, however the <literal>done</literal> signal will still be emitted."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5220(para)
+#: C/gtkmm-tutorial-in.xml:5229(para)
 msgid ""
 "<methodname>run()</methodname> may return "
 "<literal>PRINT_OPERATION_RESULT_IN_PROGRESS</literal>. To track status and "
@@ -6704,7 +7000,7 @@ msgid ""
 "<literal>done</literal> and <literal>status_changed</literal> signals:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5228(programlisting)
+#: C/gtkmm-tutorial-in.xml:5237(programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -6715,7 +7011,7 @@ msgid ""
 "// run the op\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5238(programlisting)
+#: C/gtkmm-tutorial-in.xml:5247(programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -6731,13 +7027,13 @@ msgid ""
 "}\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5237(para)
+#: C/gtkmm-tutorial-in.xml:5246(para)
 msgid ""
 "Second, check for an error and connect to the <literal>status_changed</"
 "literal> signal. For instance: <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5253(programlisting)
+#: C/gtkmm-tutorial-in.xml:5262(programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -6752,15 +7048,15 @@ msgid ""
 "}\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5252(para)
+#: C/gtkmm-tutorial-in.xml:5261(para)
 msgid "Finally, check the status. For instance, <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5269(title)
+#: C/gtkmm-tutorial-in.xml:5278(title)
 msgid "Export to PDF"
-msgstr ""
+msgstr "Exportar para PDF"
 
-#: C/gtkmm-tutorial-in.xml:5273(programlisting)
+#: C/gtkmm-tutorial-in.xml:5282(programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -6770,18 +7066,18 @@ msgid ""
 "Gtk::PrintOperationResult res = op-&gt;run(Gtk::PRINT_OPERATION_ACTION_EXPORT);\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5270(para)
+#: C/gtkmm-tutorial-in.xml:5279(para)
 msgid ""
 "The 'Print to file' option is available in the print dialog, without the "
 "need for extra implementation. However, it is sometimes useful to generate a "
 "pdf file directly from code. For instance, <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5285(title)
+#: C/gtkmm-tutorial-in.xml:5294(title)
 msgid "Extending the print dialog"
-msgstr ""
+msgstr "Estendendo o diálogo de impressão"
 
-#: C/gtkmm-tutorial-in.xml:5292(para)
+#: C/gtkmm-tutorial-in.xml:5301(para)
 msgid ""
 "Set the title of the tab via <methodname>PrintOperation::set_custom_tab_label"
 "()</methodname>, create a new widget and return it from the "
@@ -6789,17 +7085,17 @@ msgid ""
 "this to be a container widget, packed with some others."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5302(para)
+#: C/gtkmm-tutorial-in.xml:5311(para)
 msgid ""
 "Get the data from the widgets in the <literal>custom_widget_apply</literal> "
 "signal handler."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5287(para)
+#: C/gtkmm-tutorial-in.xml:5296(para)
 msgid "You may add a custom tab to the print dialog: <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5317(programlisting)
+#: C/gtkmm-tutorial-in.xml:5326(programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -6807,7 +7103,7 @@ msgid ""
 "{\n"
 "  set_custom_tab_label(\"My custom tab\");\n"
 "\n"
-"  Gtk::HBox* hbox = new Gtk::HBox(false, 8);\n"
+"  Gtk::Box* hbox = new Gtk::Box(Gtk::ORIENTATION_HORIZONTAL, 8);\n"
 "  hbox-&gt;set_border_width(6);\n"
 "\n"
 "  Gtk::Label* label = Gtk::manage(new Gtk::Label(\"Enter some text: \"));\n"
@@ -6827,7 +7123,7 @@ msgid ""
 "}\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5310(para)
+#: C/gtkmm-tutorial-in.xml:5319(para)
 msgid ""
 "Although the <literal>custom_widget_apply</literal> signal provides the "
 "widget you previously created, to simplify things you can keep the widgets "
@@ -6837,15 +7133,15 @@ msgid ""
 "class: <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5344(para)
+#: C/gtkmm-tutorial-in.xml:5353(para)
 msgid "The example in examples/book/printing/advanced demonstrates this."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5351(title)
+#: C/gtkmm-tutorial-in.xml:5360(title)
 msgid "Preview"
-msgstr ""
+msgstr "Visualização"
 
-#: C/gtkmm-tutorial-in.xml:5357(programlisting)
+#: C/gtkmm-tutorial-in.xml:5366(programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -6855,13 +7151,13 @@ msgid ""
 "op-&gt;run(Gtk::PRINT_OPERATION_ACTION_PREVIEW, *this);\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5353(para)
+#: C/gtkmm-tutorial-in.xml:5362(para)
 msgid ""
 "The native GTK+ print dialog has a preview button, but you may also start a "
 "preview directly from an application: <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5365(para)
+#: C/gtkmm-tutorial-in.xml:5374(para)
 msgid ""
 "On Unix, the default preview handler uses an external viewer program. On "
 "Windows, the native preview dialog will be shown. If necessary you may "
@@ -6869,7 +7165,7 @@ msgid ""
 "located in /examples/book/printing/advanced."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5380(para)
+#: C/gtkmm-tutorial-in.xml:5389(para)
 msgid ""
 "The following example demonstrates how to print some input from a user "
 "interface. It shows how to implement <literal>on_begin_print</literal> and "
@@ -6877,15 +7173,15 @@ msgid ""
 "update the print settings."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5388(title)
+#: C/gtkmm-tutorial-in.xml:5397(title)
 msgid "Printing - Simple"
-msgstr ""
+msgstr "Impressão - Simples"
 
-#: C/gtkmm-tutorial-in.xml:5403(title)
+#: C/gtkmm-tutorial-in.xml:5412(title)
 msgid "Recently Used Documents"
-msgstr ""
+msgstr "Documentos usados recentemente"
 
-#: C/gtkmm-tutorial-in.xml:5405(para)
+#: C/gtkmm-tutorial-in.xml:5414(para)
 msgid ""
 "<application>gtkmm</application> provides an easy way to manage recently "
 "used documents. The classes involved in implementing this functionality are "
@@ -6895,7 +7191,7 @@ msgid ""
 "classname>, and <classname>RecentFilter</classname>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5415(para)
+#: C/gtkmm-tutorial-in.xml:5424(para)
 msgid ""
 "Each item in the list of recently used files is identified by its URI, and "
 "can have associated metadata. The metadata can be used to specify how the "
@@ -6904,11 +7200,11 @@ msgid ""
 "application, and several other things."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5423(title)
+#: C/gtkmm-tutorial-in.xml:5432(title)
 msgid "RecentManager"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5424(para)
+#: C/gtkmm-tutorial-in.xml:5433(para)
 msgid ""
 "<classname>RecentManager</classname> acts as a database of recently used "
 "files. You use this class to register new files, remove files from the list, "
@@ -6916,7 +7212,7 @@ msgid ""
 "user."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5430(para)
+#: C/gtkmm-tutorial-in.xml:5439(para)
 msgid ""
 "You can create a new <classname>RecentManager</classname>, but you'll most "
 "likely just want to use the default one. You can get a reference to the "
@@ -6924,31 +7220,31 @@ msgid ""
 "methodname>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5436(para)
+#: C/gtkmm-tutorial-in.xml:5445(para)
 msgid ""
 "<classname>RecentManager</classname> is the model of a model-view pattern, "
 "where the view is a class that implements the <classname>RecentChooser</"
 "classname> interface."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5442(title)
+#: C/gtkmm-tutorial-in.xml:5451(title)
 msgid "Adding Items to the List of Recent Files"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5443(para)
+#: C/gtkmm-tutorial-in.xml:5452(para)
 msgid ""
 "To add a new file to the list of recent documents, in the simplest case, you "
 "only need to provide the URI. For example:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5447(programlisting)
+#: C/gtkmm-tutorial-in.xml:5456(programlisting)
 #, no-wrap
 msgid ""
 "Glib::RefPtr&lt;Gtk::RecentManager&gt; recent_manager = Gtk::RecentManager::get_default();\n"
 "recent_manager-&gt;add_item(uri);"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5449(para)
+#: C/gtkmm-tutorial-in.xml:5458(para)
 msgid ""
 "If you want to register a file with metadata, you can pass a "
 "<classname>RecentManager::Data</classname> parameter to <methodname>add_item"
@@ -6956,32 +7252,32 @@ msgid ""
 "as follows:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5457(para)
+#: C/gtkmm-tutorial-in.xml:5466(para)
 msgid ""
 "<varname>app_exec</varname>: The command line to be used to launch this "
 "resource. This string may contain the \"f\" and \"u\" escape characters "
 "which will be expanded to the resource file path and URI respectively"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5463(para)
+#: C/gtkmm-tutorial-in.xml:5472(para)
 msgid ""
 "<varname>app_name</varname>: The name of the application that registered the "
 "resource"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5467(para)
+#: C/gtkmm-tutorial-in.xml:5476(para)
 msgid ""
-"<varname>description</varname>: A short description of the resource as a UTF-"
-"8 encoded string"
+"<varname>description</varname>: A short description of the resource as a "
+"UTF-8 encoded string"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5471(para)
+#: C/gtkmm-tutorial-in.xml:5480(para)
 msgid ""
 "<varname>display_name</varname>: The name of the resource to be used for "
 "display as a UTF-8 encoded string"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5475(para)
+#: C/gtkmm-tutorial-in.xml:5484(para)
 msgid ""
 "<varname>groups</varname>: A list of groups associated with this item. "
 "Groups are essentially arbitrary strings associated with a particular "
@@ -6989,27 +7285,27 @@ msgid ""
 "\"graphics\", etc) or tags for the resource."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5481(para)
+#: C/gtkmm-tutorial-in.xml:5490(para)
 msgid ""
 "<varname>is_private</varname>: Whether this resource should be visible only "
 "to applications that have registered it or not"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5485(para)
+#: C/gtkmm-tutorial-in.xml:5494(para)
 msgid "<varname>mime_type</varname>: The MIME type of the resource"
-msgstr ""
+msgstr "<varname>mime_type</varname>: O tipo MIME do recurso"
 
-#: C/gtkmm-tutorial-in.xml:5488(para)
+#: C/gtkmm-tutorial-in.xml:5497(para)
 msgid ""
 "In addition to adding items to the list, you can also look up items from the "
 "list and modify or remove items."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5494(title)
+#: C/gtkmm-tutorial-in.xml:5503(title)
 msgid "Looking up Items in the List of Recent Files"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5495(para)
+#: C/gtkmm-tutorial-in.xml:5504(para)
 msgid ""
 "To look up recently used files, <classname>RecentManager</classname> "
 "provides several functions. To look up a specific item by its URI, you can "
@@ -7019,7 +7315,7 @@ msgid ""
 "<classname>RecentManagerError</classname> exception. For example:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5504(programlisting)
+#: C/gtkmm-tutorial-in.xml:5513(programlisting)
 #, no-wrap
 msgid ""
 "Glib::RefPtr&lt;Gtk::RecentInfo&gt; info;\n"
@@ -7037,7 +7333,7 @@ msgid ""
 "}"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5517(para)
+#: C/gtkmm-tutorial-in.xml:5526(para)
 msgid ""
 "A <classname>RecentInfo</classname> object is essentially an object "
 "containing all of the metadata about a single recently-used file. You can "
@@ -7045,7 +7341,7 @@ msgid ""
 "file-metadata\">above</link>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5523(para)
+#: C/gtkmm-tutorial-in.xml:5532(para)
 msgid ""
 "If you don't want to look for a specific URI, but instead want to get a list "
 "of all recently used items, <classname>RecentManager</classname> provides "
@@ -7055,23 +7351,23 @@ msgid ""
 "files:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5531(programlisting)
+#: C/gtkmm-tutorial-in.xml:5540(programlisting)
 #, no-wrap
 msgid "std::vector&lt; Glib::RefPtr&lt;Gtk::RecentInfo&gt; &gt; info_list = recent_manager-&gt;get_items();"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5532(para)
+#: C/gtkmm-tutorial-in.xml:5541(para)
 msgid ""
 "The maximum age of items in the recently used files list can be set with "
 "<methodname>Gtk::Settings::property_gtk_recent_files_max_age()</methodname>. "
 "Default value: 30 days."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5539(title)
+#: C/gtkmm-tutorial-in.xml:5548(title)
 msgid "Modifying the List of Recent Files"
-msgstr ""
+msgstr "Modificando a lista de arquivos recentes"
 
-#: C/gtkmm-tutorial-in.xml:5540(para)
+#: C/gtkmm-tutorial-in.xml:5549(para)
 msgid ""
 "There may be times when you need to modify the list of recent files. For "
 "instance, if a file is moved or renamed, you may need to update the file's "
@@ -7080,7 +7376,7 @@ msgid ""
 "</methodname>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5547(para)
+#: C/gtkmm-tutorial-in.xml:5556(para)
 msgid ""
 "In addition to changing a file's URI, you can also remove items from the "
 "list, either one at a time or by clearing them all at once. The former is "
@@ -7088,7 +7384,7 @@ msgid ""
 "<methodname>purge_items()</methodname>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5554(para)
+#: C/gtkmm-tutorial-in.xml:5563(para)
 msgid ""
 "The functions <methodname>move_item()</methodname>, <methodname>remove_item()"
 "</methodname> and <methodname>purge_items()</methodname> have no effect on "
@@ -7096,11 +7392,11 @@ msgid ""
 "of recent files."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5566(title)
+#: C/gtkmm-tutorial-in.xml:5575(title)
 msgid "RecentChooser"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5567(para)
+#: C/gtkmm-tutorial-in.xml:5576(para)
 msgid ""
 "<classname>RecentChooser</classname> is an interface that can be implemented "
 "by widgets displaying the list of recently used files. <application>gtkmm</"
@@ -7110,7 +7406,7 @@ msgid ""
 "classname>, and <classname>RecentAction</classname>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5576(para)
+#: C/gtkmm-tutorial-in.xml:5585(para)
 msgid ""
 "<classname>RecentChooserWidget</classname> is a simple widget for displaying "
 "a list of recently used files. <classname>RecentChooserWidget</classname> is "
@@ -7118,17 +7414,17 @@ msgid ""
 "you can embed it into your user interface if you want to."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5583(para)
+#: C/gtkmm-tutorial-in.xml:5592(para)
 msgid ""
 "<classname>RecentChooserMenu</classname> and <classname>RecentAction</"
 "classname> allow you to list recently used files as a menu."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5589(title)
+#: C/gtkmm-tutorial-in.xml:5598(title)
 msgid "Simple RecentChooserDialog example"
-msgstr ""
+msgstr "Exemplo simples de um RecentChooserDialog"
 
-#: C/gtkmm-tutorial-in.xml:5590(para)
+#: C/gtkmm-tutorial-in.xml:5599(para)
 msgid ""
 "Shown below is a simple example of how to use the "
 "<classname>RecentChooserDialog</classname> and the <classname>RecentAction</"
@@ -7137,20 +7433,20 @@ msgid ""
 "this menu item, a dialog pops up showing the list of recently used files."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5600(para)
+#: C/gtkmm-tutorial-in.xml:5609(para)
 msgid ""
 "If this is the first time you're using a program that uses the Recent Files "
 "framework, the dialog may be empty at first. Otherwise it should show the "
 "list of recently used documents registered by other applications."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5607(para)
+#: C/gtkmm-tutorial-in.xml:5616(para)
 msgid ""
 "After selecting the <guimenuitem>Recent Files Dialog</guimenuitem> menu "
 "item, you should see something similar to the following window."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5616(para)
+#: C/gtkmm-tutorial-in.xml:5625(para)
 msgid ""
 "The constructor for <classname>ExampleWindow</classname> creates the menu "
 "using <classname>UIManager</classname> (see <xref linkend=\"chapter-menus-"
@@ -7158,11 +7454,11 @@ msgid ""
 "toolbar to the window."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5624(title)
+#: C/gtkmm-tutorial-in.xml:5633(title)
 msgid "Filtering Recent Files"
-msgstr ""
+msgstr "Filtrando arquivos recentes"
 
-#: C/gtkmm-tutorial-in.xml:5625(para)
+#: C/gtkmm-tutorial-in.xml:5634(para)
 msgid ""
 "For any of the <classname>RecentChooser</classname> classes, if you don't "
 "wish to display all of the items in the list of recent files, you can filter "
@@ -7176,22 +7472,22 @@ msgid ""
 "the file was modified and which groups it belongs to."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5638(para)
+#: C/gtkmm-tutorial-in.xml:5647(para)
 msgid ""
 "After you've created and set up the filter to match only the items you want, "
 "you can apply a filter to a chooser widget with the "
 "<methodname>RecentChooser::add_filter()</methodname> function."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5648(title)
+#: C/gtkmm-tutorial-in.xml:5657(title)
 msgid "Plugs and Sockets"
-msgstr ""
+msgstr "Plugs e Sockets"
 
-#: C/gtkmm-tutorial-in.xml:5650(title)
+#: C/gtkmm-tutorial-in.xml:5659(title) C/gtkmm-tutorial-in.xml:5816(title)
 msgid "Overview"
-msgstr ""
+msgstr "Visão geral"
 
-#: C/gtkmm-tutorial-in.xml:5651(para)
+#: C/gtkmm-tutorial-in.xml:5660(para)
 msgid ""
 "From time to time, it may be useful to be able to embed a widget from "
 "another application within your application. <application>gtkmm</"
@@ -7202,7 +7498,7 @@ msgid ""
 "completely different process, these classes can be very helpful."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5660(para)
+#: C/gtkmm-tutorial-in.xml:5669(para)
 msgid ""
 "The communication between a <classname>Socket</classname> and a "
 "<classname>Plug</classname> follows the XEmbed protocol. This protocol has "
@@ -7210,7 +7506,7 @@ msgid ""
 "level of integration when embedding a Qt widget in GTK+ or vice versa."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5666(para)
+#: C/gtkmm-tutorial-in.xml:5675(para)
 msgid ""
 "The way that <classname>Sockets</classname> and <classname>Plugs</classname> "
 "work together is through their window ids. Both a <classname>Socket</"
@@ -7220,22 +7516,22 @@ msgid ""
 "sockets\"/>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5675(title)
+#: C/gtkmm-tutorial-in.xml:5684(title)
 msgid "Sockets"
-msgstr ""
+msgstr "Soquetes"
 
-#: C/gtkmm-tutorial-in.xml:5676(para)
+#: C/gtkmm-tutorial-in.xml:5685(para)
 msgid ""
 "A <classname>Socket</classname> is a special kind of container widget that "
 "provides the ability to embed widgets from one process into another process "
 "in a way that is transparent to the user."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5683(title)
+#: C/gtkmm-tutorial-in.xml:5692(title)
 msgid "Plugs"
-msgstr ""
+msgstr "Plugues"
 
-#: C/gtkmm-tutorial-in.xml:5684(para)
+#: C/gtkmm-tutorial-in.xml:5693(para)
 msgid ""
 "A <classname>Plug</classname> is a special kind of Window that can be "
 "plugged into a <classname>Socket</classname>. Besides the normal properties "
@@ -7245,26 +7541,26 @@ msgid ""
 "into the <classname>Socket</classname> that matches that ID."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5693(para)
+#: C/gtkmm-tutorial-in.xml:5702(para)
 msgid ""
 "Since a <classname>Plug</classname> is just a special type of "
 "<classname>Gtk::Window</classname> class, you can add containers or widgets "
 "to it like you would to any other window."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5700(title)
+#: C/gtkmm-tutorial-in.xml:5709(title)
 msgid "Connecting Plugs and Sockets"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5701(para)
+#: C/gtkmm-tutorial-in.xml:5710(para)
 msgid ""
 "After a <classname>Socket</classname> or <classname>Plug</classname> object "
 "is realized, you can obtain its ID with its <methodname>get_id()</"
 "methodname> function. This ID can then be shared with other processes so "
-"that other processes know how to connect to eachother."
+"that other processes know how to connect to each other."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5712(para)
+#: C/gtkmm-tutorial-in.xml:5721(para)
 msgid ""
 "Create a <classname>Socket</classname> object in one process and pass the ID "
 "of that <classname>Socket</classname> to another process so that it can "
@@ -7275,7 +7571,7 @@ msgid ""
 "classname> ID to the <classname>Plug</classname>'s constructor."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5725(para)
+#: C/gtkmm-tutorial-in.xml:5734(para)
 msgid ""
 "Create a <classname>Plug</classname> independantly from any particular "
 "<classname>Socket</classname> and pass the ID of the <classname>Plug</"
@@ -7285,25 +7581,25 @@ msgid ""
 "methodname> function. This is the approach used in the example below."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5708(para)
+#: C/gtkmm-tutorial-in.xml:5717(para)
 msgid "There are two basic strategies that can be used: <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5740(title)
+#: C/gtkmm-tutorial-in.xml:5749(title)
 msgid "Plugs and Sockets Example"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5741(para)
+#: C/gtkmm-tutorial-in.xml:5750(para)
 msgid ""
 "The following is a simple example of using sockets and plugs. The method of "
 "communication between processes is deliberately kept very simple: The "
 "<classname>Plug</classname> writes its ID out to a text file named "
 "<filename>plug.id</filename> and the process with the socket reads the ID "
-"from this files. In a real program, you may want to use a more sophisticated "
+"from this file. In a real program, you may want to use a more sophisticated "
 "method of inter-process communication."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5750(para)
+#: C/gtkmm-tutorial-in.xml:5759(para)
 msgid ""
 "This example creates two executable programs: <filename>socket</filename> "
 "and <filename>plug</filename>. The idea is that <filename>socket</filename> "
@@ -7314,49 +7610,49 @@ msgid ""
 "within the example directory:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5759(para)
+#: C/gtkmm-tutorial-in.xml:5768(para)
 msgid ""
 "Start the <filename>plug</filename> program and send it to the background "
 "(or just use a different terminal)."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5763(screen)
+#: C/gtkmm-tutorial-in.xml:5772(screen)
 #, no-wrap
 msgid "$ ./plug &amp;"
-msgstr ""
+msgstr "$ ./plug &amp;"
 
-#: C/gtkmm-tutorial-in.xml:5764(para)
+#: C/gtkmm-tutorial-in.xml:5773(para)
 msgid "After which you should see something like the following:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5767(screen)
+#: C/gtkmm-tutorial-in.xml:5776(screen)
 #, no-wrap
 msgid "The window ID is: 69206019"
-msgstr ""
+msgstr "O ID da janela é: 69206019"
 
-#: C/gtkmm-tutorial-in.xml:5768(para)
+#: C/gtkmm-tutorial-in.xml:5777(para)
 msgid "Then start the <filename>socket</filename> program:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5769(screen)
+#: C/gtkmm-tutorial-in.xml:5778(screen)
 #, no-wrap
 msgid "$ ./socket"
-msgstr ""
+msgstr "$ ./socket"
 
-#: C/gtkmm-tutorial-in.xml:5770(para)
+#: C/gtkmm-tutorial-in.xml:5779(para)
 msgid ""
 "After starting <filename>socket</filename>, you should see the following "
 "output in the terminal:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5774(screen)
+#: C/gtkmm-tutorial-in.xml:5783(screen)
 #, no-wrap
 msgid ""
 "I've been embedded.\n"
 "A plug was added"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5776(para)
+#: C/gtkmm-tutorial-in.xml:5785(para)
 msgid ""
 "The first line of output is from <filename>plug</filename>, after it has "
 "been notified that it has been embedded inside of a <classname>Socket</"
@@ -7366,37 +7662,192 @@ msgid ""
 "look roughly like the following:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5788(para)
+#: C/gtkmm-tutorial-in.xml:5797(para)
 msgid ""
 "If for some reason the <classname>Socket</classname> couldn't attach the "
 "<classname>Plug</classname>, the window would look something like this:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5799(title)
-msgid "Timeouts, I/O and Idle Functions"
+#: C/gtkmm-tutorial-in.xml:5808(title)
+msgid "Keyboard Events"
+msgstr "Eventos de teclado"
+
+#: C/gtkmm-tutorial-in.xml:5809(para)
+msgid ""
+"X events differ in some ways from other signals. These differences are "
+"described in the <link linkend=\"sec-xeventsignals\">X Event signals</link> "
+"section in the appendix. Here we will use keyboard events to show how X "
+"events can be used in a program."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5802(title)
-msgid "Timeouts"
+#: C/gtkmm-tutorial-in.xml:5817(para)
+msgid ""
+"Whenever you press or release a key, an event is emitted. You can connect a "
+"signal handler to handle such events."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5804(para)
+#: C/gtkmm-tutorial-in.xml:5821(para)
+msgid ""
+"To receive the keyboard events, you must first call the <methodname>Gtk::"
+"Widget::add_events()</methodname> function with a bit mask of the events "
+"you're interested in. The event signal handler will receive an argument that "
+"depends on the type of event. For keyboard events it's a <type>GdkEventKey*</"
+"type>. As discribed in the <link linkend=\"sec-xeventsignals\">appendix</"
+"link>, the event signal handler returns a <type>bool</type> value, to "
+"indicate that the signal is fully handled (<literal>true</literal>) or allow "
+"event propagation (<literal>false</literal>)."
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:5832(para)
+msgid ""
+"To determine which key was pressed or released, you read the value of "
+"<varname>GdkEventKey::keyval</varname> and compare it with a constant in the "
+"<filename>&lt;gdk/gdkkeysyms.h&gt;</filename> header file. The states of "
+"modifier keys (shift, ctrl, etc.) are available as bit-flags in "
+"<varname>GdkEventKey::state</varname>."
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:5841(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"bool on_key_press_or_release_event(GdkEventKey* event)\n"
+"{\n"
+"  if (event-&gt;type == GDK_KEY_PRESS &amp;&amp;\n"
+"    event-&gt;keyval == GDK_KEY_1 &amp;&amp;\n"
+"    (event-&gt;state &amp; (GDK_SHIFT_MASK | GDK_CONTROL_MASK | GDK_MOD1_MASK)) == GDK_MOD1_MASK)\n"
+"  {\n"
+"    handle_alt_1_press(); // GDK_MOD1_MASK is normally the Alt key\n"
+"    return true;\n"
+"  }\n"
+"  return false;\n"
+"}\n"
+"\n"
+"Gtk::Entry m_entry; // in a class definition\n"
+"\n"
+"// in the class constructor\n"
+"m_entry.signal_key_press_event().connect( sigc::ptr_fun(&amp;on_key_press_or_release_event) );\n"
+"m_entry.signal_key_release_event().connect( sigc::ptr_fun(&amp;on_key_press_or_release_event) );\n"
+"m_entry.add_events(Gdk::KEY_PRESS_MASK | Gdk::KEY_RELEASE_MASK);\n"
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:5839(para) C/gtkmm-tutorial-in.xml:8142(para)
+msgid "Here's a simple example: <placeholder-1/>"
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:5865(para)
+msgid ""
+"In this example there are three keyboard shortcuts: <keycap>Alt</keycap>"
+"+<keycap>1</keycap> selects the first radio button, <keycap>Alt</keycap>"
+"+<keycap>2</keycap> selects the second one, and the <keycap>Esc</keycap> key "
+"hides (closes) the window. The default event signal handler is overridden, "
+"as described in the <link linkend=\"sec-overriding-default-signal-handlers"
+"\">Overriding default signal handlers</link> section in the appendix."
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:5876(title)
+msgid "Keyboard Events - Simple"
+msgstr "Eventos de teclado - Simples"
+
+#: C/gtkmm-tutorial-in.xml:5887(title)
+msgid "Event Propagation"
+msgstr "Propagação de eventos"
+
+#: C/gtkmm-tutorial-in.xml:5888(para)
+msgid ""
+"Event propagation means that, when an event is emitted on a particular "
+"widget, it can be passed to its parent widget (and that widget can pass it "
+"to its parent, and so on) and, if the parent has an event handler, that "
+"handler will be called."
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:5894(para)
+msgid ""
+"Contrary to other events, keyboard events are first sent to the toplevel "
+"window (<classname>Gtk::Window</classname>), where it will be checked for "
+"any keyboard shortcuts that may be set (accelerator keys and mnemonics, used "
+"for selecting menu items from the keyboard). After this (and assuming the "
+"event wasn't handled), it is sent to the widget which has focus, and the "
+"propagation begins from there."
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:5902(para)
+msgid ""
+"The event will propagate until it reaches the top-level widget, or until you "
+"stop the propagation by returning <literal>true</literal> from an event "
+"handler."
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:5907(para)
+msgid ""
+"Notice, that after canceling an event, no other function will be called "
+"(even if it is from the same widget)."
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:5914(para)
+msgid ""
+"In this example there are three event handlers that are called after "
+"<classname>Gtk::Window</classname>'s default event handler, one in the "
+"<classname>Gtk::Entry</classname>, one in the <classname>Gtk::Grid</"
+"classname> and one in the <classname>Gtk::Window</classname>."
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:5920(para)
+msgid ""
+"In the <classname>Gtk::Window</classname>, we have also the default handler "
+"overridden (<methodname>on_key_release_event()</methodname>), and another "
+"handler being called before the default handler "
+"(<methodname>windowKeyReleaseBefore()</methodname>)."
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:5926(para)
+msgid ""
+"The purpose of this example is to show the steps the event takes when it is "
+"emitted."
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:5929(para)
+msgid ""
+"When you write in the entry, a key release event will be emitted, which will "
+"go first to the toplevel window (<classname>Gtk::Window</classname>), since "
+"we have one event handler set to be called before, that's what is called "
+"first (<methodname>windowKeyReleaseBefore()</methodname>). Then the default "
+"handler is called (which we have overridden), and after that the event is "
+"sent to the widget that has focus, the <classname>Entry</classname> in our "
+"example and, depending on whether we let it propagate, it can reach the "
+"<classname>Grid</classname>'s and the <classname>Window</classname>'s event "
+"handlers. If it propagates, the text you're writing will appear in the "
+"<classname>Label</classname> above the <classname>Entry</classname>."
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:5944(title)
+msgid "Keyboard Events - Event Propagation"
+msgstr "Eventos de teclado - Propagação de eventos"
+
+#: C/gtkmm-tutorial-in.xml:5956(title)
+msgid "Timeouts, I/O and Idle Functions"
+msgstr "Tempo limite, E/S e funções ociosas"
+
+#: C/gtkmm-tutorial-in.xml:5959(title)
+msgid "Timeouts"
+msgstr "Tempos limites"
+
+#: C/gtkmm-tutorial-in.xml:5961(para)
 msgid ""
 "You may be wondering how to make <application>gtkmm</application> do useful "
-"work while it's idling along (well, sleeping actually) in <methodname>Gtk::"
-"Main::run()</methodname>. Happily, you have several options. Using the "
+"work while it's idling along. Happily, you have several options. Using the "
 "following methods you can create a timeout method that will be called every "
 "few milliseconds."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5812(programlisting)
+#: C/gtkmm-tutorial-in.xml:5968(programlisting)
 #, no-wrap
 msgid ""
 "\n"
 "sigc::connection Glib::SignalTimeout::connect(const sigc::slot&lt;bool&gt;&amp; slot, unsigned int 
interval, int priority = Glib::PRIORITY_DEFAULT);\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5817(para)
+#: C/gtkmm-tutorial-in.xml:5973(para)
 msgid ""
 "The first argument is a <classname>slot</classname> you wish to have called "
 "when the timeout occurs. The second argument is the number of milliseconds "
@@ -7405,21 +7856,23 @@ msgid ""
 "<methodname>disconnect()</methodname> method:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5827(programlisting)
+#: C/gtkmm-tutorial-in.xml:5983(programlisting)
 #, no-wrap
 msgid ""
 "\n"
 "my_connection.disconnect();\n"
 msgstr ""
+"\n"
+"my_connection.disconnect();\n"
 
-#: C/gtkmm-tutorial-in.xml:5839(programlisting)
+#: C/gtkmm-tutorial-in.xml:5995(programlisting)
 #, no-wrap
 msgid ""
 "\n"
 "bool MyCallback() { std::cout &lt;&lt; \"Hello World!\\n\" &lt;&lt; std::endl; return true; }\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5832(para)
+#: C/gtkmm-tutorial-in.xml:5988(para)
 msgid ""
 "Another way of destroying the connection is your signal handler. It has to "
 "be of the type <classname>sigc::slot&lt;bool&gt;</classname>. As you see "
@@ -7428,22 +7881,22 @@ msgid ""
 "this: <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5845(para)
+#: C/gtkmm-tutorial-in.xml:6001(para)
 msgid ""
 "You can stop the timeout method by returning <literal>false</literal> from "
 "your signal handler. Therefore, if you want your method to be called "
 "repeatedly, it should return <literal>true</literal>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5851(para)
+#: C/gtkmm-tutorial-in.xml:6007(para)
 msgid "Here's an example of this technique:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5860(title)
+#: C/gtkmm-tutorial-in.xml:6016(title)
 msgid "Monitoring I/O"
-msgstr ""
+msgstr "Monitorando E/S"
 
-#: C/gtkmm-tutorial-in.xml:5862(para)
+#: C/gtkmm-tutorial-in.xml:6018(para)
 msgid ""
 "A nifty feature of Glib (one of the libraries underlying <application>gtkmm</"
 "application>) is the ability to have it check for data on a file descriptor "
@@ -7451,7 +7904,7 @@ msgid ""
 "following method is used to do this:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5870(programlisting)
+#: C/gtkmm-tutorial-in.xml:6026(programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -7460,7 +7913,7 @@ msgid ""
 "                                    int priority = Glib::PRIORITY_DEFAULT);\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5877(para)
+#: C/gtkmm-tutorial-in.xml:6033(para)
 msgid ""
 "The first argument is a slot you wish to have called when then the specified "
 "event (see argument 3) occurs on the file descriptor you specify using "
@@ -7468,37 +7921,37 @@ msgid ""
 "of:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5887(para)
+#: C/gtkmm-tutorial-in.xml:6043(para)
 msgid ""
 "Glib::IO_IN - Call your method when there is data ready for reading on your "
 "file descriptor."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5895(para)
+#: C/gtkmm-tutorial-in.xml:6051(para)
 msgid ""
 "Glib::IO_OUT - Call your method when the file descriptor is ready for "
 "writing."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5903(para)
+#: C/gtkmm-tutorial-in.xml:6059(para)
 msgid ""
 "Glib::IO_PRI - Call your method when the file descriptor has urgent data to "
 "be read."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5910(para)
+#: C/gtkmm-tutorial-in.xml:6066(para)
 msgid ""
 "Glib::IO_ERR - Call your method when an error has occurred on the file "
 "descriptor."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5917(para)
+#: C/gtkmm-tutorial-in.xml:6073(para)
 msgid ""
 "Glib::IO_HUP - Call your method when hung up (the connection has been broken "
 "usually for pipes and sockets)."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5924(para)
+#: C/gtkmm-tutorial-in.xml:6080(para)
 msgid ""
 "The return value is a <classname>sigc::connection</classname> that may be "
 "used to stop monitoring this file descriptor using its <methodname>disconnect"
@@ -7506,14 +7959,14 @@ msgid ""
 "should be declared as follows:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5931(programlisting)
+#: C/gtkmm-tutorial-in.xml:6087(programlisting)
 #, no-wrap
 msgid ""
 "\n"
 "bool input_callback(Glib::IOCondition condition);\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5936(para)
+#: C/gtkmm-tutorial-in.xml:6092(para)
 msgid ""
 "where <parameter>condition</parameter> is as specified above. As usual the "
 "slot is created with <function>sigc::mem_fun()</function> (for a member "
@@ -7521,7 +7974,7 @@ msgid ""
 "function)."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5943(para)
+#: C/gtkmm-tutorial-in.xml:6099(para)
 msgid ""
 "A little example follows. To use the example just execute it from a "
 "terminal; it doesn't create a window. It will create a pipe named "
@@ -7531,24 +7984,24 @@ msgid ""
 "&gt; testfifo</literal>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5957(title)
+#: C/gtkmm-tutorial-in.xml:6113(title)
 msgid "Idle Functions"
-msgstr ""
+msgstr "Funções ociosas"
 
-#: C/gtkmm-tutorial-in.xml:5959(para)
+#: C/gtkmm-tutorial-in.xml:6115(para)
 msgid ""
 "If you want to specify a method that gets called when nothing else is "
 "happening, use the following:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5964(programlisting)
+#: C/gtkmm-tutorial-in.xml:6120(programlisting)
 #, no-wrap
 msgid ""
 "\n"
 "sigc::connection  Glib::SignalIdle::connect(const sigc::slot&lt;bool&gt;&amp; slot, int priority = 
Glib::PRIORITY_DEFAULT_IDLE);\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5969(para)
+#: C/gtkmm-tutorial-in.xml:6125(para)
 msgid ""
 "This causes <application>gtkmm</application> to call the specified method "
 "whenever nothing else is happening. You can add a priority (lower numbers "
@@ -7558,20 +8011,20 @@ msgid ""
 "signal handler, which should be declared as follows:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5979(programlisting)
+#: C/gtkmm-tutorial-in.xml:6135(programlisting)
 #, no-wrap
 msgid ""
 "\n"
 "bool idleFunc();\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5984(para)
+#: C/gtkmm-tutorial-in.xml:6140(para)
 msgid ""
 "Since this is very similar to the methods above this explanation should be "
 "sufficient to understand what's going on. However, here's a little example:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5991(para)
+#: C/gtkmm-tutorial-in.xml:6147(para)
 msgid ""
 "This example points out the difference of idle and timeout methods a little. "
 "If you need methods that are called periodically, and speed is not very "
@@ -7580,21 +8033,21 @@ msgid ""
 "use idle methods."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:5999(para)
+#: C/gtkmm-tutorial-in.xml:6155(para)
 msgid ""
 "Try executing the example and increasing the system load. The upper progress "
 "bar will increase steadily; the lower one will slow down."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6009(title)
+#: C/gtkmm-tutorial-in.xml:6165(title)
 msgid "Memory management"
-msgstr ""
+msgstr "Gerenciamento de memória"
 
-#: C/gtkmm-tutorial-in.xml:6015(title)
+#: C/gtkmm-tutorial-in.xml:6171(title)
 msgid "Normal C++ memory management"
-msgstr ""
+msgstr "Gerenciamento de memória normal em C++"
 
-#: C/gtkmm-tutorial-in.xml:6017(para)
+#: C/gtkmm-tutorial-in.xml:6173(para)
 msgid ""
 "<application>gtkmm</application> allows the programmer to control the "
 "lifetime (that is, the construction and destruction) of any widget in the "
@@ -7607,15 +8060,16 @@ msgid ""
 "subset of C++'s memory management features."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6029(para)
+#: C/gtkmm-tutorial-in.xml:6185(para)
 msgid "Here are some examples of normal C++ memory management:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6032(title)
+#: C/gtkmm-tutorial-in.xml:6188(title)
+#, fuzzy
 msgid "Class Scope widgets"
-msgstr ""
+msgstr "Usando widgets derivados"
 
-#: C/gtkmm-tutorial-in.xml:6034(para)
+#: C/gtkmm-tutorial-in.xml:6190(para)
 msgid ""
 "If a programmer does not need dynamic memory allocation, automatic widgets "
 "in class scope may be used. One advantage of automatic widgets in class "
@@ -7623,20 +8077,19 @@ msgid ""
 "not risk memory leaks from failing to <literal>delete</literal> a widget."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6041(para)
+#: C/gtkmm-tutorial-in.xml:6197(para)
 msgid ""
-"The primary disadvantages of using class scope widgets are revealing the "
-"class implementation rather than the class interface in the class header. "
-"Class scope widgets also require Automatic widgets in class scope suffer the "
-"same disadvantages as any other class scope automatic variable."
+"The primary disadvantage of using class scope widgets is revealing the class "
+"implementation rather than the class interface in the class header."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6049(programlisting)
+#: C/gtkmm-tutorial-in.xml:6203(programlisting)
 #, no-wrap
 msgid ""
 "\n"
 "#include &lt;gtkmm/button.h&gt;\n"
-"class Foo\n"
+"#include &lt;gtkmm/window.h&gt;\n"
+"class Foo : public Gtk::Window\n"
 "{\n"
 "private:\n"
 "  Gtk::Button theButton;\n"
@@ -7644,11 +8097,12 @@ msgid ""
 "};\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6062(title)
+#: C/gtkmm-tutorial-in.xml:6217(title)
+#, fuzzy
 msgid "Function scope widgets"
-msgstr ""
+msgstr "Usando widgets derivados"
 
-#: C/gtkmm-tutorial-in.xml:6070(programlisting)
+#: C/gtkmm-tutorial-in.xml:6223(programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -7656,31 +8110,22 @@ msgid ""
 "  Gtk::Button aButton;\n"
 "  aButton.show();\n"
 "  ...\n"
-"  kit.run();\n"
+"  app-&gt;run();\n"
 "}\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6064(para)
+#: C/gtkmm-tutorial-in.xml:6219(para)
 msgid ""
 "If a programmer does not need a class scope widget, a function scope widget "
 "may also be used. The advantages to function scope over class scope are the "
 "increased data hiding and reduced dependencies. <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6082(title)
+#: C/gtkmm-tutorial-in.xml:6235(title)
 msgid "Dynamic allocation with new and delete"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6084(para)
-msgid ""
-"Although, in most cases, the programmer will prefer to allow containers to "
-"automatically destroy their children using <function>manage()</function> "
-"(see below), the programmer is not required to use <function>manage()</"
-"function>. The traditional <literal>new</literal> and <literal>delete</"
-"literal> operators may also be used."
-msgstr ""
-
-#: C/gtkmm-tutorial-in.xml:6094(programlisting)
+#: C/gtkmm-tutorial-in.xml:6243(programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -7691,91 +8136,78 @@ msgid ""
 "delete pButton;\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6092(para)
+#: C/gtkmm-tutorial-in.xml:6237(para)
 msgid ""
-"<placeholder-1/> Here, the programmer deletes pButton to prevent a memory "
-"leak."
+"Although, in most cases, the programmer will prefer to allow containers to "
+"automatically destroy their children using <function>Gtk::manage()</"
+"function> (see below), the programmer is not required to use <function>Gtk::"
+"manage()</function>. The traditional <literal>new</literal> and "
+"<literal>delete</literal> operators may also be used. <placeholder-1/> Here, "
+"the programmer deletes <varname>pButton</varname> to prevent a memory leak."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6109(title)
+#: C/gtkmm-tutorial-in.xml:6257(title)
 msgid "Managed Widgets"
-msgstr ""
+msgstr "Widgets gerenciados"
 
-#: C/gtkmm-tutorial-in.xml:6111(para)
+#: C/gtkmm-tutorial-in.xml:6259(para)
 msgid ""
 "Alternatively, you can let a widget's container control when the widget is "
 "destroyed. In most cases, you want a widget to last only as long as the "
 "container it is in. To delegate the management of a widget's lifetime to its "
-"container, first create it with <function>manage()</function> and pack it "
-"into its container with <methodname>add()</methodname>. Now, the widget will "
-"be destroyed whenever its container is destroyed."
+"container, first create it with <function>Gtk::manage()</function> and pack "
+"it into its container with <methodname>Gtk::Container::add()</methodname>, "
+"<methodname>Gtk::Box::pack_start()</methodname>, or a similar method. Now "
+"the widget will be destroyed whenever its container is destroyed."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6121(title)
+#: C/gtkmm-tutorial-in.xml:6270(title)
 msgid "Dynamic allocation with manage() and add()"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6123(para)
+#: C/gtkmm-tutorial-in.xml:6272(para)
 msgid ""
 "<application>gtkmm</application> provides the <function>manage()</function> "
 "function and <methodname>add()</methodname> methods to create and destroy "
 "widgets. Every widget except a top-level window must be added or packed into "
 "a container in order to be displayed. The <function>manage()</function> "
-"function marks a packed widget so that when the widget is added to a "
-"container, the container becomes responsible for deleting the widget."
+"function marks a widget so that when the widget is added to a container, the "
+"container becomes responsible for deleting the widget."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6133(programlisting)
+#: C/gtkmm-tutorial-in.xml:6282(programlisting)
 #, no-wrap
 msgid ""
 "\n"
-"MyWidget::MyWidget()\n"
+"MyContainer::MyContainer()\n"
 "{\n"
-"  Gtk::Button* pButton = manage(new Gtk::Button(\"Test\"));\n"
-"  add(*pButton); //add aButton to MyWidget\n"
+"  Gtk::Button* pButton = Gtk::manage(new Gtk::Button(\"Test\"));\n"
+"  add(*pButton); //add *pButton to MyContainer\n"
 "}\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6132(para)
+#: C/gtkmm-tutorial-in.xml:6281(para)
 msgid ""
-"<placeholder-1/> Now, when objects of type <classname>MyWidget</classname> "
-"are destroyed, the button will also be deleted. It is no longer necessary to "
-"delete pButton to free the button's memory; its deletion has been delegated "
-"to the <classname>MyWidget</classname> object."
-msgstr ""
-
-#: C/gtkmm-tutorial-in.xml:6147(para)
-msgid ""
-"<application>gtkmm</application> also provides the <methodname>set_manage()</"
-"methodname> method for all widgets. This can be used to generate the same "
-"result as <function>manage()</function>, but is more tedious:"
-msgstr ""
-
-#: C/gtkmm-tutorial-in.xml:6153(para)
-msgid "foo.add( (w=new Gtk::Label(\"Hello\"), w-&gt;set_manage(), &amp;w) );"
-msgstr ""
-
-#: C/gtkmm-tutorial-in.xml:6157(para)
-msgid "is the same as"
-msgstr ""
-
-#: C/gtkmm-tutorial-in.xml:6161(para)
-msgid "foo.add( manage(new Gtk::Label(\"Hello\")) );"
+"<placeholder-1/> Now, when objects of type <classname>MyContainer</"
+"classname> are destroyed, the button will also be deleted. It is no longer "
+"necessary to delete <varname>pButton</varname> to free the button's memory; "
+"its deletion has been delegated to the <classname>MyContainer</classname> "
+"object."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6165(para)
+#: C/gtkmm-tutorial-in.xml:6295(para)
 msgid ""
-"Of course, a top level container will not be added to another container. The "
-"programmer is responsible for destroying the top level container using one "
+"Of course, a top-level container will not be added to another container. The "
+"programmer is responsible for destroying the top-level container using one "
 "of the traditional C++ techniques. For instance, your top-level Window might "
-"just be an instance in your <function>main()</function> function.."
+"just be an instance in your <function>main()</function> function."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6177(title)
+#: C/gtkmm-tutorial-in.xml:6307(title)
 msgid "Shared resources"
-msgstr ""
+msgstr "Recursos compartilhados"
 
-#: C/gtkmm-tutorial-in.xml:6179(para)
+#: C/gtkmm-tutorial-in.xml:6309(para)
 msgid ""
 "Some objects, such as <classname>Gdk::Pixbuf</classname>s and "
 "<classname>Pango::Font</classname>s, are obtained from a shared store. "
@@ -7786,21 +8218,21 @@ msgid ""
 "has its own smartpointer, <classname>Cairo::RefPtr&lt;&gt;</classname>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6192(programlisting)
+#: C/gtkmm-tutorial-in.xml:6322(programlisting)
 #, no-wrap
 msgid ""
 "\n"
 "Glib::RefPtr&lt;Gdk::Pixbuf&gt; pixbuf = Gdk::Pixbuf::create_from_file(filename);\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6189(para)
+#: C/gtkmm-tutorial-in.xml:6319(para)
 msgid ""
 "Objects such as <classname>Gdk::Pixbuf</classname> can only be instantiated "
 "with a <methodname>create()</methodname> function. For instance, "
 "<placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6201(programlisting)
+#: C/gtkmm-tutorial-in.xml:6331(programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -7811,14 +8243,14 @@ msgid ""
 "}\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6197(para)
+#: C/gtkmm-tutorial-in.xml:6327(para)
 msgid ""
 "You have no way of getting a bare <classname>Gdk::Pixbuf</classname>. In the "
 "example, <varname>pixbuf</varname> is a smart pointer, so you can do this, "
 "much like a normal pointer: <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6210(para)
+#: C/gtkmm-tutorial-in.xml:6340(para)
 msgid ""
 "When <varname>pixbuf</varname> goes out of scope an <methodname>unref()</"
 "methodname> will happen in the background and you don't need to worry about "
@@ -7826,14 +8258,14 @@ msgid ""
 "literal>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6218(programlisting)
+#: C/gtkmm-tutorial-in.xml:6348(programlisting)
 #, no-wrap
 msgid ""
 "\n"
 "Glib::RefPtr&lt;Gdk::Pixbuf&gt; pixbuf2 = pixbuf;\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6216(para)
+#: C/gtkmm-tutorial-in.xml:6346(para)
 msgid ""
 "If you copy a <classname>RefPtr</classname>, for instance <placeholder-1/> , "
 "or if you pass it as a method argument or a return type, then "
@@ -7842,31 +8274,33 @@ msgid ""
 "classname> has gone out of scope."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6226(para)
+#: C/gtkmm-tutorial-in.xml:6356(para)
 msgid ""
 "See the <link linkend=\"chapter-refptr\">appendix</link> for detailed "
 "information about RefPtr."
 msgstr ""
+"Veja o <link linkend=\"chapter-refptr\">apêndice</link> para obter "
+"informações detalhadas sobre RefPtr."
 
-#: C/gtkmm-tutorial-in.xml:6231(para)
+#: C/gtkmm-tutorial-in.xml:6361(para)
 msgid "Bjarne Stroustrup, \"The C++ Programming Language\" - section 14.4.2"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6234(para)
+#: C/gtkmm-tutorial-in.xml:6364(para)
 msgid "Nicolai M. Josuttis, \"The C++ Standard Library\" - section 4.2"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6227(para)
+#: C/gtkmm-tutorial-in.xml:6357(para)
 msgid ""
 "If you wish to learn more about smartpointers, you might look in these "
 "books: <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6245(title)
+#: C/gtkmm-tutorial-in.xml:6375(title)
 msgid "Glade and Gtk::Builder"
-msgstr ""
+msgstr "Glade e Gtk::Builder"
 
-#: C/gtkmm-tutorial-in.xml:6246(para)
+#: C/gtkmm-tutorial-in.xml:6376(para)
 msgid ""
 "Although you can use C++ code to instantiate and arrange widgets, this can "
 "soon become tedious and repetitive. And it requires a recompilation to show "
@@ -7877,41 +8311,41 @@ msgid ""
 "specifically named widget instances."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6259(simpara)
+#: C/gtkmm-tutorial-in.xml:6389(simpara)
 msgid "Less C++ code is required."
-msgstr ""
+msgstr "Menos código C++ é necessário."
 
-#: C/gtkmm-tutorial-in.xml:6260(simpara)
+#: C/gtkmm-tutorial-in.xml:6390(simpara)
 msgid "UI changes can be seen more quickly, so UIs are able to improve."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6261(simpara)
+#: C/gtkmm-tutorial-in.xml:6391(simpara)
 msgid "Designers without programming skills can create and edit UIs."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6256(para)
+#: C/gtkmm-tutorial-in.xml:6386(para)
 msgid "This has the following advantages: <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6265(para)
+#: C/gtkmm-tutorial-in.xml:6395(para)
 msgid ""
 "You still need C++ code to deal with User Interface changes triggered by "
 "user actions, but using <application>Gtk::Builder</application> for the "
 "widget layout allows you to focus on implementing that functionality."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6272(title)
+#: C/gtkmm-tutorial-in.xml:6402(title)
 msgid "Loading the .glade file"
-msgstr ""
+msgstr "Carregando arquivos .glade"
 
-#: C/gtkmm-tutorial-in.xml:6277(programlisting)
+#: C/gtkmm-tutorial-in.xml:6407(programlisting)
 #, no-wrap
 msgid ""
 "\n"
 "Glib::RefPtr&lt;Gtk::Builder&gt; builder = Gtk::Builder::create_from_file(\"basic.glade\");\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6273(para)
+#: C/gtkmm-tutorial-in.xml:6403(para)
 msgid ""
 "<classname>Gtk::Builder</classname> must be used via a <classname>Glib::"
 "RefPtr</classname>. Like all such classes, you need to use a "
@@ -7922,25 +8356,25 @@ msgid ""
 "application>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6286(programlisting)
+#: C/gtkmm-tutorial-in.xml:6416(programlisting)
 #, no-wrap
 msgid ""
 "\n"
 "Glib::RefPtr&lt;Gtk::Builder&gt; builder = Gtk::Builder::create_from_file(\"basic.glade\", 
\"treeview_products\");\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6285(para)
+#: C/gtkmm-tutorial-in.xml:6415(para)
 msgid ""
 "To instantiate just one window, or just one of the child widgets, you can "
 "specify the name of a widget as the second parameter. For instance, "
 "<placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6294(title)
+#: C/gtkmm-tutorial-in.xml:6424(title)
 msgid "Accessing widgets"
-msgstr ""
+msgstr "Acessando widgets"
 
-#: C/gtkmm-tutorial-in.xml:6302(programlisting)
+#: C/gtkmm-tutorial-in.xml:6432(programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -7948,7 +8382,7 @@ msgid ""
 "builder-&gt;get_widget(\"DialogBasic\", pDialog);\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6296(para)
+#: C/gtkmm-tutorial-in.xml:6426(para)
 msgid ""
 "To access a widget, for instance to <methodname>show()</methodname> a "
 "dialog, use the <methodname>get_widget()</methodname> method, providing the "
@@ -7957,14 +8391,14 @@ msgid ""
 "the wrong type, then the pointer will be set to 0. <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6308(para)
+#: C/gtkmm-tutorial-in.xml:6438(para)
 msgid ""
 "<application>Gtk::Builder</application> checks for a null pointer, and "
 "checks that the widget is of the expected type, and will show warnings on "
 "the command line about these."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6314(para)
+#: C/gtkmm-tutorial-in.xml:6444(para)
 msgid ""
 "Remember that you are not instantiating a widget with <methodname>get_widget"
 "()</methodname>, you are just obtaining a pointer to one that already "
@@ -7974,7 +8408,7 @@ msgid ""
 "<methodname>Gtk::Builder::create_from_file()</methodname>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6323(para)
+#: C/gtkmm-tutorial-in.xml:6453(para)
 msgid ""
 "<methodname>get_widget()</methodname> returns child widgets that are "
 "<function>manage()</function>ed (see the <link linkend=\"chapter-memory"
@@ -7987,18 +8421,18 @@ msgid ""
 "them at some point."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6337(para)
+#: C/gtkmm-tutorial-in.xml:6467(para)
 msgid ""
 "This simple example shows how to load a <application>Glade</application> "
 "file at runtime and access the widgets with <application>Gtk::Builder</"
 "application>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6350(title)
+#: C/gtkmm-tutorial-in.xml:6480(title)
 msgid "Using derived widgets"
-msgstr ""
+msgstr "Usando widgets derivados"
 
-#: C/gtkmm-tutorial-in.xml:6351(para)
+#: C/gtkmm-tutorial-in.xml:6481(para)
 msgid ""
 "You can use <application>Glade</application> to layout your own custom "
 "widgets derived from <application>gtkmm</application> widget classes. This "
@@ -8009,7 +8443,7 @@ msgid ""
 "class."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6360(programlisting)
+#: C/gtkmm-tutorial-in.xml:6490(programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -8017,13 +8451,13 @@ msgid ""
 "builder-&gt;get_widget_derived(\"DialogBasic\", pDialog);\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6359(para)
+#: C/gtkmm-tutorial-in.xml:6489(para)
 msgid ""
 "Use <methodname>Gtk::Builder::get_widget_derived()</methodname> like so: "
 "<placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6366(para)
+#: C/gtkmm-tutorial-in.xml:6496(para)
 msgid ""
 "Your derived class must have a constructor that takes a pointer to the "
 "underlying C type, and the <classname>Gtk::Builder</classname> instance. All "
@@ -8033,7 +8467,7 @@ msgid ""
 "<type>GtkDialog</type>, for instance)."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6376(programlisting)
+#: C/gtkmm-tutorial-in.xml:6506(programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -8043,13 +8477,13 @@ msgid ""
 "}\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6373(para)
+#: C/gtkmm-tutorial-in.xml:6503(para)
 msgid ""
 "You must call the base class's constructor in the initialization list, "
 "providing the C pointer. For instance, <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6388(programlisting)
+#: C/gtkmm-tutorial-in.xml:6518(programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -8067,7 +8501,7 @@ msgid ""
 "}\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6384(para)
+#: C/gtkmm-tutorial-in.xml:6514(para)
 msgid ""
 "You could then encapsulate the manipulation of the child widgets in the "
 "constructor of the derived class, maybe using <methodname>get_widget()</"
@@ -8075,17 +8509,17 @@ msgid ""
 "instance, <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6406(para)
+#: C/gtkmm-tutorial-in.xml:6536(para)
 msgid ""
 "This example shows how to load a <application>Glade</application> file at "
 "runtime and access the widgets via a derived class."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6419(title)
+#: C/gtkmm-tutorial-in.xml:6549(title)
 msgid "Internationalization and Localization"
-msgstr ""
+msgstr "Internacionalização e localização"
 
-#: C/gtkmm-tutorial-in.xml:6421(para)
+#: C/gtkmm-tutorial-in.xml:6551(para)
 msgid ""
 "<application>gtkmm</application> applications can easily support multiple "
 "languages, including non-European languages such as Chinese and right-to-"
@@ -8094,14 +8528,14 @@ msgid ""
 "language at runtime based on the user's environment."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6427(para)
+#: C/gtkmm-tutorial-in.xml:6557(para)
 msgid ""
 "You might not anticipate the need to support additional languages, but you "
 "can never rule it out. And it's easier to develop the application properly "
 "in the first place rather than retrofitting later."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6433(para)
+#: C/gtkmm-tutorial-in.xml:6563(para)
 msgid ""
 "The process of writing source code that allows for translation is called "
 "<literal>internationalization</literal>, often abbreviated to <literal>i18n</"
@@ -8110,7 +8544,7 @@ msgid ""
 "based on that source code."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6441(para)
+#: C/gtkmm-tutorial-in.xml:6571(para)
 msgid ""
 "The main activity in the internationalization process is finding strings "
 "seen by users and marking them for translation. You do not need to do it all "
@@ -8119,19 +8553,19 @@ msgid ""
 "covered."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6449(para)
+#: C/gtkmm-tutorial-in.xml:6579(para)
 msgid ""
 "String literals should be typed in the source code in English, but "
 "surrounded by a macro. The <application>gettext</application> (or intltool) "
-"utility can then extract the marked strings for tramslation, and substitute "
+"utility can then extract the marked strings for translation, and substitute "
 "the translated text at runtime."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6457(title)
+#: C/gtkmm-tutorial-in.xml:6587(title)
 msgid "Preparing your project"
-msgstr ""
+msgstr "Preparando seu projeto"
 
-#: C/gtkmm-tutorial-in.xml:6460(para)
+#: C/gtkmm-tutorial-in.xml:6590(para)
 msgid ""
 "In the instructions below we will assume that you will not be using "
 "<application>gettext</application> directly, but <application>intltool</"
@@ -8144,17 +8578,17 @@ msgid ""
 "application><filename>.pot/.po</filename> files."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6471(para)
+#: C/gtkmm-tutorial-in.xml:6601(para)
 msgid ""
 "We also assume that you are using autotools (e.g. <application>automake</"
 "application> and <application>autoconf</application>) to build your project, "
-"and that you are using <ulink url=\"http://svn.gnome.org/viewcvs/gnome-";
-"common/trunk/autogen.sh?view=markup\"><literal>./autogen.sh</literal> from "
-"<application>gnome-common</application></ulink>, which, among other things, "
-"takes care of some <application>intltool</application> initialization."
+"and that you are using <ulink url=\"http://git.gnome.org/browse/gnome-common/";
+"tree/autogen.sh\"><literal>./autogen.sh</literal> from <application>gnome-"
+"common</application></ulink>, which, among other things, takes care of some "
+"<application>intltool</application> initialization."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6484(para)
+#: C/gtkmm-tutorial-in.xml:6614(para)
 msgid ""
 "Create a sub-directory named <literal>po</literal> in your project's root "
 "directory. This directory will eventually contain all of your translations. "
@@ -8164,7 +8598,7 @@ msgid ""
 "that translators can keep track of translation changes."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6494(para)
+#: C/gtkmm-tutorial-in.xml:6624(para)
 msgid ""
 "<literal>LINGUAS</literal> contains an alphabetically sorted list of codes "
 "identifying the languages for which your program is translated (comment "
@@ -8174,7 +8608,7 @@ msgid ""
 "translations, your <literal>LINGUAS</literal> file would look like this:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6503(programlisting)
+#: C/gtkmm-tutorial-in.xml:6633(programlisting)
 #, no-wrap
 msgid ""
 "# keep this file sorted alphabetically, one language code per line\n"
@@ -8182,14 +8616,14 @@ msgid ""
 "ja"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6506(para)
+#: C/gtkmm-tutorial-in.xml:6636(para)
 msgid ""
 "(In addition, you'd have the files <literal>ja.po</literal> and <literal>de."
 "po</literal> in your <literal>po</literal> directory which contain the "
 "German and Japanese translations, respectively.)"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6513(para)
+#: C/gtkmm-tutorial-in.xml:6643(para)
 msgid ""
 "<literal>POTFILES.in</literal> is a list of paths to all files which contain "
 "strings marked up for translation, starting from the project root directory. "
@@ -8199,14 +8633,14 @@ msgid ""
 "like this:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6522(programlisting)
+#: C/gtkmm-tutorial-in.xml:6652(programlisting)
 #, no-wrap
 msgid ""
 "src/main.cc\n"
 "src/other.cc"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6525(para)
+#: C/gtkmm-tutorial-in.xml:6655(para)
 msgid ""
 "If you are using <application>gettext</application> directly, you can only "
 "mark strings for translation if they are in source code file. However, if "
@@ -8219,7 +8653,7 @@ msgid ""
 "filename> files to the list in <literal>POTFILES.in</literal>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6538(para)
+#: C/gtkmm-tutorial-in.xml:6668(para)
 msgid ""
 "Now that there is a place to put your translations, you need to initialize "
 "<application>intltool</application> and <application>gettext</application>. "
@@ -8227,7 +8661,7 @@ msgid ""
 "'programname' with the name of your program:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6545(programlisting)
+#: C/gtkmm-tutorial-in.xml:6675(programlisting)
 #, no-wrap
 msgid ""
 "IT_PROG_INTLTOOL([0.35.0])\n"
@@ -8242,21 +8676,21 @@ msgid ""
 "AC_SUBST(PROGRAMNAME_LOCALEDIR)"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6556(para)
+#: C/gtkmm-tutorial-in.xml:6686(para)
 msgid ""
 "This <varname>PROGRAMNAME_LOCALEDIR</varname> variable will be used later in "
 "the <literal>Makefile.am</literal> file, to define a macro that will be used "
 "when you initialize <application>gettext</application> in your source code."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6567(para)
+#: C/gtkmm-tutorial-in.xml:6697(para)
 msgid ""
 "Add <literal>po</literal> to the <literal>SUBDIRS</literal> variable. "
 "Without this, your translations won't get built and installed when you build "
 "the program"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6574(programlisting)
+#: C/gtkmm-tutorial-in.xml:6704(programlisting)
 #, no-wrap
 msgid ""
 "INTLTOOL_FILES = intltool-extract.in \\\n"
@@ -8264,18 +8698,18 @@ msgid ""
 "                 intltool-update.in"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6572(para)
+#: C/gtkmm-tutorial-in.xml:6702(para)
 msgid "Define <literal>INTLTOOL_FILES</literal> as: <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6580(para)
+#: C/gtkmm-tutorial-in.xml:6710(para)
 msgid ""
 "Add <literal>INTLTOOL_FILES</literal> to the <literal>EXTRA_DIST</literal> "
 "list of files. This ensures that when you do a <command>make dist</command>, "
 "these commands will be included in the source tarball."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6590(programlisting)
+#: C/gtkmm-tutorial-in.xml:6720(programlisting)
 #, no-wrap
 msgid ""
 "DISTCLEANFILES = ... intltool-extract \\\n"
@@ -8284,37 +8718,37 @@ msgid ""
 "                 po/.intltool-merge-cache"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6588(para)
+#: C/gtkmm-tutorial-in.xml:6718(para)
 msgid "Update your <literal>DISTCLEANFILES</literal>: <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6563(para)
+#: C/gtkmm-tutorial-in.xml:6693(para)
 msgid "In the top-level Makefile.am: <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6599(para)
+#: C/gtkmm-tutorial-in.xml:6729(para)
 msgid ""
 "In your <literal>src/Makefile.am</literal>, update your "
 "<literal>AM_CPPFLAGS</literal> to add the following preprocessor macro "
 "definition:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6604(programlisting)
+#: C/gtkmm-tutorial-in.xml:6734(programlisting)
 #, no-wrap
 msgid "AM_CPPFLAGS = ... -DPROGRAMNAME_LOCALEDIR=\\\"${PROGRAMNAME_LOCALEDIR}\\\""
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6605(para)
+#: C/gtkmm-tutorial-in.xml:6735(para)
 msgid ""
 "This macro will be used when you initialize <literal>gettext</literal> in "
 "your source code."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6612(title)
+#: C/gtkmm-tutorial-in.xml:6742(title)
 msgid "Marking strings for translation"
-msgstr ""
+msgstr "Marcando strings para tradução"
 
-#: C/gtkmm-tutorial-in.xml:6614(para)
+#: C/gtkmm-tutorial-in.xml:6744(para)
 msgid ""
 "String literals should be typed in the source code in English, but they "
 "should be surrounded by a call to the <function>gettext()</function> "
@@ -8322,24 +8756,24 @@ msgid ""
 "translations may be used at runtime instead of the original English strings."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6622(para)
+#: C/gtkmm-tutorial-in.xml:6752(para)
 msgid ""
 "The <application>GNU gettext</application> package allows you to mark "
 "strings in source code, extract those strings for translation, and use the "
 "translated strings in your application."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6634(programlisting)
+#: C/gtkmm-tutorial-in.xml:6764(programlisting)
 #, no-wrap
 msgid "display_message(\"Getting ready for i18n.\");"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6636(programlisting)
+#: C/gtkmm-tutorial-in.xml:6766(programlisting)
 #, no-wrap
 msgid "display_message(_(\"Getting ready for i18n.\"));"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6628(para)
+#: C/gtkmm-tutorial-in.xml:6758(para)
 msgid ""
 "However, <application>Glib</application> defines <function>gettext()</"
 "function> support macros which are shorter wrappers in an easy-to-use form. "
@@ -8347,12 +8781,12 @@ msgid ""
 "then, for example, substitute: <placeholder-1/> with: <placeholder-2/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6647(programlisting)
+#: C/gtkmm-tutorial-in.xml:6777(programlisting)
 #, no-wrap
 msgid "xgettext -a -o my-strings --omit-header *.cc *.h"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6639(para)
+#: C/gtkmm-tutorial-in.xml:6769(para)
 msgid ""
 "For reference, it is possible to generate a file which contains all strings "
 "which appear in your code, even if they are not marked for translation, "
@@ -8361,7 +8795,7 @@ msgid ""
 "the source code directory: <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6654(programlisting)
+#: C/gtkmm-tutorial-in.xml:6784(programlisting)
 #, no-wrap
 msgid ""
 "bindtextdomain(GETTEXT_PACKAGE, PROGRAMNAME_LOCALEDIR);\n"
@@ -8369,18 +8803,18 @@ msgid ""
 "textdomain(GETTEXT_PACKAGE);"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6650(para)
+#: C/gtkmm-tutorial-in.xml:6780(para)
 msgid ""
 "Finally, to let you program use the translation for the current locale, add "
 "this code to the beginning of your <filename>main.cc</filename> file, to "
 "initialize gettext. <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6660(title)
+#: C/gtkmm-tutorial-in.xml:6790(title)
 msgid "How gettext works"
-msgstr ""
+msgstr "Como funciona o gettext"
 
-#: C/gtkmm-tutorial-in.xml:6662(para)
+#: C/gtkmm-tutorial-in.xml:6792(para)
 msgid ""
 "<application>intltool</application> / <application>xgettext</application> "
 "script extracts the strings and puts them in a <filename>mypackage.pot</"
@@ -8393,7 +8827,7 @@ msgid ""
 "files from the regenerated <filename>.pot</filename> file."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6676(para)
+#: C/gtkmm-tutorial-in.xml:6806(para)
 msgid ""
 "At install time, the <filename>.po</filename> files are converted to a "
 "binary format (with the extension <filename>.mo</filename>) and placed in a "
@@ -8401,7 +8835,7 @@ msgid ""
 "locale/</filename>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6683(para)
+#: C/gtkmm-tutorial-in.xml:6813(para)
 msgid ""
 "When the application runs, the <application>gettext</application> library "
 "checks the system-wide directory to see if there is a <filename>.mo</"
@@ -8412,16 +8846,16 @@ msgid ""
 "used."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6695(title)
+#: C/gtkmm-tutorial-in.xml:6825(title)
 msgid "Testing and adding translations"
-msgstr ""
+msgstr "Testando e adicionando traduções"
 
-#: C/gtkmm-tutorial-in.xml:6702(programlisting)
+#: C/gtkmm-tutorial-in.xml:6832(programlisting)
 #, no-wrap
 msgid "intltool-update --pot"
-msgstr ""
+msgstr "intltool-update --pot"
 
-#: C/gtkmm-tutorial-in.xml:6697(para)
+#: C/gtkmm-tutorial-in.xml:6827(para)
 msgid ""
 "To convince yourself that you've done well, you may wish to add a "
 "translation for a new locale. In order to do that, go to the <filename>po</"
@@ -8429,7 +8863,7 @@ msgid ""
 "<placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6705(para)
+#: C/gtkmm-tutorial-in.xml:6835(para)
 msgid ""
 "That will create a file named <filename>programname.pot</filename>. Now copy "
 "that file to <filename>languagecode.po</filename>, such as <filename>de.po</"
@@ -8441,7 +8875,7 @@ msgid ""
 "<literal>UTF-8</literal>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6718(para)
+#: C/gtkmm-tutorial-in.xml:6848(para)
 msgid ""
 "It's possible that certain strings will be marked as <literal>fuzzy</"
 "literal> in the <filename>.po</filename> file. These translations will not "
@@ -8449,49 +8883,49 @@ msgid ""
 "<literal>fuzzy</literal> tag."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6728(title)
+#: C/gtkmm-tutorial-in.xml:6858(title)
 msgid "Resources"
-msgstr ""
+msgstr "Recursos"
 
-#: C/gtkmm-tutorial-in.xml:6737(ulink)
+#: C/gtkmm-tutorial-in.xml:6867(ulink)
 msgid "Internationalizing GNOME applications"
-msgstr ""
+msgstr "Internacionalização de aplicações do GNOME"
 
-#: C/gtkmm-tutorial-in.xml:6744(ulink)
+#: C/gtkmm-tutorial-in.xml:6874(ulink)
 msgid "Intltool README"
-msgstr ""
+msgstr "LEIA-ME Intltool"
 
-#: C/gtkmm-tutorial-in.xml:6750(ulink)
-msgid "How to use GNOME CVS as a Translator"
+#: C/gtkmm-tutorial-in.xml:6880(ulink)
+msgid "How to use Git for GNOME translators"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6756(ulink)
+#: C/gtkmm-tutorial-in.xml:6886(ulink)
 msgid "gettext manual"
-msgstr ""
+msgstr "Manual do gettext"
 
-#: C/gtkmm-tutorial-in.xml:6762(literal)
+#: C/gtkmm-tutorial-in.xml:6892(literal)
 msgid "gtkmm_hello"
-msgstr ""
+msgstr "gtkmm_hello"
 
-#: C/gtkmm-tutorial-in.xml:6762(ulink) C/gtkmm-tutorial-in.xml:6768(ulink)
+#: C/gtkmm-tutorial-in.xml:6892(ulink) C/gtkmm-tutorial-in.xml:6898(ulink)
 msgid "<placeholder-1/> example package"
-msgstr ""
+msgstr "<placeholder-1/> pacote de exemplo"
 
-#: C/gtkmm-tutorial-in.xml:6768(literal)
+#: C/gtkmm-tutorial-in.xml:6898(literal)
 msgid "gnomemm_hello"
-msgstr ""
+msgstr "gnomemm_hello"
 
-#: C/gtkmm-tutorial-in.xml:6730(para)
+#: C/gtkmm-tutorial-in.xml:6860(para)
 msgid ""
 "More information about what lies behind the internationalization and "
 "localization process is presented and demonstrated in: <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6778(title)
+#: C/gtkmm-tutorial-in.xml:6908(title)
 msgid "Expecting UTF8"
-msgstr ""
+msgstr "Esperando UTF8"
 
-#: C/gtkmm-tutorial-in.xml:6779(para)
+#: C/gtkmm-tutorial-in.xml:6909(para)
 msgid ""
 "A properly internationalized application will not make assumptions about the "
 "number of bytes in a character. That means that you shouldn't use pointer "
@@ -8500,7 +8934,7 @@ msgid ""
 "such as <function>strlen()</function> because they make the same assumption."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6786(para)
+#: C/gtkmm-tutorial-in.xml:6916(para)
 msgid ""
 "However, you probably already avoid bare char* arrays and pointer arithmetic "
 "by using <classname>std::string</classname>, so you just need to start using "
@@ -8509,11 +8943,11 @@ msgid ""
 "classname>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6794(title)
+#: C/gtkmm-tutorial-in.xml:6924(title)
 msgid "Glib::ustring and std::iostreams"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6811(programlisting)
+#: C/gtkmm-tutorial-in.xml:6941(programlisting)
 #, no-wrap
 msgid ""
 "std::ostringstream output;\n"
@@ -8523,12 +8957,12 @@ msgid ""
 msgstr ""
 
 #. <para>TODO: This section is not clear - it needs to spell things out more clearly and obviously.</para>
-#: C/gtkmm-tutorial-in.xml:6796(para)
+#: C/gtkmm-tutorial-in.xml:6926(para)
 msgid ""
 "Unfortunately, the integration with the standard iostreams is not completely "
 "foolproof. <application>gtkmm</application> converts <classname>Glib::"
-"ustring</classname>s to a locale-specific encoding (which usually is not UTF-"
-"8) if you output them to an <classname>ostream</classname> with "
+"ustring</classname>s to a locale-specific encoding (which usually is not "
+"UTF-8) if you output them to an <classname>ostream</classname> with "
 "<function>operator&lt;&lt;</function>. Likewise, retrieving <classname>Glib::"
 "ustrings</classname> from <classname>istream</classname> with "
 "<function>operator&gt;&gt;</function> causes a conversion in the opposite "
@@ -8539,43 +8973,43 @@ msgid ""
 "characters and the current locale is not UTF-8 encoded, the result is a "
 "corrupted <classname>Glib::ustring</classname>. You can work around this "
 "with a manual conversion. For instance, to retrieve the <classname>std::"
-"string</classname> from a <classname>ostringstream</classname>: <placeholder-"
-"1/>"
+"string</classname> from a <classname>ostringstream</classname>: "
+"<placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6821(title)
+#: C/gtkmm-tutorial-in.xml:6951(title)
 msgid "Pitfalls"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6823(para)
+#: C/gtkmm-tutorial-in.xml:6953(para)
 msgid ""
 "There are a few common mistakes that you would discover eventually yourself. "
 "But this section might help you to avoid them."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6826(title)
+#: C/gtkmm-tutorial-in.xml:6956(title)
 msgid "Same strings, different semantics"
-msgstr ""
+msgstr "Mesmas strings, semânticas diferentes"
 
-#: C/gtkmm-tutorial-in.xml:6828(para)
+#: C/gtkmm-tutorial-in.xml:6958(para)
 msgid ""
 "Sometimes two english strings are identical but have different meanings in "
 "different contexts, so they would probably not be identical when translated. "
 "Since the English strings are used as look-up keys, this causes problems."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6832(para)
+#: C/gtkmm-tutorial-in.xml:6962(para)
 msgid ""
 "In these cases, you should add extra characters to the strings. For "
-"instance, use <literal>\"jumps[noun]\"</literal> and <literal>\"jumps[verb]"
-"\"</literal> instead of just <literal>\"jumps\"</literal>) and strip them "
-"again outside the <function>gettext</function> call. If you add extra "
+"instance, use <literal>\"jumps[noun]\"</literal> and <literal>\"jumps"
+"[verb]\"</literal> instead of just <literal>\"jumps\"</literal> and strip "
+"them again outside the <function>gettext</function> call. If you add extra "
 "characters you should also add a comment for the translators before the "
 "<function>gettext</function> call. Such comments will be shown in the "
 "<filename>.po</filename> files. For instance:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6842(programlisting)
+#: C/gtkmm-tutorial-in.xml:6972(programlisting)
 #, no-wrap
 msgid ""
 "// note to translators: don't translate the \"[noun]\" part - it is\n"
@@ -8583,11 +9017,11 @@ msgid ""
 "text = strip(gettext(\"jumps[noun]\"), \"[noun]\");"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6848(title)
+#: C/gtkmm-tutorial-in.xml:6978(title)
 msgid "Composition of strings"
-msgstr ""
+msgstr "Composição de strings"
 
-#: C/gtkmm-tutorial-in.xml:6850(para)
+#: C/gtkmm-tutorial-in.xml:6980(para)
 msgid ""
 "C programmers use <function>sprintf()</function> to compose and concatenate "
 "strings. C++ favours streams, but unfortunately, this approach makes "
@@ -8596,11 +9030,11 @@ msgid ""
 "the grammar of the language."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6857(para)
+#: C/gtkmm-tutorial-in.xml:6987(para)
 msgid "For instance, this code would be problematic:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6859(programlisting)
+#: C/gtkmm-tutorial-in.xml:6989(programlisting)
 #, no-wrap
 msgid ""
 "std::cout &lt;&lt; _(\"Current amount: \") &lt;&lt; amount\n"
@@ -8609,24 +9043,28 @@ msgid ""
 "label.set_text(_(\"Really delete \") + filename + _(\" now?\"));"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6864(para)
+#: C/gtkmm-tutorial-in.xml:6998(programlisting)
+#, no-wrap
 msgid ""
-"So you should either avoid this situation or revert to the C-style "
-"<function>sprintf()</function>. One possible solution is the <ulink url="
-"\"http://www.cs.auc.dk/~olau/compose/\";>compose library</ulink> which "
-"supports syntax such as:"
+"std::cout &lt;&lt; Glib::ustring::compose(\n"
+"             _(\"Current amount: %1 Future: %2\"), amount, future) &lt;&lt; std::endl;\n"
+"\n"
+"label.set_text(Glib::ustring::compose(_(\"Really delete %1 now?\"), filename));"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6871(programlisting)
-#, no-wrap
-msgid "label.set_text(compose(_(\"Really delete %1 now?\"), filename));"
+#: C/gtkmm-tutorial-in.xml:6994(para)
+msgid ""
+"So you should either avoid this situation or use <ulink url=\"http://";
+"developer.gnome.org/glibmm/unstable/classGlib_1_1ustring.html"
+"\"><function>Glib::ustring::compose()</function></ulink> which supports "
+"syntax such as: <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6875(title)
+#: C/gtkmm-tutorial-in.xml:7006(title)
 msgid "Assuming the displayed size of strings"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6877(para)
+#: C/gtkmm-tutorial-in.xml:7008(para)
 msgid ""
 "You never know how much space a string will take on screen when translated. "
 "It might very possibly be twice the size of the original English string. "
@@ -8634,58 +9072,58 @@ msgid ""
 "runtime to the required size."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6881(title)
+#: C/gtkmm-tutorial-in.xml:7012(title)
 msgid "Unusual words"
-msgstr ""
+msgstr "Palavras incomuns"
 
-#: C/gtkmm-tutorial-in.xml:6883(para)
+#: C/gtkmm-tutorial-in.xml:7014(para)
 msgid ""
 "You should avoid cryptic abbreviations, slang, or jargon. They are usually "
 "difficult to translate, and are often difficult for even native speakers to "
 "understand. For instance, prefer \"application\" to \"app\""
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6889(title)
+#: C/gtkmm-tutorial-in.xml:7020(title)
 msgid "Using non-ASCII characters in strings"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6891(para)
+#: C/gtkmm-tutorial-in.xml:7022(para)
 msgid ""
 "Currently, <application>gettext</application> does not support non-ASCII "
 "characters (i.e. any characters with a code above 127) in source code. For "
 "instance, you cannot use the copyright sign (©)."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6897(para)
+#: C/gtkmm-tutorial-in.xml:7028(para)
 msgid ""
 "To work around this, you could write a comment in the source code just "
 "before the string, telling the translators to use the special character if "
 "it is available in their languages. For english, you could then make an "
 "American English <filename>en_US.po</filename> translation which used that "
-"special charactger."
+"special character."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6905(title)
+#: C/gtkmm-tutorial-in.xml:7036(title)
 msgid "Getting help with translations"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6907(para)
+#: C/gtkmm-tutorial-in.xml:7038(para)
 msgid ""
 "If your program is free software, there is a whole <literal>GNOME</literal> "
-"subproject devoted to helping you make translations, the <ulink url=\"http://";
-"developer.gnome.org/projects/gtp/\"><literal>GNOME</literal> Translation "
-"Project</ulink>."
+"subproject devoted to helping you make translations, the <ulink url="
+"\"https://live.gnome.org/TranslationProject/\";><literal>GNOME</literal> "
+"Translation Project</ulink>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6912(para)
+#: C/gtkmm-tutorial-in.xml:7043(para)
 msgid ""
-"The way it works is that you contact the gnome-i18n mailing list to find out "
-"how the translators can access your <filename>po/</filename> subdirectory, "
-"and to add your project to the big <ulink url=\"http://developer.gnome.org/";
-"projects/gtp/status/\">status tables</ulink>."
+"The way it works is that you upload your source code to a git repository "
+"where translators can access it, then contact the gnome-i18n mailing list "
+"and ask to have your program added to the <ulink url=\"http://l10n.gnome.org/";
+"module/\">list of modules to translate</ulink>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6919(para)
+#: C/gtkmm-tutorial-in.xml:7048(para)
 msgid ""
 "Then you make sure you update the file <filename>POTFILES.in</filename> in "
 "the <filename>po/</filename> subdirectory (<command>intltool-update -M</"
@@ -8697,7 +9135,7 @@ msgid ""
 "<filename>languagename.po</filename> files."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6931(para)
+#: C/gtkmm-tutorial-in.xml:7060(para)
 msgid ""
 "Note that most language teams only consist of 1-3 persons, so if your "
 "program contains a lot of strings, it might last a while before anyone has "
@@ -8707,11 +9145,11 @@ msgid ""
 "being maintained) they may decide to spend their time on some other project."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6943(title) C/gtkmm-tutorial-in.xml:7061(title)
+#: C/gtkmm-tutorial-in.xml:7072(title) C/gtkmm-tutorial-in.xml:7190(title)
 msgid "Custom Widgets"
-msgstr ""
+msgstr "Widgets personalizados"
 
-#: C/gtkmm-tutorial-in.xml:6945(para)
+#: C/gtkmm-tutorial-in.xml:7074(para)
 msgid ""
 "<application>gtkmm</application> makes it very easy to derive new widgets by "
 "inheriting from an existing widget class, either by deriving from a "
@@ -8721,77 +9159,77 @@ msgid ""
 "widget from scratch."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6952(title)
+#: C/gtkmm-tutorial-in.xml:7081(title)
 msgid "Custom Containers"
-msgstr ""
+msgstr "Contêiners personalizados"
 
-#: C/gtkmm-tutorial-in.xml:6955(para)
+#: C/gtkmm-tutorial-in.xml:7084(para)
 msgid ""
 "<methodname>get_request_mode_vfunc()</methodname>: Return what <literal>Gtk::"
 "SizeRequestMode</literal> is preferred by the container."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6956(para)
+#: C/gtkmm-tutorial-in.xml:7085(para)
 msgid ""
 "<methodname>get_preferred_width_vfunc()</methodname>: Calculate the minimum "
 "and natural width of the container."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6957(para)
+#: C/gtkmm-tutorial-in.xml:7086(para)
 msgid ""
 "<methodname>get_preferred_height_vfunc()</methodname>: Calculate the minimum "
 "and natural height of the container."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6958(para)
+#: C/gtkmm-tutorial-in.xml:7087(para)
 msgid ""
 "<methodname>get_preferred_width_for_height_vfunc()</methodname>: Calculate "
 "the minimum and natural width of the container, if it would be given the "
 "specified height."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6959(para)
+#: C/gtkmm-tutorial-in.xml:7088(para)
 msgid ""
 "<methodname>get_preferred_height_for_width_vfunc()</methodname>: Calculate "
 "the minimum and natural height of the container, if it would be given the "
 "specified width."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6960(para)
+#: C/gtkmm-tutorial-in.xml:7089(para)
 msgid ""
 "<methodname>on_size_allocate()</methodname>: Position the child widgets, "
 "given the height and width that the container has actually been given."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6961(para)
+#: C/gtkmm-tutorial-in.xml:7090(para)
 msgid ""
 "<methodname>forall_vfunc()</methodname>: Call the same callback for each of "
 "the children."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6962(para)
+#: C/gtkmm-tutorial-in.xml:7091(para)
 msgid "<methodname>on_add()</methodname>: Add a child widget to the container."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6963(para)
+#: C/gtkmm-tutorial-in.xml:7092(para)
 msgid ""
 "<methodname>on_remove()</methodname>: Remove a child widget from the "
 "container."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6964(para)
+#: C/gtkmm-tutorial-in.xml:7093(para)
 msgid ""
 "<methodname>child_type_vfunc()</methodname>: Return what type of child can "
 "be added."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6953(para)
+#: C/gtkmm-tutorial-in.xml:7082(para)
 msgid ""
 "When deriving from <classname>Gtk::Container</classname>, you should "
 "override the following virtual methods: <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6968(para)
+#: C/gtkmm-tutorial-in.xml:7097(para)
 msgid ""
 "The <methodname>get_request_mode_vfunc()</methodname>, "
 "<methodname>get_preferred_width_vfunc()</methodname>, "
@@ -8812,7 +9250,7 @@ msgid ""
 "eventually decide the size of the top-level window."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6988(para)
+#: C/gtkmm-tutorial-in.xml:7117(para)
 msgid ""
 "You are not guaranteed to get the <literal>Gtk::SizeRequestMode</literal> "
 "that you request. Therefore all four of the "
@@ -8820,7 +9258,7 @@ msgid ""
 "sensible values."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:6993(para)
+#: C/gtkmm-tutorial-in.xml:7122(para)
 msgid ""
 "<methodname>on_size_allocate()</methodname> receives the actual height and "
 "width that the parent container has decided to give to your widget. This "
@@ -8834,7 +9272,7 @@ msgid ""
 "the allocated space that has been offered by the parent container."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7005(para)
+#: C/gtkmm-tutorial-in.xml:7134(para)
 msgid ""
 "Unless your container is a top-level window that derives from "
 "<classname>Gtk::Window</classname>, you should probably also call "
@@ -8852,7 +9290,7 @@ msgid ""
 "performance."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7021(para)
+#: C/gtkmm-tutorial-in.xml:7150(para)
 msgid ""
 "By overriding <methodname>forall_vfunc()</methodname> you can allow "
 "applications to operate on all of the container's child widgets. For "
@@ -8860,7 +9298,7 @@ msgid ""
 "the child widgets and show them."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7026(para)
+#: C/gtkmm-tutorial-in.xml:7155(para)
 msgid ""
 "Although your container might have its own method to set the child widgets, "
 "you should still provide an implementation for the virtual <methodname>on_add"
@@ -8869,7 +9307,7 @@ msgid ""
 "appropriate if they are called."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7032(para)
+#: C/gtkmm-tutorial-in.xml:7161(para)
 msgid ""
 "Your implementation of the <methodname>child_type_vfunc()</methodname> "
 "method should report the type of widget that may be added to your container, "
@@ -8880,18 +9318,18 @@ msgid ""
 "literal>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7044(para)
+#: C/gtkmm-tutorial-in.xml:7173(para)
 msgid ""
 "This example implements a container with two child widgets, one above the "
 "other. Of course, in this case it would be far simpler just to use a "
-"<classname>Gtk::VBox</classname>."
+"vertical <classname>Gtk::Box</classname>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7049(title)
+#: C/gtkmm-tutorial-in.xml:7178(title)
 msgid "Custom Container"
-msgstr ""
+msgstr "Contêiner personalizado"
 
-#: C/gtkmm-tutorial-in.xml:7062(para)
+#: C/gtkmm-tutorial-in.xml:7191(para)
 msgid ""
 "By deriving directly from <classname>Gtk::Widget</classname> you can do all "
 "the drawing for your widget directly, instead of just arranging child "
@@ -8899,71 +9337,71 @@ msgid ""
 "the label, but does not do this by using other widgets."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7073(para)
+#: C/gtkmm-tutorial-in.xml:7202(para)
 msgid ""
 "<methodname>get_request_mode_vfunc()</methodname>: (optional) Return what "
 "<literal>Gtk::SizeRequestMode</literal> is preferred by the widget."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7074(para)
+#: C/gtkmm-tutorial-in.xml:7203(para)
 msgid ""
 "<methodname>get_preferred_width_vfunc()</methodname>: Calculate the minimum "
 "and natural width of the widget."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7075(para)
+#: C/gtkmm-tutorial-in.xml:7204(para)
 msgid ""
 "<methodname>get_preferred_height_vfunc()</methodname>: Calculate the minimum "
 "and natural height of the widget."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7076(para)
+#: C/gtkmm-tutorial-in.xml:7205(para)
 msgid ""
 "<methodname>get_preferred_width_for_height_vfunc()</methodname>: Calculate "
 "the minimum and natural width of the widget, if it would be given the "
 "specified height."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7077(para)
+#: C/gtkmm-tutorial-in.xml:7206(para)
 msgid ""
 "<methodname>get_preferred_height_for_width_vfunc()</methodname>: Calculate "
 "the minimum and natural height of the widget, if it would be given the "
 "specified width."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7078(para)
+#: C/gtkmm-tutorial-in.xml:7207(para)
 msgid ""
 "<methodname>on_size_allocate()</methodname>: Position the widget, given the "
 "height and width that it has actually been given."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7079(para)
+#: C/gtkmm-tutorial-in.xml:7208(para)
 msgid ""
 "<methodname>on_realize()</methodname>: Associate a <classname>Gdk::Window</"
 "classname> with the widget."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7080(para)
+#: C/gtkmm-tutorial-in.xml:7209(para)
 msgid ""
 "<methodname>on_unrealize()</methodname>: (optional) Break the association "
 "with the <classname>Gdk::Window</classname>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7081(para)
+#: C/gtkmm-tutorial-in.xml:7210(para)
 msgid "<methodname>on_map()</methodname>: (optional)"
-msgstr ""
+msgstr "<methodname>on_map()</methodname>: (opcional)"
 
-#: C/gtkmm-tutorial-in.xml:7082(para)
+#: C/gtkmm-tutorial-in.xml:7211(para)
 msgid "<methodname>on_unmap()</methodname>: (optional)"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7083(para)
+#: C/gtkmm-tutorial-in.xml:7212(para)
 msgid ""
 "<methodname>on_draw()</methodname>: Draw on the supplied <classname>Cairo::"
 "Context</classname>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7068(para)
+#: C/gtkmm-tutorial-in.xml:7197(para)
 msgid ""
 "When deriving from <classname>Gtk::Widget</classname>, you should override "
 "the following virtual methods. The methods marked (optional) need not be "
@@ -8971,14 +9409,14 @@ msgid ""
 "appropriate. <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7087(para)
+#: C/gtkmm-tutorial-in.xml:7216(para)
 msgid ""
 "The first 6 methods in the previous table are also overridden in custom "
 "containers. They are briefly described in the <link linkend=\"sec-custom-"
 "containers\">Custom Containers</link> section."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7092(para)
+#: C/gtkmm-tutorial-in.xml:7221(para)
 msgid ""
 "Most custom widgets need their own <classname>Gdk::Window</classname> to "
 "draw on. Then you can call <methodname>Gtk::Widget::set_has_window(true)</"
@@ -8989,25 +9427,255 @@ msgid ""
 "methodname> from there."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7103(para)
+#: C/gtkmm-tutorial-in.xml:7232(para)
 msgid "This example implements a widget which draws a Penrose triangle."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7106(title)
+#: C/gtkmm-tutorial-in.xml:7235(title)
 msgid "Custom Widget"
+msgstr "Widget personalizado"
+
+#: C/gtkmm-tutorial-in.xml:7251(title)
+msgid "Multi-threaded programs"
+msgstr "Programas com várias linhas de processamento"
+
+#: C/gtkmm-tutorial-in.xml:7254(title)
+#, fuzzy
+#| msgid "The chosen item"
+msgid "The constraints"
+msgstr "O item escolhido"
+
+#: C/gtkmm-tutorial-in.xml:7256(para)
+msgid ""
+"<application>glibmm</application> provides the normal set of thread "
+"launching functions, mutexes, condition variables and scoped locking classes "
+"required for writing multi-threaded programs using C++."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7122(title)
-msgid "Recommended Techniques"
+#: C/gtkmm-tutorial-in.xml:7271(para)
+msgid ""
+"These interactions arise from the fact that, amongst other things, a class "
+"inheriting from <classname>sigc::trackable</classname> will, via that "
+"inheritance, have a <classname>std::list</classname> object keeping track of "
+"slots created by calls to <function>sigc::mem_fun()</function> representing "
+"any of its non-static methods (more particularly it keeps a list of "
+"callbacks which will null the connected slots on its destruction). Each "
+"<classname>sigc::slot</classname> object also keeps, via <classname>sigc::"
+"slot_rep</classname>, its own <classname>sigc::trackable</classname> object "
+"to track any <classname>sigc::connection</classname> objects which it needs "
+"to inform about its demise, and also has a function to deregister itself "
+"from any <classname>sigc::trackable</classname> on disconnection or "
+"destruction. <classname>sigc::signal</classname> objects also keep lists of "
+"slots, which will be updated by a call to their <methodname>connect()</"
+"methodname> method or calls to any <classname>sigc::connection</classname> "
+"object relating to such a connection."
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:7262(para)
+msgid ""
+"However, care is required when writing programs based on <application>gtkmm</"
+"application> using multiple threads of execution, arising from the fact that "
+"<application>libsigc++</application>, and in particular <classname>sigc::"
+"trackable</classname>, are not thread-safe. That's because none of the "
+"complex interactions that occur behind the scenes when using "
+"<application>libsigc++</application> are protected by a mutex or other means "
+"of synchronization. <placeholder-1/>"
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:7295(title)
+msgid "The rules"
+msgstr "As regras"
+
+#: C/gtkmm-tutorial-in.xml:7297(para)
+msgid ""
+"This requires a number of rules to be observed when writing multi-threaded "
+"programs using <application>gtkmm</application>. These are set out below, "
+"but one point to note is that extra care is required when deriving classes "
+"from <classname>sigc::trackable</classname>, because the effects are "
+"unintuitive (see particularly points 4 and 5 below)."
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:7308(para)
+msgid ""
+"Use <classname>Glib::Dispatcher</classname> to invoke <application>gtkmm</"
+"application> functions from worker threads (this is dealt with in more "
+"detail in the next section)."
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:7316(para)
+msgid ""
+"A <classname>sigc::signal</classname> object should be regarded as owned by "
+"the thread which created it. Only that thread should connect a "
+"<classname>sigc::slot</classname> object to the signal object, and only that "
+"thread should <methodname>emit()</methodname> or call <methodname>operator()"
+"()</methodname> on the signal, or null any connected <classname>sigc::slot</"
+"classname> object. It follows (amongst other things) that any signal object "
+"provided by a <application>gtkmm</application> widget should only be "
+"operated on in the main GUI thread and any object deriving from "
+"<classname>sigc::trackable</classname> having its non-static methods "
+"referenced by slots connected to the signal object should only be destroyed "
+"in that thread."
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:7332(para)
+msgid ""
+"Any <classname>sigc::connection</classname> object should be regarded as "
+"owned by the thread in which the method returning the <classname>sigc::"
+"connection</classname> object was called. Only that thread should call "
+"<classname>sigc::connection</classname> methods on the object."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7124(para)
+#: C/gtkmm-tutorial-in.xml:7342(para)
+msgid ""
+"A <classname>sigc::slot</classname> object created by a call to "
+"<function>sigc::mem_fun()</function> which references a method of a class "
+"deriving from <classname>sigc::trackable</classname> should never be copied "
+"to another thread, nor destroyed by a different thread than the one which "
+"created it. (One consequence of this is that <methodname>Glib::Threads::"
+"Thread::create()</methodname> should not be called with a slot argument "
+"created by a call to <function>sigc::mem_fun()</function> which represents a "
+"method of such a class. It is however safe to pass <methodname>Glib::"
+"Threads::Thread::create()</methodname> a function object representing such a "
+"method by using, say, <function>boost::bind()</function> or, in C++11, "
+"<function>std::bind()</function> or a C++11 lambda expression.)"
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:7360(para)
+msgid ""
+"If a particular class object derives from <classname>sigc::trackable</"
+"classname>, only one thread should create <classname>sigc::slot</classname> "
+"objects representing any of the class's non-static methods by calling "
+"<function>sigc::mem_fun()</function>. The first thread to create such a slot "
+"should be regarded as owning the relevant object for the purpose of creating "
+"further slots referencing <emphasis>any</emphasis> of its non-static methods "
+"using that function, or nulling those slots by disconnecting them or "
+"destroying the trackable object."
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:7374(para)
+msgid ""
+"Although <application>glib</application> is itself thread-safe, any "
+"<application>glibmm</application> wrappers which use <application>libsigc++</"
+"application> will not be. So for example, only the thread in which a main "
+"loop runs should call <methodname>Glib::SignalIdle::connect()</methodname>, "
+"<methodname>Glib::SignalIO::connect()</methodname>, <methodname>Glib::"
+"SignalTimeout::connect()</methodname>, <methodname>Glib::SignalTimeout::"
+"connect_seconds</methodname> for that main loop, or manipulate any "
+"<classname>sigc::connection</classname> object returned by them."
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:7386(para)
+msgid ""
+"The connect*_once() variants, <methodname>Glib::SignalIdle::connect_once()</"
+"methodname>, <methodname>Glib::SignalTimeout::connect_once()</methodname>, "
+"<methodname>Glib::SignalTimeout::connect_seconds_once()</methodname>, are "
+"thread-safe for any case where the slot is not created by a call to "
+"<function>sigc::mem_fun()</function> which represents a method of a class "
+"deriving from <classname>sigc::trackable</classname>. This is similar to "
+"<methodname>Glib::Threads::Thread::create()</methodname> as mentioned in "
+"point 4."
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:7405(title)
+msgid "Using Glib::Dispatcher"
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:7407(para)
+msgid ""
+"The slots connected to <classname>sigc::signal</classname> objects execute "
+"in the thread which calls <methodname>emit()</methodname> or "
+"<methodname>operator()()</methodname> on the signal. <classname>Glib::"
+"Dispatcher</classname> does not behave this way: instead its connected slots "
+"execute in the thread in which the <classname>Glib::Dispatcher</classname> "
+"object was constructed (which must have a glib main loop). If a "
+"<classname>Glib::Dispatcher</classname> object is constructed in the main "
+"GUI thread (which will therefore be the receiver thread), any worker thread "
+"can emit on it and have the connected slots safely execute "
+"<application>gtkmm</application> functions."
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:7421(para)
+msgid ""
+"Some thread safety rules on the use of <classname>Glib::Dispatcher</"
+"classname> still apply. As mentioned, a <classname>Glib::Dispatcher</"
+"classname> object must be constructed in the receiver thread (the thread in "
+"whose main loop it will execute its connected slots). By default this is the "
+"main program thread, although there is a <classname>Glib::Dispatcher</"
+"classname> constructor which can take the <classname>Glib::MainContext</"
+"classname> object of any thread which has a main loop. Only the receiver "
+"thread should call <methodname>connect()</methodname> on the "
+"<classname>Glib::Dispatcher</classname> object, or manipulate any related "
+"<classname>sigc::connection</classname> object, unless additional "
+"synchronization is employed. However, any worker thread can safely emit on "
+"the <classname>Glib::Dispatcher</classname> object without any locking once "
+"the receiver thread has connected the slots, provided that it is constructed "
+"before the worker thread is started (if it is constructed after the thread "
+"has started, additional synchronization will normally be required to ensure "
+"visibility)."
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:7441(para)
+msgid ""
+"Aside from the fact that connected slots always execute in the receiver "
+"thread, <classname>Glib::Dispatcher</classname> objects are similar to "
+"<classname>sigc::signal&lt;void&gt;</classname> objects. They therefore "
+"cannot pass unbound arguments nor return a value. The best way to pass "
+"unbound arguments is with a thread-safe (asynchronous) queue. At the time of "
+"writing <application>glibmm</application> does not have one, although most "
+"people writing multi-threaded code will have one available to them (they are "
+"relatively easy to write although there are subtleties in combining thread "
+"safety with strong exception safety)."
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:7454(para)
+msgid ""
+"A <classname>Glib::Dispatcher</classname> object can be emitted on by the "
+"receiver thread as well as by a worker thread, although this should be done "
+"within reasonable bounds. On unix-like systems <classname>Glib::Dispatcher</"
+"classname> objects share a single common pipe, which could in theory at "
+"least fill up on a very heavily loaded system running a program with a very "
+"large number of <classname>Dispatcher</classname> objects in use. Were the "
+"pipe to fill up before the receiver thread's main loop has had an "
+"opportunity to read from it to empty it, and the receiver thread attempt to "
+"emit and so write to it when it is in that condition, the receiver thread "
+"would block on the write, so deadlocking. Where the receiver thread is to "
+"emit, a normal <classname>sigc::signal&lt;void&gt;</classname> object could "
+"of course be used instead."
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:7474(para)
+msgid ""
+"This is an example program with two threads, one GUI thread, like in all "
+"<application>gtkmm</application> programs, and one worker thread. The worker "
+"thread is created when you press the <literal>Start work</literal> button. "
+"It is deleted when the work is finished, when you press the <literal>Stop "
+"work</literal> button, or when you press the <literal>Quit</literal> button."
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:7482(para)
+msgid ""
+"A <classname>Glib::Dispatcher</classname> is used for sending notifications "
+"from the worker thread to the GUI thread. The <classname>ExampleWorker</"
+"classname> class contains data which is accessed by both threads. This data "
+"is protected by a <classname>Glib::Threads::Mutex</classname>. Only the GUI "
+"thread updates the GUI."
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:7491(title)
+msgid "Multi-Threaded Program"
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:7504(title)
+msgid "Recommended Techniques"
+msgstr "Técnicas recomendadas"
+
+#: C/gtkmm-tutorial-in.xml:7506(para)
 msgid ""
 "This section is simply a gathering of wisdom, general style guidelines and "
 "hints for creating <application>gtkmm</application> applications."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7128(para)
+#: C/gtkmm-tutorial-in.xml:7510(para)
 msgid ""
 "Use GNU <application>autoconf</application> and <application>automake</"
 "application>! They are your friends :) <application>Automake</application> "
@@ -9015,17 +9683,17 @@ msgid ""
 "<filename>Makefile</filename> so the files can be compiled in the correct "
 "order. <application>Autoconf</application> permits automatic configuration "
 "of software installation, handling a large number of system quirks to "
-"increase portability.."
+"increase portability."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7138(para)
+#: C/gtkmm-tutorial-in.xml:7520(para)
 msgid ""
 "Subclass Widgets to better organize your code. You should probably subclass "
 "your main <classname>Window</classname> at least. Then you can make your "
 "child Widgets and signal handlers members of that class."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7143(para)
+#: C/gtkmm-tutorial-in.xml:7525(para)
 msgid ""
 "Create your own signals instead of passing pointers around. Objects can "
 "communicate with each other via signals and signal handlers. This is much "
@@ -9036,37 +9704,37 @@ msgid ""
 "<application>libsigc++</application> documentation."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7152(title)
+#: C/gtkmm-tutorial-in.xml:7534(title)
 msgid "Application Lifetime"
-msgstr ""
+msgstr "Tempo de vida da aplicação"
 
-#: C/gtkmm-tutorial-in.xml:7153(para)
+#: C/gtkmm-tutorial-in.xml:7535(para)
 msgid ""
 "Most applications will have only one <classname>Window</classname>, or only "
-"one main window. These applications can use the <methodname>Gtk::Main::run"
-"(Gtk::Window&amp;)</methodname> overload. It shows the window and returns "
-"when the window has been hidden. This might happen when the user closes the "
-"window, or when your code decides to <methodname>hide()</methodname> the "
-"window. You can prevent the user from closing the window (for instance, if "
-"there are unsaved changes) by overriding <methodname>Gtk::Window::"
-"on_delete_event()</methodname>."
+"one main window. These applications can use the <methodname>Gtk::"
+"Application::run(Gtk::Window&amp;)</methodname> overload. It shows the "
+"window and returns when the window has been hidden. This might happen when "
+"the user closes the window, or when your code decides to <methodname>hide()</"
+"methodname> the window. You can prevent the user from closing the window "
+"(for instance, if there are unsaved changes) by overriding <methodname>Gtk::"
+"Window::on_delete_event()</methodname>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7161(para)
+#: C/gtkmm-tutorial-in.xml:7543(para)
 msgid "Most of our examples use this technique."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7165(title)
+#: C/gtkmm-tutorial-in.xml:7547(title)
 msgid "Using a <application>gtkmm</application> widget"
-msgstr ""
+msgstr "Usando um widget <application>gtkmm</application>"
 
-#: C/gtkmm-tutorial-in.xml:7167(para)
+#: C/gtkmm-tutorial-in.xml:7549(para)
 msgid ""
 "Our examples all tend to have the same structure. They follow these steps "
 "for using a <classname>Widget</classname>:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7176(para)
+#: C/gtkmm-tutorial-in.xml:7558(para)
 msgid ""
 "Declare a variable of the type of <classname>Widget</classname> you wish to "
 "use, generally as member variable of a derived container class. You could "
@@ -9076,29 +9744,29 @@ msgid ""
 "a container class so that you can access it later."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7187(para)
+#: C/gtkmm-tutorial-in.xml:7569(para)
 msgid ""
 "Set the attributes of the widget. If the widget has no default constructor, "
 "then you will need to initialize the widget in the initalizer list of your "
 "container class's constructor."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7193(para)
+#: C/gtkmm-tutorial-in.xml:7575(para)
 msgid "Connect any signals you wish to use to the appropriate handlers."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7199(para)
+#: C/gtkmm-tutorial-in.xml:7581(para)
 msgid ""
 "Pack the widget into a container using the appropriate call, e.g. "
 "<methodname>Gtk::Container::add()</methodname> or <methodname>pack_start()</"
 "methodname>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7207(para)
+#: C/gtkmm-tutorial-in.xml:7589(para)
 msgid "Call <methodname>show()</methodname> to display the widget."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7216(para)
+#: C/gtkmm-tutorial-in.xml:7598(para)
 msgid ""
 "<methodname>Gtk::Widget::show()</methodname> lets <application>gtkmm</"
 "application> know that we have finished setting the attributes of the "
@@ -9110,11 +9778,11 @@ msgid ""
 "into which the widgets will be gradually drawn."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7230(title)
+#: C/gtkmm-tutorial-in.xml:7612(title)
 msgid "Contributing"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7232(para)
+#: C/gtkmm-tutorial-in.xml:7614(para)
 msgid ""
 "This document, like so much other great software out there, was created for "
 "free by volunteers. If you are at all knowledgeable about any aspect of "
@@ -9122,7 +9790,7 @@ msgid ""
 "please consider contributing to this document."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7238(para)
+#: C/gtkmm-tutorial-in.xml:7620(para)
 msgid ""
 "Ideally, we would like you to <ulink url=\"http://www.gtkmm.org/bugs.shtml";
 "\">provide a patch</ulink> to the <filename>docs/tutorial/C/gtkmm-tutorial-"
@@ -9130,7 +9798,7 @@ msgid ""
 "documentation</literal> module in GNOME git."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7244(para)
+#: C/gtkmm-tutorial-in.xml:7626(para)
 msgid ""
 "If you do decide to contribute, please post your contribution to the "
 "<application>gtkmm</application> mailing list at <ulink url=\"mailto:gtkmm-";
@@ -9141,11 +9809,11 @@ msgid ""
 "contribution) may be distributed freely."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7256(title)
+#: C/gtkmm-tutorial-in.xml:7638(title)
 msgid "The RefPtr smartpointer"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7257(para)
+#: C/gtkmm-tutorial-in.xml:7639(para)
 msgid ""
 "<classname>Glib::RefPtr</classname> is a smartpointer. Specifically, it is a "
 "reference-counting smartpointer. You might be familiar with <literal>std::"
@@ -9156,23 +9824,23 @@ msgid ""
 "application> might possibly use that instead."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7267(para)
+#: C/gtkmm-tutorial-in.xml:7649(para)
 msgid ""
 "A smartpointer acts much like a normal pointer. Here are a few examples."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7270(title)
+#: C/gtkmm-tutorial-in.xml:7652(title)
 msgid "Copying"
-msgstr ""
+msgstr "Copiando"
 
-#: C/gtkmm-tutorial-in.xml:7271(para)
+#: C/gtkmm-tutorial-in.xml:7653(para)
 msgid ""
 "You can copy <classname>RefPtr</classname>s, just like normal pointers. But "
 "unlike normal pointers, you don't need to worry about deleting the "
 "underlying instance."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7277(programlisting)
+#: C/gtkmm-tutorial-in.xml:7659(programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -9180,14 +9848,14 @@ msgid ""
 "Glib::RefPtr&lt;Gdk::Pixbuf&gt; refPixbuf2 = refPixbuf;\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7282(para)
+#: C/gtkmm-tutorial-in.xml:7664(para)
 msgid ""
 "Of course this means that you can store <classname>RefPtr</classname>s in "
 "standard containers, such as <classname>std::vector</classname> or "
 "<classname>std::list</classname>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7287(programlisting)
+#: C/gtkmm-tutorial-in.xml:7669(programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -9196,17 +9864,17 @@ msgid ""
 "listPixbufs.push_back(refPixbuf);\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7295(title)
+#: C/gtkmm-tutorial-in.xml:7677(title)
 msgid "Dereferencing"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7296(para)
+#: C/gtkmm-tutorial-in.xml:7678(para)
 msgid ""
 "You can dereference a smartpointer with the -&gt; operator, to call the "
 "methods of the underlying instance, just like a normal pointer."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7300(programlisting)
+#: C/gtkmm-tutorial-in.xml:7682(programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -9214,13 +9882,13 @@ msgid ""
 "int width = refPixbuf-&gt;get_width();\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7305(para)
+#: C/gtkmm-tutorial-in.xml:7687(para)
 msgid ""
 "But unlike most smartpointers, you can't use the * operator to access the "
 "underlying instance."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7309(programlisting)
+#: C/gtkmm-tutorial-in.xml:7691(programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -9228,17 +9896,17 @@ msgid ""
 "Gdk::Pixbuf&amp; underlying = *refPixbuf; //Syntax error - will not compile.\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7316(title)
+#: C/gtkmm-tutorial-in.xml:7698(title)
 msgid "Casting"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7317(para)
+#: C/gtkmm-tutorial-in.xml:7699(para)
 msgid ""
 "You can cast <classname>RefPtrs</classname> to base types, just like normal "
 "pointers."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7322(programlisting)
+#: C/gtkmm-tutorial-in.xml:7704(programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -9246,7 +9914,7 @@ msgid ""
 "Glib::RefPtr&lt;Gtk::TreeModel&gt; refModel = refStore;\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7327(para)
+#: C/gtkmm-tutorial-in.xml:7709(para)
 msgid ""
 "This means that any method which takes a <type>const Glib::RefPtr&lt;"
 "BaseType&gt;</type> argument can also take a <type>const Glib::RefPtr&lt;"
@@ -9254,13 +9922,13 @@ msgid ""
 "normal pointer."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7331(para)
+#: C/gtkmm-tutorial-in.xml:7713(para)
 msgid ""
 "You can also cast to a derived type, but the syntax is a little different "
 "than with a normal pointer."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7335(programlisting)
+#: C/gtkmm-tutorial-in.xml:7717(programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -9270,17 +9938,17 @@ msgid ""
 "Glib::RefPtr&lt;Gtk::TreeStore&gt;::cast_static(refModel);\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7345(title)
+#: C/gtkmm-tutorial-in.xml:7727(title)
 msgid "Checking for null"
-msgstr ""
+msgstr "Verificação de nulo"
 
-#: C/gtkmm-tutorial-in.xml:7346(para)
+#: C/gtkmm-tutorial-in.xml:7728(para)
 msgid ""
 "Just like normal pointers, you can check whether a <classname>RefPtr</"
 "classname> points to anything."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7351(programlisting)
+#: C/gtkmm-tutorial-in.xml:7733(programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -9292,25 +9960,25 @@ msgid ""
 "}\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7360(para)
+#: C/gtkmm-tutorial-in.xml:7742(para)
 msgid ""
 "But unlike normal pointers, <classname>RefPtr</classname>s are automatically "
 "initialized to null so you don't need to remember to do that yourself."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7367(title)
+#: C/gtkmm-tutorial-in.xml:7749(title)
 msgid "Constness"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7368(para)
+#: C/gtkmm-tutorial-in.xml:7750(para)
 msgid ""
 "The use of the <literal>const</literal> keyword in C++ is not always clear. "
 "You might not realise that <type>const Something*</type> declares a pointer "
-"to a <type>const Something</type>, The pointer can be changed, but not the "
+"to a <type>const Something</type>. The pointer can be changed, but not the "
 "<type>Something</type> that it points to."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7374(para)
+#: C/gtkmm-tutorial-in.xml:7756(para)
 msgid ""
 "Therefore, the <classname>RefPtr</classname> equivalent of <type>Something*</"
 "type> for a method parameter is <type>const Glib::RefPtr&lt;Something&gt;"
@@ -9318,7 +9986,7 @@ msgid ""
 "<type>const Glib::RefPtr&lt;const Something&gt;&amp;</type>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7381(para)
+#: C/gtkmm-tutorial-in.xml:7763(para)
 msgid ""
 "The <literal>const ... &amp;</literal> around both is just for efficiency, "
 "like using <classname>const std::string&amp;</classname> instead of "
@@ -9326,11 +9994,11 @@ msgid ""
 "unnecessary copying."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7396(title)
+#: C/gtkmm-tutorial-in.xml:7778(title)
 msgid "Connecting signal handlers"
-msgstr ""
+msgstr "Conectando manipuladores de sinais"
 
-#: C/gtkmm-tutorial-in.xml:7397(para)
+#: C/gtkmm-tutorial-in.xml:7779(para)
 msgid ""
 "<application>gtkmm</application> widget classes have signal accessor "
 "methods, such as <methodname>Gtk::Button::signal_clicked()</methodname>, "
@@ -9342,11 +10010,11 @@ msgid ""
 "named callbacks."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7407(para)
+#: C/gtkmm-tutorial-in.xml:7789(para)
 msgid "Here's an example of a signal handler being connected to a signal:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7412(programlisting)
+#: C/gtkmm-tutorial-in.xml:7794(programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -9364,33 +10032,33 @@ msgid ""
 "}\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7428(para)
+#: C/gtkmm-tutorial-in.xml:7810(para)
 msgid ""
 "There's rather a lot to think about in this (non-functional) code. First "
 "let's identify the parties involved:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7436(para)
+#: C/gtkmm-tutorial-in.xml:7818(para)
 msgid "The signal handler is <methodname>on_button_clicked()</methodname>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7442(para)
+#: C/gtkmm-tutorial-in.xml:7824(para)
 msgid ""
 "We're hooking it up to the <classname>Gtk::Button</classname> object called "
 "<varname>button</varname>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7449(para)
+#: C/gtkmm-tutorial-in.xml:7831(para)
 msgid ""
 "When the Button emits its <literal>clicked</literal> signal, "
 "<methodname>on_button_clicked()</methodname> will be called."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7457(para)
+#: C/gtkmm-tutorial-in.xml:7839(para)
 msgid "Now let's look at the connection again:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7462(programlisting)
+#: C/gtkmm-tutorial-in.xml:7844(programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -9399,7 +10067,7 @@ msgid ""
 "    ...\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7469(para)
+#: C/gtkmm-tutorial-in.xml:7851(para)
 msgid ""
 "Note that we don't pass a pointer to <methodname>on_button_clicked()</"
 "methodname> directly to the signal's <methodname>connect()</methodname> "
@@ -9407,7 +10075,7 @@ msgid ""
 "result to <methodname>connect()</methodname>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7476(para)
+#: C/gtkmm-tutorial-in.xml:7858(para)
 msgid ""
 "<function>sigc::ptr_fun()</function> generates a <classname>sigc::slot</"
 "classname>. A slot is an object which looks and feels like a function, but "
@@ -9417,11 +10085,11 @@ msgid ""
 "generates a slot for a member method of a particular instance."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7485(para)
+#: C/gtkmm-tutorial-in.xml:7867(para)
 msgid "Here's a slightly larger example of slots in action:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7490(programlisting)
+#: C/gtkmm-tutorial-in.xml:7872(programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -9442,13 +10110,13 @@ msgid ""
 "}\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7509(para)
+#: C/gtkmm-tutorial-in.xml:7891(para)
 msgid ""
 "The first call to <methodname>connect()</methodname> is just like the one we "
 "saw last time; nothing new here."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7512(para)
+#: C/gtkmm-tutorial-in.xml:7894(para)
 msgid ""
 "The next is more interesting. <function>sigc::mem_fun()</function> is called "
 "with two arguments. The first argument is <parameter>some_object</"
@@ -9459,7 +10127,7 @@ msgid ""
 "<methodname>some_object.on_button_clicked()</methodname>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7522(para)
+#: C/gtkmm-tutorial-in.xml:7904(para)
 msgid ""
 "Another thing to note about this example is that we made the call to "
 "<methodname>connect()</methodname> twice for the same signal object. This is "
@@ -9467,7 +10135,7 @@ msgid ""
 "called."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7529(para)
+#: C/gtkmm-tutorial-in.xml:7911(para)
 msgid ""
 "We just told you that the button's <literal>clicked</literal> signal is "
 "expecting to call a method with no arguments. All signals have requirements "
@@ -9477,11 +10145,11 @@ msgid ""
 "handler you'll be expected to connect to a given signal."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7541(title)
+#: C/gtkmm-tutorial-in.xml:7923(title)
 msgid "Writing signal handlers"
-msgstr ""
+msgstr "Escrevendo manipuladores de sinais"
 
-#: C/gtkmm-tutorial-in.xml:7543(para)
+#: C/gtkmm-tutorial-in.xml:7925(para)
 msgid ""
 "To find out what type of signal handler you can connect to a signal, you can "
 "look it up in the reference documentation or the header file. Here's an "
@@ -9489,14 +10157,14 @@ msgid ""
 "application> headers:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7550(programlisting)
+#: C/gtkmm-tutorial-in.xml:7932(programlisting)
 #, no-wrap
 msgid ""
 "\n"
 "Glib::SignalProxy1&lt;bool, Gtk::DirectionType&gt; signal_focus()\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7555(para)
+#: C/gtkmm-tutorial-in.xml:7937(para)
 msgid ""
 "Other than the signal's name (<literal>focus</literal>), two things are "
 "important to note here: the number following the word "
@@ -9509,13 +10177,13 @@ msgid ""
 "documentation, you can see the names of the arguments too."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7567(para)
+#: C/gtkmm-tutorial-in.xml:7949(para)
 msgid ""
 "The same principles apply for signals which have more arguments. Here's one "
 "with three (taken from <filename>&lt;gtkmm/editable.h&gt;</filename>):"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7573(programlisting)
+#: C/gtkmm-tutorial-in.xml:7955(programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -9523,7 +10191,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7579(para)
+#: C/gtkmm-tutorial-in.xml:7961(para)
 msgid ""
 "It follows the same form. The number 3 at the end of the type's name "
 "indicates that our signal handler will need three arguments. The first type "
@@ -9532,30 +10200,30 @@ msgid ""
 "order. Our signal handler's prototype could look like this:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7588(programlisting)
+#: C/gtkmm-tutorial-in.xml:7970(programlisting)
 #, no-wrap
 msgid ""
 "\n"
 "void on_insert_text(const Glib::ustring&amp; text, int length, int* position);\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7595(title)
+#: C/gtkmm-tutorial-in.xml:7977(title)
 msgid "Disconnecting signal handlers"
-msgstr ""
+msgstr "Desconectando manipuladores de sinais"
 
-#: C/gtkmm-tutorial-in.xml:7597(para)
+#: C/gtkmm-tutorial-in.xml:7979(para)
 msgid ""
 "Let's take another look at a Signal's <literal>connect</literal> method:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7602(programlisting)
+#: C/gtkmm-tutorial-in.xml:7984(programlisting)
 #, no-wrap
 msgid ""
 "\n"
 "sigc::signal&lt;void,int&gt;::iterator signal&lt;void,int&gt;::connect( const 
sigc::slot&lt;void,int&gt;&amp; );\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7607(para)
+#: C/gtkmm-tutorial-in.xml:7989(para)
 msgid ""
 "Notice that the return value is of type <classname>sigc::signal&lt;void,"
 "int&gt;::iterator</classname>. This can be implicitely converted into a "
@@ -9565,18 +10233,18 @@ msgid ""
 "disconnect()</methodname>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7618(title)
+#: C/gtkmm-tutorial-in.xml:8000(title)
 msgid "Overriding default signal handlers"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7620(para)
+#: C/gtkmm-tutorial-in.xml:8002(para)
 msgid ""
 "So far we've told you to perform actions in response to button-presses and "
 "the like by handling signals. That's certainly a good way to do things, but "
 "it's not the only way."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7627(para)
+#: C/gtkmm-tutorial-in.xml:8009(para)
 msgid ""
 "Instead of laboriously connecting signal handlers to signals, you can simply "
 "make a new class which inherits from a widget - say, a Button - and then "
@@ -9584,7 +10252,7 @@ msgid ""
 "be a lot simpler than hooking up signal handlers for everything."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7634(para)
+#: C/gtkmm-tutorial-in.xml:8016(para)
 msgid ""
 "Subclassing isn't always the best way to accomplish things. It is only "
 "useful when you want the widget to handle its own signal by itself. If you "
@@ -9594,18 +10262,18 @@ msgid ""
 "same signal from different objects."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7639(para)
+#: C/gtkmm-tutorial-in.xml:8021(para)
 msgid ""
 "<application>gtkmm</application> classes are designed with overriding in "
 "mind; they contain virtual member methods specifically intended to be "
 "overridden."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7644(para)
+#: C/gtkmm-tutorial-in.xml:8026(para)
 msgid "Let's look at an example of overriding:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7649(programlisting)
+#: C/gtkmm-tutorial-in.xml:8031(programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -9626,7 +10294,7 @@ msgid ""
 "}\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7668(para)
+#: C/gtkmm-tutorial-in.xml:8050(para)
 msgid ""
 "Here we define a new class called <classname>OverriddenButton</classname>, "
 "which inherits from <classname>Gtk::Button</classname>. The only thing we "
@@ -9638,7 +10306,7 @@ msgid ""
 "overridden."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7679(para)
+#: C/gtkmm-tutorial-in.xml:8061(para)
 msgid ""
 "You don't always need to call the parent's method; there are times when you "
 "might not want to. Note that we called the parent method <emphasis>after</"
@@ -9650,25 +10318,25 @@ msgid ""
 "of your custom code."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7693(title)
+#: C/gtkmm-tutorial-in.xml:8075(title)
 msgid "Binding extra arguments"
-msgstr ""
+msgstr "Ligando argumentos extras"
 
-#: C/gtkmm-tutorial-in.xml:7701(programlisting)
+#: C/gtkmm-tutorial-in.xml:8083(programlisting)
 #, no-wrap
 msgid ""
 "\n"
 "m_button1.signal_clicked().connect( sigc::bind&lt;Glib::ustring&gt;( sigc::mem_fun(*this, 
&amp;HelloWorld::on_button_clicked), \"button 1\") );\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7708(programlisting)
+#: C/gtkmm-tutorial-in.xml:8090(programlisting)
 #, no-wrap
 msgid ""
 "\n"
 "virtual void on_button_clicked(Glib::ustring data);\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7694(para)
+#: C/gtkmm-tutorial-in.xml:8076(para)
 msgid ""
 "If you use one signal handler to catch the same signal from several widgets, "
 "you might like that signal handler to receive some extra information. For "
@@ -9683,7 +10351,7 @@ msgid ""
 "handler would have no arguments."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7713(para)
+#: C/gtkmm-tutorial-in.xml:8095(para)
 msgid ""
 "<function>sigc::bind()</function> is not commonly used, but you might find "
 "it helpful sometimes. If you are familiar with <application>GTK+</"
@@ -9695,11 +10363,11 @@ msgid ""
 "less need of this hack in <application>gtkmm</application>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7725(title)
+#: C/gtkmm-tutorial-in.xml:8107(title)
 msgid "X Event signals"
-msgstr ""
+msgstr "Sinais de eventos X"
 
-#: C/gtkmm-tutorial-in.xml:7726(para)
+#: C/gtkmm-tutorial-in.xml:8108(para)
 msgid ""
 "The <classname>Widget</classname> class has some special signals which "
 "correspond to the underlying X-Windows events. These are suffixed by "
@@ -9707,7 +10375,7 @@ msgid ""
 "signal_button_pressed_event()</methodname>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7732(para)
+#: C/gtkmm-tutorial-in.xml:8114(para)
 msgid ""
 "You might occasionally find it useful to handle X events when there's "
 "something you can't accomplish with normal signals. <classname>Gtk::Button</"
@@ -9717,7 +10385,7 @@ msgid ""
 "events are also often used to handle key-presses."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7741(para)
+#: C/gtkmm-tutorial-in.xml:8123(para)
 msgid ""
 "These signals behave slightly differently. The value returned from the "
 "signal handler indicates whether it has fully \"handled\" the event. If the "
@@ -9726,7 +10394,7 @@ msgid ""
 "literal> then no other signal handlers will need to be called."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7746(para)
+#: C/gtkmm-tutorial-in.xml:8128(para)
 msgid ""
 "Handling an X event doesn't affect the Widget's other signals. If you handle "
 "<literal>button_pressed_event</literal> for <classname>Gtk::Button</"
@@ -9734,7 +10402,7 @@ msgid ""
 "signal. They are emitted at (nearly) the same time."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7753(para)
+#: C/gtkmm-tutorial-in.xml:8135(para)
 msgid ""
 "Note also that not all widgets receive all X events by default. To receive "
 "additional X events, you can use <methodname>Gtk::Widget::set_events()</"
@@ -9745,7 +10413,7 @@ msgid ""
 "link> chapter."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7762(programlisting)
+#: C/gtkmm-tutorial-in.xml:8144(programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -9754,17 +10422,13 @@ msgid ""
 "button.signal_button_press_event().connect( sigc::ptr_fun(&amp;on_button_press) );\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7760(para)
-msgid "Here's a simple example: <placeholder-1/>"
-msgstr ""
-
-#: C/gtkmm-tutorial-in.xml:7768(para)
+#: C/gtkmm-tutorial-in.xml:8150(para)
 msgid ""
 "When the mouse is over the button and a mouse button is pressed, "
 "<methodname>on_button_press()</methodname> will be called."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7773(para)
+#: C/gtkmm-tutorial-in.xml:8155(para)
 msgid ""
 "<type>GdkEventButton</type> is a structure containing the event's "
 "parameters, such as the coordinates of the mouse pointer at the time the "
@@ -9772,34 +10436,236 @@ msgid ""
 "type> structures for the various events."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7781(title)
+#: C/gtkmm-tutorial-in.xml:8163(title)
 msgid "Signal Handler sequence"
-msgstr ""
+msgstr "Sequência de manipulador de sinal"
 
-#: C/gtkmm-tutorial-in.xml:7783(programlisting)
+#: C/gtkmm-tutorial-in.xml:8171(programlisting)
 #, no-wrap
 msgid ""
 "\n"
 "button.signal_button_press_event().connect( sigc::ptr_fun(&amp;on_mywindow_button_press), false );\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7782(para)
+#: C/gtkmm-tutorial-in.xml:8164(para)
 msgid ""
 "By default, your signal handlers are called after any previously-connected "
 "signal handlers. However, this can be a problem with the X Event signals. "
 "For instance, the existing signal handlers, or the default signal handler, "
-"might return true to stop other signal handlers from being called. To "
-"specify that your signal handler should be called before the other signal "
-"handlers, so that will always be called, you can specify <literal>false</"
-"literal> for the optional <literal>after</literal> parameter. For instance, "
-"<placeholder-1/>"
+"might return <literal>true</literal> to stop other signal handlers from "
+"being called. To specify that your signal handler should be called before "
+"the other signal handlers, so that it will always be called, you can specify "
+"<literal>false</literal> for the optional <literal>after</literal> "
+"parameter. For instance, <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7797(title)
-msgid "Creating your own signals"
+#: C/gtkmm-tutorial-in.xml:8175(para)
+msgid ""
+"The event is delivered first to the widget the event occurred in. If all "
+"signal handlers in that widget return <literal>false</literal> (indicating "
+"that the event has not been handled), then the signal will be propagated to "
+"the parent widget and emitted there. This continues all the way up to the "
+"top-level widget if no one handles the event."
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:8186(title)
+msgid "Exceptions in signal handlers"
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:8187(para)
+msgid ""
+"When a program is aborted because of an unhandled C++ exception, it's "
+"sometimes possible to use a debugger to find the location where the "
+"exception was thrown. This is more difficult than usual if the exception was "
+"thrown from a signal handler."
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:8192(para)
+msgid ""
+"This section describes primarily what you can expect on a Linux system, when "
+"you use <ulink url=\"http://www.gnu.org/software/gdb/\";>the gdb debugger</"
+"ulink>."
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:8199(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"// without_signal.cc\n"
+"#include &lt;gtkmm.h&gt;\n"
+"\n"
+"bool throwSomething()\n"
+"{\n"
+"  throw \"Something\";\n"
+"  return true;\n"
+"}\n"
+"\n"
+"int main(int argc, char** argv)\n"
+"{\n"
+"  throwSomething();\n"
+"  Glib::RefPtr&lt;Gtk::Application&gt; app =\n"
+"    Gtk::Application::create(argc, argv, \"org.gtkmm.without_signal\");\n"
+"  return app-&gt;run();\n"
+"}\n"
+msgstr ""
+"\n"
+"// without_signal.cc\n"
+"#include &lt;gtkmm.h&gt;\n"
+"\n"
+"bool throwSomething()\n"
+"{\n"
+"  throw \"Something\";\n"
+"  return true;\n"
+"}\n"
+"\n"
+"int main(int argc, char** argv)\n"
+"{\n"
+"  throwSomething();\n"
+"  Glib::RefPtr&lt;Gtk::Application&gt; app =\n"
+"    Gtk::Application::create(argc, argv, \"org.gtkmm.without_signal\");\n"
+"  return app-&gt;run();\n"
+"}\n"
+
+#: C/gtkmm-tutorial-in.xml:8196(para)
+msgid ""
+"First, let's look at a simple example where an exception is thrown from a "
+"normal function (no signal handler). <placeholder-1/>"
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:8221(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"&gt; gdb without_signal\n"
+"(gdb) run\n"
+"terminate called after throwing an instance of 'char const*'\n"
+"\n"
+"Program received signal SIGABRT, Aborted.\n"
+"(gdb) backtrace\n"
+"#7  0x08048864 in throwSomething () at without_signal.cc:6\n"
+"#8  0x0804887d in main (argc=1, argv=0xbfffecd4) at without_signal.cc:12\n"
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:8218(para)
+msgid ""
+"Here is an excerpt from a <application>gdb</application> session. Only the "
+"most interesting parts of the output are shown. <placeholder-1/> You can see "
+"that the exception was thrown from <filename>without_signal.cc</filename>, "
+"line 6 (<code>throw \"Something\";</code>)."
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:8237(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"// with_signal.cc\n"
+"#include &lt;gtkmm.h&gt;\n"
+"\n"
+"bool throwSomething()\n"
+"{\n"
+"  throw \"Something\";\n"
+"  return true;\n"
+"}\n"
+"\n"
+"int main(int argc, char** argv)\n"
+"{\n"
+"  Glib::signal_timeout().connect(sigc::ptr_fun(throwSomething), 500);\n"
+"  Glib::RefPtr&lt;Gtk::Application&gt; app =\n"
+"    Gtk::Application::create(argc, argv, \"org.gtkmm.with_signal\");\n"
+"  app-&gt;hold();\n"
+"  return app-&gt;run();\n"
+"}\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7798(para)
+#: C/gtkmm-tutorial-in.xml:8234(para)
+msgid ""
+"Now let's see what happens when an exception is thrown from a signal "
+"handler. Here's the source code. <placeholder-1/>"
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:8259(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"&gt; gdb with_signal\n"
+"(gdb) run\n"
+"(with_signal:2703): glibmm-ERROR **:\n"
+"unhandled exception (type unknown) in signal handler\n"
+"\n"
+"Program received signal SIGTRAP, Trace/breakpoint trap.\n"
+"(gdb) backtrace\n"
+"#2  0x0063c6ab in glibmm_unexpected_exception () at exceptionhandler.cc:77\n"
+"#3  Glib::exception_handlers_invoke () at exceptionhandler.cc:150\n"
+"#4  0x0063d370 in glibmm_source_callback (data=0x804d620) at main.cc:212\n"
+"#13 0x002e1b31 in Gtk::Application::run (this=0x804f300) at application.cc:178\n"
+"#14 0x08048ccc in main (argc=1, argv=0xbfffecd4) at with_signal.cc:16\n"
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:8257(para)
+msgid ""
+"And here's an excerpt from a <application>gdb</application> session. "
+"<placeholder-1/> The exception is caught in <application>glibmm</"
+"application>, and the program ends with a call to <function>g_error()</"
+"function>. Other exceptions may result in different behaviour, but in any "
+"case the exception from a signal handler is caught in <application>glibmm</"
+"application> or <application>gtkmm</application>, and <application>gdb</"
+"application> can't see where it was thrown."
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:8282(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"&gt; gdb with_signal\n"
+"(gdb) catch throw\n"
+"Catchpoint 1 (throw)\n"
+"(gdb) run\n"
+"Catchpoint 1 (exception thrown), 0x00714ff0 in __cxa_throw ()\n"
+"(gdb) backtrace\n"
+"#0  0x00714ff0 in __cxa_throw () from /usr/lib/i386-linux-gnu/libstdc++.so.6\n"
+"#1  0x08048bd4 in throwSomething () at with_signal.cc:6\n"
+"(gdb) continue\n"
+"Continuing.\n"
+"(with_signal:2375): glibmm-ERROR **\n"
+"unhandled exception (type unknown) in signal handler\n"
+"\n"
+"Program received signal SIGTRAP, Trace/breakpoint trap.\n"
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:8279(para)
+msgid ""
+"To see where the exception is thrown, you can use the <application>gdb</"
+"application> command <userinput>catch throw</userinput>. <placeholder-1/>"
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:8303(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"(gdb) catch throw\n"
+"(gdb) commands\n"
+"(gdb)   backtrace\n"
+"(gdb)   continue\n"
+"(gdb)   end\n"
+"(gdb) set pagination off\n"
+"(gdb) run\n"
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:8299(para)
+msgid ""
+"If there are many caught exceptions before the interesting uncaught one, "
+"this method can be tedious. It can be automated with the following "
+"<application>gdb</application> commands. <placeholder-1/> These commands "
+"will print a backtrace from each <code>throw</code> and continue. The "
+"backtrace from the last (or possibly the last but one) <code>throw</code> "
+"before the program stops, is the interesting one."
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:8322(title)
+msgid "Creating your own signals"
+msgstr "Criando seus próprios sinais"
+
+#: C/gtkmm-tutorial-in.xml:8323(para)
 msgid ""
 "Now that you've seen signals and signal handlers in <application>gtkmm</"
 "application>, you might like to use the same technique to allow interaction "
@@ -9807,7 +10673,7 @@ msgid ""
 "<application>libsigc++</application> library directly."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7804(para)
+#: C/gtkmm-tutorial-in.xml:8329(para)
 msgid ""
 "This isn't purely a <application>gtkmm</application> or GUI issue. "
 "<application>gtkmm</application> uses <application>libsigc++</application> "
@@ -9816,21 +10682,21 @@ msgid ""
 "signals, using the <classname>sigc::signal&lt;&gt;</classname> template."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7815(programlisting)
+#: C/gtkmm-tutorial-in.xml:8340(programlisting)
 #, no-wrap
 msgid ""
 "\n"
 "sigc::signal&lt;void, bool, int&gt; signal_something;\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7811(para)
+#: C/gtkmm-tutorial-in.xml:8336(para)
 msgid ""
 "For instance, to create a signal that sends 2 parameters, a <type>bool</"
 "type> and an <type>int</type>, just declare a <classname>sigc::signal</"
 "classname>, like so: <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7823(programlisting)
+#: C/gtkmm-tutorial-in.xml:8348(programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -9851,14 +10717,14 @@ msgid ""
 "}\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7819(para)
+#: C/gtkmm-tutorial-in.xml:8344(para)
 msgid ""
 "You could just declare that signal as a public member variable, but some "
 "people find that distasteful and prefer to make it available via an accessor "
 "method, like so: <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7845(programlisting)
+#: C/gtkmm-tutorial-in.xml:8370(programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -9866,22 +10732,22 @@ msgid ""
 "  sigc::mem_fun(client, &amp;Client::on_server_something) );\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7842(para)
+#: C/gtkmm-tutorial-in.xml:8367(para)
 msgid ""
 "You can then connect to the signal using the same syntax used when "
 "connecting to <application>gtkmm</application> signals. For instance, "
 "<placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7853(para)
-msgid "This is a full working example that defines and uses custom signal."
+#: C/gtkmm-tutorial-in.xml:8378(para)
+msgid "This is a full working example that defines and uses custom signals."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7867(title)
+#: C/gtkmm-tutorial-in.xml:8392(title)
 msgid "Comparison with other signalling systems"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7868(para)
+#: C/gtkmm-tutorial-in.xml:8393(para)
 msgid ""
 "(An aside: <application>GTK+</application> calls this scheme \"signalling\"; "
 "the sharp-eyed reader with GUI toolkit experience will note that this same "
@@ -9896,7 +10762,7 @@ msgid ""
 "later.)"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7882(para)
+#: C/gtkmm-tutorial-in.xml:8407(para)
 msgid ""
 "<application>gtkmm</application> signal handlers are strongly-typed, whereas "
 "<application>GTK+</application> C code allows you to connect a callback with "
@@ -9905,7 +10771,7 @@ msgid ""
 "achieves this without modifying the C++ language."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7888(para)
+#: C/gtkmm-tutorial-in.xml:8413(para)
 msgid ""
 "Re. Overriding signal handlers: You can do this in the straight-C world of "
 "GTK+ too; that's what GTK's object system is for. But in GTK+, you have to "
@@ -9914,7 +10780,7 @@ msgid ""
 "supported in the language itself; you can let the compiler do the dirty work."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7896(para)
+#: C/gtkmm-tutorial-in.xml:8421(para)
 msgid ""
 "This is one of the places where the beauty of C++ really comes out. One "
 "wouldn't think of subclassing a GTK+ widget simply to override its action "
@@ -9924,11 +10790,11 @@ msgid ""
 "- to subclass a button for that purpose."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7907(title)
+#: C/gtkmm-tutorial-in.xml:8432(title)
 msgid "<application>gtkmm</application> and Win32"
-msgstr ""
+msgstr "<application>gtkmm</application> e Win32"
 
-#: C/gtkmm-tutorial-in.xml:7908(para)
+#: C/gtkmm-tutorial-in.xml:8433(para)
 msgid ""
 "One of the major advantages of <application>gtkmm</application> is that it "
 "is crossplatform. <application>gtkmm</application> programs written on other "
@@ -9936,7 +10802,7 @@ msgid ""
 "vice versa) with few modifications to the source."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7913(para)
+#: C/gtkmm-tutorial-in.xml:8438(para)
 msgid ""
 "<application>gtkmm</application> currently works with the <ulink url="
 "\"http://mingw.org/\";>MingW/GCC3.4 compiler</ulink> and Microsoft Visual C++ "
@@ -9947,22 +10813,22 @@ msgid ""
 "http://live.gnome.org/gtkmm/MSWindows</ulink> for instructions how to use it."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7925(title)
+#: C/gtkmm-tutorial-in.xml:8450(title)
 msgid "Building <application>gtkmm</application> on Win32"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7926(para)
+#: C/gtkmm-tutorial-in.xml:8451(para)
 msgid ""
 "Please see <ulink url=\"http://live.gnome.org/gtkmm/MSWindows/BuildingGtkmm";
 "\">http://live.gnome.org/gtkmm/MSWindows/BuildingGtkmm</ulink> for "
 "instructions on how to build gtkmm on Windws."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7933(title)
+#: C/gtkmm-tutorial-in.xml:8458(title)
 msgid "Working with gtkmm's Source Code"
-msgstr ""
+msgstr "Trabalhando com códigos fonte gtkmm"
 
-#: C/gtkmm-tutorial-in.xml:7934(para)
+#: C/gtkmm-tutorial-in.xml:8459(para)
 msgid ""
 "If you are interested in helping out with the development of "
 "<application>gtkmm</application>, or fixing a bug in <application>gtkmm</"
@@ -9973,7 +10839,7 @@ msgid ""
 "separate path."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7941(para)
+#: C/gtkmm-tutorial-in.xml:8466(para)
 msgid ""
 "The easiest way to do this is using <ulink url=\"http://developer.gnome.org/";
 "jhbuild/unstable/\">jhbuild</ulink>. <application>jhbuild</application> is a "
@@ -9989,7 +10855,7 @@ msgid ""
 "list</ulink>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7957(para)
+#: C/gtkmm-tutorial-in.xml:8482(para)
 msgid ""
 "Note that to build <application>gtkmm</application> from git, you'll often "
 "need to build all of its dependencies from git as well. "
@@ -9999,11 +10865,11 @@ msgid ""
 "quickly if you report them."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7966(title)
+#: C/gtkmm-tutorial-in.xml:8491(title)
 msgid "Setting up jhbuild"
-msgstr ""
+msgstr "Configurando jhbuild"
 
-#: C/gtkmm-tutorial-in.xml:7967(para)
+#: C/gtkmm-tutorial-in.xml:8492(para)
 msgid ""
 "To set up <application>jhbuild</application>, follow the basic installation "
 "instructions from the <ulink url=\"http://developer.gnome.org/jhbuild/";
@@ -10015,12 +10881,12 @@ msgid ""
 "screen>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7982(programlisting)
+#: C/gtkmm-tutorial-in.xml:8507(programlisting)
 #, no-wrap
 msgid "moduleset = 'gnome-suites-core-deps-3.4'"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7977(para)
+#: C/gtkmm-tutorial-in.xml:8502(para)
 msgid ""
 "The <application>gtkmm</application> module is defined in the "
 "<filename>gnome-suites-core-deps-3.x.modules</filename> moduleset, so edit "
@@ -10028,12 +10894,12 @@ msgid ""
 "the latest version e.g. like so: <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7989(programlisting)
+#: C/gtkmm-tutorial-in.xml:8514(programlisting)
 #, no-wrap
 msgid "modules = [ 'gtkmm' ]"
-msgstr ""
+msgstr "modules = [ 'gtkmm' ]"
 
-#: C/gtkmm-tutorial-in.xml:7984(para)
+#: C/gtkmm-tutorial-in.xml:8509(para)
 msgid ""
 "After setting the correct moduleset, you need to tell <application>jhbuild</"
 "application> which module or modules to build. To build <application>gtkmm</"
@@ -10041,22 +10907,22 @@ msgid ""
 "like so: <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:7991(para)
+#: C/gtkmm-tutorial-in.xml:8516(para)
 msgid ""
 "You can build several modules by setting the <varname>modules</varname> "
 "variable to a meta-package, e.g. <literal>meta-gnome-core</literal>, or "
 "listing more than one module name. The <varname>modules</varname> variable "
-"specifies which modules that will be built when you don't explicitly specify "
+"specifies which modules will be built when you don't explicitly specify "
 "anything on the command line. You can always build a different moduleset "
 "later by specifying it on the commandline (e.g. <command>jhbuild build "
 "gtkmm</command>)."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8001(title)
+#: C/gtkmm-tutorial-in.xml:8526(title)
 msgid "Setting a prefix"
-msgstr ""
+msgstr "Definindo um prefixo"
 
-#: C/gtkmm-tutorial-in.xml:8002(para)
+#: C/gtkmm-tutorial-in.xml:8527(para)
 msgid ""
 "By default, <application>jhbuild</application>'s configuration is configured "
 "to install all software built with <application>jhbuild</application> under "
@@ -10067,7 +10933,7 @@ msgid ""
 "user, so you don't need to run jhbuild as <literal>root</literal>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8014(para)
+#: C/gtkmm-tutorial-in.xml:8539(para)
 msgid ""
 "When you downloaded <application>jhbuild</application> from the git "
 "repository, you got a number of <filename>.modules</filename> files, "
@@ -10078,12 +10944,12 @@ msgid ""
 "in <filename>.jhbuildrc</filename>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8025(title)
+#: C/gtkmm-tutorial-in.xml:8550(title)
 msgid ""
 "Installing and Using the git version of <application>gtkmm</application>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8026(para)
+#: C/gtkmm-tutorial-in.xml:8551(para)
 msgid ""
 "Once you've configured <application>jhbuild</application> as described "
 "above, building <application>gtkmm</application> should be relatively "
@@ -10094,13 +10960,13 @@ msgid ""
 "$ jhbuild sanitycheck</screen>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8037(title)
+#: C/gtkmm-tutorial-in.xml:8562(title)
 msgid ""
 "Installing <application>gtkmm</application> with <application>jhbuild</"
 "application>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8038(para)
+#: C/gtkmm-tutorial-in.xml:8563(para)
 msgid ""
 "If everything worked correctly, you should be able to build "
 "<application>gtkmm</application> and all of its dependencies from git by "
@@ -10109,7 +10975,7 @@ msgid ""
 "with the command <command>jhbuild build gtkmm</command>)."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8045(para)
+#: C/gtkmm-tutorial-in.xml:8570(para)
 msgid ""
 "This command will build and install a series of modules and will probably "
 "take quite a long time the first time through. After the first time, "
@@ -10121,11 +10987,11 @@ msgid ""
 "command>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8056(title)
+#: C/gtkmm-tutorial-in.xml:8581(title)
 msgid "Using the git version of <application>gtkmm</application>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8057(para)
+#: C/gtkmm-tutorial-in.xml:8582(para)
 msgid ""
 "After you've installed the git version of <application>gtkmm</application>, "
 "you're ready to start using and experimenting with it. In order to use the "
@@ -10140,7 +11006,7 @@ msgid ""
 "environment, simply exit the <application>jhbuild</application> shell."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8071(para)
+#: C/gtkmm-tutorial-in.xml:8596(para)
 msgid ""
 "Once you've built your software, you'll need to run your program within the "
 "jhbuild environment as well. To do this, you can again use the "
@@ -10153,11 +11019,11 @@ msgid ""
 "program exits."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8088(title)
+#: C/gtkmm-tutorial-in.xml:8613(title)
 msgid "Wrapping C Libraries with gmmproc"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8089(para)
+#: C/gtkmm-tutorial-in.xml:8614(para)
 msgid ""
 "<application>gtkmm</application> uses the <command>gmmproc</command> tool to "
 "generate most of its source code, using .defs files that define the APIs of "
@@ -10165,17 +11031,17 @@ msgid ""
 "additional gtkmm-style wrappers of other glib/GObject-based libraries."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8094(para)
+#: C/gtkmm-tutorial-in.xml:8619(para)
 msgid ""
-"This involves a variety of tools, some of them crufty, but it does at least "
+"This involves a variety of tools, some of them crufty, but at least they "
 "work, and has been used successfully by several projects."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8099(title)
+#: C/gtkmm-tutorial-in.xml:8624(title)
 msgid "The build structure"
-msgstr ""
+msgstr "Estrutura de construção"
 
-#: C/gtkmm-tutorial-in.xml:8100(para)
+#: C/gtkmm-tutorial-in.xml:8625(para)
 msgid ""
 "Generation of the source code for a gtkmm-style wrapper API requires use of "
 "tools such as <command>gmmproc</command> and <filename>generate_wrap_init."
@@ -10185,7 +11051,7 @@ msgid ""
 "lot to pick an existing binding module as an example to look at."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8107(para)
+#: C/gtkmm-tutorial-in.xml:8632(para)
 msgid ""
 "For instance, let's pretend that we are wrapping a C library called "
 "libexample. It provides a <classname>GObject</classname>-based API with "
@@ -10193,11 +11059,11 @@ msgid ""
 "<classname>ExampleStuff</classname>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8113(title)
+#: C/gtkmm-tutorial-in.xml:8638(title)
 msgid "Copying the skeleton project"
-msgstr ""
+msgstr "Copiando o esqueleto do projeto"
 
-#: C/gtkmm-tutorial-in.xml:8118(programlisting)
+#: C/gtkmm-tutorial-in.xml:8643(programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -10205,7 +11071,7 @@ msgid ""
 "  $ cp -a mm-common/skeletonmm libsomethingmm\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8115(para)
+#: C/gtkmm-tutorial-in.xml:8640(para)
 msgid ""
 "Typically our wrapper library would be called libsomethingmm. We can start "
 "by copying the <ulink url=\"http://git.gnome.org/cgit/mm-common/tree/";
@@ -10213,33 +11079,33 @@ msgid ""
 "<placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8128(para)
+#: C/gtkmm-tutorial-in.xml:8653(para)
 msgid "<filename>libsomethingmm</filename>: The top-level directory."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8130(para)
+#: C/gtkmm-tutorial-in.xml:8655(para)
 msgid ""
 "<filename>libsomething</filename>: Contains the main include file and the "
 "pkg-config .pc file."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8132(para)
+#: C/gtkmm-tutorial-in.xml:8657(para)
 msgid "<filename>src</filename>: Contains .hg and .ccg source files."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8133(para)
+#: C/gtkmm-tutorial-in.xml:8658(para)
 msgid ""
 "<filename>libsomethingmm</filename>: Contains generated and hand-written .h "
 "and .cc files."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8135(para)
+#: C/gtkmm-tutorial-in.xml:8660(para)
 msgid ""
 "<filename>private</filename>: Contains generated <filename>*_p.h</filename> "
 "files."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8123(para)
+#: C/gtkmm-tutorial-in.xml:8648(para)
 msgid ""
 "This provides a directory structure for the source .hg and .ccg files and "
 "the generated .h and .cc files, with <filename>filelist.am</filename> "
@@ -10248,7 +11114,7 @@ msgid ""
 "this, after we have renamed the directories appropriately: <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8147(programlisting)
+#: C/gtkmm-tutorial-in.xml:8672(programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -10257,25 +11123,25 @@ msgid ""
 "  done\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8145(para)
+#: C/gtkmm-tutorial-in.xml:8670(para)
 msgid ""
 "As well as renaming the directories, we should rename some of the source "
 "files. For instance: <placeholder-1/> A number of the skeleton files must "
 "still be filled in with project-specific content later."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8154(para)
+#: C/gtkmm-tutorial-in.xml:8679(para)
 msgid ""
 "Note that files ending in <filename>.in</filename> will be used to generate "
 "files with the same name but without the <filename>.in</filename> suffix, by "
 "replacing some variables with actual values during the configure stage."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8160(title)
+#: C/gtkmm-tutorial-in.xml:8685(title)
 msgid "Modifying build files"
-msgstr ""
+msgstr "Modificando arquivos de construção"
 
-#: C/gtkmm-tutorial-in.xml:8162(para)
+#: C/gtkmm-tutorial-in.xml:8687(para)
 msgid ""
 "Now we edit the files to adapt them to our needs. You might prefer to use a "
 "multiple-file search-replace utility for this, such as <command>regexxer</"
@@ -10284,7 +11150,7 @@ msgid ""
 "performed globally, and not be limited to the Automake and Autoconf files."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8166(para)
+#: C/gtkmm-tutorial-in.xml:8691(para)
 msgid ""
 "All mentions of <varname>skeleton</varname> should be replaced by the "
 "correct name of the C library you are wrapping, such as \"something\" or "
@@ -10293,25 +11159,25 @@ msgid ""
 "occurrences of <varname>Skeleton</varname> changed to \"Something\"."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8170(para)
+#: C/gtkmm-tutorial-in.xml:8695(para)
 msgid ""
 "Likewise, replace all instances of <varname>Joe Hacker</varname> by the name "
 "of the intended copyright holder, which is probably you. Do the same for the "
 "<varname>joe example com</varname> email address."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8175(title)
+#: C/gtkmm-tutorial-in.xml:8700(title)
 msgid "configure.ac"
-msgstr ""
+msgstr "configure.ac"
 
-#: C/gtkmm-tutorial-in.xml:8178(para)
+#: C/gtkmm-tutorial-in.xml:8703(para)
 msgid ""
 "The <function>AC_CONFIG_SRCDIR()</function> line must mention a file in our "
 "source tree. We can edit this later if we don't yet know the names of any of "
 "the files that we will create."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8181(para)
+#: C/gtkmm-tutorial-in.xml:8706(para)
 msgid ""
 "It is common for binding modules to track the version number of the library "
 "they are wrapping. So, for instance, if the C library is at version 1.23.4, "
@@ -10320,7 +11186,7 @@ msgid ""
 "stable release."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8186(para)
+#: C/gtkmm-tutorial-in.xml:8711(para)
 msgid ""
 "The <function>AC_CONFIG_HEADERS()</function> line is used to generate two or "
 "more configuration header files. The first header file in the list contains "
@@ -10332,63 +11198,63 @@ msgid ""
 "visible macros."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8194(para)
+#: C/gtkmm-tutorial-in.xml:8719(para)
 msgid ""
 "The <function>AC_SUBST([SOMETHINGMM_MODULES], ['...'])</function> line may "
 "need to be modified to check for the correct dependencies."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8196(para)
+#: C/gtkmm-tutorial-in.xml:8721(para)
 msgid ""
 "The <function>AC_CONFIG_FILES()</function> block must mention the correct "
 "directory names, as described above."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8176(para)
+#: C/gtkmm-tutorial-in.xml:8701(para)
 msgid "In <filename>configure.ac</filename>, <placeholder-1/>"
-msgstr ""
+msgstr "Em <filename>configure.ac</filename>, <placeholder-1/>"
 
-#: C/gtkmm-tutorial-in.xml:8203(title)
+#: C/gtkmm-tutorial-in.xml:8728(title)
 msgid "Makefile.am files"
-msgstr ""
+msgstr "Arquivos Makefile.am"
 
-#: C/gtkmm-tutorial-in.xml:8206(para)
+#: C/gtkmm-tutorial-in.xml:8731(para)
 msgid ""
 "In <filename>skeleton/src/Makefile.am</filename> we must mention the correct "
 "values for the generic variables that are used elsewhere in the build system:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8211(varname)
+#: C/gtkmm-tutorial-in.xml:8736(varname)
 msgid "binding_name"
-msgstr ""
+msgstr "binding_name"
 
-#: C/gtkmm-tutorial-in.xml:8212(para)
+#: C/gtkmm-tutorial-in.xml:8737(para)
 msgid "The name of the library, such as libsomethingmm."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8216(varname)
+#: C/gtkmm-tutorial-in.xml:8741(varname)
 msgid "wrap_init_flags"
-msgstr ""
+msgstr "wrap_init_flags"
 
-#: C/gtkmm-tutorial-in.xml:8217(para)
+#: C/gtkmm-tutorial-in.xml:8742(para)
 msgid ""
 "Additional command-line flags passed to the <filename>generate_wrap_init.pl</"
 "filename> script, such as the C++ namespace and the parent directory prefix "
 "of include files."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8224(para)
+#: C/gtkmm-tutorial-in.xml:8749(para)
 msgid ""
 "In <filename>skeleton/skeletonmm/Makefile.am</filename> we must mention the "
 "correct values for the generic variables that are used elsewhere in the "
 "build system:"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8229(varname)
+#: C/gtkmm-tutorial-in.xml:8754(varname)
 msgid "lib_LTLIBRARIES"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8230(para)
+#: C/gtkmm-tutorial-in.xml:8755(para)
 msgid ""
 "This variable must mention the correct library name, and this library name "
 "must be used to form the <varname>_SOURCES</varname>, <varname>_LDFLAGS</"
@@ -10397,33 +11263,33 @@ msgid ""
 "<varname>@SOMETHINGMM_API_VERSION@</varname> as part of the variable names."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8239(varname)
+#: C/gtkmm-tutorial-in.xml:8764(varname)
 msgid "AM_CPPFLAGS"
-msgstr ""
+msgstr "AM_CPPFLAGS"
 
-#: C/gtkmm-tutorial-in.xml:8240(para)
+#: C/gtkmm-tutorial-in.xml:8765(para)
 msgid "The command line options passed to the C preprocessor."
-msgstr ""
+msgstr "As opções de linha de comando passados para o pré-processador C."
 
-#: C/gtkmm-tutorial-in.xml:8244(varname)
+#: C/gtkmm-tutorial-in.xml:8769(varname)
 msgid "AM_CXXFLAGS"
-msgstr ""
+msgstr "AM_CXXFLAGS"
 
-#: C/gtkmm-tutorial-in.xml:8245(para)
+#: C/gtkmm-tutorial-in.xml:8770(para)
 msgid "The command line options passed to the C++ compiler."
-msgstr ""
+msgstr "As opções de linha de comando passados para o compilador C++."
 
-#: C/gtkmm-tutorial-in.xml:8204(para)
+#: C/gtkmm-tutorial-in.xml:8729(para)
 msgid ""
 "Next we must adapt the various <filename>Makefile.am</filename> files: "
 "<placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8255(title)
+#: C/gtkmm-tutorial-in.xml:8780(title)
 msgid "Creating .hg and .ccg files"
-msgstr ""
+msgstr "Criação de arquivos .hg e .ccg"
 
-#: C/gtkmm-tutorial-in.xml:8256(para)
+#: C/gtkmm-tutorial-in.xml:8781(para)
 msgid ""
 "We should now create our first <filename>.hg</filename> and <filename>.ccg</"
 "filename> files, to wrap one of the objects in the C library. One pair of "
@@ -10431,14 +11297,14 @@ msgid ""
 "<filename>skeleton.hg</filename>. Create copies of these files as necessary."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8260(para)
+#: C/gtkmm-tutorial-in.xml:8785(para)
 msgid ""
 "We must mention all of our <filename>.hg</filename> and <filename>.ccg</"
 "filename> files in the <filename>skeleton/src/filelist.am</filename> file, "
 "typically in the <varname>files_hg</varname> variable."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8264(para)
+#: C/gtkmm-tutorial-in.xml:8789(para)
 msgid ""
 "Any additional non-generated <filename>.h</filename> and <filename>.cc</"
 "filename> source files may be placed in <filename>skeleton/skeletonmm/</"
@@ -10447,87 +11313,87 @@ msgid ""
 "<varname>files_extra_cc</varname> variables."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8270(para)
+#: C/gtkmm-tutorial-in.xml:8795(para)
 msgid ""
 "In the <link linkend=\"sec-wrapping-hg-files\">.hg and .ccg files</link> "
 "section you can learn about the syntax used in these files."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8277(title)
+#: C/gtkmm-tutorial-in.xml:8802(title)
 msgid "Generating the .defs files."
-msgstr ""
+msgstr "Gerando os arquivos .defs."
 
-#: C/gtkmm-tutorial-in.xml:8281(para)
+#: C/gtkmm-tutorial-in.xml:8806(para)
 msgid "objects (GObjects, widgets, interfaces, boxed-types and plain structs)"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8282(para)
+#: C/gtkmm-tutorial-in.xml:8807(para)
 msgid "functions"
-msgstr ""
+msgstr "funções"
 
-#: C/gtkmm-tutorial-in.xml:8283(para)
+#: C/gtkmm-tutorial-in.xml:8808(para)
 msgid "enums"
-msgstr ""
+msgstr "enums"
 
-#: C/gtkmm-tutorial-in.xml:8284(para)
+#: C/gtkmm-tutorial-in.xml:8809(para)
 msgid "signals"
-msgstr ""
+msgstr "sinais"
 
-#: C/gtkmm-tutorial-in.xml:8285(para)
+#: C/gtkmm-tutorial-in.xml:8810(para)
 msgid "properties"
-msgstr ""
+msgstr "propriedades"
 
-#: C/gtkmm-tutorial-in.xml:8286(para)
+#: C/gtkmm-tutorial-in.xml:8811(para)
 msgid "vfuncs"
-msgstr ""
+msgstr "vfuncs"
 
-#: C/gtkmm-tutorial-in.xml:8278(para)
+#: C/gtkmm-tutorial-in.xml:8803(para)
 msgid ""
 "The <filename>.defs</filename> files are text files, in a lisp format, that "
 "describe the API of a C library, including its <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8295(filename)
+#: C/gtkmm-tutorial-in.xml:8820(filename)
 msgid "gtk.defs"
-msgstr ""
+msgstr "gtk.defs"
 
-#: C/gtkmm-tutorial-in.xml:8296(para)
+#: C/gtkmm-tutorial-in.xml:8821(para)
 msgid "Includes the other files."
-msgstr ""
+msgstr "Inclui outros arquivos."
 
-#: C/gtkmm-tutorial-in.xml:8299(filename)
+#: C/gtkmm-tutorial-in.xml:8824(filename)
 msgid "gtk_methods.defs"
-msgstr ""
+msgstr "gtk_methods.defs"
 
-#: C/gtkmm-tutorial-in.xml:8300(para)
+#: C/gtkmm-tutorial-in.xml:8825(para)
 msgid "Objects and functions."
-msgstr ""
+msgstr "Objetos e funções."
 
-#: C/gtkmm-tutorial-in.xml:8303(filename)
+#: C/gtkmm-tutorial-in.xml:8828(filename)
 msgid "gtk_enums.defs"
-msgstr ""
+msgstr "gtk_enums.defs"
 
-#: C/gtkmm-tutorial-in.xml:8304(para)
+#: C/gtkmm-tutorial-in.xml:8829(para)
 msgid "Enumerations."
-msgstr ""
+msgstr "Enumerações."
 
-#: C/gtkmm-tutorial-in.xml:8307(filename)
+#: C/gtkmm-tutorial-in.xml:8832(filename)
 msgid "gtk_signals.defs"
-msgstr ""
+msgstr "gtk_signals.defs"
 
-#: C/gtkmm-tutorial-in.xml:8308(para)
+#: C/gtkmm-tutorial-in.xml:8833(para)
 msgid "Signals and properties."
-msgstr ""
+msgstr "Sinais e propriedades."
 
-#: C/gtkmm-tutorial-in.xml:8311(filename)
+#: C/gtkmm-tutorial-in.xml:8836(filename)
 msgid "gtk_vfuncs.defs"
-msgstr ""
+msgstr "gtk_vfuncs.defs"
 
-#: C/gtkmm-tutorial-in.xml:8312(para)
+#: C/gtkmm-tutorial-in.xml:8837(para)
 msgid "vfuncs (function pointer member fields in structs), written by hand."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8289(para)
+#: C/gtkmm-tutorial-in.xml:8814(para)
 msgid ""
 "At the moment, we have separate tools for generating different parts of "
 "these <filename>.defs</filename>, so we split them up into separate files. "
@@ -10536,18 +11402,18 @@ msgid ""
 "<placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8318(title)
+#: C/gtkmm-tutorial-in.xml:8843(title)
 msgid "Generating the methods .defs"
-msgstr ""
+msgstr "Gerando o methods .defs"
 
-#: C/gtkmm-tutorial-in.xml:8322(programlisting)
+#: C/gtkmm-tutorial-in.xml:8847(programlisting)
 #, no-wrap
 msgid ""
 "\n"
 "$ ./h2def.py /usr/include/gtk-3.0/gtk/*.h &gt; gtk_methods.defs\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8319(para)
+#: C/gtkmm-tutorial-in.xml:8844(para)
 msgid ""
 "This <filename>.defs</filename> file describes objects and their functions. "
 "It is generated by the <command>h2def.py</command> script which you can find "
@@ -10555,18 +11421,18 @@ msgid ""
 "<placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8329(title)
+#: C/gtkmm-tutorial-in.xml:8854(title)
 msgid "Generating the enums .defs"
-msgstr ""
+msgstr "Gerando o enums .defs"
 
-#: C/gtkmm-tutorial-in.xml:8333(programlisting)
+#: C/gtkmm-tutorial-in.xml:8858(programlisting)
 #, no-wrap
 msgid ""
 "\n"
 "$ ./enum.pl /usr/include/gtk-3.0/gtk/*.h &gt; gtk_enums.defs\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8330(para)
+#: C/gtkmm-tutorial-in.xml:8855(para)
 msgid ""
 "This <filename>.defs</filename> file describes enum types and their possible "
 "values. It is generated by the <filename>enum.pl</filename> script which you "
@@ -10574,11 +11440,11 @@ msgid ""
 "<placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8340(title)
+#: C/gtkmm-tutorial-in.xml:8865(title)
 msgid "Generating the signals and properties .defs"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8345(programlisting)
+#: C/gtkmm-tutorial-in.xml:8870(programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -10586,7 +11452,7 @@ msgid ""
 "$ ./generate_extra_defs &gt; gtk_signals.defs\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8341(para)
+#: C/gtkmm-tutorial-in.xml:8866(para)
 msgid ""
 "This <filename>.defs</filename> file describes signals and properties. It is "
 "generated by the special <filename>extra_defs</filename> utility that is in "
@@ -10594,7 +11460,7 @@ msgid ""
 "filename>. For instance <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8350(para)
+#: C/gtkmm-tutorial-in.xml:8875(para)
 msgid ""
 "You must edit the source code of your own <filename>generate_extra_defs</"
 "filename> tool in order to generate the <filename>.defs</filename> for the "
@@ -10606,7 +11472,7 @@ msgid ""
 "filename> file should also mention the new source filename."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8359(programlisting)
+#: C/gtkmm-tutorial-in.xml:8884(programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -10622,18 +11488,18 @@ msgid ""
 "}\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8357(para)
+#: C/gtkmm-tutorial-in.xml:8882(para)
 msgid ""
 "Then edit the <filename>.cc</filename> file to specify the correct types. "
 "For instance, your <function>main()</function> function might look like "
 "this: <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8375(title)
+#: C/gtkmm-tutorial-in.xml:8900(title)
 msgid "Writing the vfuncs .defs"
-msgstr ""
+msgstr "Escrevendo o vfuncs .defs"
 
-#: C/gtkmm-tutorial-in.xml:8376(para)
+#: C/gtkmm-tutorial-in.xml:8901(para)
 msgid ""
 "This <filename>.defs</filename> file describes virtual functions (vfuncs). "
 "It must be written by hand. There is no skeleton to start from. You can look "
@@ -10641,11 +11507,11 @@ msgid ""
 "filename> file."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8386(title)
+#: C/gtkmm-tutorial-in.xml:8911(title)
 msgid "The .hg and .ccg files"
-msgstr ""
+msgstr "Os arquivos .hg e .ccg"
 
-#: C/gtkmm-tutorial-in.xml:8387(para)
+#: C/gtkmm-tutorial-in.xml:8912(para)
 msgid ""
 "The .hg and .ccg source files are very much like .h and .cc C++ source "
 "files, but they contain extra macros, such as <function>_CLASS_GOBJECT()</"
@@ -10655,7 +11521,7 @@ msgid ""
 "copied verbatim into the corresponding .h or .cc file."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8400(programlisting)
+#: C/gtkmm-tutorial-in.xml:8925(programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -10694,77 +11560,77 @@ msgid ""
 "} // namespace Gtk\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8395(para)
+#: C/gtkmm-tutorial-in.xml:8920(para)
 msgid ""
 "A .hg file will typically include some headers and then declare a class, "
 "using some macros to add API or behaviour to this class. For instance, "
-"gtkmm's <filename>button.hg</filename> looks roughly like this: <placeholder-"
-"1/>"
+"gtkmm's <filename>button.hg</filename> looks roughly like this: "
+"<placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8439(function)
+#: C/gtkmm-tutorial-in.xml:8964(function)
 msgid "_DEFS()"
-msgstr ""
+msgstr "_DEFS()"
 
-#: C/gtkmm-tutorial-in.xml:8440(para)
+#: C/gtkmm-tutorial-in.xml:8965(para)
 msgid ""
 "Specifies the destination directory for generated sources, and the name of "
 "the main .defs file that <command>gmmproc</command> should parse."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8443(function)
+#: C/gtkmm-tutorial-in.xml:8968(function)
 msgid "_PINCLUDE()"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8444(para)
+#: C/gtkmm-tutorial-in.xml:8969(para)
 msgid ""
 "Tells <command>gmmproc</command> to include a header from the generated "
 "private/button_p.h file."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8447(function)
+#: C/gtkmm-tutorial-in.xml:8972(function)
 msgid "_CLASS_GTKOBJECT()"
-msgstr ""
+msgstr "_CLASS_GTKOBJECT()"
 
-#: C/gtkmm-tutorial-in.xml:8448(para)
+#: C/gtkmm-tutorial-in.xml:8973(para)
 msgid ""
 "Tells <command>gmmproc</command> to add some typedefs, constructors, and "
 "standard methods to this class, as appropriate when wrapping a widget."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8451(function)
+#: C/gtkmm-tutorial-in.xml:8976(function)
 msgid "_IMPLEMENTS_INTERFACE()"
-msgstr ""
+msgstr "_IMPLEMENTS_INTERFACE()"
 
-#: C/gtkmm-tutorial-in.xml:8452(para)
+#: C/gtkmm-tutorial-in.xml:8977(para)
 msgid ""
 "Tells <command>gmmproc</command> to add initialization code for the "
 "interface."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8455(function) C/gtkmm-tutorial-in.xml:8701(title)
+#: C/gtkmm-tutorial-in.xml:8980(function) C/gtkmm-tutorial-in.xml:9226(title)
 msgid "_CTOR_DEFAULT"
-msgstr ""
+msgstr "_CTOR_DEFAULT"
 
-#: C/gtkmm-tutorial-in.xml:8456(para)
+#: C/gtkmm-tutorial-in.xml:8981(para)
 msgid "Add a default constructor."
-msgstr ""
+msgstr "Adiciona um construtor padrão."
 
-#: C/gtkmm-tutorial-in.xml:8459(term)
+#: C/gtkmm-tutorial-in.xml:8984(term)
 msgid ""
 "<function>_WRAP_METHOD()</function>, <function>_WRAP_SIGNAL()</function>, "
 "and <function>_WRAP_PROPERTY()</function>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8462(para)
+#: C/gtkmm-tutorial-in.xml:8987(para)
 msgid "Add methods to wrap parts of the C API."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8436(para)
+#: C/gtkmm-tutorial-in.xml:8961(para)
 msgid "The macros in this example do the following: <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8469(programlisting)
+#: C/gtkmm-tutorial-in.xml:8994(programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -10772,21 +11638,21 @@ msgid ""
 "$ /usr/lib/glibmm-2.4/proc/gmmproc -I ../../tools/m4 --defs . button . ./../gtkmm\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8466(para)
+#: C/gtkmm-tutorial-in.xml:8991(para)
 msgid ""
 "The .h and .cc files will be generated from the .hg and .ccg files by "
 "processing them with <command>gmmproc</command> like so, though this happens "
 "automatically when using the above build structure: <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8474(para)
+#: C/gtkmm-tutorial-in.xml:8999(para)
 msgid ""
 "Notice that we provided <command>gmmproc</command> with the path to the .m4 "
 "convert files, the path to the .defs file, the name of a .hg file, the "
 "source directory, and the destination directory."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8477(para)
+#: C/gtkmm-tutorial-in.xml:9002(para)
 msgid ""
 "You should avoid including the C header from your C++ header, to avoid "
 "polluting the global namespace, and to avoid exporting unnecessary public "
@@ -10794,22 +11660,22 @@ msgid ""
 "file."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8482(para)
+#: C/gtkmm-tutorial-in.xml:9007(para)
 msgid "The macros are explained in more detail in the following sections."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8485(title)
+#: C/gtkmm-tutorial-in.xml:9010(title)
 msgid "m4 Conversions"
-msgstr ""
+msgstr "Conversões m4"
 
-#: C/gtkmm-tutorial-in.xml:8492(programlisting)
+#: C/gtkmm-tutorial-in.xml:9017(programlisting)
 #, no-wrap
 msgid ""
 "\n"
 "_CONVERSION(`GtkTreeView*',`TreeView*',`Glib::wrap($3)')\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8486(para)
+#: C/gtkmm-tutorial-in.xml:9011(para)
 msgid ""
 "The macros that you use in the .hg and .ccg files often need to know how to "
 "convert a C++ type to a C type, or vice-versa. gmmproc takes this "
@@ -10820,13 +11686,13 @@ msgid ""
 "pointer: <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8497(para)
+#: C/gtkmm-tutorial-in.xml:9022(para)
 msgid ""
 "<literal>$3</literal> will be replaced by the parameter name when this "
 "conversion is used by gmmproc."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8504(programlisting)
+#: C/gtkmm-tutorial-in.xml:9029(programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -10835,35 +11701,35 @@ msgid ""
 "_CONVERSION(`const Glib::RefPtr&lt;Printer&gt;&amp;',`GtkPrinter*',__CONVERT_REFPTR_TO_P($3))\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8501(para)
+#: C/gtkmm-tutorial-in.xml:9026(para)
 msgid ""
 "Some extra macros make this easier and consistent. Look in gtkmm's .m4 files "
 "for examples. For instance: <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8513(title)
+#: C/gtkmm-tutorial-in.xml:9038(title)
 msgid "m4 Initializations"
-msgstr ""
+msgstr "Inicializações m4"
 
-#: C/gtkmm-tutorial-in.xml:8514(para)
+#: C/gtkmm-tutorial-in.xml:9039(para)
 msgid ""
 "Often when wrapping methods, it is desirable to store the return of the C "
 "function in what is called an output parameter. In this case, the C++ method "
 "returns <type>void</type> but an output parameter in which to store the "
 "value of the C function is included in the argument list of the C++ method. "
-"gmmproc allows such functionality, but appropriate inizialization macros "
+"gmmproc allows such functionality, but appropriate initialization macros "
 "must be included to tell gmmproc how to initialize the C++ parameter from "
 "the return of the C function."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8529(programlisting)
+#: C/gtkmm-tutorial-in.xml:9054(programlisting)
 #, no-wrap
 msgid ""
 "\n"
 "_INITIALIZATION(`Gtk::Widget&amp;',`GtkWidget*',`$3 = Glib::wrap($4)')\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8523(para)
+#: C/gtkmm-tutorial-in.xml:9048(para)
 msgid ""
 "For example, if there was a C function that returned a <type>GtkWidget*</"
 "type> and for some reason, instead of having the C++ method also return the "
@@ -10872,7 +11738,7 @@ msgid ""
 "would be necessary: <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8534(para)
+#: C/gtkmm-tutorial-in.xml:9059(para)
 msgid ""
 "<literal>$3</literal> will be replaced by the output parameter name of the C+"
 "+ method and <literal>$4</literal> will be replaced by the return of the C "
@@ -10881,11 +11747,11 @@ msgid ""
 "ampersand (&amp;) and <literal>$2</literal> will be replaced by the C type."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8545(title)
+#: C/gtkmm-tutorial-in.xml:9070(title)
 msgid "Class macros"
-msgstr ""
+msgstr "Macros de classes"
 
-#: C/gtkmm-tutorial-in.xml:8546(para)
+#: C/gtkmm-tutorial-in.xml:9071(para)
 msgid ""
 "The class macro declares the class itself and its relationship with the "
 "underlying C type. It generates some internal constructors, the member "
@@ -10894,118 +11760,120 @@ msgid ""
 "method, among other things."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8551(para)
+#: C/gtkmm-tutorial-in.xml:9076(para)
 msgid ""
 "Other macros, such as <function>_WRAP_METHOD()</function> and "
 "<function>_WRAP_SIGNAL()</function> may only be used after a call to a "
 "<function>_CLASS_*</function> macro."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8556(title)
+#: C/gtkmm-tutorial-in.xml:9081(title)
 msgid "_CLASS_GOBJECT"
-msgstr ""
+msgstr "_CLASS_GOBJECT"
 
-#: C/gtkmm-tutorial-in.xml:8557(para)
+#: C/gtkmm-tutorial-in.xml:9082(para)
 msgid ""
 "This macro declares a wrapper for a type that is derived from "
 "<classname>GObject</classname>, but whose wrapper is not derived from "
 "<classname>Gtk::Object</classname>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8560(function)
+#: C/gtkmm-tutorial-in.xml:9085(function)
 msgid ""
 "_CLASS_GOBJECT( C++ class, C class, C casting macro, C++ base class, C base "
 "class )"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8562(programlisting)
+#: C/gtkmm-tutorial-in.xml:9087(programlisting)
 #, no-wrap
 msgid ""
 "\n"
 "_CLASS_GOBJECT(AccelGroup, GtkAccelGroup, GTK_ACCEL_GROUP, Glib::Object, GObject)\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8561(para)
+#: C/gtkmm-tutorial-in.xml:9086(para)
 msgid "For instance, from <filename>accelgroup.hg</filename>: <placeholder-1/>"
 msgstr ""
+"Por exemplo, a partir de <filename>accelgroup.hg</filename>: <placeholder-1/>"
 
-#: C/gtkmm-tutorial-in.xml:8569(title)
+#: C/gtkmm-tutorial-in.xml:9094(title)
 msgid "_CLASS_GTKOBJECT"
-msgstr ""
+msgstr "_CLASS_GTKOBJECT"
 
-#: C/gtkmm-tutorial-in.xml:8570(para)
+#: C/gtkmm-tutorial-in.xml:9095(para)
 msgid ""
 "This macro declares a wrapper for a type whose wrapper is derived from "
 "<classname>Gtk::Object</classname>, such as a widget or dialog."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8572(function)
+#: C/gtkmm-tutorial-in.xml:9097(function)
 msgid ""
 "_CLASS_GTKOBJECT( C++ class, C class, C casting macro, C++ base class, C "
 "base class )"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8574(programlisting)
+#: C/gtkmm-tutorial-in.xml:9099(programlisting)
 #, no-wrap
 msgid ""
 "\n"
 "_CLASS_GTKOBJECT(Button, GtkButton, GTK_BUTTON, Gtk::Bin, GtkBin)\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8573(para) C/gtkmm-tutorial-in.xml:8974(para)
-#: C/gtkmm-tutorial-in.xml:9035(para) C/gtkmm-tutorial-in.xml:9113(para)
+#: C/gtkmm-tutorial-in.xml:9098(para) C/gtkmm-tutorial-in.xml:9437(para)
+#: C/gtkmm-tutorial-in.xml:9498(para) C/gtkmm-tutorial-in.xml:9615(para)
 msgid "For instance, from <filename>button.hg</filename>: <placeholder-1/>"
 msgstr ""
+"Por exemplo, a partir de <filename>button.hg</filename>: <placeholder-1/>"
 
-#: C/gtkmm-tutorial-in.xml:8578(para)
+#: C/gtkmm-tutorial-in.xml:9103(para)
 msgid ""
 "You will typically use this macro when the class already derives from Gtk::"
 "Object. For instance, you will use it when wrapping a GTK+ Widget, because "
 "Gtk::Widget derives from Gtk::Object."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8579(para)
+#: C/gtkmm-tutorial-in.xml:9104(para)
 msgid ""
 "You might also derive non-widget classes from Gtk::Object so they can be "
-"used without <classname>Glib::RefPtr</classname>. For isntance, they could "
+"used without <classname>Glib::RefPtr</classname>. For instance, they could "
 "then be instantiated with <function>Gtk::manage()</function> or on the stack "
 "as a member variable. This is convenient, but you should use this only when "
 "you are sure that true reference-counting is not needed. We consider it "
 "useful for widgets."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8583(title)
+#: C/gtkmm-tutorial-in.xml:9108(title)
 msgid "_CLASS_BOXEDTYPE"
-msgstr ""
+msgstr "_CLASS_BOXEDTYPE"
 
-#: C/gtkmm-tutorial-in.xml:8584(para)
+#: C/gtkmm-tutorial-in.xml:9109(para)
 msgid ""
 "This macro declares a wrapper for a non-<classname>GObject</classname> "
 "struct, registered with <function>g_boxed_type_register_static()</function>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8587(function)
+#: C/gtkmm-tutorial-in.xml:9112(function)
 msgid ""
 "_CLASS_BOXEDTYPE( C++ class, C class, new function, copy function, free "
 "function )"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8589(programlisting)
+#: C/gtkmm-tutorial-in.xml:9114(programlisting)
 #, no-wrap
 msgid ""
 "\n"
 "_CLASS_BOXEDTYPE(Color, GdkColor, NONE, gdk_color_copy, gdk_color_free)\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8588(para)
+#: C/gtkmm-tutorial-in.xml:9113(para)
 msgid "For instance, for <classname>Gdk::Color</classname>: <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8596(title)
+#: C/gtkmm-tutorial-in.xml:9121(title)
 msgid "_CLASS_BOXEDTYPE_STATIC"
-msgstr ""
+msgstr "_CLASS_BOXEDTYPE_STATIC"
 
-#: C/gtkmm-tutorial-in.xml:8597(para)
+#: C/gtkmm-tutorial-in.xml:9122(para)
 msgid ""
 "This macro declares a wrapper for a simple assignable struct such as "
 "<classname>GdkRectangle</classname>. It is similar to "
@@ -11013,141 +11881,144 @@ msgid ""
 "dynamically."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8601(function)
+#: C/gtkmm-tutorial-in.xml:9126(function)
 msgid "_CLASS_BOXEDTYPE_STATIC( C++ class, C class )"
-msgstr ""
+msgstr "_CLASS_BOXEDTYPE_STATIC( classe C++, classe C  )"
 
-#: C/gtkmm-tutorial-in.xml:8603(programlisting)
+#: C/gtkmm-tutorial-in.xml:9128(programlisting)
 #, no-wrap
 msgid ""
 "\n"
 "_CLASS_BOXEDTYPE_STATIC(Rectangle, GdkRectangle)\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8602(para)
+#: C/gtkmm-tutorial-in.xml:9127(para)
 msgid ""
 "For instance, for <classname>Gdk::Rectangle</classname>: <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8610(title)
+#: C/gtkmm-tutorial-in.xml:9135(title)
 msgid "_CLASS_OPAQUE_COPYABLE"
-msgstr ""
+msgstr "_CLASS_OPAQUE_COPYABLE"
 
-#: C/gtkmm-tutorial-in.xml:8611(para)
+#: C/gtkmm-tutorial-in.xml:9136(para)
 msgid ""
 "This macro declares a wrapper for an opaque struct that has copy and free "
 "functions. The new, copy and free functions will be used to instantiate the "
 "default constructor, copy constructor and destructor."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8614(function)
+#: C/gtkmm-tutorial-in.xml:9139(function)
 msgid ""
 "_CLASS_OPAQUE_COPYABLE( C++ class, C class, new function, copy function, "
 "free function )"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8616(programlisting)
+#: C/gtkmm-tutorial-in.xml:9141(programlisting)
 #, no-wrap
 msgid ""
 "\n"
 "_CLASS_OPAQUE_COPYABLE(StockItem, GtkStockItem, NONE, gtk_stock_item_copy, gtk_stock_item_free)\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8615(para)
+#: C/gtkmm-tutorial-in.xml:9140(para)
 msgid "For instance, from <filename>stockitem.hg</filename>: <placeholder-1/>"
 msgstr ""
+"Por exemplo, a partir de <filename>stockitem.hg</filename>: <placeholder-1/>"
 
-#: C/gtkmm-tutorial-in.xml:8623(title)
+#: C/gtkmm-tutorial-in.xml:9148(title)
 msgid "_CLASS_OPAQUE_REFCOUNTED"
-msgstr ""
+msgstr "_CLASS_OPAQUE_REFCOUNTED"
 
-#: C/gtkmm-tutorial-in.xml:8624(para)
+#: C/gtkmm-tutorial-in.xml:9149(para)
 msgid ""
 "This macro declares a wrapper for a reference-counted opaque struct. The C++ "
 "wrapper cannot be directly instantiated and can only be used with "
 "<classname>Glib::RefPtr</classname>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8627(function)
+#: C/gtkmm-tutorial-in.xml:9152(function)
 msgid ""
 "_CLASS_OPAQUE_REFCOUNTED( C++ class, C class, new function, ref function, "
 "unref function )"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8629(programlisting)
+#: C/gtkmm-tutorial-in.xml:9154(programlisting)
 #, no-wrap
 msgid ""
 "\n"
 "_CLASS_OPAQUE_REFCOUNTED(Coverage, PangoCoverage, pango_coverage_new, pango_coverage_ref, 
pango_coverage_unref)\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8628(para)
+#: C/gtkmm-tutorial-in.xml:9153(para)
 msgid ""
 "For instance, for <classname>Pango::Coverage</classname>: <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8636(title)
+#: C/gtkmm-tutorial-in.xml:9161(title)
 msgid "_CLASS_GENERIC"
-msgstr ""
+msgstr "_CLASS_GENERIC"
 
-#: C/gtkmm-tutorial-in.xml:8637(para)
+#: C/gtkmm-tutorial-in.xml:9162(para)
 msgid ""
 "This macro can be used to wrap structs which don't fit into any specialized "
 "category."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8639(function)
+#: C/gtkmm-tutorial-in.xml:9164(function)
 msgid "_CLASS_GENERIC( C++ class, C class )"
-msgstr ""
+msgstr "_CLASS_GENERIC( classe C++, classe C )"
 
-#: C/gtkmm-tutorial-in.xml:8641(programlisting)
+#: C/gtkmm-tutorial-in.xml:9166(programlisting)
 #, no-wrap
 msgid ""
 "\n"
 "_CLASS_GENERIC(AttrIter, PangoAttrIterator)\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8640(para)
+#: C/gtkmm-tutorial-in.xml:9165(para)
 msgid ""
 "For instance, for <classname>Pango::AttrIter</classname>: <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8648(title)
+#: C/gtkmm-tutorial-in.xml:9173(title)
 msgid "_CLASS_INTERFACE"
-msgstr ""
+msgstr "_CLASS_INTERFACE"
 
-#: C/gtkmm-tutorial-in.xml:8649(para)
+#: C/gtkmm-tutorial-in.xml:9174(para)
 msgid ""
 "This macro declares a wrapper for a type that is derived from "
 "<classname>GTypeInterface</classname>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8652(function)
+#: C/gtkmm-tutorial-in.xml:9177(function)
 msgid ""
 "_CLASS_INTERFACE( C++ class, C class, C casting macro, C interface struct, "
 "Base C++ class (optional), Base C class (optional) )"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8655(programlisting)
+#: C/gtkmm-tutorial-in.xml:9180(programlisting)
 #, no-wrap
 msgid ""
 "\n"
 "_CLASS_INTERFACE(CellEditable, GtkCellEditable, GTK_CELL_EDITABLE, GtkCellEditableIface)\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8653(para)
+#: C/gtkmm-tutorial-in.xml:9178(para)
 msgid ""
 "For instance, from <filename>celleditable.hg</filename>: <placeholder-1/>"
 msgstr ""
+"Por exemplo, a partir de <filename>celleditable.hg</filename>: "
+"<placeholder-1/>"
 
-#: C/gtkmm-tutorial-in.xml:8662(programlisting)
+#: C/gtkmm-tutorial-in.xml:9187(programlisting)
 #, no-wrap
 msgid ""
 "\n"
 "_CLASS_INTERFACE(LoadableIcon, GLoadableIcon, G_LOADABLE_ICON, GLoadableIconIface, Icon, GIcon)\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8659(para)
+#: C/gtkmm-tutorial-in.xml:9184(para)
 msgid ""
 "Two extra parameters are optional, for the case that the interface derives "
 "from another interface, which should be the case when the GInterface has "
@@ -11155,11 +12026,11 @@ msgid ""
 "<filename>loadableicon.hg</filename>: <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8671(title)
+#: C/gtkmm-tutorial-in.xml:9196(title)
 msgid "Constructor macros"
-msgstr ""
+msgstr "Contrutor de macros"
 
-#: C/gtkmm-tutorial-in.xml:8672(para)
+#: C/gtkmm-tutorial-in.xml:9197(para)
 msgid ""
 "The <function>_CTOR_DEFAULT()</function> and <function>_WRAP_CTOR()</"
 "function> macros add constructors, wrapping the specified <function>*_new()</"
@@ -11172,7 +12043,7 @@ msgid ""
 "convenience functions for C programmers."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8687(programlisting)
+#: C/gtkmm-tutorial-in.xml:9212(programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -11187,7 +12058,7 @@ msgid ""
 "  _WRAP_CREATE(const Glib::ustring&amp; name = Glib::ustring())\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8682(para)
+#: C/gtkmm-tutorial-in.xml:9207(para)
 msgid ""
 "When using <function>_CLASS_GOBJECT()</function>, the constructors should be "
 "protected (rather than public) and each constructor should have a "
@@ -11196,15 +12067,15 @@ msgid ""
 "<classname>RefPtr</classname>. For instance: <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8702(para)
+#: C/gtkmm-tutorial-in.xml:9227(para)
 msgid "This macro creates a default constructor with no arguments."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8707(title)
+#: C/gtkmm-tutorial-in.xml:9232(title)
 msgid "_WRAP_CTOR"
-msgstr ""
+msgstr "_WRAP_CTOR"
 
-#: C/gtkmm-tutorial-in.xml:8708(para)
+#: C/gtkmm-tutorial-in.xml:9233(para)
 msgid ""
 "This macro creates a constructor with arguments, equivalent to a "
 "<function>*_new()</function> C function. It won't actually call the "
@@ -11213,75 +12084,27 @@ msgid ""
 "signature, and a C function name."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8721(programlisting)
-#, no-wrap
-msgid ""
-"\n"
-"_WRAP_CTOR(ToolButton(Widget&amp; icon_widget, const Glib::ustring&amp; label{?}), gtk_tool_button_new)\n"
-msgstr ""
-
-#: C/gtkmm-tutorial-in.xml:8714(para)
-msgid ""
-"When wrapping constructors, it is possible for gmmproc to generate "
-"convenience overloads of the wrapped constructors if the C function has "
-"parameters that are optional (ie. the C API allows null for those "
-"parameters). For instance, to specify if a parameter is optional, the "
-"<function>_WRAP_CTOR()</function> macro would look something like the "
-"following: <placeholder-1/> The <literal>{?}</literal> following the name of "
-"the <parameter>label</parameter> parameter means that that parameter is "
-"optional. In this case, gmmproc will generate an extra constructor without "
-"that parameter."
-msgstr ""
-
-#: C/gtkmm-tutorial-in.xml:8736(programlisting)
-#, no-wrap
-msgid ""
-"\n"
-"GtkToolItem* gtk_tool_button_new(GtkWidget* icon_widget, const gchar* label);\n"
-msgstr ""
-
-#: C/gtkmm-tutorial-in.xml:8741(programlisting)
-#, no-wrap
-msgid ""
-"\n"
-"_WRAP_CTOR(ToolButton(const Glib::ustring&amp; label{label}, Widget&amp; icon_widget{icon_widget}), 
gtk_tool_button_new)\n"
-msgstr ""
-
-#: C/gtkmm-tutorial-in.xml:8748(programlisting)
-#, no-wrap
-msgid ""
-"\n"
-"_WRAP_CTOR(ToolButton(const Glib::ustring&amp; label{.}, Widget&amp; icon_widget{.}), 
gtk_tool_button_new)\n"
+#: C/gtkmm-tutorial-in.xml:9243(term) C/gtkmm-tutorial-in.xml:9302(term)
+#: C/gtkmm-tutorial-in.xml:9538(term)
+msgid "errthrow"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8729(para)
+#: C/gtkmm-tutorial-in.xml:9245(para)
 msgid ""
-"It is also possible to have the order of the parameters of the constructor "
-"different from that of the C function by using gmmproc's C++ to C parameter "
-"mapping functionality. Using this functionality, it is possible to map a C++ "
-"parameter to a C parameter by specifying the C parameter name. For instance, "
-"assuming that the declaration of the <function>gtk_tool_button_new()</"
-"function> function is the following: <placeholder-1/> The parameters of the "
-"wrapped constructor could be reordered using the following: <placeholder-2/> "
-"The <literal>{param_name}</literal> following each of the names of the "
-"parameters tells gmmproc to map those C++ parameters to the C parameters "
-"with the given names. Since the C++ parameter names correspond to the C "
-"ones, the above could be re-written as: <placeholder-3/>"
+"This tells gmmproc that the C <function>*_new()</function> has a final "
+"GError** parameter which should be ignored."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8752(para)
-msgid ""
-"This same optional parameter syntax and parameter reordering is available "
-"for <function>_WRAP_CREATE()</function>. Additional <function>create()</"
-"function> overloads would be generated by gmmproc without the specified "
-"optional parameters."
+#: C/gtkmm-tutorial-in.xml:9240(para)
+msgid "It also takes an optional extra argument: <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8761(title)
+#: C/gtkmm-tutorial-in.xml:9254(title)
+#, fuzzy
 msgid "Hand-coding constructors"
-msgstr ""
+msgstr "Construtor de códificação à mão"
 
-#: C/gtkmm-tutorial-in.xml:8770(programlisting)
+#: C/gtkmm-tutorial-in.xml:9263(programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -11291,7 +12114,7 @@ msgid ""
 "{}\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8762(para)
+#: C/gtkmm-tutorial-in.xml:9255(para)
 msgid ""
 "When a constructor must be partly hand written because, for instance, the "
 "<function>*_new()</function> C function's parameters do not correspond "
@@ -11303,34 +12126,35 @@ msgid ""
 "filename>: <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8782(title)
+#: C/gtkmm-tutorial-in.xml:9275(title)
 msgid "Method macros"
-msgstr ""
+msgstr "Métodos macros"
 
-#: C/gtkmm-tutorial-in.xml:8785(title)
+#: C/gtkmm-tutorial-in.xml:9278(title)
 msgid "_WRAP_METHOD"
-msgstr ""
+msgstr "_WRAP_METHOD"
 
-#: C/gtkmm-tutorial-in.xml:8786(para)
+#: C/gtkmm-tutorial-in.xml:9279(para)
 msgid "This macro generates the C++ method to wrap a C function."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8787(function)
+#: C/gtkmm-tutorial-in.xml:9280(function)
 msgid "_WRAP_METHOD( C++ method signature, C function name)"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8789(programlisting)
+#: C/gtkmm-tutorial-in.xml:9282(programlisting)
 #, no-wrap
 msgid ""
 "\n"
 "_WRAP_METHOD(void set_text(const Glib::ustring&amp; text), gtk_entry_set_text)\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8788(para)
+#: C/gtkmm-tutorial-in.xml:9281(para)
 msgid "For instance, from <filename>entry.hg</filename>: <placeholder-1/>"
 msgstr ""
+"Por exemplo, a partir de <filename>entry.hg</filename>: <placeholder-1/>"
 
-#: C/gtkmm-tutorial-in.xml:8793(para)
+#: C/gtkmm-tutorial-in.xml:9286(para)
 msgid ""
 "The C function (e.g. <function>gtk_entry_set_text</function>) is described "
 "more fully in the .defs file, and the <filename>convert*.m4</filename> files "
@@ -11340,167 +12164,103 @@ msgid ""
 "xml</filename> files."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8802(term) C/gtkmm-tutorial-in.xml:9011(term)
-#: C/gtkmm-tutorial-in.xml:9058(term)
+#: C/gtkmm-tutorial-in.xml:9295(term) C/gtkmm-tutorial-in.xml:9474(term)
+#: C/gtkmm-tutorial-in.xml:9521(term)
 msgid "refreturn"
-msgstr ""
+msgstr "refreturn"
 
-#: C/gtkmm-tutorial-in.xml:8804(para)
+#: C/gtkmm-tutorial-in.xml:9297(para)
 msgid ""
 "Do an extra <function>reference()</function> on the return value, in case "
 "the C function does not provide a reference."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8809(term)
-msgid "errthrow"
-msgstr ""
-
-#: C/gtkmm-tutorial-in.xml:8811(para)
+#: C/gtkmm-tutorial-in.xml:9304(para)
 msgid "Use the last GError* parameter of the C function to throw an exception."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8816(term)
+#: C/gtkmm-tutorial-in.xml:9309(term)
 msgid "deprecated"
-msgstr ""
+msgstr "obsoleto"
 
-#: C/gtkmm-tutorial-in.xml:8818(para)
+#: C/gtkmm-tutorial-in.xml:9311(para)
 msgid ""
 "Puts the generated code in #ifdef blocks. Text about the deprecation can be "
 "specified as an optional parameter."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8824(term)
+#: C/gtkmm-tutorial-in.xml:9317(term)
 msgid "constversion"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8826(para)
+#: C/gtkmm-tutorial-in.xml:9319(para)
 msgid ""
 "Just call the non-const version of the same function, instead of generating "
 "almost duplicate code."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8831(term) C/gtkmm-tutorial-in.xml:9019(term)
-#: C/gtkmm-tutorial-in.xml:9090(term) C/gtkmm-tutorial-in.xml:9121(term)
+#: C/gtkmm-tutorial-in.xml:9324(term) C/gtkmm-tutorial-in.xml:9482(term)
+#: C/gtkmm-tutorial-in.xml:9560(term) C/gtkmm-tutorial-in.xml:9623(term)
 msgid "ifdef"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8833(para) C/gtkmm-tutorial-in.xml:9021(para)
-#: C/gtkmm-tutorial-in.xml:9092(para) C/gtkmm-tutorial-in.xml:9123(para)
+#: C/gtkmm-tutorial-in.xml:9326(para) C/gtkmm-tutorial-in.xml:9484(para)
+#: C/gtkmm-tutorial-in.xml:9562(para) C/gtkmm-tutorial-in.xml:9625(para)
 msgid "Puts the generated code in #ifdef blocks."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8799(para) C/gtkmm-tutorial-in.xml:8982(para)
-#: C/gtkmm-tutorial-in.xml:9055(para)
-msgid "There are some optional extra arguments: <placeholder-1/>"
-msgstr ""
+#: C/gtkmm-tutorial-in.xml:9330(term) C/gtkmm-tutorial-in.xml:9566(term)
+msgid "slot_name"
+msgstr "slot_name"
 
-#: C/gtkmm-tutorial-in.xml:8842(programlisting)
-#, no-wrap
+#: C/gtkmm-tutorial-in.xml:9332(para) C/gtkmm-tutorial-in.xml:9568(para)
 msgid ""
-"\n"
-"_WRAP_METHOD(void get_preferred_size(Requisition&amp; minimum_size, Requisition&amp; natural_size{?}) 
const, gtk_widget_get_preferred_size)\n"
+"Specifies the name of the slot parameter of the method, if it has one. This "
+"enables <command>gmmproc</command> to generate code to copy the slot and "
+"pass the copy on to the C function in its final <literal>gpointer user_data</"
+"literal> parameter. The <literal>slot_callback</literal> option must also be "
+"used to specify the name of the glue callback function to also pass on to "
+"the C function."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8838(para)
-msgid ""
-"As with <function>_WRAP_CTOR()</function> it is possible to specify if there "
-"are any optional parameters. If that is the case, gmmproc will generate "
-"convenience overload methods without those parameters. For example: "
-"<placeholder-1/> Would indicate that the <parameter>natural_size</parameter> "
-"parameter is optional because its name ends with <literal>{?}</literal>. In "
-"this case, gmmproc would generate a method overload without that parameter."
-msgstr ""
+#: C/gtkmm-tutorial-in.xml:9342(term) C/gtkmm-tutorial-in.xml:9578(term)
+msgid "slot_callback"
+msgstr "slot_callback"
 
-#: C/gtkmm-tutorial-in.xml:8856(programlisting)
-#, no-wrap
+#: C/gtkmm-tutorial-in.xml:9344(para) C/gtkmm-tutorial-in.xml:9580(para)
 msgid ""
-"\n"
-"void gtk_widget_set_device_events(GtkWidget* widget, GdkDevice* device, GdkEventMask events);\n"
+"Used in conjunction with the <literal>slot_name</literal> option to specify "
+"the name of the glue callback function that handles extracting the slot and "
+"then calling it. The address of this callback is also passed on to the C "
+"function that the method wraps."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8861(programlisting)
-#, no-wrap
-msgid ""
-"\n"
-"_WRAP_METHOD(void set_device_events(Gdk::EventMask events{events}, const Glib::RefPtr&lt;const 
Gdk::Device&gt;&amp; device{device}), gtk_widget_set_device_events)\n"
-msgstr ""
-
-#: C/gtkmm-tutorial-in.xml:8868(programlisting)
-#, no-wrap
-msgid ""
-"\n"
-"_WRAP_METHOD(void set_device_events(Gdk::EventMask events{.}, const Glib::RefPtr&lt;const 
Gdk::Device&gt;&amp; device{.}), gtk_widget_set_device_events)\n"
-msgstr ""
-
-#: C/gtkmm-tutorial-in.xml:8849(para)
-msgid ""
-"Also, as with <function>_WRAP_CTOR()</function>, it is possible to reorder "
-"the parameters of the C++ method by using gmmproc's C++ to C parameter "
-"mapping functionality. Using this functionality, it is possible to map a C++ "
-"parameter to a C parameter by specifying the C parameter name. For example, "
-"if the <function>gtk_widget_set_device_events()</function> declaration is "
-"the following: <placeholder-1/> Something like the following would change "
-"the order of the parameters in the C++ method: <placeholder-2/> The <literal>"
-"{param_name}</literal> following each of the names of the parameters tells "
-"gmmproc to map those C++ parameters to the C parameters with the given "
-"names. Since the C++ parameter names correspond to the C ones, the above "
-"could be re-written as: <placeholder-3/>"
-msgstr ""
+#: C/gtkmm-tutorial-in.xml:9352(term) C/gtkmm-tutorial-in.xml:9588(term)
+msgid "no_slot_copy"
+msgstr "no_slot_copy"
 
-#: C/gtkmm-tutorial-in.xml:8880(programlisting)
-#, no-wrap
+#: C/gtkmm-tutorial-in.xml:9354(para) C/gtkmm-tutorial-in.xml:9590(para)
 msgid ""
-"\n"
-"GtkSizeRequestMode gtk_widget_get_request_mode(GtkWidget* widget);\n"
+"Tells <command>gmmproc</command> not to pass a copy of the slot to the C "
+"function, if the method has one. Instead the slot itself is passed. The slot "
+"parameter name and the glue callback function must have been specified with "
+"the <literal>slot_name</literal> and <literal>slot_callbback</literal> "
+"options respectively."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8886(programlisting)
-#, no-wrap
-msgid ""
-"\n"
-"_WRAP_METHOD(void get_request_mode(SizeRequestMode&amp; mode{OUT}) const, gtk_widget_get_request_mode)\n"
-msgstr ""
-
-#: C/gtkmm-tutorial-in.xml:8894(programlisting)
-#, no-wrap
-msgid ""
-"\n"
-"_INITIALIZATION(`SizeRequestMode&amp;',`GtkSizeRequestMode',`$3 = (SizeRequestMode)($4)')\n"
-msgstr ""
-
-#: C/gtkmm-tutorial-in.xml:8898(programlisting)
-#, no-wrap
-msgid ""
-"\n"
-"_INITIALIZATION(`SizeRequestMode&amp;',`GtkSizeRequestMode',`$3 = ($1)($4)')\n"
-msgstr ""
-
-#: C/gtkmm-tutorial-in.xml:8872(para)
-msgid ""
-"With <function>_WRAP_METHOD()</function> it is also possible to include an "
-"output parameter in the C++ method declaration in which the return of the C "
-"function would be placed and to have the C++ method return <type>void</"
-"type>. To do that, simply include the output parameter declaration in the C+"
-"+ method declaration appending a <literal>{OUT}</literal> to the output "
-"parameter name. For example, if <function>gtk_widget_get_request_mode()</"
-"function> is declared as the following: <placeholder-1/> And having the C++ "
-"method set an output parameter is desired instead of returning a "
-"<type>SizeRequestMode</type>, something like the following could be used: "
-"<placeholder-2/> the <literal>{OUT}</literal> appended to the name of the "
-"<parameter>mode</parameter> output parameter tells gmmproc to place the "
-"return of the C function in that output parameter. In this case, however, a "
-"necessary initialization macro like the following would also have to be "
-"specified: <placeholder-3/> Which could also be written as: <placeholder-4/>"
+#: C/gtkmm-tutorial-in.xml:9292(para) C/gtkmm-tutorial-in.xml:9445(para)
+#: C/gtkmm-tutorial-in.xml:9518(para)
+msgid "There are some optional extra arguments: <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8904(para)
+#: C/gtkmm-tutorial-in.xml:9367(para)
 msgid ""
 "Objects used via <classname>RefPtr</classname>: Pass the <classname>RefPtr</"
 "classname> as a const reference. For instance, <code>const Glib::RefPtr&lt;"
 "Gtk::Action&gt;&amp; action</code>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8908(para)
+#: C/gtkmm-tutorial-in.xml:9371(para)
 msgid ""
 "Const Objects used via <classname>RefPtr</classname>: If the object should "
 "not be changed by the function, then make sure that the object is const, "
@@ -11508,7 +12268,7 @@ msgid ""
 "<code>const Glib::RefPtr&lt;const Gtk::Action&gt;&amp; action</code>."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8913(para)
+#: C/gtkmm-tutorial-in.xml:9376(para)
 msgid ""
 "Wrapping <classname>GList*</classname> and <classname>GSList*</classname> "
 "parameters: First, you need to discover what objects are contained in the "
@@ -11519,12 +12279,12 @@ msgid ""
 "the C and C++ types should be converted."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8930(programlisting)
+#: C/gtkmm-tutorial-in.xml:9393(programlisting)
 #, no-wrap
 msgid "#m4 
_CONVERSION(`GSList*',`std::vector&lt;Widget*&gt;',`Glib::SListHandler&lt;Widget*&gt;::slist_to_vector($3, 
Glib::OWNERSHIP_SHALLOW)')"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8922(para)
+#: C/gtkmm-tutorial-in.xml:9385(para)
 msgid ""
 "Wrapping <classname>GList*</classname> and <classname>GSList*</classname> "
 "return types: You must discover whether the caller should free the list and "
@@ -11535,17 +12295,18 @@ msgid ""
 "on the function rather than the type. For instance: <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8902(para)
+#: C/gtkmm-tutorial-in.xml:9363(para)
 msgid ""
-"Though it's usually obvious what C++ types should be used in the C++ method, "
-"here are some hints: <placeholder-1/>"
+"Selecting which C++ types should be used is also important when wrapping C "
+"API. Though it's usually obvious what C++ types should be used in the C++ "
+"method, here are some hints: <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8936(title)
+#: C/gtkmm-tutorial-in.xml:9399(title)
 msgid "_WRAP_METHOD_DOCS_ONLY"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8937(para)
+#: C/gtkmm-tutorial-in.xml:9400(para)
 msgid ""
 "This macro is like <function>_WRAP_METHOD()</function>, but it generates "
 "only the documentation for a C++ method that wraps a C function. Use this "
@@ -11553,26 +12314,27 @@ msgid ""
 "that would be generated if the method was generated."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8941(function)
+#: C/gtkmm-tutorial-in.xml:9404(function)
 msgid "_WRAP_METHOD_DOCS_ONLY(C function name)"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8943(programlisting)
+#: C/gtkmm-tutorial-in.xml:9406(programlisting)
 #, no-wrap
 msgid ""
 "\n"
 "_WRAP_METHOD_DOCS_ONLY(gtk_container_remove)\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8942(para)
+#: C/gtkmm-tutorial-in.xml:9405(para)
 msgid "For instance, from <filename>container.hg</filename>: <placeholder-1/>"
 msgstr ""
+"Por exemplo, a partir de <filename>container.hg</filename>: <placeholder-1/>"
 
-#: C/gtkmm-tutorial-in.xml:8950(title)
+#: C/gtkmm-tutorial-in.xml:9413(title)
 msgid "_IGNORE / _IGNORE_SIGNAL"
-msgstr ""
+msgstr "_IGNORE / _IGNORE_SIGNAL"
 
-#: C/gtkmm-tutorial-in.xml:8951(para)
+#: C/gtkmm-tutorial-in.xml:9414(para)
 msgid ""
 "<command>gmmproc</command> will warn you on stdout about functions and "
 "signals that you have forgotten to wrap, helping to ensure that you are "
@@ -11582,30 +12344,31 @@ msgid ""
 "complaining."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8956(function)
+#: C/gtkmm-tutorial-in.xml:9419(function)
 msgid "_IGNORE(C function name 1, C function name2, etc)"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8957(function)
+#: C/gtkmm-tutorial-in.xml:9420(function)
 msgid "_IGNORE_SIGNAL(C signal name 1, C signal name2, etc)"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8959(programlisting)
+#: C/gtkmm-tutorial-in.xml:9422(programlisting)
 #, no-wrap
 msgid ""
 "\n"
 "_IGNORE(gtk_button_box_set_spacing, gtk_button_box_get_spacing)\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8958(para)
+#: C/gtkmm-tutorial-in.xml:9421(para)
 msgid "For instance, from <filename>buttonbox.hg</filename>: <placeholder-1/>"
 msgstr ""
+"Por exemplo, a partir de <filename>buttonbox.hg</filename>: <placeholder-1/>"
 
-#: C/gtkmm-tutorial-in.xml:8966(title)
+#: C/gtkmm-tutorial-in.xml:9429(title)
 msgid "_WRAP_SIGNAL"
-msgstr ""
+msgstr "_WRAP_SIGNAL"
 
-#: C/gtkmm-tutorial-in.xml:8967(para)
+#: C/gtkmm-tutorial-in.xml:9430(para)
 msgid ""
 "This macro generates the C++ libsigc++-style signal to wrap a C GObject "
 "signal. It actually generates a public accessor method, such as "
@@ -11614,29 +12377,29 @@ msgid ""
 "types and the .m4 convert files to discover appropriate type conversions."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8973(function)
+#: C/gtkmm-tutorial-in.xml:9436(function)
 msgid "_WRAP_SIGNAL( C++ signal handler signature, C signal name)"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8975(programlisting)
+#: C/gtkmm-tutorial-in.xml:9438(programlisting)
 #, no-wrap
 msgid ""
 "\n"
 "_WRAP_SIGNAL(void clicked(),\"clicked\")\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8979(para)
+#: C/gtkmm-tutorial-in.xml:9442(para)
 msgid ""
 "Signals usually have function pointers in the GTK struct, with a "
-"corresponding enum value. and a <function>g_signal_new()</function> in the ."
-"c file."
+"corresponding enum value and a <function>g_signal_new()</function> in the .c "
+"file."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8985(term)
+#: C/gtkmm-tutorial-in.xml:9448(term)
 msgid "no_default_handler"
-msgstr ""
+msgstr "no_default_handler"
 
-#: C/gtkmm-tutorial-in.xml:8987(para)
+#: C/gtkmm-tutorial-in.xml:9450(para)
 msgid ""
 "Do not generate an <function>on_something()</function> virtual method to "
 "allow easy overriding of the default signal handler. Use this when adding a "
@@ -11644,11 +12407,11 @@ msgid ""
 "size of the class's virtual function table."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:8995(term)
+#: C/gtkmm-tutorial-in.xml:9458(term)
 msgid "custom_default_handler"
-msgstr ""
+msgstr "custom_default_handler"
 
-#: C/gtkmm-tutorial-in.xml:8997(para)
+#: C/gtkmm-tutorial-in.xml:9460(para)
 msgid ""
 "Generate a declaration of the <function>on_something()</function> virtual "
 "method in the <filename>.h</filename> file, but do not generate a definition "
@@ -11656,28 +12419,28 @@ msgid ""
 "definition by hand."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:9004(term)
+#: C/gtkmm-tutorial-in.xml:9467(term)
 msgid "custom_c_callback"
-msgstr ""
+msgstr "custom_c_callback"
 
-#: C/gtkmm-tutorial-in.xml:9006(para)
+#: C/gtkmm-tutorial-in.xml:9469(para)
 msgid ""
 "Do not generate a C callback function for the signal. Use this when you must "
 "generate the callback function by hand."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:9013(para)
+#: C/gtkmm-tutorial-in.xml:9476(para)
 msgid ""
 "Do an extra <function>reference()</function> on the return value of the "
 "<function>on_something()</function> virtual method, in case the C function "
 "does not provide a reference."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:9029(title)
+#: C/gtkmm-tutorial-in.xml:9492(title)
 msgid "_WRAP_PROPERTY"
-msgstr ""
+msgstr "_WRAP_PROPERTY"
 
-#: C/gtkmm-tutorial-in.xml:9030(para)
+#: C/gtkmm-tutorial-in.xml:9493(para)
 msgid ""
 "This macro generates the C++ method to wrap a C GObject property. You must "
 "specify the property name and the wanted C++ type for the property. "
@@ -11685,41 +12448,42 @@ msgid ""
 "the .m4 convert files to discover appropriate type conversions."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:9034(function)
+#: C/gtkmm-tutorial-in.xml:9497(function)
 msgid "_WRAP_PROPERTY(C property name, C++ type)"
-msgstr ""
+msgstr "_WRAP_PROPERTY(C property name, C++ type)"
 
-#: C/gtkmm-tutorial-in.xml:9036(programlisting)
+#: C/gtkmm-tutorial-in.xml:9499(programlisting)
 #, no-wrap
 msgid ""
 "\n"
 "_WRAP_PROPERTY(\"label\", Glib::ustring)\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:9043(title)
+#: C/gtkmm-tutorial-in.xml:9506(title)
 msgid "_WRAP_VFUNC"
-msgstr ""
+msgstr "_WRAP_VFUNC"
 
-#: C/gtkmm-tutorial-in.xml:9044(para)
+#: C/gtkmm-tutorial-in.xml:9507(para)
 msgid "This macro generates the C++ method to wrap a virtual C function."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:9045(function)
+#: C/gtkmm-tutorial-in.xml:9508(function)
 msgid "_WRAP_VFUNC( C++ method signature, C function name)"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:9047(programlisting)
+#: C/gtkmm-tutorial-in.xml:9510(programlisting)
 #, no-wrap
 msgid ""
 "\n"
 "_WRAP_VFUNC(SizeRequestMode get_request_mode() const, get_request_mode)\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:9046(para) C/gtkmm-tutorial-in.xml:9134(para)
+#: C/gtkmm-tutorial-in.xml:9509(para) C/gtkmm-tutorial-in.xml:9636(para)
 msgid "For instance, from <filename>widget.hg</filename>: <placeholder-1/>"
 msgstr ""
+"Por exemplo, a partir de <filename>widget.hg</filename>: <placeholder-1/>"
 
-#: C/gtkmm-tutorial-in.xml:9051(para)
+#: C/gtkmm-tutorial-in.xml:9514(para)
 msgid ""
 "The C function (e.g. <function>get_request_mode</function>) is described "
 "more fully in the <filename>*_vfuncs.defs</filename> file, and the "
@@ -11727,45 +12491,53 @@ msgid ""
 "the C++ parameter type to the C parameter type."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:9060(para)
+#: C/gtkmm-tutorial-in.xml:9523(para)
 msgid ""
 "Do an extra <function>reference()</function> on the return value of the "
 "<function>something_vfunc()</function> function, in case the virtual C "
 "function does not provide a reference."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:9066(term)
+#: C/gtkmm-tutorial-in.xml:9529(term)
 msgid "refreturn_ctype"
-msgstr ""
+msgstr "refreturn_ctype"
 
-#: C/gtkmm-tutorial-in.xml:9068(para)
+#: C/gtkmm-tutorial-in.xml:9531(para)
 msgid ""
 "Do an extra <function>reference()</function> on the return value of an "
 "overridden <function>something_vfunc()</function> function in the C callback "
 "function, in case the calling C function expects it to provide a reference."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:9075(term)
-msgid "custom_vfunc"
+#: C/gtkmm-tutorial-in.xml:9540(para)
+msgid ""
+"Use the last GError* parameter of the C virtual function (if there is one) "
+"to throw an exception."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:9077(para)
+#: C/gtkmm-tutorial-in.xml:9545(term)
+msgid "custom_vfunc"
+msgstr "custom_vfunc"
+
+#: C/gtkmm-tutorial-in.xml:9547(para)
 msgid ""
 "Do not generate a definition of the vfunc in the <filename>.cc</filename> "
 "file. Use this when you must generate the vfunc by hand."
 msgstr ""
+"Não gera uma definição do vfunc no arquivo <filename>.cc</filename>. Use-a "
+"quando  você deve gerar o vfunc a mão."
 
-#: C/gtkmm-tutorial-in.xml:9083(term)
+#: C/gtkmm-tutorial-in.xml:9553(term)
 msgid "custom_vfunc_callback"
-msgstr ""
+msgstr "custom_vfunc_callback"
 
-#: C/gtkmm-tutorial-in.xml:9085(para)
+#: C/gtkmm-tutorial-in.xml:9555(para)
 msgid ""
 "Do not generate a C callback function for the vfunc. Use this when you must "
 "generate the callback function by hand."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:9097(para)
+#: C/gtkmm-tutorial-in.xml:9599(para)
 msgid ""
 "A rule to which there may be exceptions: If the virtual C function returns a "
 "pointer to an object derived from <classname>GObject</classname>, i.e. a "
@@ -11775,51 +12547,55 @@ msgid ""
 "parameter> is required."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:9108(title)
+#: C/gtkmm-tutorial-in.xml:9610(title)
 msgid "Other macros"
-msgstr ""
+msgstr "Outros macros"
 
-#: C/gtkmm-tutorial-in.xml:9110(title)
+#: C/gtkmm-tutorial-in.xml:9612(title)
 msgid "_IMPLEMENTS_INTERFACE"
-msgstr ""
+msgstr "_IMPLEMENTS_INTERFACE"
 
-#: C/gtkmm-tutorial-in.xml:9111(para)
+#: C/gtkmm-tutorial-in.xml:9613(para)
 msgid "This macro generates initialization code for the interface."
-msgstr ""
+msgstr "Esta macro gera o código de inicialização para a interface."
 
-#: C/gtkmm-tutorial-in.xml:9112(function)
+#: C/gtkmm-tutorial-in.xml:9614(function)
 msgid "_IMPLEMENTS_INTERFACE(C++ interface name)"
-msgstr ""
+msgstr "_IMPLEMENTS_INTERFACE(C++ interface name)"
 
-#: C/gtkmm-tutorial-in.xml:9114(programlisting)
+#: C/gtkmm-tutorial-in.xml:9616(programlisting)
 #, no-wrap
 msgid ""
 "\n"
 "_IMPLEMENTS_INTERFACE(Activatable)\n"
 msgstr ""
+"\n"
+"_IMPLEMENTS_INTERFACE(Activatable)\n"
 
-#: C/gtkmm-tutorial-in.xml:9118(para)
+#: C/gtkmm-tutorial-in.xml:9620(para)
 msgid "There is one optional extra argument: <placeholder-1/>"
-msgstr ""
+msgstr "Há um argumento extra opcional: <placeholder-1/>"
 
-#: C/gtkmm-tutorial-in.xml:9131(title)
+#: C/gtkmm-tutorial-in.xml:9633(title)
 msgid "_WRAP_ENUM"
-msgstr ""
+msgstr "_WRAP_ENUM"
 
-#: C/gtkmm-tutorial-in.xml:9132(para)
+#: C/gtkmm-tutorial-in.xml:9634(para)
 msgid ""
 "This macro generates a C++ enum to wrap a C enum. You must specify the "
 "desired C++ name and the name of the underlying C enum."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:9135(programlisting)
+#: C/gtkmm-tutorial-in.xml:9637(programlisting)
 #, no-wrap
 msgid ""
 "\n"
 "_WRAP_ENUM(WindowType, GdkWindowType)\n"
 msgstr ""
+"\n"
+"_WRAP_ENUM(WindowType, GdkWindowType)\n"
 
-#: C/gtkmm-tutorial-in.xml:9139(para)
+#: C/gtkmm-tutorial-in.xml:9641(para)
 msgid ""
 "If the enum is not a <classname>GType</classname>, you must pass a third "
 "parameter NO_GTYPE. This is the case when there is no <function>*_get_type()"
@@ -11828,93 +12604,122 @@ msgid ""
 "against the C API, because all enums should be registered as GTypes."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:9144(programlisting)
+#: C/gtkmm-tutorial-in.xml:9646(programlisting)
 #, no-wrap
 msgid ""
 "\n"
 "_WRAP_ENUM(IconLookupFlags, GtkIconLookupFlags, NO_GTYPE)\n"
 msgstr ""
+"\n"
+"_WRAP_ENUM(IconLookupFlags, GtkIconLookupFlags, NO_GTYPE)\n"
 
-#: C/gtkmm-tutorial-in.xml:9143(para)
+#: C/gtkmm-tutorial-in.xml:9645(para)
 msgid "For example, from <filename>icontheme.hg</filename>: <placeholder-1/>"
 msgstr ""
+"Por exemplo, a partir de <filename>icontheme.hg</filename>: <placeholder-1/>"
 
-#: C/gtkmm-tutorial-in.xml:9151(title)
-msgid "_WRAP_GERROR"
+#: C/gtkmm-tutorial-in.xml:9653(title)
+#, fuzzy
+#| msgid "_WRAP_ENUM"
+msgid "_WRAP_ENUM_DOCS_ONLY"
+msgstr "_WRAP_ENUM"
+
+#: C/gtkmm-tutorial-in.xml:9654(para)
+msgid ""
+"This macro just generates a Doxygen documentationn block for the enum. This "
+"is useful for enums that can't be wrapped with <function>_WRAP_ENUM()</"
+"function> because they are complexly defined (maybe using C macros) but "
+"including the generated enum documentation is still desired. It is used with "
+"the same syntax as <function>_WRAP_ENUM()</function> and also process the "
+"same options (though NO_GTYPE is just ignored because it makes no differene "
+"when just generating the enum's documentation)."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:9152(para)
+#: C/gtkmm-tutorial-in.xml:9666(title)
+msgid "_WRAP_GERROR"
+msgstr "_WRAP_GERROR"
+
+#: C/gtkmm-tutorial-in.xml:9667(para)
 msgid ""
 "This macro generates a C++ exception class, derived from Glib::Error, with a "
 "Code enum and a code() method. You must specify the desired C++ name, the "
 "name of the corresponding C enum, and the prefix for the C enum values."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:9155(para)
+#: C/gtkmm-tutorial-in.xml:9670(para)
 msgid ""
 "This exception can then be thrown by methods which are generated from "
 "_WRAP_METHOD() with the errthrow option."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:9157(programlisting)
+#: C/gtkmm-tutorial-in.xml:9672(programlisting)
 #, no-wrap
 msgid ""
 "\n"
 "_WRAP_GERROR(PixbufError, GdkPixbufError, GDK_PIXBUF_ERROR)\n"
 msgstr ""
+"\n"
+"_WRAP_GERROR(PixbufError, GdkPixbufError, GDK_PIXBUF_ERROR)\n"
 
-#: C/gtkmm-tutorial-in.xml:9156(para)
+#: C/gtkmm-tutorial-in.xml:9671(para)
 msgid "For instance, from <filename>pixbuf.hg</filename>: <placeholder-1/>"
 msgstr ""
+"Por exemplo, a partir de <filename>pixbuf.hg</filename>: <placeholder-1/>"
 
-#: C/gtkmm-tutorial-in.xml:9164(title)
+#: C/gtkmm-tutorial-in.xml:9679(title)
 msgid "_MEMBER_GET / _MEMBER_SET"
-msgstr ""
+msgstr "_MEMBER_GET / _MEMBER_SET"
 
-#: C/gtkmm-tutorial-in.xml:9165(para)
+#: C/gtkmm-tutorial-in.xml:9680(para)
 msgid ""
 "Use these macros if you're wrapping a simple struct or boxed type that "
 "provides direct access to its data members, to create getters and setters "
 "for the data members."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:9169(function)
+#: C/gtkmm-tutorial-in.xml:9684(function)
 msgid "_MEMBER_GET(C++ name, C name, C++ type, C type)"
-msgstr ""
+msgstr "_MEMBER_GET(C++ nome, C nome, C++ tipo, C tipo)"
 
-#: C/gtkmm-tutorial-in.xml:9170(function)
+#: C/gtkmm-tutorial-in.xml:9685(function)
 msgid "_MEMBER_SET(C++ name, C name, C++ type, C type)"
-msgstr ""
+msgstr "_MEMBER_SET(C++ nome, C nome, C++ tipo, C tipo)"
 
-#: C/gtkmm-tutorial-in.xml:9173(programlisting)
+#: C/gtkmm-tutorial-in.xml:9688(programlisting)
 #, no-wrap
 msgid "_MEMBER_GET(x, x, int, int)"
-msgstr ""
+msgstr "_MEMBER_GET(x, x, int, int)"
 
-#: C/gtkmm-tutorial-in.xml:9171(para)
+#: C/gtkmm-tutorial-in.xml:9686(para)
 msgid "For example, in <filename>rectangle.hg</filename>: <placeholder-1/>"
-msgstr ""
+msgstr "Por exemplo, em <filename>rectangle.hg</filename>: <placeholder-1/>"
 
-#: C/gtkmm-tutorial-in.xml:9177(title)
+#: C/gtkmm-tutorial-in.xml:9692(title)
 msgid "_MEMBER_GET_PTR / _MEMBER_SET_PTR"
-msgstr ""
+msgstr "_MEMBER_GET_PTR / _MEMBER_SET_PTR"
 
-#: C/gtkmm-tutorial-in.xml:9178(para)
+# const é um tipo de dado conhecido como contante.
+#: C/gtkmm-tutorial-in.xml:9693(para)
 msgid ""
 "Use these macros to automatically provide getters and setters for a data "
 "member that is a pointer type. For the getter function, it will create two "
 "methods, one const and one non-const."
 msgstr ""
+"Usa essas macros para automaticamente fornecer os método getters e setters "
+"para um dado membro que é um tipo ponteiro. Para a função getter, ele irá "
+"criar dois métodos, um const e um não-const."
 
-#: C/gtkmm-tutorial-in.xml:9183(function)
+#: C/gtkmm-tutorial-in.xml:9698(function)
+#, fuzzy
 msgid "_MEMBER_GET_PTR(C++ name, C name, C++ type, C type)"
-msgstr ""
+msgstr "_MEMBER_GET_PTR(C++ name, C name, C++ type, C type)"
 
-#: C/gtkmm-tutorial-in.xml:9184(function)
+#: C/gtkmm-tutorial-in.xml:9699(function)
+#, fuzzy
 msgid "_MEMBER_SET_PTR(C++ name, C name, C++ type, C type)"
-msgstr ""
+msgstr "_MEMBER_SET_PTR(C++ name, C name, C++ type, C type)"
 
-#: C/gtkmm-tutorial-in.xml:9186(programlisting)
+#: C/gtkmm-tutorial-in.xml:9701(programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -11922,48 +12727,270 @@ msgid ""
 "// It's just a comment. It's difficult to find a real-world example.\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:9185(para)
+#: C/gtkmm-tutorial-in.xml:9700(para)
 msgid ""
 "For example, for <classname>Pango::Analysis</classname> in <filename>item."
 "hg</filename>: <placeholder-1/>"
 msgstr ""
+"Por exemplo, para <classname>Pango::Analysis</classname> em <filename>item."
+"hg</filename>: <placeholder-1/>"
 
-#: C/gtkmm-tutorial-in.xml:9193(title)
+#: C/gtkmm-tutorial-in.xml:9708(title)
 msgid "_MEMBER_GET_GOBJECT / _MEMBER_SET_GOBJECT"
-msgstr ""
+msgstr "_MEMBER_GET_GOBJECT / _MEMBER_SET_GOBJECT"
 
-#: C/gtkmm-tutorial-in.xml:9194(para)
+#: C/gtkmm-tutorial-in.xml:9709(para)
 msgid ""
 "Use these macros to provide getters and setters for a data member that is a "
 "<classname>GObject</classname> type that must be referenced before being "
 "returned."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:9199(function)
+#: C/gtkmm-tutorial-in.xml:9714(function)
+#, fuzzy
 msgid "_MEMBER_GET_GOBJECT(C++ name, C name, C++ type, C type)"
-msgstr ""
+msgstr "_MEMBER_GET_GOBJECT(C++ name, C name, C++ type, C type)"
 
-#: C/gtkmm-tutorial-in.xml:9200(function)
+#: C/gtkmm-tutorial-in.xml:9715(function)
+#, fuzzy
 msgid "_MEMBER_SET_GOBJECT(C++ name, C name, C++ type, C type)"
-msgstr ""
+msgstr "_MEMBER_SET_GOBJECT(C++ name, C name, C++ type, C type)"
 
-#: C/gtkmm-tutorial-in.xml:9202(programlisting)
+#: C/gtkmm-tutorial-in.xml:9717(programlisting)
 #, no-wrap
 msgid ""
 "\n"
 "_MEMBER_GET_GOBJECT(layout, layout, Pango::Layout, PangoLayout*)\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:9201(para)
+#: C/gtkmm-tutorial-in.xml:9716(para)
 msgid ""
 "For example, in Pangomm, <filename>layoutline.hg</filename>: <placeholder-1/>"
 msgstr ""
+"Por exemplo, em Pangmm, <filename>layoutline.hg</filename>: <placeholder-1/>"
 
-#: C/gtkmm-tutorial-in.xml:9209(title)
-msgid "Basic Types"
+#: C/gtkmm-tutorial-in.xml:9725(title)
+msgid "gmmproc Parameter Processing"
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:9726(para)
+msgid ""
+"<command>gmmproc</command> allows processing the parameters in a method "
+"signature for the macros that process method signatures (like "
+"<function>_WRAP_METHOD()</function><function>_WRP_CTOR()</function> and "
+"<function>_WRAP_CREATE()</function>) in a variety of ways:"
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:9733(title)
+msgid "Parameter Reordering"
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:9740(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"        void gtk_widget_set_device_events(GtkWidget* widget, GdkDevice* device,\n"
+"        GdkEventMask events);\n"
+"      "
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:9747(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"        _WRAP_METHOD(void set_device_events(Gdk::EventMask events{events},\n"
+"        const Glib::RefPtr&lt;const Gdk::Device&gt;&amp; device{device}),\n"
+"        gtk_widget_set_device_events)\n"
+"      "
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:9757(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"        _WRAP_METHOD(void set_device_events(Gdk::EventMask events{.}, const\n"
+"        Glib::RefPtr&lt;const Gdk::Device&gt;&amp; device{.}),\n"
+"        gtk_widget_set_device_events)\n"
+"      "
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:9734(para)
+msgid ""
+"For all the macros that process method signatures, it is possible to specify "
+"a different order for the C++ parameters than the existing order in the C "
+"function, virtual function or signal. For example, say that the following C "
+"function were being wrapped as a C++ method for the <classname>Gtk::Widget</"
+"classname> class: <placeholder-1/> However, changing the order of the C++ "
+"method's two parameters is necessary. Something like the following would "
+"wrap the function as a C++ method with a different order for the two "
+"parameters: <placeholder-2/> The <literal>{c_param_name}</literal> following "
+"the method parameter names tells <command>gmmproc</command> to map the C++ "
+"parameter to the specified C parameter within the <literal>{}</literal>. "
+"Since the C++ parameter names correspond to the C ones, the above could be "
+"re-written as: <placeholder-3/>"
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:9764(para)
+msgid ""
+"Please note that when reording parameters for a <function>_WRAP_SIGNAL()</"
+"function> method signature, the C parameter names would always be "
+"<literal>p0</literal>, <literal>p1</literal>, etc. because the "
+"<filename>extra_defs</filename> utility uses those parameter names no matter "
+"what the C API's parameter names may be. It's how the utility is written "
+"presently."
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:9776(title)
+msgid "Optional Parameter Processing"
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:9785(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"        GtkToolItem* gtk_tool_button_new(GtkWidget* icon_widget, const gchar*\n"
+"        label);\n"
+"      "
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:9795(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"        _WRAP_CTOR(ToolButton(Widget&amp; icon_widget, const Glib::ustring&amp;\n"
+"        label{?}), gtk_tool_button_new)\n"
+"      "
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:9777(para)
+msgid ""
+"For all macros processing method signatures except <function>_WRAP_SIGNAL()</"
+"function> and <function>_WRAP_VFUNC()</function> it is also possible to make "
+"the parameters optional so that extra C++ methods are generated without the "
+"specified optional parameter. For example, say that the following "
+"<function>*_new()</function> function were being wrapped as a constructor in "
+"the <classname>Gtk::ToolButton</classname> class: <placeholder-1/> Also, say "
+"that the C API allowed NULL for the function's <parameter>label</parameter> "
+"paramter so that that parameter is optional. It would be possible to have "
+"<command>gmmproc</command> generate the original constructor (with all the "
+"parameters) along with an additional constructor without that optional "
+"parameter by appending a <literal>{?}</literal> to the parameter name like "
+"so: <placeholder-2/> In this case, two constructors would be generated: One "
+"with the optional parameter and one without it."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:9210(para)
+#: C/gtkmm-tutorial-in.xml:9805(title)
+msgid "Output Parameter Processing"
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:9815(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"        GtkSizeRequestMode gtk_widget_get_request_mode(GtkWidget* widget);\n"
+"      "
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:9821(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"        _WRAP_METHOD(void get_request_mode(SizeRequestMode&amp; mode{OUT})\n"
+"        const, gtk_widget_get_request_mode)\n"
+"      "
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:9830(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"        _INITIALIZATION(`SizeRequestMode&amp;',`GtkSizeRequestMode',`$3 =\n"
+"        (SizeRequestMode)($4)')\n"
+"      "
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:9835(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"        _INITIALIZATION(`SizeRequestMode&amp;',`GtkSizeRequestMode',`$3 =\n"
+"        ($1)($4)')\n"
+"      "
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:9806(para)
+msgid ""
+"With <function>_WRAP_METHOD()</function> it is also possible for the return "
+"of the wrapped C function (if it has one) to be placed in an output paramter "
+"of the C++ method instead of having the C++ method also return a value like "
+"the C function does. To do that, simply include the output parameter in the C"
+"++ method parameter list appending a <literal>{OUT}</literal> to the output "
+"parameter name. For example, if <function>gtk_widget_get_request_mode()</"
+"function> is declared as the following: <placeholder-1/> And having the C++ "
+"method set an output parameter is desired instead of returning a "
+"<type>SizeRequestMode</type>, something like the following could be used: "
+"<placeholder-2/> The <literal>{OUT}</literal> appended to the name of the "
+"<parameter>mode</parameter> output parameter tells <command>gmmproc</"
+"command> to place the return of the C function in that output parameter. In "
+"this case, however, a necessary initialization macro like the following "
+"would also have to be specified: <placeholder-3/> Which could also be "
+"written as: <placeholder-4/>"
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:9846(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"        gboolean gtk_icon_view_get_cell_rect(GtkIconView* icon_view,\n"
+"        GtkTreePath* path, GtkCellRenderer* cell, GdkRectangle* rect);\n"
+"      "
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:9853(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"        _WRAP_METHOD(bool get_cell_rect(const TreeModel::Path&amp; path, const\n"
+"        CellRenderer&amp; cell, Gdk::Rectangle&amp; rect{&gt;&gt;}) const,\n"
+"        gtk_icon_view_get_cell_rect)\n"
+"      "
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:9868(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"        _INITIALIZATION(`Gdk::Rectangle&amp;',`GdkRectangle', `$3 =\n"
+"        Glib::wrap(&amp;($4))')\n"
+"      "
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:9840(para)
+msgid ""
+"<function>_WRAP_METHOD()</function> also supports setting C++ output "
+"parameters from C output parameters if the C function being wrapped has any. "
+"Suppose, for example, that we want to wrap the following C function that "
+"returns a value in its C output parameter <parameter>rect</parameter>: "
+"<placeholder-1/> To have <command>gmmproc</command> place the value returned "
+"in the C++ <parameter>rect</parameter> output parameter, something like the "
+"following <function>_WRAP_METHOD()</function> directive could be used: "
+"<placeholder-2/> The <literal>{&gt;&gt;}</literal> following the "
+"<parameter>rect</parameter> parameter name indicates that the C++ output "
+"parameter should be set from the value returned in the C parameter from the "
+"C function. <command>gmmproc</command> will generate a declaration of a "
+"temporary variable in which to store the value of the C output parameter and "
+"a statement that sets the C++ output parameter from the temporary variable. "
+"In this case it may be necessary to have an <function>_INITIALIZATION()</"
+"function> describing how to set a <classname>Gdk::Rectangle&amp;</classname> "
+"from a <classname>GdkRectangle*</classname> such as the following: "
+"<placeholder-3/>"
+msgstr ""
+
+#: C/gtkmm-tutorial-in.xml:9878(title)
+msgid "Basic Types"
+msgstr "Tipos básicos"
+
+#: C/gtkmm-tutorial-in.xml:9879(para)
 msgid ""
 "Some of the basic types that are used in C APIs have better alternatives in C"
 "++. For example, there's no need for a <type>gboolean</type> type since C++ "
@@ -11971,67 +12998,68 @@ msgid ""
 "C APIs and what you might convert them to in a C++ wrapper library."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:9215(title)
+#: C/gtkmm-tutorial-in.xml:9884(title)
 msgid "Basic Type equivalents"
-msgstr ""
+msgstr "Tipos básicos equivalentes"
 
-#: C/gtkmm-tutorial-in.xml:9217(segtitle)
+#: C/gtkmm-tutorial-in.xml:9886(segtitle)
 msgid "C type"
-msgstr ""
+msgstr "Tipo C"
 
-#: C/gtkmm-tutorial-in.xml:9218(segtitle)
+#: C/gtkmm-tutorial-in.xml:9887(segtitle)
 msgid "C++ type"
-msgstr ""
+msgstr "Tipo C++"
 
-#: C/gtkmm-tutorial-in.xml:9219(type)
+#: C/gtkmm-tutorial-in.xml:9888(type)
 msgid "gboolean"
-msgstr ""
+msgstr "gboolean"
 
-#: C/gtkmm-tutorial-in.xml:9219(type)
+#: C/gtkmm-tutorial-in.xml:9888(type)
 msgid "bool"
-msgstr ""
+msgstr "bool"
 
-#: C/gtkmm-tutorial-in.xml:9220(type)
+#: C/gtkmm-tutorial-in.xml:9889(type)
 msgid "gint"
-msgstr ""
+msgstr "gint"
 
-#: C/gtkmm-tutorial-in.xml:9220(type)
+#: C/gtkmm-tutorial-in.xml:9889(type)
 msgid "int"
-msgstr ""
+msgstr "int"
 
-#: C/gtkmm-tutorial-in.xml:9221(type)
+#: C/gtkmm-tutorial-in.xml:9890(type)
 msgid "guint"
-msgstr ""
+msgstr "guint"
 
-#: C/gtkmm-tutorial-in.xml:9222(type)
+#: C/gtkmm-tutorial-in.xml:9891(type)
 msgid "gdouble"
-msgstr ""
+msgstr "gdouble"
 
-#: C/gtkmm-tutorial-in.xml:9222(type)
+#: C/gtkmm-tutorial-in.xml:9891(type)
 msgid "double"
-msgstr ""
+msgstr "double"
 
-#: C/gtkmm-tutorial-in.xml:9223(type)
+#: C/gtkmm-tutorial-in.xml:9892(type)
 msgid "gunichar"
-msgstr ""
+msgstr "gunichar"
 
-#: C/gtkmm-tutorial-in.xml:9224(type)
+#: C/gtkmm-tutorial-in.xml:9893(type)
 msgid "gchar*"
-msgstr ""
+msgstr "gchar*"
 
-#: C/gtkmm-tutorial-in.xml:9224(classname)
+#: C/gtkmm-tutorial-in.xml:9893(classname)
 msgid "std::string"
-msgstr ""
+msgstr "std::string"
 
-#: C/gtkmm-tutorial-in.xml:9224(seg)
+#: C/gtkmm-tutorial-in.xml:9893(seg)
 msgid "<placeholder-1/> (or <placeholder-2/> for filenames)"
-msgstr ""
+msgstr "<placeholder-1/> (ou <placeholder-2/> para nomes de arquivos)"
 
-#: C/gtkmm-tutorial-in.xml:9231(title)
+#: C/gtkmm-tutorial-in.xml:9900(title)
+#, fuzzy
 msgid "Hand-coded source files"
-msgstr ""
+msgstr "Arquivos de origem codificados a mão"
 
-#: C/gtkmm-tutorial-in.xml:9232(para)
+#: C/gtkmm-tutorial-in.xml:9901(para)
 msgid ""
 "You might want to include additional source files that will not be generated "
 "by <command>gmmproc</command> from <filename>.hg</filename> and <filename>."
@@ -12041,11 +13069,11 @@ msgid ""
 "varname> and <varname>files_extra_cc</varname> variables."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:9242(title)
+#: C/gtkmm-tutorial-in.xml:9911(title)
 msgid "Initialization"
-msgstr ""
+msgstr "Inicialização"
 
-#: C/gtkmm-tutorial-in.xml:9251(programlisting)
+#: C/gtkmm-tutorial-in.xml:9920(programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -12056,7 +13084,7 @@ msgid ""
 "}\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:9243(para)
+#: C/gtkmm-tutorial-in.xml:9912(para)
 msgid ""
 "Your library must be initialized before it can be used, to register the new "
 "types that it makes available. Also, the C library that you are wrapping "
@@ -12068,7 +13096,7 @@ msgid ""
 "<function>wrap_init()</function> function. For instance: <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:9259(para)
+#: C/gtkmm-tutorial-in.xml:9928(para)
 msgid ""
 "The implementation of the <function>wrap_init()</function> method in "
 "<filename>wrap_init.cc</filename> is generated by "
@@ -12078,22 +13106,23 @@ msgid ""
 "function appears in the correct C++ namespace."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:9268(title)
+#: C/gtkmm-tutorial-in.xml:9937(title)
 msgid "Problems in the C API."
-msgstr ""
+msgstr "Problemas na API C."
 
-#: C/gtkmm-tutorial-in.xml:9269(para)
+#: C/gtkmm-tutorial-in.xml:9938(para)
 msgid ""
 "You are likely to encounter some problems in the library that you are "
 "wrapping, particularly if it is a new project. Here are some common "
 "problems, with solutions."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:9271(title)
+#: C/gtkmm-tutorial-in.xml:9940(title)
+#, fuzzy
 msgid "Unable to predeclare structs"
-msgstr ""
+msgstr "Impossível predeclarar estruturas"
 
-#: C/gtkmm-tutorial-in.xml:9273(programlisting)
+#: C/gtkmm-tutorial-in.xml:9942(programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -12105,13 +13134,13 @@ msgid ""
 "};\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:9272(para)
+#: C/gtkmm-tutorial-in.xml:9941(para)
 msgid ""
 "By convention, structs are declared in glib/GTK+-style headers like so: "
 "<placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:9282(para)
+#: C/gtkmm-tutorial-in.xml:9951(para)
 msgid ""
 "The extra typedef allows the struct to be used in a header without including "
 "its full definition, simply by predeclaring it, by repeating that typedef. "
@@ -12121,7 +13150,7 @@ msgid ""
 "that is not the case."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:9289(programlisting)
+#: C/gtkmm-tutorial-in.xml:9958(programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -12130,7 +13159,7 @@ msgid ""
 "make[4]: *** [example-widget.lo] Error 1\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:9295(programlisting)
+#: C/gtkmm-tutorial-in.xml:9964(programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -12138,23 +13167,23 @@ msgid ""
 "../../libexample/libexamplemm/example-widget.h:34: error: previous declaration of 'typedef struct 
_ExampleWidget ExampleWidget'\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:9287(para)
+#: C/gtkmm-tutorial-in.xml:9956(para)
 msgid ""
 "This compiler error might look like this: <placeholder-1/> or this: "
 "<placeholder-2/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:9300(para)
+#: C/gtkmm-tutorial-in.xml:9969(para)
 msgid ""
 "This is easy to correct in the C library, so do send a patch to the relevant "
 "maintainer."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:9304(title)
+#: C/gtkmm-tutorial-in.xml:9973(title)
 msgid "Lack of properties"
-msgstr ""
+msgstr "Falta de propriedades"
 
-#: C/gtkmm-tutorial-in.xml:9311(programlisting)
+#: C/gtkmm-tutorial-in.xml:9980(programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -12164,7 +13193,7 @@ msgid ""
 "}\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:9305(para)
+#: C/gtkmm-tutorial-in.xml:9974(para)
 msgid ""
 "By convention, glib/GTK+-style objects have <function>*_new()</function> "
 "functions, such as <function>example_widget_new()</function> that do nothing "
@@ -12174,7 +13203,7 @@ msgid ""
 "instance, <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:9318(para)
+#: C/gtkmm-tutorial-in.xml:9987(para)
 msgid ""
 "This allows language bindings to implement their own equivalents (such as C+"
 "+ constructors), without using the <function>*_new()</function> function. "
@@ -12182,7 +13211,7 @@ msgid ""
 "GType, to add their own hooks for signal handlers and vfuncs."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:9322(para)
+#: C/gtkmm-tutorial-in.xml:9991(para)
 msgid ""
 "At the least, the <function>_new()</function> function should not use any "
 "private API (functions that are only in a .c file). Even when there are no "
@@ -12191,7 +13220,7 @@ msgid ""
 "that is available to us."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:9330(programlisting)
+#: C/gtkmm-tutorial-in.xml:9999(programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -12210,36 +13239,36 @@ msgid ""
 "}\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:9327(para)
+#: C/gtkmm-tutorial-in.xml:9996(para)
 msgid ""
 "Another workaround is to add a <function>*_construct()</function> function "
 "that the C++ constructor can call after instantiating its own type. For "
 "instance, <placeholder-1/>"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:9346(para)
+#: C/gtkmm-tutorial-in.xml:10015(para)
 msgid ""
 "Adding properties, and ensuring that they interact properly with each other, "
 "is relatively difficult to correct in the C library, but it is possible, so "
 "do file a bug and try to send a patch to the relevant maintainer."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:9354(title)
+#: C/gtkmm-tutorial-in.xml:10023(title)
 msgid "Documentation"
-msgstr ""
+msgstr "Documentação"
 
-#: C/gtkmm-tutorial-in.xml:9355(para)
+#: C/gtkmm-tutorial-in.xml:10024(para)
 msgid ""
 "In general, gtkmm-style projects use Doxygen, which reads specially "
 "formatted C++ comments and generates HTML documentation. You may write these "
 "doxygen comments directly in the header files."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:9358(title)
+#: C/gtkmm-tutorial-in.xml:10027(title)
 msgid "Reusing C documentation"
-msgstr ""
+msgstr "Reutilizando documentação C"
 
-#: C/gtkmm-tutorial-in.xml:9359(para)
+#: C/gtkmm-tutorial-in.xml:10028(para)
 msgid ""
 "You might wish to reuse documentation that exists for the C library that you "
 "are wrapping. GTK-style C libraries typically use gtk-doc and therefore have "
@@ -12251,12 +13280,12 @@ msgid ""
 "documentation to make it more appropriate for a C++ API."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:9369(programlisting)
+#: C/gtkmm-tutorial-in.xml:10038(programlisting)
 #, no-wrap
 msgid "./docextract_to_xml.py -s ~/checkout/gnome/gtk+/gtk/ -s ~/checkout/gnome/gtk+/docs/reference/gtk/ 
&gt; gtk_docs.xml\n"
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:9372(para)
+#: C/gtkmm-tutorial-in.xml:10041(para)
 msgid ""
 "Because this automatic transformation is not always appropriate, you might "
 "want to provide hand-written text for a particular method. You can do this "
@@ -12265,11 +13294,11 @@ msgid ""
 "file and changing the contents."
 msgstr ""
 
-#: C/gtkmm-tutorial-in.xml:9381(title)
+#: C/gtkmm-tutorial-in.xml:10050(title)
 msgid "Documentation build structure"
-msgstr ""
+msgstr "Documentação da estrutura de construção"
 
-#: C/gtkmm-tutorial-in.xml:9382(para)
+#: C/gtkmm-tutorial-in.xml:10051(para)
 msgid ""
 "If you copied the skeleton source tree in mm-common and substituted the "
 "placeholder text, then you will already have suitable <filename>Makefile.am</"
@@ -12284,4 +13313,7 @@ msgstr ""
 #. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2
 #: C/gtkmm-tutorial-in.xml:0(None)
 msgid "translator-credits"
-msgstr "Rodolfo R. Gomes <rodolforg gmail com>, 2011"
+msgstr ""
+"Rodolfo R. Gomes <rodolforg gmail com>, 2011\n"
+"Rodrigo Nunes <rnsribeiro gmail com>, 2013"
+



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]