[gnome-devel-docs] Updated Spanish translation



commit 89b6a8db46da11570f96a3faa422679c177ba3d1
Author: NicolÃs Satragno <nsatragno gmail com>
Date:   Sun Sep 2 12:02:49 2012 +0200

    Updated Spanish translation

 platform-demos/es/es.po | 9369 ++++++++++++++++++++++++++++++++---------------
 1 files changed, 6459 insertions(+), 2910 deletions(-)
---
diff --git a/platform-demos/es/es.po b/platform-demos/es/es.po
index 07cbead..6d8d568 100644
--- a/platform-demos/es/es.po
+++ b/platform-demos/es/es.po
@@ -3,179 +3,200 @@
 # Copyright (C) 2011 gnome-devel-docs's COPYRIGHT HOLDER
 # This file is distributed under the same license as the gnome-devel-docs package.
 # Jorge GonzÃlez <jorgegonz svn gnome org>, 2011.
+# NicolÃs Satragno <nsatragno gmail com>, 2012.
 # Daniel Mustieles <daniel mustieles gmail com>, 2011, 2012.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: gnome-devel-docs.platform-demos.master\n"
-"POT-Creation-Date: 2012-07-20 00:40+0000\n"
-"PO-Revision-Date: 2012-07-20 11:58+0200\n"
+"POT-Creation-Date: 2012-09-02 09:43+0000\n"
+"PO-Revision-Date: 2012-09-02 12:00+0200\n"
 "Last-Translator: Daniel Mustieles <daniel mustieles gmail com>\n"
-"Language-Team: EspaÃol <gnome-es-list gnome org>\n"
+"Language-Team: EspaÃol; Castellano <gnome-es-list gnome org>\n"
 "Language: \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: Gtranslator 2.91.4\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Gtranslator 2.91.5\n"
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/window.vala.page:23(None) C/window.py.page:29(None)
-#: C/window.js.page:23(None) C/window.c.page:20(None)
-#: C/GtkApplicationWindow.vala.page:20(None)
-#: C/GtkApplicationWindow.py.page:25(None)
-#: C/GtkApplicationWindow.js.page:20(None)
-#: C/GtkApplicationWindow.c.page:20(None)
+#: C/window.vala.page:24(None) C/window.py.page:30(None)
+#: C/window.js.page:24(None) C/window.c.page:21(None)
+#: C/GtkApplicationWindow.vala.page:21(None)
+#: C/GtkApplicationWindow.py.page:26(None)
+#: C/GtkApplicationWindow.js.page:21(None)
+#: C/GtkApplicationWindow.c.page:21(None)
 msgid "@@image: 'media/window.png'; md5=eb0cde3530978619c25bddfaeb453345"
 msgstr "@@image: 'media/window.png'; md5=eb0cde3530978619c25bddfaeb453345"
 
-#: C/window.vala.page:11(name) C/window.py.page:11(name)
-#: C/window.c.page:11(name) C/vala.page:10(name) C/translate.page:10(name)
-#: C/treeview_simple_liststore.vala.page:13(name)
-#: C/toolbar_builder.vala.page:13(name) C/toolbar.vala.page:12(name)
-#: C/toolbar.js.page:11(name) C/togglebutton.vala.page:14(name)
-#: C/textview.vala.page:11(name) C/switch.vala.page:15(name)
-#: C/statusbar.vala.page:14(name) C/spinner.vala.page:11(name)
-#: C/spinbutton.vala.page:13(name) C/scrolledwindow.vala.page:12(name)
-#: C/scale.vala.page:13(name) C/radiobutton.vala.page:14(name)
-#: C/py.page:10(name) C/progressbar.vala.page:11(name)
-#: C/messagedialog.vala.page:11(name) C/menubar.vala.page:13(name)
-#: C/linkbutton.vala.page:11(name) C/label.vala.page:11(name)
-#: C/js.page:11(name) C/index.page:22(name) C/image-viewer.vala.page:25(name)
-#: C/image.vala.page:11(name) C/guitar-tuner.vala.page:21(name)
-#: C/GtkApplicationWindow.vala.page:11(name)
-#: C/GtkApplicationWindow.py.page:11(name)
-#: C/GtkApplicationWindow.js.page:11(name)
-#: C/GtkApplicationWindow.c.page:11(name) C/grid.vala.page:13(name)
-#: C/grid.py.page:12(name) C/gmenu.vala.page:18(name) C/gmenu.py.page:11(name)
-#: C/gmenu.js.page:11(name) C/gmenu.c.page:11(name)
-#: C/filechooserdialog.vala.page:14(name) C/entry.vala.page:11(name)
-#: C/documentation.page:10(name) C/dialog.vala.page:11(name)
-#: C/cpp.page:10(name) C/combobox.vala.page:11(name)
-#: C/colorbutton.vala.page:13(name) C/checkbutton.vala.page:11(name)
-#: C/checkbutton.c.page:11(name) C/c.page:10(name) C/button.vala.page:12(name)
-#: C/bug-filing.page:9(name) C/beginner.vala.page:13(name)
-#: C/beginner.py.page:13(name) C/aboutdialog.vala.page:19(name)
+#: C/window.vala.page:7(title)
+msgid "Window (Vala)"
+msgstr "Ventana (Vala)"
+
+#: C/window.vala.page:12(name) C/window.py.page:12(name)
+#: C/window.c.page:12(name) C/vala.page:10(name) C/tutorial.py.page:14(name)
+#: C/translate.page:10(name) C/treeview_simple_liststore.vala.page:14(name)
+#: C/toolbar_builder.vala.page:14(name) C/toolbar_builder.py.page:14(name)
+#: C/toolbar.vala.page:13(name) C/toolbar.js.page:12(name)
+#: C/togglebutton.vala.page:15(name) C/textview.vala.page:12(name)
+#: C/switch.vala.page:16(name) C/statusbar.vala.page:15(name)
+#: C/spinner.vala.page:12(name) C/spinbutton.vala.page:14(name)
+#: C/scrolledwindow.vala.page:13(name) C/scale.vala.page:14(name)
+#: C/radiobutton.vala.page:15(name) C/py.page:10(name)
+#: C/progressbar.vala.page:12(name) C/messagedialog.vala.page:12(name)
+#: C/menubutton.py.page:12(name) C/menubutton.vala.page:12(name)
+#: C/menubar.vala.page:14(name) C/menubar.py.page:14(name)
+#: C/linkbutton.vala.page:12(name) C/label.vala.page:12(name)
+#: C/js.page:11(name) C/index.page:22(name) C/image-viewer.vala.page:26(name)
+#: C/image.vala.page:12(name) C/helloWorld.js.page:19(name)
+#: C/guitar-tuner.vala.page:21(name) C/GtkApplicationWindow.vala.page:12(name)
+#: C/GtkApplicationWindow.py.page:12(name)
+#: C/GtkApplicationWindow.js.page:12(name)
+#: C/GtkApplicationWindow.c.page:12(name) C/grid.vala.page:14(name)
+#: C/grid.py.page:13(name) C/gmenu.vala.page:19(name) C/gmenu.py.page:12(name)
+#: C/gmenu.js.page:12(name) C/gmenu.c.page:12(name)
+#: C/filechooserdialog.vala.page:15(name) C/entry.vala.page:12(name)
+#: C/documentation.page:10(name) C/dialog.vala.page:12(name)
+#: C/cpp.page:10(name) C/combobox.vala.page:12(name)
+#: C/colorbutton.vala.page:14(name) C/checkbutton.vala.page:12(name)
+#: C/checkbutton.c.page:12(name) C/c.page:10(name) C/button.vala.page:13(name)
+#: C/bug-filing.page:9(name) C/beginner.vala.page:14(name)
+#: C/beginner.py.page:14(name) C/aboutdialog.vala.page:20(name)
 msgid "Tiffany Antopolski"
 msgstr "Tiffany Antopolski"
 
-#: C/window.vala.page:12(email) C/window.py.page:12(email)
-#: C/window.c.page:12(email) C/vala.page:11(email) C/translate.page:11(email)
-#: C/treeview_simple_liststore.vala.page:14(email)
-#: C/toolbar_builder.vala.page:14(email) C/toolbar.vala.page:13(email)
-#: C/toolbar.js.page:12(email) C/togglebutton.vala.page:15(email)
-#: C/textview.vala.page:12(email) C/switch.vala.page:16(email)
-#: C/statusbar.vala.page:15(email) C/spinner.vala.page:12(email)
-#: C/spinbutton.vala.page:14(email) C/scrolledwindow.vala.page:13(email)
-#: C/scale.vala.page:14(email) C/radiobutton.vala.page:15(email)
-#: C/py.page:11(email) C/progressbar.vala.page:12(email)
-#: C/messagedialog.vala.page:12(email) C/menubar.vala.page:14(email)
-#: C/linkbutton.vala.page:12(email) C/label.vala.page:12(email)
+#: C/window.vala.page:13(email) C/window.py.page:13(email)
+#: C/window.c.page:13(email) C/vala.page:11(email)
+#: C/tutorial.py.page:15(email) C/translate.page:11(email)
+#: C/treeview_simple_liststore.vala.page:15(email)
+#: C/toolbar_builder.vala.page:15(email) C/toolbar_builder.py.page:15(email)
+#: C/toolbar.vala.page:14(email) C/toolbar.js.page:13(email)
+#: C/togglebutton.vala.page:16(email) C/textview.vala.page:13(email)
+#: C/switch.vala.page:17(email) C/statusbar.vala.page:16(email)
+#: C/spinner.vala.page:13(email) C/spinbutton.vala.page:15(email)
+#: C/scrolledwindow.vala.page:14(email) C/scale.vala.page:15(email)
+#: C/radiobutton.vala.page:16(email) C/py.page:11(email)
+#: C/progressbar.vala.page:13(email) C/messagedialog.vala.page:13(email)
+#: C/menubutton.py.page:13(email) C/menubutton.vala.page:13(email)
+#: C/menubar.vala.page:15(email) C/menubar.py.page:15(email)
+#: C/linkbutton.vala.page:13(email) C/label.vala.page:13(email)
 #: C/js.page:12(email) C/index.page:23(email)
-#: C/image-viewer.vala.page:26(email) C/image.vala.page:12(email)
-#: C/guitar-tuner.vala.page:22(email)
-#: C/GtkApplicationWindow.vala.page:12(email)
-#: C/GtkApplicationWindow.py.page:12(email)
-#: C/GtkApplicationWindow.js.page:12(email)
-#: C/GtkApplicationWindow.c.page:12(email) C/grid.vala.page:14(email)
-#: C/grid.py.page:13(email) C/gmenu.vala.page:19(email)
-#: C/gmenu.py.page:12(email) C/gmenu.js.page:12(email)
-#: C/gmenu.c.page:12(email) C/filechooserdialog.vala.page:15(email)
-#: C/entry.vala.page:12(email) C/documentation.page:11(email)
-#: C/dialog.vala.page:12(email) C/cpp.page:11(email)
-#: C/combobox.vala.page:12(email) C/colorbutton.vala.page:14(email)
-#: C/checkbutton.vala.page:12(email) C/c.page:11(email)
-#: C/button.vala.page:13(email) C/beginner.vala.page:14(email)
-#: C/beginner.py.page:14(email) C/aboutdialog.vala.page:20(email)
+#: C/image-viewer.vala.page:27(email) C/image.vala.page:13(email)
+#: C/helloWorld.js.page:20(email) C/guitar-tuner.vala.page:22(email)
+#: C/GtkApplicationWindow.vala.page:13(email)
+#: C/GtkApplicationWindow.py.page:13(email)
+#: C/GtkApplicationWindow.js.page:13(email)
+#: C/GtkApplicationWindow.c.page:13(email) C/grid.vala.page:15(email)
+#: C/grid.py.page:14(email) C/gmenu.vala.page:20(email)
+#: C/gmenu.py.page:13(email) C/gmenu.js.page:13(email)
+#: C/gmenu.c.page:13(email) C/filechooserdialog.vala.page:16(email)
+#: C/entry.vala.page:13(email) C/documentation.page:11(email)
+#: C/dialog.vala.page:13(email) C/cpp.page:11(email)
+#: C/combobox.vala.page:13(email) C/colorbutton.vala.page:15(email)
+#: C/checkbutton.vala.page:13(email) C/c.page:11(email)
+#: C/button.vala.page:14(email) C/beginner.vala.page:15(email)
+#: C/beginner.py.page:15(email) C/aboutdialog.vala.page:21(email)
 msgid "tiffany antopolski gmail com"
 msgstr "tiffany antopolski gmail com"
 
-#: C/window.vala.page:13(years) C/window.py.page:13(years)
-#: C/window.py.page:18(years) C/window.js.page:13(years)
-#: C/window.c.page:13(years) C/weatherGeonames.js.page:12(years)
+#: C/window.vala.page:14(years) C/window.py.page:14(years)
+#: C/window.py.page:19(years) C/window.js.page:14(years)
+#: C/window.c.page:14(years) C/weatherGeonames.js.page:12(years)
 #: C/weatherAutotools.js.page:12(years) C/weatherAppMain.js.page:12(years)
-#: C/weatherApp.js.page:12(years) C/treeview_treestore.py.page:13(years)
-#: C/treeview_simple_liststore.vala.page:15(years)
-#: C/treeview_simple_liststore.py.page:15(years)
-#: C/treeview_simple_liststore.js.page:16(years)
-#: C/treeview_cellrenderertoggle.py.page:13(years)
-#: C/treeview_advanced_liststore.py.page:16(years)
-#: C/toolbar_builder.vala.page:15(years) C/toolbar.vala.page:14(years)
-#: C/toolbar.py.page:14(years) C/toolbar.js.page:13(years)
-#: C/togglebutton.vala.page:16(years) C/togglebutton.py.page:16(years)
-#: C/togglebutton.js.page:13(years) C/togglebutton.c.page:17(years)
-#: C/textview.vala.page:13(years) C/textview.py.page:21(years)
-#: C/textview.js.page:17(years) C/textview.c.page:13(years)
-#: C/switch.vala.page:17(years) C/switch.py.page:18(years)
-#: C/switch.js.page:13(years) C/switch.c.page:13(years)
-#: C/strings.py.page:20(years) C/statusbar.vala.page:16(years)
-#: C/statusbar.py.page:16(years) C/statusbar.js.page:13(years)
-#: C/statusbar.c.page:17(years) C/spinner.vala.page:13(years)
-#: C/spinner.py.page:13(years) C/spinner.js.page:13(years)
-#: C/spinner.c.page:14(years) C/spinbutton.vala.page:15(years)
-#: C/spinbutton.py.page:14(years) C/spinbutton.js.page:16(years)
-#: C/spinbutton.c.page:16(years) C/signals-callbacks.py.page:20(years)
-#: C/set-up-gedit.page:13(years) C/separator.py.page:14(years)
-#: C/scrolledwindow.vala.page:14(years) C/scrolledwindow.py.page:13(years)
-#: C/scale.vala.page:15(years) C/scale.py.page:14(years)
-#: C/scale.js.page:13(years) C/scale.c.page:15(years)
-#: C/radiobutton.vala.page:16(years) C/radiobutton.py.page:17(years)
-#: C/radiobutton.js.page:13(years) C/radiobutton.c.page:15(years)
-#: C/properties.py.page:20(years) C/progressbar.vala.page:13(years)
-#: C/progressbar.py.page:13(years) C/progressbar.js.page:12(years)
-#: C/progressbar.c.page:14(years) C/model-view-controller.py.page:20(years)
-#: C/messagedialog.vala.page:13(years) C/messagedialog.py.page:14(years)
-#: C/messagedialog.js.page:16(years) C/menubutton.js.page:13(years)
-#: C/menubar.vala.page:15(years) C/linkbutton.vala.page:13(years)
-#: C/linkbutton.py.page:14(years) C/linkbutton.js.page:13(years)
-#: C/linkbutton.c.page:13(years) C/label.vala.page:13(years)
-#: C/label.py.page:14(years) C/label.py.page:19(years)
-#: C/label.js.page:13(years) C/label.c.page:14(years)
-#: C/image.vala.page:13(years) C/image.py.page:13(years)
-#: C/image.c.page:13(years) C/helloworldautotools.js.page:12(years)
-#: C/helloWorld.js.page:12(years) C/guitar-tuner.js.page:12(years)
-#: C/GtkApplicationWindow.vala.page:13(years)
-#: C/GtkApplicationWindow.py.page:13(years)
-#: C/GtkApplicationWindow.py.page:18(years)
-#: C/GtkApplicationWindow.js.page:13(years)
-#: C/GtkApplicationWindow.c.page:13(years) C/grid.vala.page:15(years)
-#: C/grid.py.page:14(years) C/grid.js.page:13(years) C/grid.c.page:13(years)
-#: C/gmenu.vala.page:14(years) C/gmenu.py.page:13(years)
-#: C/gmenu.js.page:13(years) C/gmenu.c.page:13(years)
-#: C/fontchooserwidget.py.page:14(years)
-#: C/filechooserdialog.vala.page:16(years) C/entry.vala.page:13(years)
-#: C/entry.py.page:13(years) C/entry.js.page:13(years)
-#: C/entry.c.page:13(years) C/dialog.vala.page:13(years)
-#: C/dialog.py.page:14(years) C/dialog.js.page:13(years)
-#: C/dialog.c.page:15(years) C/desktop.js.page:12(years)
-#: C/combobox_multicolumn.py.page:14(years) C/combobox.vala.page:13(years)
-#: C/combobox.py.page:13(years) C/comboboxtext.js.page:15(years)
-#: C/colorbutton.vala.page:15(years) C/colorbutton.py.page:13(years)
-#: C/checkbutton.vala.page:13(years) C/checkbutton.py.page:14(years)
-#: C/checkbutton.js.page:13(years) C/checkbutton.c.page:13(years)
-#: C/button.vala.page:14(years) C/button.py.page:14(years)
-#: C/button.js.page:13(years) C/button.c.page:15(years)
-#: C/beginner.js.page:12(years) C/aboutdialog.vala.page:15(years)
-#: C/aboutdialog.py.page:14(years) C/aboutdialog.js.page:12(years)
+#: C/weatherApp.js.page:13(years) C/tutorial.py.page:16(years)
+#: C/tutorial.py.page:21(years) C/treeview_treestore.py.page:14(years)
+#: C/treeview_simple_liststore.vala.page:16(years)
+#: C/treeview_simple_liststore.py.page:16(years)
+#: C/treeview_simple_liststore.js.page:17(years)
+#: C/treeview_cellrenderertoggle.py.page:14(years)
+#: C/treeview_advanced_liststore.py.page:17(years) C/tooltip.py.page:15(years)
+#: C/toolbar_builder.vala.page:16(years) C/toolbar_builder.py.page:16(years)
+#: C/toolbar_builder.py.page:22(years) C/toolbar.vala.page:15(years)
+#: C/toolbar.py.page:15(years) C/toolbar.js.page:14(years)
+#: C/togglebutton.vala.page:17(years) C/togglebutton.py.page:17(years)
+#: C/togglebutton.js.page:14(years) C/togglebutton.c.page:18(years)
+#: C/textview.vala.page:14(years) C/textview.py.page:22(years)
+#: C/textview.js.page:18(years) C/textview.c.page:14(years)
+#: C/switch.vala.page:18(years) C/switch.py.page:19(years)
+#: C/switch.js.page:14(years) C/switch.c.page:14(years)
+#: C/strings.py.page:21(years) C/statusbar.vala.page:17(years)
+#: C/statusbar.py.page:17(years) C/statusbar.js.page:14(years)
+#: C/statusbar.c.page:18(years) C/spinner.vala.page:14(years)
+#: C/spinner.py.page:14(years) C/spinner.js.page:14(years)
+#: C/spinner.c.page:15(years) C/spinbutton.vala.page:16(years)
+#: C/spinbutton.py.page:15(years) C/spinbutton.js.page:17(years)
+#: C/spinbutton.c.page:17(years) C/signals-callbacks.py.page:21(years)
+#: C/set-up-gedit.js.page:13(years) C/separator.py.page:15(years)
+#: C/scrolledwindow.vala.page:15(years) C/scrolledwindow.py.page:14(years)
+#: C/scale.vala.page:16(years) C/scale.py.page:15(years)
+#: C/scale.js.page:14(years) C/scale.c.page:16(years)
+#: C/radiobutton.vala.page:17(years) C/radiobutton.py.page:18(years)
+#: C/radiobutton.js.page:14(years) C/radiobutton.c.page:16(years)
+#: C/properties.py.page:21(years) C/progressbar.vala.page:14(years)
+#: C/progressbar.py.page:14(years) C/progressbar.js.page:13(years)
+#: C/progressbar.c.page:15(years) C/paned.py.page:14(years)
+#: C/model-view-controller.py.page:21(years)
+#: C/messagedialog.vala.page:14(years) C/messagedialog.py.page:15(years)
+#: C/messagedialog.js.page:17(years) C/messagedialog.c.page:15(years)
+#: C/menubutton.py.page:14(years) C/menubutton.py.page:20(years)
+#: C/menubutton.vala.page:14(years) C/menubutton.js.page:14(years)
+#: C/menubar.vala.page:16(years) C/menubar.py.page:16(years)
+#: C/menubar.py.page:21(years) C/linkbutton.vala.page:14(years)
+#: C/linkbutton.py.page:15(years) C/linkbutton.js.page:14(years)
+#: C/linkbutton.c.page:14(years) C/label.vala.page:14(years)
+#: C/label.py.page:15(years) C/label.py.page:20(years)
+#: C/label.js.page:14(years) C/label.c.page:15(years)
+#: C/image.vala.page:14(years) C/image.py.page:14(years)
+#: C/image.js.page:13(years) C/image.c.page:14(years)
+#: C/helloWorld.js.page:16(years) C/hellognome.js.page:13(years)
+#: C/guitar-tuner.js.page:13(years) C/GtkApplicationWindow.vala.page:14(years)
+#: C/GtkApplicationWindow.py.page:14(years)
+#: C/GtkApplicationWindow.py.page:19(years)
+#: C/GtkApplicationWindow.js.page:14(years)
+#: C/GtkApplicationWindow.c.page:14(years) C/grid.vala.page:16(years)
+#: C/grid.py.page:15(years) C/grid.py.page:21(years) C/grid.js.page:14(years)
+#: C/grid.c.page:14(years) C/gmenu.vala.page:15(years)
+#: C/gmenu.py.page:14(years) C/gmenu.py.page:20(years)
+#: C/gmenu.js.page:14(years) C/gmenu.c.page:14(years)
+#: C/fontchooserwidget.py.page:15(years)
+#: C/filechooserdialog.vala.page:17(years)
+#: C/filechooserdialog.py.page:17(years) C/entry.vala.page:14(years)
+#: C/entry.py.page:14(years) C/entry.js.page:14(years)
+#: C/entry.c.page:14(years) C/dialog.vala.page:14(years)
+#: C/dialog.py.page:15(years) C/dialog.js.page:14(years)
+#: C/dialog.c.page:16(years) C/combobox_multicolumn.py.page:15(years)
+#: C/combobox.vala.page:14(years) C/combobox.py.page:14(years)
+#: C/combobox.js.page:18(years) C/comboboxtext.js.page:16(years)
+#: C/colorbutton.vala.page:16(years) C/colorbutton.py.page:14(years)
+#: C/checkbutton.vala.page:14(years) C/checkbutton.py.page:15(years)
+#: C/checkbutton.js.page:14(years) C/checkbutton.c.page:14(years)
+#: C/buttonbox.py.page:15(years) C/button.vala.page:15(years)
+#: C/button.py.page:15(years) C/button.js.page:14(years)
+#: C/button.c.page:16(years) C/beginner.js.page:12(years)
+#: C/aboutdialog.vala.page:16(years) C/aboutdialog.py.page:15(years)
+#: C/aboutdialog.js.page:13(years) C/aboutdialog.c.page:16(years)
+#: C/03_getting_the_signal.js.page:17(years)
+#: C/02_welcome_to_the_grid.js.page:16(years)
 msgid "2012"
 msgstr "2012"
 
-#: C/window.vala.page:16(desc) C/window.py.page:21(desc)
-#: C/window.c.page:16(desc)
+#: C/window.vala.page:17(desc) C/window.py.page:22(desc)
+#: C/window.c.page:17(desc)
 msgid "A toplevel window which can contain other widgets"
 msgstr "Una ventana de nivel superior que puede contener otros widgets"
 
-#: C/window.vala.page:19(title) C/window.py.page:24(title)
-#: C/window.js.page:19(title) C/window.c.page:19(title)
+#: C/window.vala.page:20(title) C/window.py.page:25(title)
+#: C/window.js.page:20(title) C/window.c.page:20(title)
 msgid "Window"
 msgstr "Ventana"
 
-#: C/window.vala.page:24(p)
+#: C/window.vala.page:25(p)
 msgid "The simplest Gtk.Application"
 msgstr "La Gtk.Application mÃs sencilla"
 
-#: C/window.vala.page:27(p)
+#: C/window.vala.page:28(p)
 msgid ""
 "Use <link xref=\"GtkApplicationWindow.vala\">Application Window</link> if "
 "you need GMenu support."
@@ -183,73 +204,80 @@ msgstr ""
 "Use una <link href=\"GtkApplicationWindow.vala\">ventana de aplicaciÃn</"
 "link> si necesita soporte para GMenu."
 
-#: C/window.vala.page:32(p) C/window.py.page:59(p) C/window.c.page:28(p)
-#: C/treeview_treestore.py.page:38(p)
-#: C/treeview_simple_liststore.vala.page:26(p)
-#: C/treeview_simple_liststore.py.page:40(p)
-#: C/treeview_simple_liststore.js.page:271(p)
-#: C/treeview_cellrenderertoggle.py.page:38(p)
-#: C/treeview_advanced_liststore.py.page:42(p)
-#: C/toolbar_builder.vala.page:145(p) C/toolbar.vala.page:28(p)
-#: C/toolbar.py.page:27(p) C/toolbar.js.page:25(p)
-#: C/togglebutton.vala.page:27(p) C/togglebutton.py.page:42(p)
-#: C/togglebutton.c.page:30(p) C/textview.vala.page:29(p)
-#: C/textview.py.page:92(p) C/textview.c.page:30(p) C/switch.vala.page:30(p)
-#: C/switch.py.page:45(p) C/switch.c.page:27(p) C/statusbar.vala.page:27(p)
-#: C/statusbar.py.page:49(p) C/statusbar.c.page:30(p)
-#: C/spinner.vala.page:24(p) C/spinner.py.page:37(p) C/spinner.js.page:24(p)
-#: C/spinner.c.page:27(p) C/spinbutton.vala.page:26(p)
-#: C/spinbutton.py.page:44(p) C/spinbutton.c.page:29(p)
-#: C/separator.py.page:27(p) C/scrolledwindow.vala.page:25(p)
-#: C/scrolledwindow.py.page:40(p) C/scale.vala.page:26(p)
-#: C/scale.py.page:52(p) C/scale.c.page:28(p) C/radiobutton.vala.page:27(p)
-#: C/radiobutton.py.page:48(p) C/radiobutton.c.page:28(p)
-#: C/progressbar.vala.page:24(p) C/progressbar.py.page:52(p)
-#: C/progressbar.js.page:33(p) C/progressbar.c.page:27(p)
-#: C/messagedialog.vala.page:25(p) C/messagedialog.py.page:53(p)
-#: C/messagedialog.js.page:188(p) C/menubutton.js.page:27(p)
-#: C/menubar.vala.page:186(p) C/linkbutton.vala.page:24(p)
-#: C/linkbutton.py.page:43(p) C/linkbutton.js.page:24(p)
-#: C/linkbutton.c.page:26(p) C/label.vala.page:25(p) C/label.py.page:85(p)
-#: C/label.js.page:24(p) C/label.c.page:31(p) C/image.vala.page:26(p)
-#: C/image.py.page:97(p) C/image.c.page:27(p)
-#: C/GtkApplicationWindow.vala.page:25(p) C/GtkApplicationWindow.py.page:47(p)
-#: C/GtkApplicationWindow.js.page:25(p) C/GtkApplicationWindow.c.page:24(p)
-#: C/grid.vala.page:26(p) C/grid.py.page:27(p) C/grid.js.page:28(p)
-#: C/grid.c.page:26(p) C/gmenu.vala.page:36(p) C/gmenu.py.page:26(p)
-#: C/gmenu.js.page:24(p) C/gmenu.c.page:26(p)
-#: C/fontchooserwidget.py.page:42(p) C/filechooserdialog.vala.page:34(p)
-#: C/entry.vala.page:24(p) C/entry.py.page:58(p) C/entry.js.page:24(p)
-#: C/entry.c.page:26(p) C/dialog.vala.page:26(p) C/dialog.py.page:44(p)
-#: C/dialog.js.page:24(p) C/dialog.c.page:28(p)
-#: C/combobox_multicolumn.py.page:40(p) C/combobox.vala.page:24(p)
-#: C/combobox.py.page:37(p) C/comboboxtext.js.page:175(p)
-#: C/colorbutton.vala.page:26(p) C/colorbutton.py.page:24(p)
-#: C/checkbutton.vala.page:24(p) C/checkbutton.py.page:43(p)
-#: C/checkbutton.c.page:24(p) C/button.py.page:49(p) C/button.js.page:25(p)
-#: C/button.c.page:28(p) C/aboutdialog.vala.page:33(p)
-#: C/aboutdialog.py.page:40(p) C/aboutdialog.js.page:23(p)
+#: C/window.vala.page:33(p) C/window.py.page:60(p) C/window.c.page:29(p)
+#: C/treeview_treestore.py.page:39(p)
+#: C/treeview_simple_liststore.vala.page:27(p)
+#: C/treeview_simple_liststore.py.page:41(p)
+#: C/treeview_simple_liststore.js.page:272(p)
+#: C/treeview_cellrenderertoggle.py.page:39(p)
+#: C/treeview_advanced_liststore.py.page:43(p) C/tooltip.py.page:53(p)
+#: C/toolbar_builder.vala.page:146(p) C/toolbar_builder.py.page:189(p)
+#: C/toolbar.vala.page:29(p) C/toolbar.py.page:50(p) C/toolbar.js.page:26(p)
+#: C/togglebutton.vala.page:28(p) C/togglebutton.py.page:43(p)
+#: C/togglebutton.c.page:31(p) C/textview.vala.page:30(p)
+#: C/textview.py.page:93(p) C/textview.c.page:31(p) C/switch.vala.page:31(p)
+#: C/switch.py.page:46(p) C/switch.c.page:28(p) C/statusbar.vala.page:28(p)
+#: C/statusbar.py.page:50(p) C/statusbar.c.page:31(p)
+#: C/spinner.vala.page:25(p) C/spinner.py.page:38(p) C/spinner.js.page:25(p)
+#: C/spinner.c.page:28(p) C/spinbutton.vala.page:27(p)
+#: C/spinbutton.py.page:45(p) C/spinbutton.c.page:30(p)
+#: C/separator.py.page:35(p) C/scrolledwindow.vala.page:26(p)
+#: C/scrolledwindow.py.page:41(p) C/scale.vala.page:27(p)
+#: C/scale.py.page:53(p) C/scale.c.page:29(p) C/radiobutton.vala.page:28(p)
+#: C/radiobutton.py.page:49(p) C/radiobutton.c.page:29(p)
+#: C/progressbar.vala.page:25(p) C/progressbar.py.page:53(p)
+#: C/progressbar.js.page:34(p) C/progressbar.c.page:28(p)
+#: C/paned.py.page:38(p) C/messagedialog.vala.page:26(p)
+#: C/messagedialog.py.page:54(p) C/messagedialog.js.page:189(p)
+#: C/messagedialog.c.page:31(p) C/menubutton.py.page:50(p)
+#: C/menubutton.vala.page:28(p) C/menubutton.js.page:28(p)
+#: C/menubar.vala.page:187(p) C/menubar.py.page:181(p)
+#: C/linkbutton.vala.page:25(p) C/linkbutton.py.page:44(p)
+#: C/linkbutton.js.page:25(p) C/linkbutton.c.page:27(p)
+#: C/label.vala.page:26(p) C/label.py.page:86(p) C/label.js.page:25(p)
+#: C/label.c.page:32(p) C/image.vala.page:27(p) C/image.py.page:98(p)
+#: C/image.js.page:27(p) C/image.c.page:28(p)
+#: C/GtkApplicationWindow.vala.page:26(p) C/GtkApplicationWindow.py.page:48(p)
+#: C/GtkApplicationWindow.js.page:26(p) C/GtkApplicationWindow.c.page:25(p)
+#: C/grid.vala.page:27(p) C/grid.py.page:53(p) C/grid.js.page:29(p)
+#: C/grid.c.page:27(p) C/gmenu.vala.page:37(p) C/gmenu.py.page:74(p)
+#: C/gmenu.js.page:25(p) C/gmenu.c.page:27(p)
+#: C/fontchooserwidget.py.page:43(p) C/filechooserdialog.vala.page:35(p)
+#: C/filechooserdialog.py.page:69(p) C/entry.vala.page:25(p)
+#: C/entry.py.page:59(p) C/entry.js.page:25(p) C/entry.c.page:27(p)
+#: C/dialog.vala.page:27(p) C/dialog.py.page:45(p) C/dialog.js.page:25(p)
+#: C/dialog.c.page:29(p) C/combobox_multicolumn.py.page:41(p)
+#: C/combobox.vala.page:25(p) C/combobox.py.page:38(p)
+#: C/combobox.js.page:233(p) C/comboboxtext.js.page:176(p)
+#: C/colorbutton.vala.page:27(p) C/colorbutton.py.page:38(p)
+#: C/checkbutton.vala.page:25(p) C/checkbutton.py.page:44(p)
+#: C/checkbutton.c.page:25(p) C/buttonbox.py.page:45(p) C/button.py.page:50(p)
+#: C/button.js.page:26(p) C/button.c.page:29(p) C/aboutdialog.vala.page:34(p)
+#: C/aboutdialog.py.page:41(p) C/aboutdialog.js.page:24(p)
+#: C/aboutdialog.c.page:30(p)
 msgid "In this sample we used the following:"
 msgstr "En este ejemplo se usa lo siguiente:"
 
-#: C/window.vala.page:36(link) C/window.js.page:37(link)
-#: C/treeview_simple_liststore.js.page:275(link)
-#: C/togglebutton.js.page:153(link) C/textview.js.page:248(link)
-#: C/switch.js.page:266(link) C/statusbar.js.page:221(link)
-#: C/spinner.js.page:29(link) C/spinbutton.js.page:200(link)
-#: C/scale.js.page:209(link) C/radiobutton.js.page:274(link)
-#: C/progressbar.js.page:38(link) C/messagedialog.js.page:194(link)
-#: C/linkbutton.js.page:28(link) C/label.vala.page:29(link)
-#: C/label.js.page:28(link) C/GtkApplicationWindow.vala.page:29(link)
-#: C/GtkApplicationWindow.js.page:29(link) C/grid.py.page:31(link)
-#: C/grid.js.page:32(link) C/gmenu.vala.page:40(link) C/entry.js.page:28(link)
-#: C/dialog.js.page:28(link) C/comboboxtext.js.page:179(link)
-#: C/checkbutton.js.page:136(link) C/button.js.page:29(link)
-#: C/aboutdialog.vala.page:37(link) C/aboutdialog.js.page:30(link)
+#: C/window.vala.page:37(link) C/window.js.page:38(link)
+#: C/treeview_simple_liststore.js.page:276(link)
+#: C/togglebutton.js.page:154(link) C/textview.js.page:249(link)
+#: C/switch.js.page:267(link) C/statusbar.js.page:222(link)
+#: C/spinner.js.page:30(link) C/spinbutton.js.page:201(link)
+#: C/scale.js.page:210(link) C/radiobutton.js.page:275(link)
+#: C/progressbar.js.page:39(link) C/messagedialog.js.page:195(link)
+#: C/linkbutton.js.page:29(link) C/label.vala.page:30(link)
+#: C/label.js.page:29(link) C/image.js.page:31(link)
+#: C/GtkApplicationWindow.vala.page:30(link)
+#: C/GtkApplicationWindow.js.page:30(link) C/grid.js.page:33(link)
+#: C/gmenu.vala.page:41(link) C/entry.js.page:29(link)
+#: C/dialog.js.page:29(link) C/combobox.js.page:237(link)
+#: C/comboboxtext.js.page:180(link) C/checkbutton.js.page:137(link)
+#: C/button.js.page:30(link) C/aboutdialog.vala.page:38(link)
+#: C/aboutdialog.js.page:31(link)
 msgid "Gtk.Application"
 msgstr "Gtk.Application"
 
-#: C/window.vala.page:37(p)
+#: C/window.vala.page:38(p)
 msgid ""
 "The widget <link href=\"http://www.valadoc.org/gtk+-3.0/Gtk.Window.html";
 "\">Gtk.Window</link>"
@@ -257,7 +285,7 @@ msgstr ""
 "El widget <link href=\"http://www.valadoc.org/gtk+-3.0/Gtk.Window.html\";>Gtk."
 "Window</link>"
 
-#: C/window.vala.page:39(p)
+#: C/window.vala.page:40(p)
 msgid ""
 "The enum <link href=\"http://www.valadoc.org/gtk+-3.0/Gtk.WindowPosition.html";
 "\">Gtk.WindowPosition</link>"
@@ -265,7 +293,7 @@ msgstr ""
 "El enumerado <link href=\"http://www.valadoc.org/gtk+-3.0/Gtk.WindowPosition.";
 "html\">Gtk.WindowPosition</link>"
 
-#: C/window.vala.page:41(p)
+#: C/window.vala.page:42(p)
 msgid ""
 "The method <link href=\"http://www.valadoc.org/gtk+-3.0/Gtk.Window.";
 "set_default_size.html\">set_default_size</link>"
@@ -273,62 +301,77 @@ msgstr ""
 "El mÃtodo <link href=\"http://www.valadoc.org/gtk+-3.0/Gtk.Window.";
 "set_default_size.html\">set_default_size</link>"
 
-#: C/window.vala.page:43(link)
+#: C/window.vala.page:44(link)
 msgid "border_width"
 msgstr "border_width"
 
-#: C/window.vala.page:45(link)
+#: C/window.vala.page:46(link)
 msgid "window_position"
 msgstr "window_position"
 
-#: C/window.py.page:16(name) C/treeview_treestore.py.page:11(name)
-#: C/treeview_simple_liststore.py.page:13(name)
-#: C/treeview_cellrenderertoggle.py.page:11(name)
-#: C/treeview_advanced_liststore.py.page:14(name) C/toolbar.py.page:12(name)
-#: C/togglebutton.py.page:14(name) C/textview.py.page:19(name)
-#: C/switch.py.page:16(name) C/strings.py.page:18(name)
-#: C/statusbar.py.page:14(name) C/spinner.py.page:11(name)
-#: C/spinbutton.py.page:12(name) C/signals-callbacks.py.page:18(name)
-#: C/separator.py.page:12(name) C/scrolledwindow.py.page:11(name)
-#: C/scale.py.page:12(name) C/radiobutton.py.page:15(name)
-#: C/properties.py.page:18(name) C/progressbar.py.page:11(name)
-#: C/model-view-controller.py.page:18(name) C/messagedialog.py.page:12(name)
-#: C/linkbutton.py.page:12(name) C/label.py.page:12(name)
-#: C/image.py.page:11(name) C/GtkApplicationWindow.py.page:16(name)
-#: C/fontchooserwidget.py.page:12(name) C/entry.py.page:11(name)
-#: C/dialog.py.page:12(name) C/combobox_multicolumn.py.page:12(name)
-#: C/combobox.py.page:11(name) C/colorbutton.py.page:11(name)
-#: C/checkbutton.py.page:12(name) C/button.py.page:12(name)
-#: C/aboutdialog.py.page:12(name)
+#: C/window.py.page:7(title)
+msgid "Window (Python)"
+msgstr "Ventana (Python)"
+
+#: C/window.py.page:17(name) C/tutorial.py.page:19(name)
+#: C/treeview_treestore.py.page:12(name)
+#: C/treeview_simple_liststore.py.page:14(name)
+#: C/treeview_cellrenderertoggle.py.page:12(name)
+#: C/treeview_advanced_liststore.py.page:15(name) C/tooltip.py.page:13(name)
+#: C/toolbar_builder.py.page:20(name) C/toolbar.py.page:13(name)
+#: C/togglebutton.py.page:15(name) C/textview.py.page:20(name)
+#: C/switch.py.page:17(name) C/strings.py.page:19(name)
+#: C/statusbar.py.page:15(name) C/spinner.py.page:12(name)
+#: C/spinbutton.py.page:13(name) C/signals-callbacks.py.page:19(name)
+#: C/separator.py.page:13(name) C/scrolledwindow.py.page:12(name)
+#: C/scale.py.page:13(name) C/radiobutton.py.page:16(name)
+#: C/properties.py.page:19(name) C/progressbar.py.page:12(name)
+#: C/paned.py.page:12(name) C/model-view-controller.py.page:19(name)
+#: C/messagedialog.py.page:13(name) C/menubutton.py.page:18(name)
+#: C/menubar.py.page:19(name) C/linkbutton.py.page:13(name)
+#: C/label.py.page:13(name) C/image.py.page:12(name)
+#: C/GtkApplicationWindow.py.page:17(name) C/grid.py.page:19(name)
+#: C/gmenu.py.page:18(name) C/fontchooserwidget.py.page:13(name)
+#: C/filechooserdialog.py.page:15(name) C/entry.py.page:12(name)
+#: C/dialog.py.page:13(name) C/combobox_multicolumn.py.page:13(name)
+#: C/combobox.py.page:12(name) C/colorbutton.py.page:12(name)
+#: C/checkbutton.py.page:13(name) C/buttonbox.py.page:13(name)
+#: C/button.py.page:13(name) C/aboutdialog.py.page:13(name)
 msgid "Marta Maria Casetti"
 msgstr "Marta Maria Casetti"
 
-#: C/window.py.page:17(email) C/treeview_treestore.py.page:12(email)
-#: C/treeview_simple_liststore.py.page:14(email)
-#: C/treeview_cellrenderertoggle.py.page:12(email)
-#: C/treeview_advanced_liststore.py.page:15(email) C/toolbar.py.page:13(email)
-#: C/togglebutton.py.page:15(email) C/textview.py.page:20(email)
-#: C/switch.py.page:17(email) C/strings.py.page:19(email)
-#: C/statusbar.py.page:15(email) C/spinner.py.page:12(email)
-#: C/spinbutton.py.page:13(email) C/signals-callbacks.py.page:19(email)
-#: C/separator.py.page:13(email) C/scrolledwindow.py.page:12(email)
-#: C/scale.py.page:13(email) C/radiobutton.py.page:16(email)
-#: C/properties.py.page:19(email) C/progressbar.py.page:12(email)
-#: C/model-view-controller.py.page:19(email) C/messagedialog.py.page:13(email)
-#: C/linkbutton.py.page:13(email) C/label.py.page:13(email)
-#: C/image.py.page:12(email) C/GtkApplicationWindow.py.page:17(email)
-#: C/fontchooserwidget.py.page:13(email) C/dialog.py.page:13(email)
-#: C/combobox_multicolumn.py.page:13(email) C/combobox.py.page:12(email)
-#: C/colorbutton.py.page:12(email) C/checkbutton.py.page:13(email)
-#: C/button.py.page:13(email) C/aboutdialog.py.page:13(email)
+#: C/window.py.page:18(email) C/tutorial.py.page:20(email)
+#: C/treeview_treestore.py.page:13(email)
+#: C/treeview_simple_liststore.py.page:15(email)
+#: C/treeview_cellrenderertoggle.py.page:13(email)
+#: C/treeview_advanced_liststore.py.page:16(email) C/tooltip.py.page:14(email)
+#: C/toolbar_builder.py.page:21(email) C/toolbar.py.page:14(email)
+#: C/togglebutton.py.page:16(email) C/textview.py.page:21(email)
+#: C/switch.py.page:18(email) C/strings.py.page:20(email)
+#: C/statusbar.py.page:16(email) C/spinner.py.page:13(email)
+#: C/spinbutton.py.page:14(email) C/signals-callbacks.py.page:20(email)
+#: C/separator.py.page:14(email) C/scrolledwindow.py.page:13(email)
+#: C/scale.py.page:14(email) C/radiobutton.py.page:17(email)
+#: C/properties.py.page:20(email) C/progressbar.py.page:13(email)
+#: C/paned.py.page:13(email) C/model-view-controller.py.page:20(email)
+#: C/messagedialog.py.page:14(email) C/menubutton.py.page:19(email)
+#: C/menubar.py.page:20(email) C/linkbutton.py.page:14(email)
+#: C/label.py.page:14(email) C/image.py.page:13(email)
+#: C/GtkApplicationWindow.py.page:18(email) C/grid.py.page:20(email)
+#: C/gmenu.py.page:19(email) C/fontchooserwidget.py.page:14(email)
+#: C/filechooserdialog.py.page:16(email) C/dialog.py.page:14(email)
+#: C/combobox_multicolumn.py.page:14(email) C/combobox.py.page:13(email)
+#: C/colorbutton.py.page:13(email) C/checkbutton.py.page:14(email)
+#: C/buttonbox.py.page:14(email) C/button.py.page:14(email)
+#: C/aboutdialog.py.page:14(email)
 msgid "mmcasetti gmail com"
 msgstr "mmcasetti gmail com"
 
-#: C/window.py.page:30(p)
+#: C/window.py.page:31(p)
 msgid "A minimal Gtk+ Application: a window with a title."
 msgstr "Una aplicaciÃn mÃnima en GTK+: una ventana con un tÃtulo"
 
-#: C/window.py.page:33(p)
+#: C/window.py.page:34(p)
 msgid ""
 "Use <link xref=\"GtkApplicationWindow.py\">Application Window</link> if you "
 "need GMenu support."
@@ -336,138 +379,171 @@ msgstr ""
 "Use una <link href=\"GtkApplicationWindow.py\">ventana de aplicaciÃn</link> "
 "si necesita soporte para GMenu."
 
-#: C/window.py.page:41(title) C/treeview_treestore.py.page:26(title)
-#: C/treeview_simple_liststore.py.page:28(title)
-#: C/treeview_cellrenderertoggle.py.page:26(title)
-#: C/treeview_advanced_liststore.py.page:29(title)
-#: C/togglebutton.py.page:29(title) C/textview.py.page:41(title)
-#: C/switch.py.page:33(title) C/statusbar.py.page:29(title)
-#: C/spinner.py.page:26(title) C/spinbutton.py.page:27(title)
-#: C/scrolledwindow.py.page:26(title) C/scale.py.page:27(title)
-#: C/radiobutton.py.page:30(title) C/progressbar.py.page:36(title)
-#: C/messagedialog.py.page:27(title) C/linkbutton.py.page:28(title)
-#: C/label.py.page:32(title) C/image.py.page:30(title)
-#: C/GtkApplicationWindow.py.page:31(title)
-#: C/fontchooserwidget.py.page:28(title) C/entry.py.page:31(title)
-#: C/dialog.py.page:27(title) C/combobox_multicolumn.py.page:27(title)
-#: C/combobox.py.page:26(title) C/checkbutton.py.page:27(title)
-#: C/button.py.page:28(title) C/aboutdialog.py.page:27(title)
+#: C/window.py.page:42(title) C/treeview_treestore.py.page:27(title)
+#: C/treeview_simple_liststore.py.page:29(title)
+#: C/treeview_cellrenderertoggle.py.page:27(title)
+#: C/treeview_advanced_liststore.py.page:30(title) C/tooltip.py.page:28(title)
+#: C/toolbar_builder.py.page:162(title) C/toolbar.py.page:29(title)
+#: C/togglebutton.py.page:30(title) C/textview.py.page:42(title)
+#: C/switch.py.page:34(title) C/statusbar.py.page:30(title)
+#: C/spinner.py.page:27(title) C/spinbutton.py.page:28(title)
+#: C/separator.py.page:29(title) C/scrolledwindow.py.page:27(title)
+#: C/scale.py.page:28(title) C/radiobutton.py.page:31(title)
+#: C/progressbar.py.page:37(title) C/paned.py.page:27(title)
+#: C/messagedialog.py.page:28(title) C/menubutton.py.page:35(title)
+#: C/linkbutton.py.page:29(title) C/label.py.page:33(title)
+#: C/image.py.page:31(title) C/GtkApplicationWindow.py.page:32(title)
+#: C/grid.py.page:35(title) C/gmenu.py.page:34(title)
+#: C/fontchooserwidget.py.page:29(title) C/filechooserdialog.py.page:51(title)
+#: C/entry.py.page:32(title) C/dialog.py.page:28(title)
+#: C/combobox_multicolumn.py.page:28(title) C/combobox.py.page:27(title)
+#: C/colorbutton.py.page:27(title) C/checkbutton.py.page:28(title)
+#: C/buttonbox.py.page:29(title) C/button.py.page:29(title)
+#: C/aboutdialog.py.page:28(title)
 msgid "Code used to generate this example"
 msgstr "CÃdigo usado para generar este ejemplo"
 
-#: C/window.py.page:48(title)
+#: C/window.py.page:49(title)
 msgid "Useful methods for a Window widget"
 msgstr "MÃtodos Ãtiles para un widget ÂWindowÂ"
 
-#: C/window.py.page:49(p)
+#: C/window.py.page:50(p)
 msgid ""
 "<code>window = Gtk.Window(application=self, title=\"Welcome to GNOME\")</"
 "code> sets the title as well, without the need for the line <code>window."
 "set_title(\"Welcome to GNOME\")</code>. For a general discussion of this, "
 "see <link xref=\"properties.py\">here</link>."
 msgstr ""
+"<code>window = Gtk.Window(application=self, title=\"Welcome to GNOME\")</"
+"code> tambiÃn establece el tÃtulo, sin necesitar la lÃnea <code>window."
+"set_title(\"Welcome to GNOME\")</code>. Para obtener mÃs informaciÃn sobre "
+"esto, consulte <link xref=\"properties.py\">aquÃ</link>."
 
-#: C/window.py.page:51(p) C/GtkApplicationWindow.py.page:40(p)
+#: C/window.py.page:52(p) C/GtkApplicationWindow.py.page:41(p)
 msgid ""
 "<code>set_default_size(200, 100)</code> sets the default size of the window "
 "to a width of <code>200</code> and a height of <code>100</code>; if instead "
 "of a positive number we pass <code>-1</code> we have the default size."
 msgstr ""
+"<code>set_default_size(200, 100)</code> establece el tamaÃo predeterminado "
+"de la ventana a una anchura de <code>200</code> y una altura de <code>100</"
+"code>; si en lugar de un nÃmero positivo le pasa <code>-1</code> tendrà el "
+"tamaÃo predeterminado."
 
-#: C/window.py.page:52(p) C/GtkApplicationWindow.py.page:41(p)
+#: C/window.py.page:53(p) C/GtkApplicationWindow.py.page:42(p)
 msgid ""
 "<code>set_position(Gtk.WindowPosition.CENTER)</code> centers the window. "
 "Other options are <code>Gtk.WindowPosition.NONE, Gtk.WindowPosition.MOUSE, "
 "Gtk.WindowPosition.CENTER_ALWAYS, Gtk.WindowPosition.CENTER_ON_PARENT</code>."
 msgstr ""
+"<code>set_position(Gtk.WindowPosition.CENTER)</code> centra la ventana. "
+"Otras opciones son <code>Gtk.WindowPosition.NONE, Gtk.WindowPosition.MOUSE, "
+"Gtk.WindowPosition.CENTER_ALWAYS, Gtk.WindowPosition.CENTER_ON_PARENT</code>."
 
-#: C/window.py.page:57(title) C/treeview_treestore.py.page:37(title)
-#: C/treeview_simple_liststore.py.page:39(title)
-#: C/treeview_cellrenderertoggle.py.page:37(title)
-#: C/treeview_advanced_liststore.py.page:41(title)
-#: C/togglebutton.py.page:41(title) C/textview.py.page:91(title)
-#: C/switch.py.page:44(title) C/statusbar.py.page:48(title)
-#: C/spinner.py.page:36(title) C/spinbutton.py.page:43(title)
-#: C/scrolledwindow.py.page:39(title) C/scale.py.page:51(title)
-#: C/radiobutton.py.page:47(title) C/progressbar.py.page:51(title)
-#: C/messagedialog.py.page:52(title) C/linkbutton.py.page:42(title)
-#: C/label.py.page:84(title) C/image.py.page:96(title)
-#: C/GtkApplicationWindow.py.page:46(title)
-#: C/fontchooserwidget.py.page:41(title) C/entry.py.page:57(title)
-#: C/dialog.py.page:43(title) C/combobox_multicolumn.py.page:39(title)
-#: C/combobox.py.page:36(title) C/checkbutton.py.page:42(title)
-#: C/button.py.page:48(title) C/aboutdialog.py.page:39(title)
+#: C/window.py.page:58(title) C/treeview_treestore.py.page:38(title)
+#: C/treeview_simple_liststore.py.page:40(title)
+#: C/treeview_cellrenderertoggle.py.page:38(title)
+#: C/treeview_advanced_liststore.py.page:42(title) C/tooltip.py.page:52(title)
+#: C/toolbar_builder.py.page:188(title) C/toolbar.py.page:49(title)
+#: C/togglebutton.py.page:42(title) C/textview.py.page:92(title)
+#: C/switch.py.page:45(title) C/statusbar.py.page:49(title)
+#: C/spinner.py.page:37(title) C/spinbutton.py.page:44(title)
+#: C/scrolledwindow.py.page:40(title) C/scale.py.page:52(title)
+#: C/radiobutton.py.page:48(title) C/progressbar.py.page:52(title)
+#: C/paned.py.page:37(title) C/messagedialog.py.page:53(title)
+#: C/menubutton.py.page:49(title) C/menubar.py.page:180(title)
+#: C/linkbutton.py.page:43(title) C/label.py.page:85(title)
+#: C/image.py.page:97(title) C/GtkApplicationWindow.py.page:47(title)
+#: C/grid.py.page:52(title) C/gmenu.py.page:73(title)
+#: C/fontchooserwidget.py.page:42(title) C/filechooserdialog.py.page:68(title)
+#: C/entry.py.page:58(title) C/dialog.py.page:44(title)
+#: C/combobox_multicolumn.py.page:40(title) C/combobox.py.page:37(title)
+#: C/colorbutton.py.page:37(title) C/checkbutton.py.page:43(title)
+#: C/buttonbox.py.page:44(title) C/button.py.page:49(title)
+#: C/aboutdialog.py.page:40(title)
 msgid "API References"
 msgstr "Referencias de la API"
 
-#: C/window.py.page:61(link) C/window.c.page:32(link)
-#: C/togglebutton.c.page:34(link) C/textview.c.page:34(link)
-#: C/switch.c.page:31(link) C/statusbar.c.page:34(link)
-#: C/spinner.c.page:31(link) C/spinbutton.c.page:33(link)
-#: C/scale.c.page:32(link) C/radiobutton.c.page:32(link)
-#: C/progressbar.c.page:31(link) C/messagedialog.py.page:63(link)
-#: C/linkbutton.c.page:30(link) C/label.c.page:35(link)
-#: C/image.vala.page:30(link) C/image.c.page:31(link)
-#: C/GtkApplicationWindow.py.page:51(link)
-#: C/GtkApplicationWindow.c.page:28(link) C/grid.c.page:30(link)
-#: C/entry.c.page:30(link) C/dialog.c.page:32(link)
-#: C/checkbutton.py.page:45(link) C/button.c.page:32(link)
-#: C/aboutdialog.py.page:47(link)
-msgid "GtkApplication"
-msgstr "GtkApplication"
-
 #: C/window.py.page:62(link) C/window.c.page:33(link)
 #: C/togglebutton.c.page:35(link) C/textview.c.page:35(link)
 #: C/switch.c.page:32(link) C/statusbar.c.page:35(link)
 #: C/spinner.c.page:32(link) C/spinbutton.c.page:34(link)
-#: C/separator.py.page:31(link) C/scale.c.page:33(link)
-#: C/radiobutton.py.page:50(link) C/radiobutton.c.page:33(link)
-#: C/progressbar.c.page:32(link) C/messagedialog.py.page:59(link)
-#: C/linkbutton.py.page:45(link) C/linkbutton.c.page:31(link)
-#: C/label.py.page:88(link) C/label.c.page:36(link) C/image.py.page:100(link)
-#: C/image.c.page:32(link) C/grid.c.page:31(link) C/entry.c.page:31(link)
-#: C/dialog.py.page:49(link) C/dialog.c.page:33(link)
-#: C/button.py.page:52(link) C/button.c.page:33(link)
+#: C/scale.c.page:33(link) C/radiobutton.c.page:33(link)
+#: C/progressbar.c.page:32(link) C/messagedialog.py.page:64(link)
+#: C/messagedialog.c.page:35(link) C/linkbutton.c.page:31(link)
+#: C/label.c.page:36(link) C/image.vala.page:31(link) C/image.c.page:32(link)
+#: C/GtkApplicationWindow.py.page:52(link)
+#: C/GtkApplicationWindow.c.page:29(link) C/grid.py.page:55(link)
+#: C/grid.c.page:31(link) C/entry.c.page:31(link) C/dialog.c.page:33(link)
+#: C/checkbutton.py.page:46(link) C/button.c.page:33(link)
+#: C/aboutdialog.py.page:48(link) C/aboutdialog.c.page:34(link)
+msgid "GtkApplication"
+msgstr "GtkApplication"
+
+#: C/window.py.page:63(link) C/window.c.page:34(link)
+#: C/togglebutton.c.page:36(link) C/textview.c.page:36(link)
+#: C/switch.c.page:33(link) C/statusbar.c.page:36(link)
+#: C/spinner.c.page:33(link) C/spinbutton.c.page:35(link)
+#: C/separator.py.page:37(link) C/scale.c.page:34(link)
+#: C/radiobutton.py.page:51(link) C/radiobutton.c.page:34(link)
+#: C/progressbar.c.page:33(link) C/messagedialog.py.page:60(link)
+#: C/messagedialog.c.page:37(link) C/linkbutton.py.page:46(link)
+#: C/linkbutton.c.page:32(link) C/label.py.page:89(link)
+#: C/label.c.page:37(link) C/image.py.page:101(link) C/image.c.page:33(link)
+#: C/grid.c.page:32(link) C/filechooserdialog.py.page:73(link)
+#: C/entry.c.page:32(link) C/dialog.py.page:50(link) C/dialog.c.page:34(link)
+#: C/button.py.page:53(link) C/button.c.page:34(link)
+#: C/aboutdialog.c.page:35(link)
 msgid "GtkWindow"
 msgstr "GtkWindow"
 
-#: C/window.js.page:11(name) C/treeview_simple_liststore.js.page:14(name)
-#: C/togglebutton.js.page:11(name) C/textview.js.page:15(name)
-#: C/switch.js.page:11(name) C/statusbar.js.page:11(name)
-#: C/spinner.js.page:11(name) C/spinbutton.js.page:14(name)
-#: C/set-up-gedit.page:11(name) C/scale.js.page:11(name)
-#: C/radiobutton.js.page:11(name) C/progressbar.js.page:10(name)
-#: C/messagedialog.js.page:14(name) C/linkbutton.js.page:11(name)
-#: C/label.js.page:11(name) C/grid.js.page:16(name) C/entry.js.page:11(name)
-#: C/dialog.js.page:11(name) C/comboboxtext.js.page:13(name)
-#: C/checkbutton.js.page:11(name) C/button.js.page:11(name)
-#: C/aboutdialog.js.page:10(name)
+#: C/window.js.page:7(title)
+msgid "Window (JavaScript)"
+msgstr "Ventana (JavaScript)"
+
+#: C/window.js.page:12(name) C/treeview_simple_liststore.js.page:15(name)
+#: C/togglebutton.js.page:12(name) C/textview.js.page:16(name)
+#: C/switch.js.page:12(name) C/statusbar.js.page:12(name)
+#: C/spinner.js.page:12(name) C/spinbutton.js.page:15(name)
+#: C/set-up-gedit.js.page:11(name) C/scale.js.page:12(name)
+#: C/radiobutton.js.page:12(name) C/progressbar.js.page:11(name)
+#: C/messagedialog.js.page:15(name) C/linkbutton.js.page:12(name)
+#: C/label.js.page:12(name) C/image.js.page:11(name)
+#: C/hellognome.js.page:11(name) C/grid.js.page:17(name)
+#: C/entry.js.page:12(name) C/dialog.js.page:12(name)
+#: C/combobox.js.page:16(name) C/comboboxtext.js.page:14(name)
+#: C/checkbutton.js.page:12(name) C/button.js.page:12(name)
+#: C/aboutdialog.js.page:11(name) C/03_getting_the_signal.js.page:15(name)
+#: C/02_welcome_to_the_grid.js.page:14(name)
 msgid "Taryn Fox"
 msgstr "Taryn Fox"
 
-#: C/window.js.page:12(email) C/treeview_simple_liststore.js.page:15(email)
-#: C/togglebutton.js.page:12(email) C/textview.js.page:16(email)
-#: C/switch.js.page:12(email) C/statusbar.js.page:12(email)
-#: C/spinner.js.page:12(email) C/spinbutton.js.page:15(email)
-#: C/set-up-gedit.page:12(email) C/scale.js.page:12(email)
-#: C/radiobutton.js.page:12(email) C/progressbar.js.page:11(email)
-#: C/messagedialog.js.page:15(email) C/linkbutton.js.page:12(email)
-#: C/label.js.page:12(email) C/grid.js.page:17(email)
-#: C/entry.js.page:12(email) C/dialog.js.page:12(email)
-#: C/comboboxtext.js.page:14(email) C/checkbutton.js.page:12(email)
-#: C/button.js.page:12(email) C/aboutdialog.js.page:11(email)
+#: C/window.js.page:13(email) C/treeview_simple_liststore.js.page:16(email)
+#: C/togglebutton.js.page:13(email) C/textview.js.page:17(email)
+#: C/switch.js.page:13(email) C/statusbar.js.page:13(email)
+#: C/spinner.js.page:13(email) C/spinbutton.js.page:16(email)
+#: C/set-up-gedit.js.page:12(email) C/scale.js.page:13(email)
+#: C/radiobutton.js.page:13(email) C/progressbar.js.page:12(email)
+#: C/messagedialog.js.page:16(email) C/linkbutton.js.page:13(email)
+#: C/label.js.page:13(email) C/image.js.page:12(email)
+#: C/hellognome.js.page:12(email) C/grid.js.page:18(email)
+#: C/entry.js.page:13(email) C/dialog.js.page:13(email)
+#: C/combobox.js.page:17(email) C/comboboxtext.js.page:15(email)
+#: C/checkbutton.js.page:13(email) C/button.js.page:13(email)
+#: C/aboutdialog.js.page:12(email) C/03_getting_the_signal.js.page:16(email)
+#: C/02_welcome_to_the_grid.js.page:15(email)
 msgid "jewelfox fursona net"
 msgstr "jewelfox fursona net"
 
-#: C/window.js.page:16(desc)
+#: C/window.js.page:17(desc)
 msgid "A basic window which can contain other widgets"
 msgstr "Una ventana bÃsica que puede contener otros widgets."
 
-#: C/window.js.page:24(p)
+#: C/window.js.page:25(p)
 msgid "A minimal GtkApplication"
 msgstr "Una GtkApplication mÃnima"
 
-#: C/window.js.page:27(p)
+#: C/window.js.page:28(p)
 msgid ""
 "Use <link xref=\"GtkApplicationWindow.js\">ApplicationWindow</link> if you "
 "need GMenu support."
@@ -475,39 +551,37 @@ msgstr ""
 "Use una <link href=\"GtkApplicationWindow.js\">ventana de aplicaciÃn</link> "
 "si necesita soporte para GMenu."
 
-#: C/window.js.page:33(p)
+#: C/window.js.page:34(p)
 msgid "In this example we used the following:"
 msgstr "En este ejemplo se usa lo siguiente:"
 
-#: C/window.js.page:38(link) C/toolbar.js.page:29(link)
+#: C/window.js.page:39(link) C/toolbar.js.page:30(link)
 msgid "Gtk.Window"
 msgstr "Gtk.Window"
 
-#: C/window.c.page:22(p)
-#, fuzzy
-#| msgid ""
-#| "Use <link xref=\"GtkApplicationWindow.c\">Application Window</link> if "
-#| "you need GMenu support."
+#: C/window.c.page:7(title)
+msgid "Window (C)"
+msgstr "Ventana (C)"
+
+#: C/window.c.page:23(p)
 msgid ""
 "A minimal GtkApplication. Use <link xref=\"GtkApplicationWindow.c"
 "\">Application Window</link> if you need GMenu support."
 msgstr ""
-"Use una <link href=\"GtkApplicationWindow.c\">ventana de aplicaciÃn</link> "
-"si necesita soporte para GMenu."
+"Una GtkAplication mÃnima. Use una <link href=\"GtkApplicationWindow.c"
+"\">ventana de aplicaciÃn</link> si necesita soporte para GMenu."
 
 #: C/weatherGeonames.js.page:10(name) C/weatherAutotools.js.page:10(name)
-#: C/weatherAppMain.js.page:10(name) C/weatherApp.js.page:10(name)
-#: C/helloworldautotools.js.page:10(name) C/helloWorld.js.page:10(name)
-#: C/guitar-tuner.js.page:10(name) C/grid.js.page:11(name)
-#: C/desktop.js.page:10(name) C/beginner.js.page:10(name)
+#: C/weatherAppMain.js.page:10(name) C/weatherApp.js.page:11(name)
+#: C/helloWorld.js.page:14(name) C/guitar-tuner.js.page:11(name)
+#: C/grid.js.page:12(name) C/beginner.js.page:10(name)
 msgid "Susanna Huhtanen"
 msgstr "Susanna Huhtanen"
 
 #: C/weatherGeonames.js.page:11(email) C/weatherAutotools.js.page:11(email)
-#: C/weatherAppMain.js.page:11(email) C/weatherApp.js.page:11(email)
-#: C/helloworldautotools.js.page:11(email) C/helloWorld.js.page:11(email)
-#: C/guitar-tuner.js.page:11(email) C/grid.js.page:12(email)
-#: C/desktop.js.page:11(email) C/beginner.js.page:11(email)
+#: C/weatherAppMain.js.page:11(email) C/weatherApp.js.page:12(email)
+#: C/helloWorld.js.page:15(email) C/guitar-tuner.js.page:12(email)
+#: C/grid.js.page:13(email) C/beginner.js.page:11(email)
 msgid "ihmis suski gmail com"
 msgstr "ihmis suski gmail com"
 
@@ -516,15 +590,24 @@ msgid "Local library geoNames"
 msgstr "Biblioteca local geoNames"
 
 #: C/weatherGeonames.js.page:20(p)
-msgid ""
-"In this part of the guide well construct the local library geoNames using "
+#| msgid ""
+#| "In this part of the guide well construct the local library geoNames using "
+#| "asynchronous calls. Weather information in this example is fetched from "
+#| "geonames.org and the application is using the <link href=\"http://en.";
+#| "wikipedia.org/wiki/List_of_airports_by_ICAO_code:_E\">ICAO codes </link> "
+#| "to place your weather request. To write and run all the code examples "
+#| "yourself, you need an editor to write code in, Terminal and GNOME 3 or "
+#| "higher installed into your computer. In this guide we we'll go through "
+#| "the following parts:"
+msgid ""
+"In this part of the guide we'll construct the local library geoNames using "
 "asynchronous calls. Weather information in this example is fetched from "
 "geonames.org and the application is using the <link href=\"http://en.";
 "wikipedia.org/wiki/List_of_airports_by_ICAO_code:_E\">ICAO codes </link> to "
 "place your weather request. To write and run all the code examples yourself, "
 "you need an editor to write code in, Terminal and GNOME 3 or higher "
-"installed into your computer. In this guide we we'll go through the "
-"following parts:"
+"installed into your computer. In this guide we'll go through the following "
+"parts:"
 msgstr ""
 "En esta parte de la guÃa se construirà la biblioteca local geoNames usando "
 "llamadas asÃncronas. En este ejemplo, la informaciÃn del clima se obtiene de "
@@ -577,7 +660,7 @@ msgid ""
 "first and later expand them. This will be done inside the GeoNames.prototype "
 "curly braces{}"
 msgstr ""
-"Aquà se crea la funciÃn GenoNames, que manejarà la obtenciÃn del clima. "
+"Aquà se crea la funciÃn GeoNames, que manejarà la obtenciÃn del clima. "
 "JavaScript permite crear funciones sencillas al principio para ampliarlas "
 "mÃs tarde. Esto se harà dentro de las llaves de GeoNames.prototype."
 
@@ -609,7 +692,7 @@ msgstr ""
 "Aquà està el cÃdigo completo de la biblioteca. El archivo de programa "
 "principal la llama de manera asÃncrona."
 
-#: C/weatherAutotools.js.page:18(title) C/weatherApp.js.page:29(link)
+#: C/weatherAutotools.js.page:18(title) C/weatherApp.js.page:30(link)
 msgid "Autotools and Icons"
 msgstr "Autotools e iconos"
 
@@ -665,17 +748,16 @@ msgid "weatherapp.sh.in"
 msgstr "weatherapp.sh.in"
 
 #: C/weatherAutotools.js.page:37(p) C/weatherAutotools.js.page:63(p)
-#: C/helloworldautotools.js.page:23(p) C/helloworldautotools.js.page:34(p)
+#: C/helloWorld.js.page:162(title)
 msgid "Makefile.am"
 msgstr "Makefile.am"
 
 #: C/weatherAutotools.js.page:38(p) C/weatherAutotools.js.page:130(p)
-#: C/helloworldautotools.js.page:24(p) C/helloworldautotools.js.page:45(p)
+#: C/helloWorld.js.page:167(title)
 msgid "configure.ac"
 msgstr "configure.ac"
 
-#: C/weatherAutotools.js.page:39(p) C/helloworldautotools.js.page:22(p)
-#: C/helloworldautotools.js.page:27(p)
+#: C/weatherAutotools.js.page:39(p) C/helloWorld.js.page:154(title)
 msgid "autogen.sh"
 msgstr "autogen.sh"
 
@@ -772,7 +854,7 @@ msgstr ""
 msgid "appicon_DATA=weather-icon.svg"
 msgstr "appicon_DATA=weather-icon.svg"
 
-#: C/weatherAppMain.js.page:18(title) C/weatherApp.js.page:27(link)
+#: C/weatherAppMain.js.page:18(title) C/weatherApp.js.page:28(link)
 msgid "The main program file"
 msgstr "El archivo del programa principal"
 
@@ -790,26 +872,26 @@ msgstr ""
 "las siguientes partes:"
 
 #: C/weatherAppMain.js.page:22(link) C/weatherAppMain.js.page:32(title)
-#: C/helloWorld.js.page:22(link) C/helloWorld.js.page:34(title)
-#: C/guitar-tuner.js.page:24(link) C/guitar-tuner.js.page:46(title)
+#: C/helloWorld.js.page:45(title) C/guitar-tuner.js.page:25(link)
+#: C/guitar-tuner.js.page:47(title)
 msgid "Script for running the application"
 msgstr "Script para ejecutar la aplicaciÃn"
 
 #: C/weatherAppMain.js.page:23(link) C/weatherAppMain.js.page:40(title)
-#: C/treeview_simple_liststore.js.page:35(title)
-#: C/togglebutton.js.page:26(title) C/textview.js.page:36(title)
-#: C/switch.js.page:33(title) C/statusbar.js.page:26(title)
-#: C/spinbutton.js.page:29(title) C/scale.js.page:26(title)
-#: C/radiobutton.js.page:26(title) C/messagedialog.js.page:29(title)
-#: C/helloWorld.js.page:23(link) C/helloWorld.js.page:41(title)
-#: C/guitar-tuner.js.page:25(link) C/guitar-tuner.js.page:53(title)
-#: C/comboboxtext.js.page:28(title) C/checkbutton.js.page:26(title)
+#: C/treeview_simple_liststore.js.page:36(title)
+#: C/togglebutton.js.page:27(title) C/textview.js.page:37(title)
+#: C/switch.js.page:34(title) C/statusbar.js.page:27(title)
+#: C/spinbutton.js.page:30(title) C/scale.js.page:27(title)
+#: C/radiobutton.js.page:27(title) C/messagedialog.js.page:30(title)
+#: C/helloWorld.js.page:52(title) C/guitar-tuner.js.page:26(link)
+#: C/guitar-tuner.js.page:54(title) C/combobox.js.page:32(title)
+#: C/comboboxtext.js.page:29(title) C/checkbutton.js.page:27(title)
 msgid "Libraries to import"
 msgstr "Bibliotecas que importar"
 
 #: C/weatherAppMain.js.page:24(link) C/weatherAppMain.js.page:48(title)
-#: C/helloWorld.js.page:24(link) C/helloWorld.js.page:48(title)
-#: C/guitar-tuner.js.page:26(link) C/guitar-tuner.js.page:62(title)
+#: C/helloWorld.js.page:58(title) C/guitar-tuner.js.page:27(link)
+#: C/guitar-tuner.js.page:63(title)
 msgid "Creating the main window for the application"
 msgstr "Crear la ventana principal de la aplicaciÃn"
 
@@ -902,8 +984,8 @@ msgstr ""
 "hace con GeoNames es solicitar el tiempo. Todo lo que sucede despuÃs de "
 "GeoNames.getWeather(function(error, weather) ocurre sÃlo si se obtiene un "
 "mensaje de error o informaciÃn del tiempo incorrecta. Si no pasa nada de "
-"esto, el resto del programa funciona de manera normal, por lo que Âmain_Quit "
-"funciona."
+"esto, el resto del programa funciona de manera normal, por lo que "
+"Âmain_Quit funciona."
 
 #: C/weatherAppMain.js.page:124(title)
 msgid "Connecting signals to button and entry."
@@ -933,12 +1015,9 @@ msgstr "El archivo Weatherapp.js se parece a esto:"
 msgid "Running until you have all the autotools files ready. :"
 msgstr "EjecÃtela hasta que tenga listos todos los archivos de autotools:"
 
-#: C/weatherAppMain.js.page:230(output)
-#: C/helloworldautotools.js.page:33(output)
-#: C/helloworldautotools.js.page:55(output)
-#: C/helloworldautotools.js.page:56(output)
-#: C/helloworldautotools.js.page:57(output) C/helloWorld.js.page:113(output)
-#: C/helloWorld.js.page:114(output) C/guitar-tuner.js.page:229(output)
+#: C/weatherAppMain.js.page:230(output) C/helloWorld.js.page:120(output)
+#: C/helloWorld.js.page:131(output) C/helloWorld.js.page:158(output)
+#: C/guitar-tuner.js.page:230(output)
 msgid "$"
 msgstr "$"
 
@@ -958,12 +1037,16 @@ msgstr ""
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/weatherApp.js.page:34(None)
+#: C/weatherApp.js.page:35(None)
 msgid "@@image: 'media/weatherAppJs.png'; md5=1fe859ac4854273d72ea8fc9203639b2"
 msgstr ""
 "@@image: 'media/weatherAppJs.png'; md5=1fe859ac4854273d72ea8fc9203639b2"
 
-#: C/weatherApp.js.page:15(desc)
+#: C/weatherApp.js.page:6(title)
+msgid "Weather Application (JavaScript)"
+msgstr "AplicaciÃn del clima (JavaScript)"
+
+#: C/weatherApp.js.page:16(desc)
 msgid ""
 "How to plan an application that uses asynchronous calls. Asynchronous calls "
 "will be presented through a weather application."
@@ -972,11 +1055,11 @@ msgstr ""
 "asÃncronas se presentarÃn mediante una aplicaciÃn de informaciÃn "
 "meteorolÃgica."
 
-#: C/weatherApp.js.page:20(title)
+#: C/weatherApp.js.page:21(title)
 msgid "4 Weather Application"
 msgstr "4 AplicaciÃn del clima"
 
-#: C/weatherApp.js.page:22(p)
+#: C/weatherApp.js.page:23(p)
 msgid ""
 "In this guide well construct a weather application using asynchronous calls. "
 "Weather information in this example is fetched from geonames.org and the "
@@ -995,23 +1078,23 @@ msgstr ""
 "GNOME 3 o superior instalado en su equipo. En esta guÃa se verÃn las "
 "siguientes partes:"
 
-#: C/weatherApp.js.page:25(link) C/weatherApp.js.page:37(title)
+#: C/weatherApp.js.page:26(link) C/weatherApp.js.page:38(title)
 msgid "Planning the graphical user interface"
 msgstr "Planificar la interfaz grÃfica de usuario"
 
-#: C/weatherApp.js.page:26(link) C/weatherApp.js.page:41(title)
+#: C/weatherApp.js.page:27(link) C/weatherApp.js.page:42(title)
 msgid "Asynchronous calls"
 msgstr "Llamadas asÃncronas"
 
-#: C/weatherApp.js.page:28(link)
+#: C/weatherApp.js.page:29(link)
 msgid "Local library GeoNames"
 msgstr "Biblioteca local GeoNames"
 
-#: C/weatherApp.js.page:33(p) C/guitar-tuner.js.page:34(p)
+#: C/weatherApp.js.page:34(p) C/guitar-tuner.js.page:35(p)
 msgid "After reading this tutorial, you should see this in your screen:"
 msgstr "DespuÃs de leer este tutorial, deberÃa ver esto en su pantalla:"
 
-#: C/weatherApp.js.page:38(p)
+#: C/weatherApp.js.page:39(p)
 msgid ""
 "Structuring an application for GNOME 3 means you will be using <link href="
 "\"http://developer.gnome.org/platform-overview/stable/gtk\";>GTK+</link>. The "
@@ -1024,7 +1107,7 @@ msgid ""
 "the first widget is in place, placing widgets can be done in relation to any "
 "widget on the grid."
 msgstr ""
-"Estructura una aplicaciÃn GNOME 3 significa que usarà <link href=\"http://";
+"Estructurar una aplicaciÃn GNOME 3 significa que usarà <link href=\"http://";
 "developer.gnome.org/platform-overview/stable/gtk\">GTK+</link>. Lo mÃs "
 "importante es recordar que la ventana principal sÃlo aceptarà un widget. "
 "Debe planificar su estructura de acuerdo a esto (este ejemplo usa una Gtk."
@@ -1034,7 +1117,7 @@ msgstr ""
 "widgets en relaciÃn a otros widgets, por lo que despuÃs de colocar el "
 "primero, los demÃs se pueden colocar en relaciÃn al primero en la rejilla."
 
-#: C/weatherApp.js.page:42(p)
+#: C/weatherApp.js.page:43(p)
 msgid ""
 "With many programming languages, all operations are run synchronously - you "
 "tell the program to do something, and it will wait until that action "
@@ -1047,8 +1130,19 @@ msgid ""
 "calls can be used for example file system I/O and for slower calculations in "
 "the background."
 msgstr ""
+"En muchos lenguajes de programaciÃn, todas las operaciones se ejecutan "
+"sÃncronamente: le ordena al programa que haga algo, y esperarà hasta que esa "
+"acciÃn se complete antes de seguir. Esto, sin embargo, es malo para "
+"interfaces grÃficas de usuario, ya que la aplicaciÃn entera se detendrà "
+"mientras el programa espera a la operaciÃn. Ser asÃncrono (async) ayuda en "
+"este caso. Con llamadas async, su IU no se bloquearà con ninguna peticiÃn. "
+"Las llamadas async hacen su aplicaciÃn mÃs flexible y mejor equipada para "
+"manejar situaciones en las que las llamadas toman mÃs tiempo de lo esperado "
+"o por alguna razÃn se bloquean. Las llamadas async pueden usarse, por "
+"ejemplo, para E/S del sistema de archivos y para cÃlculos lentos en segundo "
+"plano."
 
-#: C/weatherApp.js.page:45(p)
+#: C/weatherApp.js.page:46(p)
 msgid ""
 "In this example we have to get data from geonames.org. While we do that we "
 "want the rest of our program to continue. If we wouldn't get any information "
@@ -1057,8 +1151,14 @@ msgid ""
 "() is processed correctly and the application would have to killed from "
 "Terminal."
 msgstr ""
+"En este ejemplo, se deben obtener datos de geonames.org. Mientras se hace "
+"esto, se quiere que el resto del programa continÃe. Si no obtuviÃramos "
+"ninguna informaciÃn de geonames.org por la falta de conexiÃn a internet y "
+"esta fuera una aplicaciÃn sÃncrona, nunca se llegarÃa al punto en el que el "
+"main_quit() se procesa correctamente y habrÃa que matar la aplicaciÃn desde "
+"una terminal."
 
-#: C/weatherApp.js.page:48(title)
+#: C/weatherApp.js.page:49(title)
 msgid "The different parts of the program"
 msgstr "Las diferentes partes del programa"
 
@@ -1071,11 +1171,181 @@ msgid "Tutorials, code samples and platform demos in Vala"
 msgstr ""
 "Tutoriales, ejemplos de cÃdigo y demostraciones de la plataforma en Vala"
 
-#: C/translate.page:12(years) C/textview.py.page:15(years)
-#: C/strings.py.page:15(years) C/signals-callbacks.py.page:15(years)
-#: C/properties.py.page:15(years) C/model-view-controller.py.page:15(years)
-#: C/index.page:19(years) C/entry.py.page:19(years)
-#: C/documentation.page:12(years) C/bug-filing.page:11(years)
+#: C/tutorial.py.page:8(title)
+msgid "Beginner's Tutorial (Python)"
+msgstr "Tutorial para principiantes (Python)"
+
+#: C/tutorial.py.page:12(desc)
+msgid ""
+"A tutorial for beginners who want to learn how to program GUIs using GTK+ in "
+"Python."
+msgstr ""
+"Un tutorial para principiantes que quieran aprender cÃmo programar IGU "
+"usando GTK+ en Python."
+
+#: C/tutorial.py.page:25(title)
+msgid "0 Beginner's Tutorial"
+msgstr "0. Tutorial para principiantes"
+
+#: C/tutorial.py.page:28(p) C/beginner.vala.page:32(p) C/beginner.c.page:29(p)
+msgid ""
+"By following these tutorials you will learn the basics of GUI programming "
+"using Gtk+."
+msgstr ""
+"Siguiendo estos tutoriales, aprenderà los conceptos bÃsicos de la "
+"programaciÃn de interfaces de usuario usando GTK+."
+
+#: C/tutorial.py.page:30(p)
+#, fuzzy
+#| msgid ""
+#| "If you have never programmed before, or are not familiar with the "
+#| "concepts of object oriented programming, you may need to learn a few "
+#| "basics first. The book <link href=\"http://learnpythonthehardway.org/book/";
+#| "\">Learn Python the Hard Way</link> or <link href=\"http://docs.python.";
+#| "org/tutorial/index.html\">The Python Tutorial</link> may be a better "
+#| "place for you to start. You may also be interested in the <link href="
+#| "\"http://python-gtk-3-tutorial.readthedocs.org/en/latest/index.html\";>The "
+#| "Python GTK+ 3 Tutorial</link>. Once you master the basics, be sure to "
+#| "come back and check out these tutorials."
+msgid ""
+"If you have never programmed before, or are not familiar with the concepts "
+"of object oriented programming, you may need to learn a few basics first. "
+"The book <link href=\"http://learnpythonthehardway.org/book/\";>Learn Python "
+"the Hard Way</link> or <link href=\"http://docs.python.org/tutorial/index.";
+"html\">The Python Tutorial</link> may be a better place for you to start. "
+"You may also be interested in <link href=\"http://python-gtk-3-tutorial.";
+"readthedocs.org/en/latest/index.html\">The Python GTK+ 3 Tutorial</link>. "
+"Once you master the basics, be sure to come back and check out these "
+"tutorials."
+msgstr ""
+"Si nunca antes ha programado, o no està familiarizado con los conceptos de "
+"la programaciÃn orientada a objetos, puede necesitar aprender primero unos "
+"conceptos bÃsicos. El libro <link href=\"http://learnpythonthehardway.org/";
+"book/\">Learn Python the Hard Way</link> o <link href=\"http://docs.python.";
+"org/tutorial/index.html\">The Python Tutorial</link> pueden ser un buen "
+"comienzo. Tal vez tambiÃn està interesado en <link href=\"http://python-";
+"gtk-3-tutorial.readthedocs.org/en/latest/index.html\">The Python GTK+ 3 "
+"Tutorial</link>. Una vez que domine los conceptos bÃsicos, vuelva y revise "
+"estos tutoriales."
+
+#: C/tutorial.py.page:36(title)
+msgid "To run the code samples"
+msgstr "Para ejecutar los ejemplos de cÃdigo"
+
+#: C/tutorial.py.page:38(p) C/beginner.vala.page:41(p)
+#: C/beginner.js.page:42(p) C/beginner.c.page:38(p)
+msgid "To run the code samples:"
+msgstr "Para ejecutar los ejemplos de cÃdigo:"
+
+#: C/tutorial.py.page:40(p)
+msgid "Copy and paste the code into <var>filename</var>.py"
+msgstr "Copie y pegue el cÃdigo en <var>nombre_archivo</var>.py"
+
+#: C/tutorial.py.page:41(p) C/beginner.vala.page:46(p) C/beginner.c.page:43(p)
+#: C/beginner.c.page:56(p)
+msgid "In the terminal type:"
+msgstr "Escriba en la terminal:"
+
+#: C/tutorial.py.page:42(screen)
+#, no-wrap
+msgid "python <var>filename</var>.py"
+msgstr "python <var>nombre_archivo</var>.py"
+
+#: C/tutorial.py.page:48(title)
+msgid "A path through the widgets"
+msgstr "Un camino a travÃs de los widgets"
+
+#: C/tutorial.py.page:50(title)
+msgid "Tutorial"
+msgstr "Tutorial"
+
+#: C/tutorial.py.page:52(title)
+msgid "Basic windows"
+msgstr "Ventanas bÃsicas"
+
+#: C/tutorial.py.page:57(title)
+msgid "Images and labels"
+msgstr "ImÃgenes y etiquetas"
+
+#: C/tutorial.py.page:62(title) C/grid.py.page:27(title)
+#: C/grid.js.page:24(title) C/grid.c.page:20(title)
+msgid "Grid"
+msgstr "Rejilla"
+
+#: C/tutorial.py.page:66(title) C/beginner.vala.page:77(title)
+#: C/beginner.py.page:54(title) C/beginner.js.page:73(title)
+#: C/beginner.c.page:88(title)
+msgid "Ornaments"
+msgstr "Adornos"
+
+#: C/tutorial.py.page:70(title)
+msgid "Basic buttons"
+msgstr "Botones bÃsicos"
+
+#: C/tutorial.py.page:79(title)
+msgid "Other display widgets"
+msgstr "Otros widgets de visualizaciÃn"
+
+#: C/tutorial.py.page:85(title)
+msgid "Entry widgets (with a detour on basic scrolling)"
+msgstr "Widgets de entrada (con algo de desplazamiento bÃsico)"
+
+#: C/tutorial.py.page:93(title)
+msgid "Dialogs"
+msgstr "DiaÌlogos"
+
+#: C/tutorial.py.page:99(title)
+msgid "TreeViews and ComboBoxes (using the M/V/C design)"
+msgstr "TreeViews y ComboBoxes (usando el diseÃo M/V/C)"
+
+#: C/tutorial.py.page:108(title)
+msgid "Menus and toolbars (also: using Glade)"
+msgstr "MenÃs y barras de herramientas (tambiÃn usando Glade)"
+
+#: C/tutorial.py.page:116(title)
+msgid "Selectors (a recap)"
+msgstr "Selectores (un resumen)"
+
+#: C/tutorial.py.page:122(title) C/tooltip.py.page:21(title)
+msgid "Tooltip"
+msgstr "Consejo"
+
+#: C/tutorial.py.page:126(title)
+msgid "More containers"
+msgstr "MÃs contenedores"
+
+#: C/tutorial.py.page:131(title)
+msgid "More scrolling"
+msgstr "MÃs desplazamiento"
+
+#: C/tutorial.py.page:132(p)
+msgid "\"scrollbar.py\""
+msgstr "Âscrollbar.pyÂ"
+
+#: C/tutorial.py.page:135(title)
+msgid "Custom widget"
+msgstr "Widget personalizado"
+
+#: C/tutorial.py.page:136(p)
+msgid "\"widget.py\""
+msgstr "Âwidget.pyÂ"
+
+#: C/tutorial.py.page:142(title)
+msgid "Some theory to help you"
+msgstr "Algo de teorÃa para ayudarle"
+
+#: C/tutorial.py.page:147(title) C/menubar.vala.page:197(title)
+#: C/beginner.vala.page:86(title) C/beginner.js.page:82(title)
+#: C/beginner.c.page:97(title)
+msgid "Exercises"
+msgstr "Ejercicios"
+
+#: C/translate.page:12(years) C/toolbar_builder.py.page:28(years)
+#: C/textview.py.page:16(years) C/strings.py.page:16(years)
+#: C/signals-callbacks.py.page:16(years) C/properties.py.page:16(years)
+#: C/model-view-controller.py.page:16(years) C/index.page:19(years)
+#: C/entry.py.page:20(years) C/documentation.page:12(years)
+#: C/bug-filing.page:11(years)
 msgid "2011"
 msgstr "2011"
 
@@ -1133,7 +1403,7 @@ msgstr ""
 "Puede chatear con los traductores de GNOME usando <link href=\"https://";
 "cbe003.chat.mibbit.com/?url=irc%3A%2F%2Firc.gnome.org%2Fi18n\">irc</link>. "
 "La gente de los canales se encuentra en cualquier parte del mundo, por lo "
-"que puede que no obtenga una respuesa inmediata debido a las diferencias "
+"que puede que no obtenga una respuesta inmediata debido a las diferencias "
 "horarias."
 
 #: C/translate.page:37(p)
@@ -1148,92 +1418,93 @@ msgstr ""
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/treeview_treestore.py.page:20(None)
-#| msgid ""
-#| "@@image: 'media/treeview_simple_liststore.png'; "
-#| "md5=2dc501a2b95b094da985d37b66aee90c"
+#: C/treeview_treestore.py.page:21(None)
 msgid ""
 "@@image: 'media/treeview_treestore.png'; md5=5ca87bc4acd55c527b3fb5fd46779d85"
 msgstr ""
 "@@image: 'media/treeview_treestore.png'; md5=5ca87bc4acd55c527b3fb5fd46779d85"
 
-#: C/treeview_treestore.py.page:16(desc)
+#: C/treeview_treestore.py.page:7(title)
+#: C/treeview_cellrenderertoggle.py.page:7(title)
+msgid "TreeView with TreeStore (Python)"
+msgstr "TreeView con TreeStore (Python)"
+
+#: C/treeview_treestore.py.page:17(desc)
 msgid "A TreeView displaying a TreeStore (simpler example)"
-msgstr ""
+msgstr "Un TreeView mostrando un TreeStore (ejemplo mÃs simple)"
 
-#: C/treeview_treestore.py.page:19(title)
-#: C/treeview_cellrenderertoggle.py.page:19(title)
-#| msgid "Simple Treeview with ListStore"
-msgid "Treeview with TreeStore"
-msgstr "Treeview con TreeStore"
+#: C/treeview_treestore.py.page:20(title)
+#: C/treeview_cellrenderertoggle.py.page:20(title)
+msgid "TreeView with TreeStore"
+msgstr "TreeView con TreeStore"
 
-#: C/treeview_treestore.py.page:21(p)
+#: C/treeview_treestore.py.page:22(p)
 msgid "This TreeView displays a TreeStore."
-msgstr ""
+msgstr "Este TreeView muestra un TreeStore"
 
-#: C/treeview_treestore.py.page:32(title)
-#: C/treeview_simple_liststore.py.page:34(title)
-#: C/treeview_cellrenderertoggle.py.page:32(title)
-#: C/treeview_advanced_liststore.py.page:35(title)
-#, fuzzy
-#| msgid "Useful methods for a TextView widget"
+#: C/treeview_treestore.py.page:33(title)
+#: C/treeview_simple_liststore.py.page:35(title)
+#: C/treeview_cellrenderertoggle.py.page:33(title)
+#: C/treeview_advanced_liststore.py.page:36(title)
 msgid "Useful methods for a TreeView widget"
-msgstr "MÃtodos Ãtiles para un widget ÂTextViewÂ"
+msgstr "MÃtodos Ãtiles para un widget TreeView"
 
-#: C/treeview_treestore.py.page:33(p)
-#: C/treeview_simple_liststore.py.page:35(p)
-#: C/treeview_cellrenderertoggle.py.page:33(p)
-#: C/treeview_advanced_liststore.py.page:36(p)
+#: C/treeview_treestore.py.page:34(p)
+#: C/treeview_simple_liststore.py.page:36(p)
+#: C/treeview_cellrenderertoggle.py.page:34(p)
+#: C/treeview_advanced_liststore.py.page:37(p)
 msgid ""
 "The TreeView widget is designed around a <em>Model/View/Controller</em> "
 "design. For more information, and for a list of useful methods for TreeView "
 "and the interface TreeModel, see <link xref=\"model-view-controller.py"
 "\">here</link>."
 msgstr ""
-
-#: C/treeview_treestore.py.page:40(link)
-#: C/treeview_simple_liststore.py.page:42(link)
-#: C/treeview_cellrenderertoggle.py.page:40(link)
-#: C/treeview_advanced_liststore.py.page:44(link)
-#: C/model-view-controller.py.page:185(link)
-msgid "GtkTreeView"
-msgstr "GtkTreeView"
+"El widget TreeView està diseÃado alrededor de un diseÃo <em>Modelo/Vista/"
+"Controlador</em>. Para obtener mÃs informaciÃn, y una lista de mÃtodos "
+"Ãtiles para TreeView y la interfaz TreeModel, consulte <link xref=\"model-"
+"view-controller.py\">aquÃ</link>."
 
 #: C/treeview_treestore.py.page:41(link)
 #: C/treeview_simple_liststore.py.page:43(link)
 #: C/treeview_cellrenderertoggle.py.page:41(link)
 #: C/treeview_advanced_liststore.py.page:45(link)
-#: C/model-view-controller.py.page:184(link)
-#| msgid "GtkTreeView"
-msgid "GtkTreeModel"
-msgstr "GtkTreeModel"
+#: C/model-view-controller.py.page:186(link)
+msgid "GtkTreeView"
+msgstr "GtkTreeView"
 
 #: C/treeview_treestore.py.page:42(link)
+#: C/treeview_simple_liststore.py.page:44(link)
 #: C/treeview_cellrenderertoggle.py.page:42(link)
-#| msgid "GtkTreeView"
-msgid "GtkTreeStore"
-msgstr "GtkTreeStore"
+#: C/treeview_advanced_liststore.py.page:46(link)
+#: C/model-view-controller.py.page:185(link)
+msgid "GtkTreeModel"
+msgstr "GtkTreeModel"
 
 #: C/treeview_treestore.py.page:43(link)
-#: C/treeview_simple_liststore.py.page:45(link)
 #: C/treeview_cellrenderertoggle.py.page:43(link)
-#: C/treeview_advanced_liststore.py.page:47(link)
-#: C/combobox_multicolumn.py.page:44(link) C/combobox.py.page:41(link)
-msgid "GtkCellRendererText"
-msgstr "GtkCellRendererText"
+msgid "GtkTreeStore"
+msgstr "GtkTreeStore"
 
 #: C/treeview_treestore.py.page:44(link)
 #: C/treeview_simple_liststore.py.page:46(link)
-#: C/treeview_cellrenderertoggle.py.page:45(link)
+#: C/treeview_cellrenderertoggle.py.page:44(link)
 #: C/treeview_advanced_liststore.py.page:48(link)
-#: C/model-view-controller.py.page:186(link)
+#: C/combobox_multicolumn.py.page:45(link) C/combobox.py.page:42(link)
+msgid "GtkCellRendererText"
+msgstr "GtkCellRendererText"
+
+#: C/treeview_treestore.py.page:45(link)
+#: C/treeview_simple_liststore.py.page:47(link)
+#: C/treeview_cellrenderertoggle.py.page:46(link)
+#: C/treeview_advanced_liststore.py.page:49(link)
+#: C/model-view-controller.py.page:187(link)
 msgid "GtkTreeViewColumn"
 msgstr "GtkTreeViewColumn"
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/treeview_simple_liststore.vala.page:22(None)
-#: C/treeview_simple_liststore.py.page:22(None)
+#: C/treeview_simple_liststore.vala.page:23(None)
+#: C/treeview_simple_liststore.py.page:23(None)
 msgid ""
 "@@image: 'media/treeview_simple_liststore.png'; "
 "md5=2dc501a2b95b094da985d37b66aee90c"
@@ -1241,19 +1512,22 @@ msgstr ""
 "@@image: 'media/treeview_simple_liststore.png'; "
 "md5=2dc501a2b95b094da985d37b66aee90c"
 
-#: C/treeview_simple_liststore.vala.page:18(desc)
+#: C/treeview_simple_liststore.vala.page:7(title)
+msgid "Simple Treeview with ListStore (Vala)"
+msgstr "Treeview sencillo con ListStore (Vala)"
+
+#: C/treeview_simple_liststore.vala.page:19(desc)
 msgid "A widget can display any TreeModel implementation (lists and trees)"
 msgstr ""
 "Un widget puede mostrar cualquier implementaciÃn de TreeModel (listas y "
 "Ãrboles)"
 
-#: C/treeview_simple_liststore.vala.page:21(title)
-#: C/treeview_simple_liststore.py.page:21(title)
-#: C/treeview_advanced_liststore.py.page:22(title)
+#: C/treeview_simple_liststore.vala.page:22(title)
+#: C/treeview_advanced_liststore.py.page:23(title)
 msgid "Simple Treeview with ListStore"
 msgstr "Treeview sencillo con ListStore"
 
-#: C/treeview_simple_liststore.vala.page:23(p)
+#: C/treeview_simple_liststore.vala.page:24(p)
 msgid ""
 "This TreeView displays a simple ListStore with the Selection \"changed\" "
 "signal connected."
@@ -1261,31 +1535,36 @@ msgstr ""
 "Este TreeView muestra un ListStore sencillo con la seÃal de selecciÃn "
 "Âchanged conectada."
 
-#: C/treeview_simple_liststore.vala.page:30(link)
-#: C/treeview_simple_liststore.js.page:281(link)
+#: C/treeview_simple_liststore.vala.page:31(link)
+#: C/treeview_simple_liststore.js.page:282(link)
 msgid "Gtk.TreeView"
 msgstr "Gtk.TreeView"
 
-#: C/treeview_simple_liststore.vala.page:31(link)
-#: C/treeview_simple_liststore.js.page:278(link) C/combobox.vala.page:28(link)
+#: C/treeview_simple_liststore.vala.page:32(link)
+#: C/treeview_simple_liststore.js.page:279(link) C/combobox.vala.page:29(link)
+#: C/combobox.js.page:242(link)
 msgid "Gtk.ListStore"
 msgstr "Gtk.ListStore"
 
-#: C/treeview_simple_liststore.vala.page:32(link)
-#: C/treeview_simple_liststore.js.page:280(link)
+#: C/treeview_simple_liststore.vala.page:33(link)
+#: C/treeview_simple_liststore.js.page:281(link)
 msgid "Gtk.TreeSelection"
 msgstr "Gtk.TreeSelection"
 
-#: C/treeview_simple_liststore.py.page:18(desc)
+#: C/treeview_simple_liststore.py.page:7(title)
+msgid "Simple TreeView with ListStore (Python)"
+msgstr "TreeView sencillo con ListStore (Python)"
+
+#: C/treeview_simple_liststore.py.page:19(desc)
 msgid "A TreeView displaying a ListStore (simpler example)"
-msgstr ""
+msgstr "Un TreeView mostrando un ListStore (ejemplo mÃs simple)"
 
-#: C/treeview_simple_liststore.py.page:23(p)
-#: C/treeview_advanced_liststore.py.page:24(p)
-#, fuzzy
-#| msgid ""
-#| "This TreeView displays a simple ListStore with the Selection \"changed\" "
-#| "signal connected."
+#: C/treeview_simple_liststore.py.page:22(title)
+msgid "Simple TreeView with ListStore"
+msgstr "TreeView sencillo con ListStore"
+
+#: C/treeview_simple_liststore.py.page:24(p)
+#: C/treeview_advanced_liststore.py.page:25(p)
 msgid ""
 "This TreeView displays a simple ListStore with the selection \"changed\" "
 "signal connected."
@@ -1293,28 +1572,25 @@ msgstr ""
 "Este TreeView muestra un ListStore sencillo con la seÃal de selecciÃn "
 "Âchanged conectada."
 
-#: C/treeview_simple_liststore.py.page:44(link)
-#: C/treeview_advanced_liststore.py.page:46(link)
-#: C/combobox_multicolumn.py.page:43(link) C/combobox.py.page:40(link)
+#: C/treeview_simple_liststore.py.page:45(link)
+#: C/treeview_advanced_liststore.py.page:47(link)
+#: C/combobox_multicolumn.py.page:44(link) C/combobox.py.page:41(link)
 msgid "GtkListStore"
 msgstr "GtkListStore"
 
-#: C/treeview_simple_liststore.py.page:47(link)
-#: C/treeview_advanced_liststore.py.page:49(link)
-#: C/combobox_multicolumn.py.page:47(link) C/combobox.py.page:43(link)
+#: C/treeview_simple_liststore.py.page:48(link)
+#: C/treeview_advanced_liststore.py.page:50(link)
+#: C/combobox_multicolumn.py.page:48(link) C/combobox.py.page:44(link)
 msgid "pygobject - Python bindings for GObject Introspection"
 msgstr "pygobject: vinculaciones de Python para la introspecciÃn de GObject"
 
-#: C/treeview_simple_liststore.py.page:48(link)
+#: C/treeview_simple_liststore.py.page:49(link)
 msgid "Fonts"
 msgstr "TipografiÌas"
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/treeview_simple_liststore.js.page:23(None)
-#| msgid ""
-#| "@@image: 'media/treeview_simple_liststore.png'; "
-#| "md5=2dc501a2b95b094da985d37b66aee90c"
+#: C/treeview_simple_liststore.js.page:24(None)
 msgid ""
 "@@image: 'media/treeview_simple_liststore_penguins.png'; "
 "md5=d750a0b9fddf8e508753cc639839871d"
@@ -1322,21 +1598,31 @@ msgstr ""
 "@@image: 'media/treeview_simple_liststore_penguins.png'; "
 "md5=d750a0b9fddf8e508753cc639839871d"
 
-#: C/treeview_simple_liststore.js.page:19(desc)
-#, fuzzy
-#| msgid "A widget used to choose from a list of items"
+#: C/treeview_simple_liststore.js.page:7(title)
+msgid "TreeView with ListStore (JavaScript)"
+msgstr "TreeView con ListStore (JavaScript)"
+
+#: C/treeview_simple_liststore.js.page:20(desc)
 msgid "A widget that shows a separate list of items"
-msgstr "Un widget usado para elegir de una lista de elementos"
+msgstr "Un widget que muestra una lista separada de elementos"
 
-#: C/treeview_simple_liststore.js.page:22(title)
-#| msgid "Simple Treeview with ListStore"
+#: C/treeview_simple_liststore.js.page:23(title)
 msgid "TreeView with ListStore"
 msgstr "TreeView con ListStore"
 
-#: C/treeview_simple_liststore.js.page:24(p)
+#: C/treeview_simple_liststore.js.page:25(p)
+#| msgid ""
+#| "A TreeView is like a window onto the contents of either a ListStore or a "
+#| "TreeStore. A ListStore is like a spreadsheet: a \"flat,\" two-dimensional "
+#| "list of things broken up into rows and columns. A TreeStore, meanwhile, "
+#| "can branch out in different directions like a tree can. In this example, "
+#| "we create a TreeView that shows the contents of a ListStore with "
+#| "(fictitious) names and phone numbers in it, and set it so that the <link "
+#| "xref=\"label.js\">Label</link> at the bottom of the window shows more "
+#| "information about whichever name you click on."
 msgid ""
 "A TreeView is like a window onto the contents of either a ListStore or a "
-"TreeStore. A ListStore is like a spreadsheet: a \"flat,\" two-dimensional "
+"TreeStore. A ListStore is like a spreadsheet: a \"flat\", two-dimensional "
 "list of things broken up into rows and columns. A TreeStore, meanwhile, can "
 "branch out in different directions like a tree can. In this example, we "
 "create a TreeView that shows the contents of a ListStore with (fictitious) "
@@ -1344,21 +1630,31 @@ msgid ""
 "\">Label</link> at the bottom of the window shows more information about "
 "whichever name you click on."
 msgstr ""
+"Un TreeView es como una ventana sobre los contenidos de un ListStore o un "
+"TreeStore. Un ListStore es como una hoja de cÃlculo: una lista de cosas "
+"ÂplanaÂ, de dos dimensiones, dividida en filas y columnas. Un TreeStore, en "
+"cambio, puede bifurcarse en distintas direcciones como un Ãrbol. En este "
+"ejemplo, se crea un TreeView que muestra el contenido de un ListStore con "
+"nombres y nÃmeros de telÃfono (ficticios), y se configura para que la <link "
+"xref=\"label.js\">Etiqueta</link> en la parte inferior de la ventana muestre "
+"mÃs informaciÃn acerca de cualquier nombre en el que pulse."
 
-#: C/treeview_simple_liststore.js.page:25(p)
+#: C/treeview_simple_liststore.js.page:26(p)
 msgid ""
 "The TreeView is not just a single widget, but contains a number of smaller "
 "ones:"
 msgstr ""
+"Un TreeView no es solamente un widget individual, sino que contiene varios "
+"mÃs pequeÃos."
 
-#: C/treeview_simple_liststore.js.page:27(p)
+#: C/treeview_simple_liststore.js.page:28(p)
 msgid ""
 "TreeViewColumn widgets show each (vertical) column of information from the "
 "ListStore. Each one has a title which can be shown at the top of the column, "
 "like in the screenshot."
 msgstr ""
 
-#: C/treeview_simple_liststore.js.page:28(p)
+#: C/treeview_simple_liststore.js.page:29(p)
 msgid ""
 "CellRenderer widgets are \"packed\" into each TreeViewColumn, and contain "
 "the instructions for how to display each individual \"cell\", or item from "
@@ -1367,7 +1663,7 @@ msgid ""
 "picture (\"pixel buffer\")."
 msgstr ""
 
-#: C/treeview_simple_liststore.js.page:30(p)
+#: C/treeview_simple_liststore.js.page:31(p)
 msgid ""
 "Finally, we're going to use an object called a TreeIter, which isn't a "
 "widget so much as an invisible cursor which points to a (horizontal) row in "
@@ -1377,7 +1673,7 @@ msgid ""
 "about."
 msgstr ""
 
-#: C/treeview_simple_liststore.js.page:31(p)
+#: C/treeview_simple_liststore.js.page:32(p)
 msgid ""
 "The TreeView is probably the most complicated Gtk widget, because of how "
 "many parts it has and how they all have to work together. Give yourself time "
@@ -1385,27 +1681,29 @@ msgid ""
 "if you're having trouble."
 msgstr ""
 
-#: C/treeview_simple_liststore.js.page:44(p) C/togglebutton.js.page:34(p)
-#: C/textview.js.page:43(p) C/switch.js.page:41(p) C/statusbar.js.page:34(p)
-#: C/spinbutton.js.page:37(p) C/scale.js.page:34(p)
-#: C/radiobutton.js.page:34(p) C/messagedialog.js.page:37(p)
-#: C/comboboxtext.js.page:35(p) C/checkbutton.js.page:34(p)
+#: C/treeview_simple_liststore.js.page:45(p) C/togglebutton.js.page:35(p)
+#: C/textview.js.page:44(p) C/switch.js.page:42(p) C/statusbar.js.page:35(p)
+#: C/spinbutton.js.page:38(p) C/scale.js.page:35(p)
+#: C/radiobutton.js.page:35(p) C/messagedialog.js.page:38(p)
+#: C/combobox.js.page:40(p) C/comboboxtext.js.page:36(p)
+#: C/checkbutton.js.page:35(p)
 msgid ""
 "These are the libraries we need to import for this application to run. "
 "Remember that the line which tells GNOME that we're using Gjs always needs "
 "to go at the start."
 msgstr ""
 
-#: C/treeview_simple_liststore.js.page:48(title)
-#: C/togglebutton.js.page:38(title) C/textview.js.page:47(title)
-#: C/switch.js.page:45(title) C/statusbar.js.page:38(title)
-#: C/spinbutton.js.page:41(title) C/scale.js.page:38(title)
-#: C/radiobutton.js.page:38(title) C/messagedialog.js.page:41(title)
-#: C/comboboxtext.js.page:39(title) C/checkbutton.js.page:38(title)
+#: C/treeview_simple_liststore.js.page:49(title)
+#: C/togglebutton.js.page:39(title) C/textview.js.page:48(title)
+#: C/switch.js.page:46(title) C/statusbar.js.page:39(title)
+#: C/spinbutton.js.page:42(title) C/scale.js.page:39(title)
+#: C/radiobutton.js.page:39(title) C/messagedialog.js.page:42(title)
+#: C/combobox.js.page:44(title) C/comboboxtext.js.page:40(title)
+#: C/checkbutton.js.page:39(title)
 msgid "Creating the application window"
 msgstr "Crear la ventana de la aplicaciÃn"
 
-#: C/treeview_simple_liststore.js.page:74(p)
+#: C/treeview_simple_liststore.js.page:75(p)
 msgid ""
 "All the code for this sample goes in the TreeViewExample class. The above "
 "code creates a <link href=\"http://www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/";
@@ -1413,10 +1711,11 @@ msgid ""
 "go in."
 msgstr ""
 
-#: C/treeview_simple_liststore.js.page:88(p) C/togglebutton.js.page:79(p)
-#: C/textview.js.page:86(p) C/switch.js.page:86(p) C/spinbutton.js.page:79(p)
-#: C/scale.js.page:76(p) C/radiobutton.js.page:77(p)
-#: C/messagedialog.js.page:82(p) C/comboboxtext.js.page:77(p)
+#: C/treeview_simple_liststore.js.page:89(p) C/togglebutton.js.page:80(p)
+#: C/textview.js.page:87(p) C/switch.js.page:87(p) C/spinbutton.js.page:80(p)
+#: C/scale.js.page:77(p) C/radiobutton.js.page:78(p)
+#: C/messagedialog.js.page:83(p) C/combobox.js.page:82(p)
+#: C/comboboxtext.js.page:78(p)
 msgid ""
 "The _buildUI function is where we put all the code to create the "
 "application's user interface. The first step is creating a new <link xref="
@@ -1424,13 +1723,13 @@ msgid ""
 "widgets into."
 msgstr ""
 
-#: C/treeview_simple_liststore.js.page:92(title)
+#: C/treeview_simple_liststore.js.page:93(title) C/combobox.js.page:86(title)
 #, fuzzy
 #| msgid "Creating the statusbar"
 msgid "Creating the ListStore"
 msgstr "Crear la barra de estado"
 
-#: C/treeview_simple_liststore.js.page:102(p)
+#: C/treeview_simple_liststore.js.page:103(p)
 msgid ""
 "We first create the ListStore like we would any widget. Then we call its "
 "set_column_types method, and pass it an array of GObject data types. (We "
@@ -1438,48 +1737,48 @@ msgid ""
 "to make it easier to read.)"
 msgstr ""
 
-#: C/treeview_simple_liststore.js.page:103(p)
+#: C/treeview_simple_liststore.js.page:104(p)
 msgid "The GObject data types you can use include:"
 msgstr ""
 
-#: C/treeview_simple_liststore.js.page:105(p)
+#: C/treeview_simple_liststore.js.page:106(p) C/combobox.js.page:97(p)
 msgid "<file>GObject.TYPE_BOOLEAN</file> -- True or false"
 msgstr ""
 
-#: C/treeview_simple_liststore.js.page:106(p)
+#: C/treeview_simple_liststore.js.page:107(p) C/combobox.js.page:98(p)
 msgid ""
 "<file>GObject.TYPE_FLOAT</file> -- A floating point number (one with a "
 "decimal point)"
 msgstr ""
 
-#: C/treeview_simple_liststore.js.page:107(p)
+#: C/treeview_simple_liststore.js.page:108(p) C/combobox.js.page:99(p)
 msgid "<file>GObject.TYPE_STRING</file> -- A string of letters and numbers"
 msgstr ""
 
-#: C/treeview_simple_liststore.js.page:108(p)
+#: C/treeview_simple_liststore.js.page:109(p)
 msgid "<file>gtk.gdk.Pixbuf</file> -- A picture"
 msgstr ""
 
-#: C/treeview_simple_liststore.js.page:110(p)
+#: C/treeview_simple_liststore.js.page:111(p)
 msgid ""
 "In this case, we're making a ListStore of four columns, each one containing "
 "string values."
 msgstr ""
 
-#: C/treeview_simple_liststore.js.page:111(p)
+#: C/treeview_simple_liststore.js.page:112(p) C/combobox.js.page:101(p)
 msgid ""
 "You need to put the line <file>const GObject = imports.gi.GObject;</file> at "
 "the start of your application's code, like we did in this example, if you "
 "want to be able to use GObject types."
 msgstr ""
 
-#: C/treeview_simple_liststore.js.page:130(p)
+#: C/treeview_simple_liststore.js.page:131(p)
 msgid ""
 "Here we have the information to go in the ListStore. It's an array of "
 "objects, each one corresponding to a single entry in our phone book."
 msgstr ""
 
-#: C/treeview_simple_liststore.js.page:131(p)
+#: C/treeview_simple_liststore.js.page:132(p)
 msgid ""
 "Note that the TreeView in the screenshot doesn't actually show the data from "
 "the \"description\" properties. Instead, that information's shown in the "
@@ -1490,7 +1789,7 @@ msgid ""
 "Label in our example or even a second TreeView."
 msgstr ""
 
-#: C/treeview_simple_liststore.js.page:140(p)
+#: C/treeview_simple_liststore.js.page:141(p)
 msgid ""
 "This <file>for</file> loop puts the strings from our phonebook into our "
 "ListStore in order. In order, we pass the ListStore's set method the iter "
@@ -1498,7 +1797,7 @@ msgid ""
 "set, and an array which contains the data we want to put into those columns."
 msgstr ""
 
-#: C/treeview_simple_liststore.js.page:141(p)
+#: C/treeview_simple_liststore.js.page:142(p)
 msgid ""
 "A ListStore's <file>append</file> method adds a horizontal row onto it (it "
 "starts out with none), and returns a TreeIter pointing to that row like a "
@@ -1507,27 +1806,27 @@ msgid ""
 "method which row to set data for at the same time."
 msgstr ""
 
-#: C/treeview_simple_liststore.js.page:146(title)
+#: C/treeview_simple_liststore.js.page:147(title)
 #, fuzzy
 #| msgid "Creating the switches"
 msgid "Creating the TreeView"
 msgstr "Crear los interruptores"
 
-#: C/treeview_simple_liststore.js.page:153(p)
+#: C/treeview_simple_liststore.js.page:154(p)
 msgid ""
 "Here we create a basic TreeView widget, that expands both horizontally and "
 "vertically to use as much space as needed. We set it to use the ListStore we "
 "created as its \"model\", or the thing it'll show us stuff from."
 msgstr ""
 
-#: C/treeview_simple_liststore.js.page:161(p)
+#: C/treeview_simple_liststore.js.page:162(p)
 msgid ""
 "Now we create each of the vertical TreeViewColumns we'll see in the "
 "TreeView. The title for each one goes at the top, as you can see in the "
 "screenshot."
 msgstr ""
 
-#: C/treeview_simple_liststore.js.page:176(p)
+#: C/treeview_simple_liststore.js.page:177(p)
 msgid ""
 "Here we create the CellRenderers that we'll use to display the text from our "
 "ListStore, and pack them into the TreeViewColumns. Each CellRendererText is "
@@ -1539,7 +1838,7 @@ msgid ""
 "instead of keeping them compact."
 msgstr ""
 
-#: C/treeview_simple_liststore.js.page:177(p)
+#: C/treeview_simple_liststore.js.page:178(p)
 msgid ""
 "<link href=\"http://www.pygtk.org/docs/pygtk/pango-constants.html\";>Here is "
 "a list</link> of other text properties you can use. In order to use these "
@@ -1547,7 +1846,7 @@ msgid ""
 "Pango;</file> at the beginning of your code like we did."
 msgstr ""
 
-#: C/treeview_simple_liststore.js.page:189(p)
+#: C/treeview_simple_liststore.js.page:190(p)
 msgid ""
 "Now that we've put the CellRenderers into the TreeViewColumns, we use the "
 "<file>add_attribute</file> method to tell each column to pull in text from "
@@ -1555,45 +1854,45 @@ msgid ""
 "phonebook."
 msgstr ""
 
-#: C/treeview_simple_liststore.js.page:191(p)
+#: C/treeview_simple_liststore.js.page:192(p)
 msgid ""
 "The first parameter is which CellRenderer we're going to use to render what "
 "we're pulling in."
 msgstr ""
 
-#: C/treeview_simple_liststore.js.page:192(p)
+#: C/treeview_simple_liststore.js.page:193(p)
 msgid ""
 "The second parameter is what kind of information we're going to pull in. In "
 "this case, we're letting it know that we're rendering text."
 msgstr ""
 
-#: C/treeview_simple_liststore.js.page:193(p)
+#: C/treeview_simple_liststore.js.page:194(p)
 msgid ""
 "The third parameter is which of the ListStore's columns we're pulling that "
 "information in from."
 msgstr ""
 
-#: C/treeview_simple_liststore.js.page:195(p)
+#: C/treeview_simple_liststore.js.page:196(p)
 msgid ""
 "After we've set that up, we use the TreeView's <file>insert_column</file> "
 "method to put our TreeViewColumns inside it in order. Our TreeView is now "
 "complete."
 msgstr ""
 
-#: C/treeview_simple_liststore.js.page:196(p)
+#: C/treeview_simple_liststore.js.page:197(p)
 msgid ""
 "Normally, you might want to use a loop to initialize your TreeView, but in "
 "this example we're spelling things out step by step for the sake of making "
 "it easier to understand."
 msgstr ""
 
-#: C/treeview_simple_liststore.js.page:200(title)
+#: C/treeview_simple_liststore.js.page:201(title)
 #, fuzzy
 #| msgid "Creating the rest of the UI"
 msgid "Building the rest of the UI"
 msgstr "Crear el resto de la IU"
 
-#: C/treeview_simple_liststore.js.page:211(p)
+#: C/treeview_simple_liststore.js.page:212(p)
 msgid ""
 "The TreeView's <file>get_selection</file> method returns an object called a "
 "TreeSelection. A TreeSelection is like a TreeIter in that it's basically a "
@@ -1601,7 +1900,7 @@ msgid ""
 "the one that's visibly highlighted as selected."
 msgstr ""
 
-#: C/treeview_simple_liststore.js.page:212(p)
+#: C/treeview_simple_liststore.js.page:213(p)
 msgid ""
 "After we get the TreeSelection that goes with our TreeView, we ask it to "
 "tell us when it changes which row it's pointing to. We do this by connecting "
@@ -1609,20 +1908,20 @@ msgid ""
 "wrote. This function changes the text displayed by the Label we just made."
 msgstr ""
 
-#: C/treeview_simple_liststore.js.page:229(p)
+#: C/treeview_simple_liststore.js.page:230(p)
 msgid ""
 "After we've gotten that out of the way, we create a <link xref=\"grid.js"
 "\">Grid</link> to put everything in, then add it to our window and tell the "
 "window to show itself and its contents."
 msgstr ""
 
-#: C/treeview_simple_liststore.js.page:233(title)
+#: C/treeview_simple_liststore.js.page:234(title)
 #, fuzzy
 #| msgid "Function which handles your selection"
 msgid "Function which handles a changed selection"
 msgstr "FunciÃn que maneja su selecciÃn"
 
-#: C/treeview_simple_liststore.js.page:252(p)
+#: C/treeview_simple_liststore.js.page:253(p)
 msgid ""
 "The line of code with the let statement is a little convoluted, but it's "
 "nonetheless the best way to get a TreeIter pointing to the same row as our "
@@ -1630,7 +1929,7 @@ msgid ""
 "<file>iter</file> is the only one we need."
 msgstr ""
 
-#: C/treeview_simple_liststore.js.page:253(p)
+#: C/treeview_simple_liststore.js.page:254(p)
 msgid ""
 "After we've done that, we call the Label's <file>set_label</file> function, "
 "and use the ListStore's <file>get_value</file> function a handful of times "
@@ -1638,7 +1937,7 @@ msgid ""
 "pointing to the row we want to get data from, and the column."
 msgstr ""
 
-#: C/treeview_simple_liststore.js.page:254(p)
+#: C/treeview_simple_liststore.js.page:255(p)
 msgid ""
 "Here, we want to get data from all four columns, including the \"hidden\" "
 "one that's not part of the TreeView. This way, we can use our Label to show "
@@ -1646,66 +1945,67 @@ msgid ""
 "see at a glance."
 msgstr ""
 
-#: C/treeview_simple_liststore.js.page:261(p)
+#: C/treeview_simple_liststore.js.page:262(p)
 msgid ""
 "Finally, we create a new instance of the finished TreeViewExample class, and "
 "set the application running."
 msgstr ""
 
-#: C/treeview_simple_liststore.js.page:265(title)
-#: C/togglebutton.js.page:146(title) C/textview.js.page:241(title)
-#: C/switch.js.page:257(title) C/statusbar.js.page:214(title)
-#: C/spinbutton.js.page:192(title) C/scale.js.page:201(title)
-#: C/radiobutton.js.page:267(title) C/messagedialog.js.page:182(title)
-#: C/comboboxtext.js.page:169(title) C/checkbutton.js.page:129(title)
+#: C/treeview_simple_liststore.js.page:266(title)
+#: C/togglebutton.js.page:147(title) C/textview.js.page:242(title)
+#: C/switch.js.page:258(title) C/statusbar.js.page:215(title)
+#: C/spinbutton.js.page:193(title) C/scale.js.page:202(title)
+#: C/radiobutton.js.page:268(title) C/messagedialog.js.page:183(title)
+#: C/hellognome.js.page:193(title) C/combobox.js.page:227(title)
+#: C/comboboxtext.js.page:170(title) C/checkbutton.js.page:130(title)
+#: C/02_welcome_to_the_grid.js.page:275(title)
 msgid "Complete code sample"
 msgstr "CÃdigo de ejemplo completo"
 
-#: C/treeview_simple_liststore.js.page:270(title)
-#: C/togglebutton.js.page:151(title) C/textview.js.page:246(title)
-#: C/switch.js.page:262(title) C/statusbar.js.page:219(title)
-#: C/spinbutton.js.page:197(title) C/scale.js.page:206(title)
-#: C/radiobutton.js.page:272(title) C/messagedialog.js.page:187(title)
-#: C/comboboxtext.js.page:174(title) C/checkbutton.js.page:134(title)
+#: C/treeview_simple_liststore.js.page:271(title)
+#: C/togglebutton.js.page:152(title) C/textview.js.page:247(title)
+#: C/switch.js.page:263(title) C/statusbar.js.page:220(title)
+#: C/spinbutton.js.page:198(title) C/scale.js.page:207(title)
+#: C/radiobutton.js.page:273(title) C/messagedialog.js.page:188(title)
+#: C/combobox.js.page:232(title) C/comboboxtext.js.page:175(title)
+#: C/checkbutton.js.page:135(title)
 msgid "In-depth documentation"
 msgstr "DocumentaciÃn en profundidad"
 
-#: C/treeview_simple_liststore.js.page:276(link)
-#: C/togglebutton.js.page:154(link) C/textview.js.page:249(link)
-#: C/switch.js.page:267(link) C/statusbar.js.page:222(link)
-#: C/spinner.js.page:30(link) C/spinbutton.js.page:201(link)
-#: C/scale.js.page:210(link) C/radiobutton.js.page:275(link)
-#: C/progressbar.js.page:39(link) C/messagedialog.js.page:195(link)
-#: C/linkbutton.js.page:29(link) C/label.vala.page:30(link)
-#: C/label.js.page:29(link) C/GtkApplicationWindow.vala.page:30(link)
-#: C/GtkApplicationWindow.js.page:30(link) C/grid.py.page:32(link)
-#: C/grid.js.page:33(link) C/gmenu.vala.page:41(link) C/entry.js.page:29(link)
-#: C/dialog.js.page:29(link) C/comboboxtext.js.page:180(link)
-#: C/checkbutton.js.page:137(link) C/button.js.page:30(link)
-#: C/aboutdialog.vala.page:38(link) C/aboutdialog.js.page:31(link)
+#: C/treeview_simple_liststore.js.page:277(link)
+#: C/togglebutton.js.page:155(link) C/textview.js.page:250(link)
+#: C/switch.js.page:268(link) C/statusbar.js.page:223(link)
+#: C/spinner.js.page:31(link) C/spinbutton.js.page:202(link)
+#: C/scale.js.page:211(link) C/radiobutton.js.page:276(link)
+#: C/progressbar.js.page:40(link) C/messagedialog.js.page:196(link)
+#: C/linkbutton.js.page:30(link) C/label.vala.page:31(link)
+#: C/label.js.page:30(link) C/image.js.page:32(link)
+#: C/GtkApplicationWindow.vala.page:31(link)
+#: C/GtkApplicationWindow.js.page:31(link) C/grid.js.page:34(link)
+#: C/gmenu.vala.page:42(link) C/entry.js.page:30(link)
+#: C/dialog.js.page:30(link) C/combobox.js.page:238(link)
+#: C/comboboxtext.js.page:181(link) C/checkbutton.js.page:138(link)
+#: C/button.js.page:31(link) C/aboutdialog.vala.page:39(link)
+#: C/aboutdialog.js.page:32(link)
 msgid "Gtk.ApplicationWindow"
 msgstr "Gtk.ApplicationWindow"
 
-#: C/treeview_simple_liststore.js.page:277(link) C/combobox.vala.page:30(link)
+#: C/treeview_simple_liststore.js.page:278(link) C/combobox.vala.page:31(link)
+#: C/combobox.js.page:240(link)
 msgid "Gtk.CellRendererText"
 msgstr "Gtk.CellRendererText"
 
-#: C/treeview_simple_liststore.js.page:279(link)
-#| msgid "Gtk.TreeView"
+#: C/treeview_simple_liststore.js.page:280(link) C/combobox.js.page:244(link)
 msgid "Gtk.TreeIter"
 msgstr "Gtk.TreeIter"
 
-#: C/treeview_simple_liststore.js.page:282(link)
-#| msgid "GtkTreeViewColumn"
+#: C/treeview_simple_liststore.js.page:283(link)
 msgid "Gtk.TreeViewColumn"
 msgstr "Gtk.TreeViewColumn"
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/treeview_cellrenderertoggle.py.page:20(None)
-#| msgid ""
-#| "@@image: 'media/treeview_simple_liststore.png'; "
-#| "md5=2dc501a2b95b094da985d37b66aee90c"
+#: C/treeview_cellrenderertoggle.py.page:21(None)
 msgid ""
 "@@image: 'media/treeview_cellrenderertoggle.png'; "
 "md5=ade9b9437f8f83150acf37610dab834d"
@@ -1713,13 +2013,13 @@ msgstr ""
 "@@image: 'media/treeview_cellrenderertoggle.png'; "
 "md5=ade9b9437f8f83150acf37610dab834d"
 
-#: C/treeview_cellrenderertoggle.py.page:16(desc)
+#: C/treeview_cellrenderertoggle.py.page:17(desc)
 msgid ""
 "A TreeView displaying a TreeStore (more complex example, with "
 "CellRendererToggle)"
 msgstr ""
 
-#: C/treeview_cellrenderertoggle.py.page:21(p)
+#: C/treeview_cellrenderertoggle.py.page:22(p)
 #, fuzzy
 #| msgid ""
 #| "This TreeView displays a simple ListStore with the Selection \"changed\" "
@@ -1731,17 +2031,13 @@ msgstr ""
 "Este TreeView muestra un ListStore sencillo con la seÃal de selecciÃn "
 "Âchanged conectada."
 
-#: C/treeview_cellrenderertoggle.py.page:44(link)
-#| msgid "GtkCellRendererText"
+#: C/treeview_cellrenderertoggle.py.page:45(link)
 msgid "GtkCellRendererToggle"
 msgstr "GtkCellRendererToggle"
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/treeview_advanced_liststore.py.page:23(None)
-#| msgid ""
-#| "@@image: 'media/treeview_simple_liststore.png'; "
-#| "md5=2dc501a2b95b094da985d37b66aee90c"
+#: C/treeview_advanced_liststore.py.page:24(None)
 msgid ""
 "@@image: 'media/treeview_advanced_liststore.png'; "
 "md5=102b512197fb9aa4ed9a16462f6af911"
@@ -1749,11 +2045,17 @@ msgstr ""
 "@@image: 'media/treeview_advanced_liststore.png'; "
 "md5=102b512197fb9aa4ed9a16462f6af911"
 
-#: C/treeview_advanced_liststore.py.page:19(desc)
+#: C/treeview_advanced_liststore.py.page:7(title)
+#, fuzzy
+#| msgid "Simple Treeview with ListStore"
+msgid "Simple Treeview with ListStore (Python)"
+msgstr "Treeview sencillo con ListStore"
+
+#: C/treeview_advanced_liststore.py.page:20(desc)
 msgid "A TreeView displaying a ListStore (more complex example)"
 msgstr ""
 
-#: C/treeview_advanced_liststore.py.page:37(p)
+#: C/treeview_advanced_liststore.py.page:38(p)
 msgid ""
 "For buttons and callbacks functions, see <link xref=\"signals-callbacks.py"
 "\">here</link>"
@@ -1761,20 +2063,133 @@ msgstr ""
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/toolbar_builder.vala.page:23(None) C/toolbar.vala.page:22(None)
-#: C/toolbar.py.page:22(None) C/toolbar.js.page:20(None)
+#: C/tooltip.py.page:22(None)
+#| msgid "@@image: 'media/textview.png'; md5=049e859ed1af2d7c93d8cb5cfd9f7792"
+msgid "@@image: 'media/tooltip.png'; md5=6950da5f4444aa941ecc2f0fc5951d52"
+msgstr "@@image: 'media/tooltip.png'; md5=6950da5f4444aa941ecc2f0fc5951d52"
+
+#: C/tooltip.py.page:7(title) C/menubutton.py.page:7(title)
+#: C/menubutton.py.page:26(title) C/menubutton.py.page:52(link)
+#: C/menubutton.vala.page:20(title) C/menubutton.vala.page:32(link)
+#: C/menubutton.js.page:20(title) C/menubutton.js.page:32(link)
+msgid "MenuButton"
+msgstr "MenuButton"
+
+#: C/tooltip.py.page:18(desc)
+#, fuzzy
+#| msgid "A separator widget"
+msgid "Add tips to your widgets"
+msgstr "Un widget separador"
+
+#: C/tooltip.py.page:23(p)
+msgid "A toolbar with a tooltip (with an image) for a button."
+msgstr ""
+
+#: C/tooltip.py.page:33(title)
+#, fuzzy
+#| msgid "Useful methods for a TextView widget"
+msgid "Useful methods for a Tooltip widget"
+msgstr "MÃtodos Ãtiles para un widget ÂTextViewÂ"
+
+#: C/tooltip.py.page:34(p)
+msgid ""
+"<code>set_tooltip_text(text)</code> and <code>set_tooltip_markup(text)</"
+"code> can be used to add a tooltip of plain text (or text in the Pango "
+"Markup Language) to a widget."
+msgstr ""
+
+#: C/tooltip.py.page:35(p)
+msgid "For more complex tooltips, for instance for a tooltip with an image:"
+msgstr ""
+
+#: C/tooltip.py.page:37(p)
+msgid ""
+"Set the <code>\"has-tooltip\"</code> property of the widget to <code>True</"
+"code>; this will make GTK+ monitor the widget for motion and related events "
+"which are needed to determine when and where to show a tooltip."
+msgstr ""
+
+#: C/tooltip.py.page:38(p)
+msgid ""
+"Connect to the <code>\"query-tooltip\"</code> signal. This signal will be "
+"emitted when a tooltip is supposed to be shown. One of the arguments passed "
+"to the signal handler is a GtkTooltip object. This is the object that we are "
+"about to display as a tooltip, and can be manipulated in your callback using "
+"functions like <code>set_icon()</code>. There are functions for setting the "
+"tooltip's markup (<code>set_markup(text)</code>), setting an image from a "
+"stock icon (<code>set_icon_from_stock(stock_id, size)</code>), or even "
+"putting in a custom widget (<code>set_custom(widget)</code>)."
+msgstr ""
+
+#: C/tooltip.py.page:39(p)
+msgid ""
+"Return <code>True</code> from your query-tooltip handler. This causes the "
+"tooltip to be show. If you return <code>False</code>, it will not be shown."
+msgstr ""
+
+#: C/tooltip.py.page:42(p)
+msgid ""
+"In the probably rare case where you want to have even more control over the "
+"tooltip that is about to be shown, you can set your own GtkWindow which will "
+"be used as tooltip window. This works as follows:"
+msgstr ""
+
+#: C/tooltip.py.page:44(p)
+msgid ""
+"Set <code>\"has-tooltip\"</code> and connect to <code>\"query-tooltip\"</"
+"code> as before."
+msgstr ""
+
+#: C/tooltip.py.page:45(p)
+msgid ""
+"Use <code>set_tooltip_window()</code> on the widget to set a GtkWindow "
+"created by you as tooltip window."
+msgstr ""
+
+#: C/tooltip.py.page:46(p)
+msgid ""
+"In the <code>\"query-tooltip\"</code> callback you can access your window "
+"using <code>get_tooltip_window()</code> and manipulate as you wish. The "
+"semantics of the return value are exactly as before, return <code>True</"
+"code> to show the window, <code>False</code> to not show it."
+msgstr ""
+
+#: C/tooltip.py.page:55(link)
+#| msgid "GtkToolItem"
+msgid "GtkTooltip"
+msgstr "GtkTooltip"
+
+#: C/tooltip.py.page:56(link) C/toolbar.py.page:52(link)
+msgid "GtkToolbar"
+msgstr "GtkToolbar"
+
+#: C/tooltip.py.page:57(link) C/toolbar_builder.py.page:195(link)
+#: C/toolbar.py.page:57(link) C/togglebutton.py.page:46(link)
+msgid "GtkWidget"
+msgstr "GtkWidget"
+
+#: C/tooltip.py.page:58(link) C/toolbar.py.page:55(link)
+#: C/combobox_multicolumn.py.page:47(link)
+msgid "Stock Items"
+msgstr "Elementos del almacÃn"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/toolbar_builder.vala.page:24(None) C/toolbar_builder.py.page:36(None)
+#: C/toolbar.vala.page:23(None) C/toolbar.py.page:23(None)
+#: C/toolbar.js.page:21(None)
 msgid "@@image: 'media/toolbar.png'; md5=f0350855eedf6343952b72d6d906f738"
 msgstr "@@image: 'media/toolbar.png'; md5=f0350855eedf6343952b72d6d906f738"
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/toolbar_builder.vala.page:31(None)
+#: C/toolbar_builder.vala.page:32(None) C/toolbar_builder.py.page:48(None)
 msgid "@@image: 'media/glade_ui.png'; md5=baea74fe213bc12ea934f64f6977215a"
 msgstr "@@image: 'media/glade_ui.png'; md5=baea74fe213bc12ea934f64f6977215a"
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/toolbar_builder.vala.page:37(None)
+#: C/toolbar_builder.vala.page:38(None) C/toolbar_builder.py.page:54(None)
 msgid ""
 "@@image: 'media/glade_select_toolbar.png'; "
 "md5=f7b5b224050b2e387eb04362fc99df00"
@@ -1784,7 +2199,7 @@ msgstr ""
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/toolbar_builder.vala.page:43(None)
+#: C/toolbar_builder.vala.page:44(None) C/toolbar_builder.py.page:60(None)
 msgid ""
 "@@image: 'media/glade_toolbar_general.png'; "
 "md5=e31daba6e8a3e526aca89d5f1622edaa"
@@ -1794,7 +2209,7 @@ msgstr ""
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/toolbar_builder.vala.page:49(None)
+#: C/toolbar_builder.vala.page:50(None) C/toolbar_builder.py.page:66(None)
 msgid ""
 "@@image: 'media/glade_toolbar_common.png'; "
 "md5=d5ec6cc0218ca98e195dbd033feb9ac5"
@@ -1804,7 +2219,7 @@ msgstr ""
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/toolbar_builder.vala.page:55(None)
+#: C/toolbar_builder.vala.page:56(None) C/toolbar_builder.py.page:72(None)
 msgid ""
 "@@image: 'media/glade_toolbar_edit.png'; md5=feb1e2b7040d24a4d030f94cf07c81fd"
 msgstr ""
@@ -1812,7 +2227,7 @@ msgstr ""
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/toolbar_builder.vala.page:114(None)
+#: C/toolbar_builder.vala.page:115(None) C/toolbar_builder.py.page:131(None)
 msgid ""
 "@@image: 'media/glade_toolbar_editor.png'; "
 "md5=8af65241e5ca47d5494a7b36640e6f1c"
@@ -1822,214 +2237,224 @@ msgstr ""
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/toolbar_builder.vala.page:123(None)
+#: C/toolbar_builder.vala.page:124(None) C/toolbar_builder.py.page:140(None)
 msgid ""
 "@@image: 'media/glade_visible_no.png'; md5=dc6c025aa825f4d772fbd283d6330026"
 msgstr ""
 "@@image: 'media/glade_visible_no.png'; md5=dc6c025aa825f4d772fbd283d6330026"
 
-#: C/toolbar_builder.vala.page:18(desc) C/toolbar.vala.page:17(desc)
+#: C/toolbar_builder.vala.page:7(title)
+#, fuzzy
+#| msgid "Toolbar created using Glade"
+msgid "Toolbar created using Glade (Vala)"
+msgstr "Barra de herramientas creada con Glade"
+
+#: C/toolbar_builder.vala.page:19(desc) C/toolbar.vala.page:18(desc)
 msgid "A bar of buttons"
 msgstr "Una barra de botones"
 
-#: C/toolbar_builder.vala.page:21(title)
+#: C/toolbar_builder.vala.page:22(title) C/toolbar_builder.py.page:34(title)
 msgid "Toolbar created using Glade"
 msgstr "Barra de herramientas creada con Glade"
 
-#: C/toolbar_builder.vala.page:24(p)
+#: C/toolbar_builder.vala.page:25(p)
 msgid ""
 "This example is similar to <link xref=\"toolbar.vala\"/>, except we use "
 "Glade to create the toolbar in an XML ui file."
 msgstr ""
 
-#: C/toolbar_builder.vala.page:26(p)
+#: C/toolbar_builder.vala.page:27(p) C/toolbar_builder.py.page:43(p)
 msgid ""
 "To create the toolbar using the <link href=\"http://glade.gnome.org/\";>Glade "
 "Interface Designer</link>:"
 msgstr ""
 
-#: C/toolbar_builder.vala.page:30(p)
+#: C/toolbar_builder.vala.page:31(p) C/toolbar_builder.py.page:47(p)
 msgid "Open Glade, and save the file as <file>toolbar_builder.ui</file>"
 msgstr "Abra Glade y guarde el archivo como <file>toolbar_builder.ui</file>"
 
-#: C/toolbar_builder.vala.page:31(media)
+#: C/toolbar_builder.vala.page:32(media) C/toolbar_builder.py.page:48(media)
 msgid "Screenshot of Glade ui"
 msgstr "Captura de pantalla de la IU de Glade"
 
-#: C/toolbar_builder.vala.page:36(p)
+#: C/toolbar_builder.vala.page:37(p) C/toolbar_builder.py.page:53(p)
 msgid ""
 "Under <gui>Containers</gui> on the left hand side, right click on the "
 "toolbar icon and select <gui>Add widget as toplevel</gui>."
 msgstr ""
 
-#: C/toolbar_builder.vala.page:37(media)
+#: C/toolbar_builder.vala.page:38(media) C/toolbar_builder.py.page:54(media)
 msgid "Screenshot of toolbar icon in Glade ui"
 msgstr ""
 "Captura de pantalla de los iconos de la barra de herramientas de la IU de "
 "Glade"
 
-#: C/toolbar_builder.vala.page:42(p)
+#: C/toolbar_builder.vala.page:43(p) C/toolbar_builder.py.page:59(p)
 msgid ""
 "Under the <gui>General</gui> tab on the bottom right, change the <gui>Name</"
 "gui> to <input>toolbar</input> and <gui>Show Arrow</gui> to <gui>No</gui>."
 msgstr ""
 
-#: C/toolbar_builder.vala.page:43(media)
+#: C/toolbar_builder.vala.page:44(media) C/toolbar_builder.py.page:60(media)
 msgid "Screenshot of General tab"
 msgstr "Captura de pantalla de la pestaÃa ÂGeneralÂ"
 
-#: C/toolbar_builder.vala.page:48(p)
+#: C/toolbar_builder.vala.page:49(p) C/toolbar_builder.py.page:65(p)
 msgid ""
 "Under the <gui>Common</gui> tab, set <gui>Horizontal Expand</gui> to "
 "<gui>Yes</gui>."
 msgstr ""
 
-#: C/toolbar_builder.vala.page:49(media)
+#: C/toolbar_builder.vala.page:50(media) C/toolbar_builder.py.page:66(media)
 msgid "Screenshot of Common tab"
 msgstr "Captura de pantalla de la pestaÃa ÂComunesÂ"
 
-#: C/toolbar_builder.vala.page:54(p)
+#: C/toolbar_builder.vala.page:55(p) C/toolbar_builder.py.page:71(p)
 msgid ""
 "Right click on the toolbar in the top right and select <gui>Edit</gui>. The "
 "<gui>Tool Bar Editor</gui> window will appear."
 msgstr ""
 
-#: C/toolbar_builder.vala.page:55(media)
+#: C/toolbar_builder.vala.page:56(media) C/toolbar_builder.py.page:72(media)
 msgid "Screenshot of where to right click to edit toolbar."
 msgstr ""
 
-#: C/toolbar_builder.vala.page:60(p)
+#: C/toolbar_builder.vala.page:61(p) C/toolbar_builder.py.page:77(p)
 msgid ""
 "We want to add 5 ToolButtons: New, Open, Undo, Fullscreen and Leave "
 "Fullscreen. First, we will add the New ToolButton."
 msgstr ""
 
-#: C/toolbar_builder.vala.page:63(p)
+#: C/toolbar_builder.vala.page:64(p) C/toolbar_builder.py.page:80(p)
 msgid "Under <gui>Hierarchy</gui> tab, click <gui>Add</gui>."
 msgstr ""
 
-#: C/toolbar_builder.vala.page:64(p)
+#: C/toolbar_builder.vala.page:65(p) C/toolbar_builder.py.page:81(p)
 msgid "Change the name of the ToolItem to <input>new_button</input>."
 msgstr ""
 
-#: C/toolbar_builder.vala.page:65(p)
+#: C/toolbar_builder.vala.page:66(p) C/toolbar_builder.py.page:82(p)
 msgid ""
 "Scroll down and set <gui>Is important</gui> to <gui>Yes</gui>. This will "
 "cause the label of the ToolButton to be shown, when you view the toolbar."
 msgstr ""
 
-#: C/toolbar_builder.vala.page:66(p)
+#: C/toolbar_builder.vala.page:67(p) C/toolbar_builder.py.page:83(p)
 msgid "Enter the <gui>action name</gui>: <input>app.new</input>."
 msgstr ""
 
-#: C/toolbar_builder.vala.page:67(p)
+#: C/toolbar_builder.vala.page:68(p) C/toolbar_builder.py.page:84(p)
 msgid "Change the <gui>Label</gui> to <input>New</input>."
 msgstr ""
 
-#: C/toolbar_builder.vala.page:68(p)
+#: C/toolbar_builder.vala.page:69(p) C/toolbar_builder.py.page:85(p)
 msgid ""
 "Select the <gui>New</gui> Stock Id from the drop down menu, or type "
 "<input>gtk-new</input>."
 msgstr ""
 
-#: C/toolbar_builder.vala.page:70(p)
+#: C/toolbar_builder.vala.page:71(p) C/toolbar_builder.py.page:87(p)
 msgid ""
 "Repeat the above steps for the remaining ToolButtons, with the following "
 "properties:"
 msgstr ""
 
-#: C/toolbar_builder.vala.page:76(p)
+#: C/toolbar_builder.vala.page:77(p) C/toolbar_builder.py.page:93(p)
+#: C/helloWorld.js.page:139(title)
 msgid "Name"
 msgstr "Nombre"
 
-#: C/toolbar_builder.vala.page:77(p)
+#: C/toolbar_builder.vala.page:78(p) C/toolbar_builder.py.page:94(p)
 msgid "Is important"
 msgstr "Es importante"
 
-#: C/toolbar_builder.vala.page:78(p)
+#: C/toolbar_builder.vala.page:79(p) C/toolbar_builder.py.page:95(p)
 msgid "action name"
 msgstr "nombre de la acciÃn"
 
-#: C/toolbar_builder.vala.page:79(p) C/label.vala.page:19(title)
-#: C/label.py.page:25(title) C/label.js.page:19(title)
-#: C/label.c.page:20(title)
+#: C/toolbar_builder.vala.page:80(p) C/toolbar_builder.py.page:96(p)
+#: C/label.vala.page:20(title) C/label.py.page:26(title)
+#: C/label.js.page:20(title) C/label.c.page:21(title)
 msgid "Label"
 msgstr "Label"
 
-#: C/toolbar_builder.vala.page:80(p)
+#: C/toolbar_builder.vala.page:81(p) C/toolbar_builder.py.page:97(p)
 msgid "Stock Id"
 msgstr "ID del inventario"
 
-#: C/toolbar_builder.vala.page:85(p)
+#: C/toolbar_builder.vala.page:86(p) C/toolbar_builder.py.page:102(p)
 msgid "open_button"
 msgstr "open_button"
 
-#: C/toolbar_builder.vala.page:86(p) C/toolbar_builder.vala.page:93(p)
-#: C/toolbar_builder.vala.page:100(p) C/toolbar_builder.vala.page:107(p)
+#: C/toolbar_builder.vala.page:87(p) C/toolbar_builder.vala.page:94(p)
+#: C/toolbar_builder.vala.page:101(p) C/toolbar_builder.vala.page:108(p)
+#: C/toolbar_builder.py.page:103(p) C/toolbar_builder.py.page:110(p)
+#: C/toolbar_builder.py.page:117(p) C/toolbar_builder.py.page:124(p)
 msgid "Yes"
 msgstr "SiÌ"
 
-#: C/toolbar_builder.vala.page:87(p)
+#: C/toolbar_builder.vala.page:88(p) C/toolbar_builder.py.page:104(p)
 msgid "app.open"
 msgstr "app.open"
 
-#: C/toolbar_builder.vala.page:88(p)
+#: C/toolbar_builder.vala.page:89(p) C/toolbar_builder.py.page:105(p)
 msgid "Open"
 msgstr "Abrir"
 
-#: C/toolbar_builder.vala.page:89(p)
+#: C/toolbar_builder.vala.page:90(p) C/toolbar_builder.py.page:106(p)
 msgid "gtk-open"
 msgstr "gtk-open"
 
-#: C/toolbar_builder.vala.page:92(p)
+#: C/toolbar_builder.vala.page:93(p) C/toolbar_builder.py.page:109(p)
 msgid "undo_button"
 msgstr "undo_button"
 
-#: C/toolbar_builder.vala.page:94(p)
+#: C/toolbar_builder.vala.page:95(p) C/toolbar_builder.py.page:111(p)
 msgid "win.undo"
 msgstr "win.undo"
 
-#: C/toolbar_builder.vala.page:95(p)
+#: C/toolbar_builder.vala.page:96(p) C/toolbar_builder.py.page:112(p)
 msgid "Undo"
 msgstr "Deshacer"
 
-#: C/toolbar_builder.vala.page:96(p)
+#: C/toolbar_builder.vala.page:97(p) C/toolbar_builder.py.page:113(p)
 msgid "gtk-undo"
 msgstr "gtk-undo"
 
-#: C/toolbar_builder.vala.page:99(p)
+#: C/toolbar_builder.vala.page:100(p) C/toolbar_builder.py.page:116(p)
 msgid "fullscreen_button"
 msgstr "fullscreen_button"
 
-#: C/toolbar_builder.vala.page:101(p) C/toolbar_builder.vala.page:108(p)
+#: C/toolbar_builder.vala.page:102(p) C/toolbar_builder.vala.page:109(p)
+#: C/toolbar_builder.py.page:118(p) C/toolbar_builder.py.page:125(p)
 msgid "win.fullscreen"
 msgstr "win.fullscreen"
 
-#: C/toolbar_builder.vala.page:102(p)
+#: C/toolbar_builder.vala.page:103(p) C/toolbar_builder.py.page:119(p)
 msgid "Fullscreen"
 msgstr "Pantalla completa"
 
-#: C/toolbar_builder.vala.page:103(p)
+#: C/toolbar_builder.vala.page:104(p) C/toolbar_builder.py.page:120(p)
 msgid "gtk-fullscreen"
 msgstr "gtk-fullscreen"
 
-#: C/toolbar_builder.vala.page:106(p)
+#: C/toolbar_builder.vala.page:107(p) C/toolbar_builder.py.page:123(p)
 msgid "leave_fullscreen_button"
 msgstr "leave_fullscreen_button"
 
-#: C/toolbar_builder.vala.page:109(p)
+#: C/toolbar_builder.vala.page:110(p) C/toolbar_builder.py.page:126(p)
 msgid "Leave Fullscreen"
 msgstr "Salir de pantalla completa"
 
-#: C/toolbar_builder.vala.page:110(p)
+#: C/toolbar_builder.vala.page:111(p) C/toolbar_builder.py.page:127(p)
 msgid "gtk-leave-fullscreen"
 msgstr "gtk-leave-fullscreen"
 
-#: C/toolbar_builder.vala.page:119(p)
+#: C/toolbar_builder.vala.page:120(p) C/toolbar_builder.py.page:136(p)
 msgid "Close the <gui>Tool Bar Editor</gui>."
 msgstr "Cierre el <gui>Editor de la barra de herramientas</gui>."
 
-#: C/toolbar_builder.vala.page:122(p)
+#: C/toolbar_builder.vala.page:123(p)
 msgid ""
 "When our program will first start, we don't want the <gui>Leave Fullscreen</"
 "gui> ToolButton to be visible, since the application will not be in "
@@ -2039,15 +2464,15 @@ msgid ""
 "loaded into your program code."
 msgstr ""
 
-#: C/toolbar_builder.vala.page:123(media)
+#: C/toolbar_builder.vala.page:124(media) C/toolbar_builder.py.page:140(media)
 msgid "Setting the visible property to No"
 msgstr "Establecer la propiedad Âvisible a ÂNoÂ"
 
-#: C/toolbar_builder.vala.page:128(p)
+#: C/toolbar_builder.vala.page:129(p) C/toolbar_builder.py.page:145(p)
 msgid "Save your work, and close Glade."
 msgstr "Guarde su trabajo y cierre Glade."
 
-#: C/toolbar_builder.vala.page:131(p)
+#: C/toolbar_builder.vala.page:132(p) C/toolbar_builder.py.page:148(p)
 msgid ""
 "The XML file created by Glade is shown below. This is the description of the "
 "toolbar. At the time of this writing, the option to add the class Gtk."
@@ -2056,37 +2481,174 @@ msgid ""
 "line 9 of <file>toolbar_builder.ui</file>:"
 msgstr ""
 
-#: C/toolbar_builder.vala.page:137(p)
+#: C/toolbar_builder.vala.page:138(p) C/toolbar_builder.py.page:154(p)
 msgid ""
 "If you do not add this, the program will still work fine. The resulting "
 "toolbar will however look slightly different then the screenshot at the top "
 "of this page."
 msgstr ""
 
-#: C/toolbar_builder.vala.page:142(p)
+#: C/toolbar_builder.vala.page:143(p) C/toolbar_builder.py.page:164(p)
 msgid ""
 "We now create the code below, which adds the toolbar from the file we just "
 "created."
 msgstr ""
 
-#: C/toolbar_builder.vala.page:149(link) C/toolbar.vala.page:32(link)
-#: C/toolbar.js.page:30(link)
-msgid "Gtk.Toolbar"
+#: C/toolbar_builder.vala.page:150(link) C/toolbar.vala.page:33(link)
+#: C/toolbar.js.page:31(link)
+msgid "Gtk.Toolbar"
 msgstr "Gtk.Toolbar"
 
-#: C/toolbar_builder.vala.page:150(link) C/toolbar.vala.page:33(link)
+#: C/toolbar_builder.vala.page:151(link) C/toolbar.vala.page:34(link)
 msgid "Gtk.Toolbutton"
 msgstr "Gtk.Toolbutton"
 
-#: C/toolbar_builder.vala.page:151(link) C/toolbar.vala.page:34(link)
+#: C/toolbar_builder.vala.page:152(link) C/toolbar.vala.page:35(link)
 msgid "Gtk.Stock"
 msgstr "Gtk.Stock"
 
-#: C/toolbar.vala.page:20(title) C/toolbar.js.page:19(title)
-msgid "Toolbar widget"
-msgstr "Widget de barra de herramientas"
+#: C/toolbar_builder.py.page:7(title)
+#, fuzzy
+#| msgid "Toolbar created using Glade"
+msgid "Toolbar created using Glade (Python)"
+msgstr "Barra de herramientas creada con Glade"
+
+#: C/toolbar_builder.py.page:26(name) C/textview.py.page:14(name)
+#: C/strings.py.page:14(name) C/signals-callbacks.py.page:14(name)
+#: C/properties.py.page:14(name) C/model-view-controller.py.page:14(name)
+#: C/label.py.page:18(name) C/entry.py.page:18(name)
+msgid "Sebastian PÃlsterl"
+msgstr "Sebastian PÃlsterl"
+
+#: C/toolbar_builder.py.page:27(email) C/textview.py.page:15(email)
+#: C/strings.py.page:15(email) C/signals-callbacks.py.page:15(email)
+#: C/properties.py.page:15(email) C/model-view-controller.py.page:15(email)
+#: C/label.py.page:19(email) C/entry.py.page:19(email)
+msgid "sebp k-d-w org"
+msgstr "sebp k-d-w org"
+
+#: C/toolbar_builder.py.page:31(desc) C/toolbar.py.page:18(desc)
+msgid "A bar of buttons and other widgets"
+msgstr "Una barra de botones y otros widgets"
+
+#: C/toolbar_builder.py.page:37(p)
+msgid ""
+"This example is similar to <link xref=\"toolbar.py\"/>, except we use Glade "
+"to create the toolbar in an XML .ui file."
+msgstr ""
+
+#: C/toolbar_builder.py.page:42(title)
+#, fuzzy
+#| msgid "Creating the switches"
+msgid "Creating the toolbar with Glade"
+msgstr "Crear los interruptores"
+
+#: C/toolbar_builder.py.page:139(p)
+msgid ""
+"When our program will first start, we do not want the <gui>Leave Fullscreen</"
+"gui> ToolButton to be visible, since the application will not be in "
+"fullscreen mode. You can set this in the <gui>Common</gui> tab, by clicking "
+"the <gui>Visible</gui> property to <gui>No</gui>. The ToolButton will still "
+"appear in the interface designer, but will behave correctly when the file is "
+"loaded into your program code. Note that the method <code>show_all()</code> "
+"would override this setting - so in the code we have to use <code>show()</"
+"code> separately on all the elements."
+msgstr ""
+
+#: C/toolbar_builder.py.page:170(title)
+#, fuzzy
+#| msgid "Useful methods for a Button widget"
+msgid "Useful methods for Gtk.Builder"
+msgstr "MÃtodos Ãtiles para un widget ÂButtonÂ"
+
+#: C/toolbar_builder.py.page:171(p)
+msgid ""
+"For the useful methods for a Toolbar widget, see <link xref=\"toolbar.py\"/>"
+msgstr ""
+
+#: C/toolbar_builder.py.page:173(p)
+msgid "Gtk.Builder builds an interface from an XML UI definition."
+msgstr ""
+
+#: C/toolbar_builder.py.page:176(p)
+msgid ""
+"<code>add_from_file(filename)</code> loads and parses the given file and "
+"merges it with the current contents of the Gtk.Builder."
+msgstr ""
+
+#: C/toolbar_builder.py.page:177(p)
+msgid ""
+"<code>add_from_string(string)</code> parses the given string and merges it "
+"with the current contents of the Gtk.Builder."
+msgstr ""
+
+#: C/toolbar_builder.py.page:178(p)
+msgid ""
+"<code>add_objects_from_file(filename, object_ids)</code> is the same as "
+"<code>add_from_file()</code>, but it loads only the objects with the ids "
+"given in the <code>object_id</code>s list."
+msgstr ""
+
+#: C/toolbar_builder.py.page:179(p)
+msgid ""
+"<code>add_objects_from_string(filename, object_ids)</code> is the same as "
+"<code>add_from_string()</code>, but it loads only the objects with the ids "
+"given in the <code>object_id</code>s list."
+msgstr ""
+
+#: C/toolbar_builder.py.page:180(p)
+msgid ""
+"<code>get_object(object_id)</code> retrieves the widget with the id "
+"<code>object_id</code> from the loaded objects in the builder."
+msgstr ""
+
+#: C/toolbar_builder.py.page:181(p)
+msgid "<code>get_objects()</code> returns all loaded objects."
+msgstr ""
+
+#: C/toolbar_builder.py.page:182(p)
+msgid ""
+"<code>connect_signals(handler_object)</code> connects the signals to the "
+"methods given in the <code>handler_object</code>. This can be any object "
+"which contains keys or attributes that are called like the signal handler "
+"names given in the interface description, e.g. a class or a dict."
+msgstr ""
+
+#: C/toolbar_builder.py.page:193(link) C/togglebutton.c.page:39(link)
+#: C/switch.py.page:50(link) C/switch.c.page:36(link)
+#: C/statusbar.c.page:39(link) C/spinbutton.c.page:39(link)
+#: C/separator.py.page:39(link) C/radiobutton.py.page:52(link)
+#: C/radiobutton.c.page:36(link) C/grid.py.page:59(link)
+#: C/grid.c.page:35(link) C/buttonbox.py.page:51(link)
+msgid "GtkGrid"
+msgstr "GtkGrid"
+
+#: C/toolbar_builder.py.page:194(link) C/menubar.py.page:184(link)
+#: C/filechooserdialog.py.page:79(link)
+#| msgid "Gtk.Builder"
+msgid "GtkBuilder"
+msgstr "GtkBuilder"
+
+#: C/toolbar_builder.py.page:196(link) C/toolbar.py.page:58(link)
+msgid "Event Structures"
+msgstr "Estructuras de eventos"
+
+#: C/toolbar_builder.py.page:197(link)
+msgid "The Python Gtk+ 3 Tutorial - Glade and Gtk.Builder"
+msgstr ""
+
+#: C/toolbar.vala.page:7(title)
+#, fuzzy
+#| msgid "Toolbar"
+msgid "Toolbar (Vala)"
+msgstr "Barra de herramientas"
+
+#: C/toolbar.vala.page:21(title) C/toolbar.py.page:21(title)
+#: C/toolbar.js.page:20(title)
+msgid "Toolbar"
+msgstr "Barra de herramientas"
 
-#: C/toolbar.vala.page:23(p) C/toolbar.js.page:21(p)
+#: C/toolbar.vala.page:24(p) C/toolbar.js.page:22(p)
 msgid ""
 "Toolbar can contain either text or stock icons. In this sample we use stock "
 "icons. This example has fullscreen functionality."
@@ -2095,7 +2657,7 @@ msgstr ""
 "ejemplo se usan iconos del almacÃn. Este ejemplo funciona a pantalla "
 "completa."
 
-#: C/toolbar.vala.page:24(p) C/toolbar.js.page:22(p)
+#: C/toolbar.vala.page:25(p) C/toolbar.js.page:23(p)
 msgid ""
 "This example uses SimpleActions (window and app). App actions can easily be "
 "added the the app menu."
@@ -2103,116 +2665,177 @@ msgstr ""
 "Este ejemplo usa SimpleActions (ventana y aplicaciÃn). Las acciones de la "
 "aplicaciÃn se pueden aÃadir fÃcilmente al menà de la aplicaciÃn."
 
-#: C/toolbar.py.page:17(desc)
-msgid "A bar of buttons and other widgets"
-msgstr "Una barra de botones y otros widgets"
-
-#: C/toolbar.py.page:20(title)
-msgid "Toolbar"
+#: C/toolbar.py.page:7(title)
+#, fuzzy
+#| msgid "Toolbar"
+msgid "Toolbar (Python)"
 msgstr "Barra de herramientas"
 
-#: C/toolbar.py.page:23(p)
+#: C/toolbar.py.page:24(p)
 msgid "An example of toolbar with buttons (from stock icons)."
 msgstr ""
 "Un ejemplo de barra de herramientas con botones (con iconos del almacÃn)."
 
-#: C/toolbar.py.page:31(link)
-msgid "GtkToolbar"
-msgstr "GtkToolbar"
+#: C/toolbar.py.page:35(title)
+#, fuzzy
+#| msgid "Useful methods for a Statusbar widget"
+msgid "Useful methods for a Toolbar widget"
+msgstr "MÃtodos Ãtiles para un widget ÂStatusbarÂ"
+
+#: C/toolbar.py.page:38(p)
+msgid ""
+"Use <code>insert(tool_item, position)</code> to insert the <code>tool_item</"
+"code> at <code>position</code>. If <code>position</code> is negative, the "
+"item is appended at the end of the toolbar."
+msgstr ""
+
+#: C/toolbar.py.page:39(p)
+msgid ""
+"<code>get_item_index(tool_item)</code> retrieves the position of "
+"<code>tool_item</code> on the toolbar."
+msgstr ""
+
+#: C/toolbar.py.page:40(p)
+msgid ""
+"<code>get_n_items()</code> returns the number of items on the toolbar; "
+"<code>get_nth_item(position)</code> returns the item in position "
+"<code>position</code>."
+msgstr ""
 
-#: C/toolbar.py.page:32(link)
+#: C/toolbar.py.page:41(p)
+msgid ""
+"If the toolbar does not have room for all the menu items, and "
+"<code>set_show_arrow(True)</code>, the items that do not have room are shown "
+"through an overflow menu."
+msgstr ""
+
+#: C/toolbar.py.page:42(p)
+msgid ""
+"<code>set_icon_size(icon_size)</code> sets the size of icons in the toolbar; "
+"<code>icon_size</code> can be one of <code>Gtk.IconSize.INVALID, Gtk."
+"IconSize.MENU, Gtk.IconSize.SMALL_TOOLBAR, Gtk.IconSize.LARGE_TOOLBAR, Gtk."
+"IconSize.BUTTON, Gtk.IconSize.DND, Gtk.IconSize.DIALOG</code>. This should "
+"be used only for special-purpose toolbars, normal application toolbars "
+"should respect user preferences for the size of icons. <code>unset_icon_size"
+"()</code> unsets the preferences set with <code>set_icon_size(icon_size)</"
+"code>, so that user preferences will be used to determine the icon size."
+msgstr ""
+
+#: C/toolbar.py.page:43(p)
+msgid ""
+"<code>set_style(style)</code>, where <code>style</code> is one of <code>Gtk."
+"ToolbarStyle.ICONS, Gtk.ToolbarStyle.TEXT, Gtk.ToolbarStyle.BOTH, Gtk."
+"ToolbarStyle.BOTH_HORIZ</code>, sets if the toolbar shows only icons, only "
+"text, or both (vertically stacked or alongside each other). To let user "
+"preferences determine the toolbar style, and unset a toolbar style so set, "
+"use <code>unset_style()</code>."
+msgstr ""
+
+#: C/toolbar.py.page:53(link)
 msgid "GtkToolButton"
 msgstr "GtkToolButton"
 
-#: C/toolbar.py.page:33(link)
+#: C/toolbar.py.page:54(link)
 msgid "GtkToolItem"
 msgstr "GtkToolItem"
 
-#: C/toolbar.py.page:34(link) C/combobox_multicolumn.py.page:46(link)
-msgid "Stock Items"
-msgstr "Elementos del almacÃn"
-
-#: C/toolbar.py.page:35(link)
+#: C/toolbar.py.page:56(link)
 msgid "GtkActionable"
 msgstr "GtkActionable"
 
-#: C/toolbar.py.page:36(link) C/togglebutton.py.page:45(link)
-msgid "GtkWidget"
-msgstr "GtkWidget"
-
-#: C/toolbar.py.page:37(link)
-msgid "Event Structures"
-msgstr "Estructuras de eventos"
+#: C/toolbar.js.page:7(title)
+#, fuzzy
+#| msgid "JavaScript"
+msgid "Toolbar (JavaScript)"
+msgstr "JavaScript"
 
-#: C/toolbar.js.page:16(desc)
+#: C/toolbar.js.page:17(desc)
 msgid "A bar of tools"
 msgstr "Una barra de botones"
 
-#: C/toolbar.js.page:31(link)
+#: C/toolbar.js.page:32(link)
 msgid "Gtk.ToolButton"
 msgstr "Gtk.ToolButton"
 
-#: C/toolbar.js.page:32(link)
+#: C/toolbar.js.page:33(link)
 msgid "Gtk Stock items"
 msgstr "Gtk Stock items"
 
-#: C/toolbar.js.page:33(link)
+#: C/toolbar.js.page:34(link)
 msgid "Gdk.WindowState"
 msgstr "Gdk.WindowState"
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/togglebutton.vala.page:23(None) C/togglebutton.py.page:23(None)
-#: C/togglebutton.js.page:20(None) C/togglebutton.c.page:25(None)
+#: C/togglebutton.vala.page:24(None) C/togglebutton.py.page:24(None)
+#: C/togglebutton.js.page:21(None) C/togglebutton.c.page:26(None)
 msgid "@@image: 'media/togglebutton.png'; md5=791e062613d4f9bd5936390b0aa18448"
 msgstr ""
 "@@image: 'media/togglebutton.png'; md5=791e062613d4f9bd5936390b0aa18448"
 
-#: C/togglebutton.vala.page:19(desc) C/togglebutton.py.page:19(desc)
-#: C/togglebutton.c.page:20(desc)
+#: C/togglebutton.vala.page:7(title)
+#, fuzzy
+#| msgid "ToggleButton"
+msgid "ToggleButton (Vala)"
+msgstr "ToggleButton"
+
+#: C/togglebutton.vala.page:20(desc) C/togglebutton.py.page:20(desc)
+#: C/togglebutton.c.page:21(desc)
 msgid "A button which retains state"
 msgstr "Un botÃn que mantiene su estado"
 
-#: C/togglebutton.vala.page:22(title) C/togglebutton.py.page:22(title)
-#: C/togglebutton.js.page:19(title)
+#: C/togglebutton.vala.page:23(title) C/togglebutton.py.page:23(title)
+#: C/togglebutton.js.page:20(title) C/togglebutton.c.page:24(title)
 msgid "ToggleButton"
 msgstr "ToggleButton"
 
-#: C/togglebutton.vala.page:24(p) C/togglebutton.py.page:24(p)
-#: C/togglebutton.c.page:26(p)
+#: C/togglebutton.vala.page:25(p) C/togglebutton.py.page:25(p)
+#: C/togglebutton.c.page:27(p)
 msgid "When this ToggleButton is in an active state, the spinner spins."
 msgstr "Cuando este ToggleButton està activado, el indicador de progreso gira."
 
-#: C/togglebutton.vala.page:31(link) C/togglebutton.js.page:157(link)
+#: C/togglebutton.vala.page:32(link) C/togglebutton.js.page:158(link)
 msgid "Gtk.ToggleButton"
 msgstr "Gtk.ToggleButton"
 
-#: C/togglebutton.py.page:36(title)
+#: C/togglebutton.py.page:7(title)
+#, fuzzy
+#| msgid "ToggleButton"
+msgid "ToggleButton (Python)"
+msgstr "ToggleButton"
+
+#: C/togglebutton.py.page:37(title)
 msgid "Useful methods for a ToggleButton widget"
 msgstr "MeÌtodos uÌtiles para un widget ÂToggleButtonÂ"
 
-#: C/togglebutton.py.page:37(p) C/radiobutton.py.page:36(p)
-#: C/messagedialog.py.page:35(p) C/fontchooserwidget.py.page:33(p)
-#: C/dialog.py.page:35(p) C/button.py.page:33(p) C/aboutdialog.py.page:35(p)
+#: C/togglebutton.py.page:38(p) C/radiobutton.py.page:37(p)
+#: C/messagedialog.py.page:36(p) C/fontchooserwidget.py.page:34(p)
+#: C/dialog.py.page:36(p) C/button.py.page:34(p) C/aboutdialog.py.page:36(p)
 msgid ""
 "For an explanation of signals and callback functions, see <link xref="
 "\"signals-callbacks.py\">this page</link>."
 msgstr ""
 
-#: C/togglebutton.py.page:44(link) C/checkbutton.py.page:47(link)
+#: C/togglebutton.py.page:45(link) C/checkbutton.py.page:48(link)
 msgid "GtkToggleButton"
 msgstr "GtkToggleButton"
 
-#: C/togglebutton.py.page:46(link) C/togglebutton.c.page:36(link)
-#: C/spinner.py.page:39(link) C/spinner.c.page:34(link)
+#: C/togglebutton.py.page:47(link) C/togglebutton.c.page:37(link)
+#: C/spinner.py.page:40(link) C/spinner.c.page:35(link)
 msgid "GtkSpinner"
 msgstr "GtkSpinner"
 
-#: C/togglebutton.js.page:16(desc)
+#: C/togglebutton.js.page:7(title)
+#, fuzzy
+#| msgid "ToggleButton"
+msgid "ToggleButton (JavaScript)"
+msgstr "ToggleButton"
+
+#: C/togglebutton.js.page:17(desc)
 msgid "Stays pressed until you click it again"
 msgstr ""
 
-#: C/togglebutton.js.page:21(p)
+#: C/togglebutton.js.page:22(p)
 msgid ""
 "A ToggleButton is like a normal <link xref=\"button.js\">Button,</link> "
 "except that it stays pressed in when you click it. You can use it like an on/"
@@ -2220,7 +2843,7 @@ msgid ""
 "link> in this example."
 msgstr ""
 
-#: C/togglebutton.js.page:22(p)
+#: C/togglebutton.js.page:23(p)
 msgid ""
 "A ToggleButton's get_active method returns true if it's pressed in, and "
 "false if it's not. Its set_active method is used if you want to change its "
@@ -2229,7 +2852,7 @@ msgid ""
 "can connect to a function to do something."
 msgstr ""
 
-#: C/togglebutton.js.page:65(p) C/radiobutton.js.page:65(p)
+#: C/togglebutton.js.page:66(p) C/radiobutton.js.page:66(p)
 msgid ""
 "All the code for this sample goes in the RadioButtonExample class. The above "
 "code creates a <link href=\"http://www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/";
@@ -2237,17 +2860,17 @@ msgid ""
 "go in."
 msgstr ""
 
-#: C/togglebutton.js.page:83(title)
+#: C/togglebutton.js.page:84(title)
 msgid "Creating the ToggleButton and other widgets"
 msgstr "Crear el ÂToggleButton y otros widgets"
 
-#: C/togglebutton.js.page:89(p)
+#: C/togglebutton.js.page:90(p)
 msgid ""
 "We want this <link xref=\"spinner.js\">Spinner</link> to expand vertically "
 "and horizontally, to take up as much space as possible inside the window."
 msgstr ""
 
-#: C/togglebutton.js.page:97(p)
+#: C/togglebutton.js.page:98(p)
 msgid ""
 "Creating a ToggleButton is a lot like creating a normal <link xref=\"button."
 "js\">Button.</link> The biggest difference is that you're handling a "
@@ -2256,23 +2879,23 @@ msgid ""
 "ToggleButton is toggled."
 msgstr ""
 
-#: C/togglebutton.js.page:107(p)
+#: C/togglebutton.js.page:108(p)
 msgid ""
 "Here we create a simple <link xref=\"grid.js\">Grid</link> to organize "
 "everything in, then attach the Spinner and ToggleButton to it."
 msgstr ""
 
-#: C/togglebutton.js.page:117(p)
+#: C/togglebutton.js.page:118(p)
 msgid ""
 "Now we add the Grid to the Window, and tell the Window to show itself and "
 "its child widgets when the application is started."
 msgstr ""
 
-#: C/togglebutton.js.page:121(title)
+#: C/togglebutton.js.page:122(title)
 msgid "Making something happen when the ToggleButton is toggled"
 msgstr ""
 
-#: C/togglebutton.js.page:135(p)
+#: C/togglebutton.js.page:136(p)
 msgid ""
 "Whenever someone toggles the button, this function checks what its state is "
 "afterwards using get_active and starts or stops the spinner accordingly. We "
@@ -2280,94 +2903,96 @@ msgid ""
 "returns true we start the spinner. Otherwise, we tell it to stop."
 msgstr ""
 
-#: C/togglebutton.js.page:142(p) C/radiobutton.js.page:263(p)
+#: C/togglebutton.js.page:143(p) C/radiobutton.js.page:264(p)
 msgid ""
 "Finally, we create a new instance of the finished RadioButtonExample class, "
 "and set the application running."
 msgstr ""
 
-#: C/togglebutton.js.page:155(link) C/textview.js.page:251(link)
-#: C/switch.js.page:268(link) C/spinbutton.js.page:202(link)
-#: C/scale.js.page:211(link) C/radiobutton.js.page:277(link)
-#: C/grid.vala.page:30(link) C/grid.py.page:33(link) C/grid.js.page:35(link)
+#: C/togglebutton.js.page:156(link) C/textview.js.page:252(link)
+#: C/switch.js.page:269(link) C/spinbutton.js.page:203(link)
+#: C/scale.js.page:212(link) C/radiobutton.js.page:278(link)
+#: C/grid.vala.page:31(link) C/grid.js.page:36(link)
 msgid "Gtk.Grid"
 msgstr "Gtk.Grid"
 
-#: C/togglebutton.js.page:156(link) C/spinner.vala.page:29(link)
-#: C/spinner.js.page:31(link)
+#: C/togglebutton.js.page:157(link) C/spinner.vala.page:30(link)
+#: C/spinner.js.page:32(link)
 msgid "Gtk.Spinner"
 msgstr "Gtk.Spinner"
 
-#: C/togglebutton.c.page:15(name) C/textview.c.page:11(name)
-#: C/switch.c.page:11(name) C/statusbar.c.page:15(name)
-#: C/spinner.c.page:12(name) C/spinbutton.c.page:14(name)
-#: C/scale.c.page:13(name) C/radiobutton.c.page:13(name)
-#: C/progressbar.c.page:12(name) C/linkbutton.c.page:11(name)
-#: C/label.c.page:12(name) C/image.c.page:11(name) C/grid.c.page:11(name)
-#: C/entry.c.page:11(name) C/dialog.c.page:13(name) C/button.c.page:13(name)
+#: C/togglebutton.c.page:7(title)
+#, fuzzy
+#| msgid "ToggleButton"
+msgid "ToggleButton (C)"
+msgstr "ToggleButton"
+
+#: C/togglebutton.c.page:16(name) C/textview.c.page:12(name)
+#: C/switch.c.page:12(name) C/statusbar.c.page:16(name)
+#: C/spinner.c.page:13(name) C/spinbutton.c.page:15(name)
+#: C/scale.c.page:14(name) C/radiobutton.c.page:14(name)
+#: C/progressbar.c.page:13(name) C/messagedialog.c.page:13(name)
+#: C/linkbutton.c.page:12(name) C/label.c.page:13(name)
+#: C/image.c.page:12(name) C/grid.c.page:12(name) C/entry.c.page:12(name)
+#: C/dialog.c.page:14(name) C/button.c.page:14(name)
+#: C/aboutdialog.c.page:14(name)
 msgid "Monica Kochofar"
 msgstr "Monica Kochofar"
 
-#: C/togglebutton.c.page:16(email) C/textview.c.page:12(email)
-#: C/switch.c.page:12(email) C/statusbar.c.page:16(email)
-#: C/spinner.c.page:13(email) C/spinbutton.c.page:15(email)
-#: C/scale.c.page:14(email) C/radiobutton.c.page:14(email)
-#: C/progressbar.c.page:13(email) C/linkbutton.c.page:12(email)
-#: C/label.c.page:13(email) C/image.c.page:12(email) C/grid.c.page:12(email)
-#: C/entry.c.page:12(email) C/dialog.c.page:14(email)
-#: C/button.c.page:14(email)
+#: C/togglebutton.c.page:17(email) C/textview.c.page:13(email)
+#: C/switch.c.page:13(email) C/statusbar.c.page:17(email)
+#: C/spinner.c.page:14(email) C/spinbutton.c.page:16(email)
+#: C/scale.c.page:15(email) C/radiobutton.c.page:15(email)
+#: C/progressbar.c.page:14(email) C/messagedialog.c.page:14(email)
+#: C/linkbutton.c.page:13(email) C/label.c.page:14(email)
+#: C/image.c.page:13(email) C/grid.c.page:13(email) C/entry.c.page:13(email)
+#: C/dialog.c.page:15(email) C/button.c.page:15(email)
+#: C/aboutdialog.c.page:15(email)
 msgid "monicakochofar gmail com"
 msgstr "monicakochofar gmail com"
 
-#: C/togglebutton.c.page:23(title)
-msgid "Togglebutton"
-msgstr "Togglebutton"
-
-#: C/togglebutton.c.page:37(link)
+#: C/togglebutton.c.page:38(link)
 msgid "GtkTogglebutton"
 msgstr "GtkTogglebutton"
 
-#: C/togglebutton.c.page:38(link) C/switch.py.page:49(link)
-#: C/switch.c.page:35(link) C/statusbar.c.page:38(link)
-#: C/spinbutton.c.page:38(link) C/separator.py.page:33(link)
-#: C/radiobutton.py.page:51(link) C/radiobutton.c.page:35(link)
-#: C/grid.c.page:34(link)
-msgid "GtkGrid"
-msgstr "GtkGrid"
-
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/textview.vala.page:25(None) C/textview.py.page:36(None)
-#: C/textview.c.page:25(None)
+#: C/textview.vala.page:26(None) C/textview.py.page:37(None)
+#: C/textview.c.page:26(None)
 msgid "@@image: 'media/textview.png'; md5=049e859ed1af2d7c93d8cb5cfd9f7792"
 msgstr "@@image: 'media/textview.png'; md5=049e859ed1af2d7c93d8cb5cfd9f7792"
 
-#: C/textview.vala.page:16(desc) C/textview.c.page:16(desc)
+#: C/textview.vala.page:7(title)
+#| msgid "TextView"
+msgid "TextView (Vala)"
+msgstr "TextView (Vala)"
+
+#: C/textview.vala.page:17(desc) C/textview.c.page:17(desc)
 msgid "Widget which displays a GtkTextBuffer"
 msgstr "Un widget que muestra un GtkTextBuffer"
 
-#: C/textview.vala.page:19(title) C/textview.c.page:19(title)
+#: C/textview.vala.page:20(title) C/textview.c.page:20(title)
 msgid "TextView widget"
 msgstr "Widget TextView"
 
-#: C/textview.vala.page:20(p) C/textview.py.page:30(p) C/textview.c.page:20(p)
+#: C/textview.vala.page:21(p) C/textview.py.page:31(p) C/textview.c.page:21(p)
 msgid "If we press \"enter\", we have a new line."
 msgstr "Si se pulsa ÂIntro se obtiene una lÃnea nueva."
 
-#: C/textview.vala.page:21(p) C/textview.c.page:21(p)
+#: C/textview.vala.page:22(p) C/textview.c.page:22(p)
 msgid ""
 "If we press \"enter\" more times then there are lines in the default sized "
 "window, then a vertical scrollbar appears."
 msgstr ""
 
-#: C/textview.vala.page:22(p) C/textview.c.page:22(p)
+#: C/textview.vala.page:23(p) C/textview.c.page:23(p)
 msgid ""
 "If we write a long sentence, the text will wrap breaking lines between words."
 msgstr ""
 "Si se escribe una frase larga, el texto se ajustarà a los saltos de lÃnea "
 "entre palabras."
 
-#: C/textview.vala.page:23(p)
+#: C/textview.vala.page:24(p)
 msgid ""
 "If we have a loooooooooooooooooooooooooooooooooooong word, a horizontal "
 "scrollbar will appear."
@@ -2375,58 +3000,49 @@ msgstr ""
 "Si es escribe una palabra laaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarga, "
 "aparecerà una barra de desplazamiento horizontal."
 
-#: C/textview.vala.page:26(p) C/textview.c.page:26(p)
+#: C/textview.vala.page:27(p) C/textview.c.page:27(p)
 msgid "This is an example of Gtk.TextView"
 msgstr "Esto es un ejemplo de of Gtk.TextView"
 
-#: C/textview.vala.page:33(link) C/textview.js.page:255(link)
+#: C/textview.vala.page:34(link) C/textview.js.page:256(link)
 msgid "Gtk.TextBuffer"
 msgstr "Gtk.TextBuffer"
 
-#: C/textview.vala.page:34(link) C/textview.js.page:256(link)
+#: C/textview.vala.page:35(link) C/textview.js.page:257(link)
 msgid "Gtk.TextView"
 msgstr "Gtk.TextView"
 
-#: C/textview.vala.page:35(link) C/textview.js.page:254(link)
-#: C/scrolledwindow.vala.page:29(link)
+#: C/textview.vala.page:36(link) C/textview.js.page:255(link)
+#: C/scrolledwindow.vala.page:30(link)
 msgid "Gtk.ScrolledWindow"
 msgstr "Gtk.ScrolledWindow"
 
-#: C/textview.vala.page:36(link)
+#: C/textview.vala.page:37(link)
 msgid "Gtk.WrapMode"
 msgstr "Gtk.WrapMode"
 
-#: C/textview.vala.page:37(link) C/scrolledwindow.vala.page:30(link)
+#: C/textview.vala.page:38(link) C/scrolledwindow.vala.page:31(link)
 msgid "Gtk.PolicyType"
 msgstr "Gtk.PolicyType"
 
-#: C/textview.py.page:13(name) C/strings.py.page:13(name)
-#: C/signals-callbacks.py.page:13(name) C/properties.py.page:13(name)
-#: C/model-view-controller.py.page:13(name) C/label.py.page:17(name)
-#: C/entry.py.page:17(name)
-msgid "Sebastian PÃlsterl"
-msgstr "Sebastian PÃlsterl"
-
-#: C/textview.py.page:14(email) C/strings.py.page:14(email)
-#: C/signals-callbacks.py.page:14(email) C/properties.py.page:14(email)
-#: C/model-view-controller.py.page:14(email) C/label.py.page:18(email)
-#: C/entry.py.page:18(email)
-msgid "sebp k-d-w org"
-msgstr "sebp k-d-w org"
+#: C/textview.py.page:7(title)
+#| msgid "TextView"
+msgid "TextView (Python)"
+msgstr "TextView (Python)"
 
-#: C/textview.py.page:24(desc)
+#: C/textview.py.page:25(desc)
 msgid "Widget that displays a GtkTextBuffer"
 msgstr "Un widget que muestra un GtkTextBuffer"
 
-#: C/textview.py.page:27(title) C/textview.js.page:23(title)
+#: C/textview.py.page:28(title) C/textview.js.page:24(title)
 msgid "TextView"
 msgstr "TextView"
 
-#: C/textview.py.page:29(p)
+#: C/textview.py.page:30(p)
 msgid "This is an example of Gtk.TextView."
 msgstr "Esto es un ejemplo de of Gtk.TextView."
 
-#: C/textview.py.page:31(p)
+#: C/textview.py.page:32(p)
 msgid ""
 "But we can also have a new line if we write a long sentence (the text will "
 "wrap breaking lines between words)."
@@ -2434,29 +3050,29 @@ msgstr ""
 "Pero tambiÃn se obtiene una lÃnea nueva si se escribe una frase larga (el "
 "texto se ajustarà a los saltos de lÃnea entre palabras."
 
-#: C/textview.py.page:32(p)
+#: C/textview.py.page:33(p)
 msgid "If we have a loooooooooooooooooooooooooooooooooooong"
 msgstr "Si es escribe una palabra laaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarga"
 
-#: C/textview.py.page:33(p)
+#: C/textview.py.page:34(p)
 msgid "(that was long)"
 msgstr "(esto es una palabra larga)"
 
-#: C/textview.py.page:34(p)
+#: C/textview.py.page:35(p)
 msgid "word, an horizontal scrollbar will appear."
 msgstr ", aparecerà una barra de desplazamiento horizontal."
 
-#: C/textview.py.page:47(title)
+#: C/textview.py.page:48(title)
 msgid "Useful methods for a TextView widget"
 msgstr "MÃtodos Ãtiles para un widget ÂTextViewÂ"
 
-#: C/textview.py.page:48(p) C/label.py.page:68(p)
+#: C/textview.py.page:49(p) C/label.py.page:69(p)
 msgid ""
 "An explanation of how to deal with strings and Unicode (and a recap of what "
 "these things are) can be found <link xref=\"strings.py.page\">here</link>."
 msgstr ""
 
-#: C/textview.py.page:49(p)
+#: C/textview.py.page:50(p)
 msgid ""
 "A <code>Gtk.TextView</code> displays the text stored in a <code>Gtk."
 "TextBuffer</code>. However, most text manipulation is accomplished with "
@@ -2471,25 +3087,25 @@ msgid ""
 "mark."
 msgstr ""
 
-#: C/textview.py.page:50(p)
+#: C/textview.py.page:51(p)
 msgid "Methods for a TextView widget:"
 msgstr "MÃtodos para un widget ÂTextViewÂ:"
 
-#: C/textview.py.page:52(p)
+#: C/textview.py.page:53(p)
 msgid ""
 "The TextView widget is by default editable. If you prefer otherwise, use "
 "<code>set_editable(False)</code>. If the buffer has no editable text, it "
 "might be a good idea to use <code>set_cursor_visible(False)</code> as well."
 msgstr ""
 
-#: C/textview.py.page:53(p)
+#: C/textview.py.page:54(p)
 msgid ""
 "The justification of the text is set with <code>set_justification(Gtk."
 "Justification.JUSTIFICATION)</code> where <code>JUSTIFICATION</code> is one "
 "of <code>LEFT, RIGHT, CENTER, FILL</code>."
 msgstr ""
 
-#: C/textview.py.page:54(p)
+#: C/textview.py.page:55(p)
 msgid ""
 "The line wrapping of the text is set with <code>set_wrap_mode(Gtk.WrapMode."
 "WRAP)</code> where <code>WRAP</code> is one of <code>NONE</code> (the text "
@@ -2499,23 +3115,23 @@ msgid ""
 "characters)."
 msgstr ""
 
-#: C/textview.py.page:56(p)
+#: C/textview.py.page:57(p)
 msgid "Methods for a TextBuffer widget:"
 msgstr "MÃtodos para un widget ÂTextBufferÂ:"
 
-#: C/textview.py.page:58(p)
+#: C/textview.py.page:59(p)
 msgid ""
 "<code>get_insert()</code> returns the <code>Gtk.TextMark</code> that "
 "represents the cursor, that is the insertion point."
 msgstr ""
 
-#: C/textview.py.page:59(p)
+#: C/textview.py.page:60(p)
 msgid ""
 "<code>get_selection_bound()</code> returns the <code>Gtk.TextMark</code> "
 "that represents the selection bound."
 msgstr ""
 
-#: C/textview.py.page:60(p)
+#: C/textview.py.page:61(p)
 msgid ""
 "<code>set_text(\"some text\", length)</code> where <code>length</code> is a "
 "positive integer or <code>-1</code>, sets the content of the buffer as the "
@@ -2524,7 +3140,7 @@ msgid ""
 "completely. The content of the buffer, if there is any, is destroyed."
 msgstr ""
 
-#: C/textview.py.page:61(p)
+#: C/textview.py.page:62(p)
 msgid ""
 "<code>insert(iter, \"some text\", length)</code> where <code>iter</code> is "
 "a text iterator and <code>length</code> is a positive integer or <code>-1</"
@@ -2533,14 +3149,14 @@ msgid ""
 "code> is omitted or <code>-1</code>, the text is inserted completely."
 msgstr ""
 
-#: C/textview.py.page:62(p)
+#: C/textview.py.page:63(p)
 msgid ""
 "<code>insert_at_cursor(\"some text\", length)</code> does the same as "
 "<code>insert(iter, \"some text\", length)</code>, with the current cursor "
 "taken as <code>iter</code>."
 msgstr ""
 
-#: C/textview.py.page:63(p)
+#: C/textview.py.page:64(p)
 msgid ""
 "<code>create_mark(\"mark_name\", iter, left_gravity)</code> where "
 "<code>iter</code> is a <code>Gtk.TextIter</code> and <code>left_gravity</"
@@ -2553,7 +3169,7 @@ msgid ""
 "<code>False</code>."
 msgstr ""
 
-#: C/textview.py.page:65(p)
+#: C/textview.py.page:66(p)
 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 "
@@ -2562,7 +3178,7 @@ msgid ""
 "instance:"
 msgstr ""
 
-#: C/textview.py.page:66(code)
+#: C/textview.py.page:67(code)
 #, no-wrap
 msgid ""
 "\n"
@@ -2573,57 +3189,57 @@ msgstr ""
 "tag = textbuffer.create_tag(\"orange_bg\", background=\"orange\")\n"
 "textbuffer.apply_tag(tag, start_iter, end_iter)"
 
-#: C/textview.py.page:69(p)
+#: C/textview.py.page:70(p)
 msgid "The following are some of the common styles applied to text:"
 msgstr ""
 
-#: C/textview.py.page:71(p)
+#: C/textview.py.page:72(p)
 msgid "Background colour (\"background\" property)"
 msgstr ""
 
-#: C/textview.py.page:72(p)
+#: C/textview.py.page:73(p)
 msgid "Foreground colour (\"foreground\" property)"
 msgstr ""
 
-#: C/textview.py.page:73(p)
+#: C/textview.py.page:74(p)
 msgid "Underline (\"underline\" property)"
 msgstr "Subrayado (propiedad ÂunderlineÂ)"
 
-#: C/textview.py.page:74(p)
+#: C/textview.py.page:75(p)
 msgid "Bold (\"weight\" property)"
 msgstr "Negrita (propiedad ÂweightÂ)"
 
-#: C/textview.py.page:75(p)
+#: C/textview.py.page:76(p)
 msgid "Italics (\"style\" property)"
 msgstr "Cursiva (propiedad ÂstyleÂ)"
 
-#: C/textview.py.page:76(p)
+#: C/textview.py.page:77(p)
 msgid "Strikethrough (\"strikethrough\" property)"
 msgstr "Tachado (propiedad ÂstrikethroughÂ)"
 
-#: C/textview.py.page:77(p)
+#: C/textview.py.page:78(p)
 msgid "Justification (\"justification\" property)"
 msgstr "JustificaciÃn (propiedad ÂjustificationÂ)"
 
-#: C/textview.py.page:78(p)
+#: C/textview.py.page:79(p)
 msgid "Size (\"size\" and \"size-points\" properties)"
 msgstr ""
 
-#: C/textview.py.page:79(p)
+#: C/textview.py.page:80(p)
 msgid "Text wrapping (\"wrap-mode\" property)"
 msgstr ""
 
-#: C/textview.py.page:81(p)
+#: C/textview.py.page:82(p)
 msgid ""
 "You can also delete particular tags later using <code>remove_tag()</code> or "
 "delete all tags in a given region by calling <code>remove_all_tags()</code>."
 msgstr ""
 
-#: C/textview.py.page:83(p)
+#: C/textview.py.page:84(p)
 msgid "Methods for a TextIter widget"
 msgstr "MÃtodos para un widget ÂTextIterÂ"
 
-#: C/textview.py.page:85(p)
+#: C/textview.py.page:86(p)
 msgid ""
 "<code>forward_search(needle, flags, limit)</code> searches forward for "
 "<code>needle</code>. The search will not continue past the <code>Gtk."
@@ -2640,38 +3256,39 @@ msgid ""
 "returned."
 msgstr ""
 
-#: C/textview.py.page:86(p)
+#: C/textview.py.page:87(p)
 msgid ""
 "<code>backward_search(needle, flags, limit)</code> does the same as "
 "<code>forward_search()</code>, but moving backwards."
 msgstr ""
 
-#: C/textview.py.page:94(link) C/textview.c.page:37(link)
+#: C/textview.py.page:95(link) C/textview.c.page:38(link)
+#: C/filechooserdialog.py.page:74(link)
 msgid "GtkTextView"
 msgstr "GtkTextView"
 
-#: C/textview.py.page:95(link) C/textview.c.page:36(link)
+#: C/textview.py.page:96(link) C/textview.c.page:37(link)
+#: C/filechooserdialog.py.page:75(link)
 msgid "GtkTextBuffer"
 msgstr "GtkTextBuffer"
 
-#: C/textview.py.page:96(link)
+#: C/textview.py.page:97(link)
 msgid "GtkTextTag"
 msgstr "GtkTextTag"
 
-#: C/textview.py.page:97(link) C/textview.c.page:38(link)
-#: C/scrolledwindow.py.page:42(link)
+#: C/textview.py.page:98(link) C/textview.c.page:39(link)
+#: C/scrolledwindow.py.page:43(link) C/filechooserdialog.py.page:76(link)
 msgid "GtkScrolledWindow"
 msgstr "GtkScrolledWindow"
 
-#: C/textview.py.page:98(link) C/scrolledwindow.py.page:43(link)
-#: C/scale.py.page:56(link)
+#: C/textview.py.page:99(link) C/scrolledwindow.py.page:44(link)
+#: C/scale.py.page:57(link) C/paned.py.page:41(link)
 msgid "Standard Enumerations"
 msgstr "Enumeraciones estÃndar"
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/textview.js.page:24(None)
-#| msgid "@@image: 'media/textview.png'; md5=049e859ed1af2d7c93d8cb5cfd9f7792"
+#: C/textview.js.page:25(None)
 msgid ""
 "@@image: 'media/textviewpenguinchat.png'; "
 "md5=0dd6f6aa44aaeab7901bd90162ed4c9a"
@@ -2679,24 +3296,29 @@ msgstr ""
 "@@image: 'media/textviewpenguinchat.png'; "
 "md5=0dd6f6aa44aaeab7901bd90162ed4c9a"
 
-#: C/textview.js.page:20(desc)
+#: C/textview.js.page:7(title)
+#| msgid "JavaScript"
+msgid "TextView (JavaScript)"
+msgstr "TextView (JavaScript)"
+
+#: C/textview.js.page:21(desc)
 #, fuzzy
 #| msgid "Multiline text editor"
 msgid "A multiline text editor"
 msgstr "Editor de texto multilÃnea"
 
-#: C/textview.js.page:25(p)
+#: C/textview.js.page:26(p)
 msgid ""
 "A TextView is really (or at least usually) a nested set of three objects."
 msgstr ""
 
-#: C/textview.js.page:27(p)
+#: C/textview.js.page:28(p)
 msgid ""
 "At the bottom is a <link href=\"http://www.roojs.org/seed/gir-1.2-gtk-3.0/";
 "gjs/Gtk.TextBuffer.html\">TextBuffer.</link> This holds the text itself."
 msgstr ""
 
-#: C/textview.js.page:28(p)
+#: C/textview.js.page:29(p)
 msgid ""
 "In the middle is the <link href=\"http://www.roojs.org/seed/gir-1.2-gtk-3.0/";
 "gjs/Gtk.TextView.html\">TextView,</link> which is a widget that lets you see "
@@ -2704,7 +3326,7 @@ msgid ""
 "on how much text there is."
 msgstr ""
 
-#: C/textview.js.page:29(p)
+#: C/textview.js.page:30(p)
 msgid ""
 "Since the automatic resizing can make a TextView unwieldy, you normally "
 "place it inside of a <link xref=\"scrolledwindow.js\">ScrolledWindow.</link> "
@@ -2714,7 +3336,7 @@ msgid ""
 "text in the buffer is too big to fit, scrollbars will appear."
 msgstr ""
 
-#: C/textview.js.page:31(p)
+#: C/textview.js.page:32(p)
 msgid ""
 "If you want to change what text is displayed in the TextView, you act on the "
 "TextBuffer, since it's what actually holds the text. The same goes for if "
@@ -2723,7 +3345,7 @@ msgid ""
 "typed the word \"fish\" anywhere in it."
 msgstr ""
 
-#: C/textview.js.page:32(p)
+#: C/textview.js.page:33(p)
 msgid ""
 "Real-life penguin populations are declining fast, because climate change is "
 "melting the ice that they live on and killing the fish that they eat. If "
@@ -2731,7 +3353,7 @@ msgid ""
 "a look at <link href=\"http://pingus.seul.org/\";>Pingus.</link>"
 msgstr ""
 
-#: C/textview.js.page:72(p)
+#: C/textview.js.page:73(p)
 msgid ""
 "All the code for this sample goes in the TextViewExample class. The above "
 "code creates a <link href=\"http://www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/";
@@ -2739,13 +3361,13 @@ msgid ""
 "go in."
 msgstr ""
 
-#: C/textview.js.page:90(title)
+#: C/textview.js.page:91(title)
 #, fuzzy
 #| msgid "Creating the switches"
 msgid "Creating the TextView"
 msgstr "Crear los interruptores"
 
-#: C/textview.js.page:100(p)
+#: C/textview.js.page:101(p)
 msgid ""
 "Our first step in this example is to create the <link xref=\"label.js"
 "\">Label</link> that the penguin will use to talk to you. We set the text in "
@@ -2753,7 +3375,7 @@ msgid ""
 "method on the TextView itself that allows for more fine-grained control."
 msgstr ""
 
-#: C/textview.js.page:111(p)
+#: C/textview.js.page:112(p)
 msgid ""
 "Our first step is to create a TextBuffer to put the words into. After that "
 "we create the TextView, and tell it to use the TextBuffer we created as its "
@@ -2761,7 +3383,7 @@ msgid ""
 "things in."
 msgstr ""
 
-#: C/textview.js.page:112(p)
+#: C/textview.js.page:113(p)
 msgid ""
 "The wrap_mode property lets you select from four different <link href="
 "\"http://www.roojs.org/seed/gir-1.2-gtk-3.0/gjs/Gtk.WrapMode.html";
@@ -2771,7 +3393,7 @@ msgid ""
 "the word you're typing on the next line if it gets to be too long."
 msgstr ""
 
-#: C/textview.js.page:126(p)
+#: C/textview.js.page:127(p)
 msgid ""
 "Here we create a <link xref=\"scrolledwindow.js\">ScrolledWindow,</link> and "
 "set it to automatically scroll if it gets to be too big horizontally or "
@@ -2780,17 +3402,17 @@ msgid ""
 "onto it."
 msgstr ""
 
-#: C/textview.js.page:130(title) C/radiobutton.js.page:116(title)
+#: C/textview.js.page:131(title) C/radiobutton.js.page:117(title)
 msgid "Creating the rest of the user interface"
 msgstr "Crear el resto de la interfaz de usuario"
 
-#: C/textview.js.page:142(p)
+#: C/textview.js.page:143(p)
 msgid ""
 "The first <link xref=\"grid.js\">Grid</link> we create only has the Label "
 "and the ScrolledWindow inside it."
 msgstr ""
 
-#: C/textview.js.page:161(p)
+#: C/textview.js.page:162(p)
 msgid ""
 "We create a <link xref=\"button.js\">Button</link> to send your message to "
 "the penguin, and a new Grid that has the other one on top and the Button on "
@@ -2798,19 +3420,19 @@ msgid ""
 "against the ScrolledWindow."
 msgstr ""
 
-#: C/textview.js.page:172(p)
+#: C/textview.js.page:173(p)
 msgid ""
 "Finally, we attach the main Grid to the window, then we tell the window and "
 "everything inside it to become visible when the application is run."
 msgstr ""
 
-#: C/textview.js.page:177(title)
+#: C/textview.js.page:178(title)
 #, fuzzy
 #| msgid "Function which handles your selection"
 msgid "Function which handles the penguin's response"
 msgstr "FunciÃn que maneja su selecciÃn"
 
-#: C/textview.js.page:229(p)
+#: C/textview.js.page:230(p)
 msgid ""
 "Here we use some basic JavaScript functions to have the penguins say "
 "something random. Penguins like fish, though, so if you mention fish we want "
@@ -2819,7 +3441,7 @@ msgid ""
 "contents of our TextBuffer."
 msgstr ""
 
-#: C/textview.js.page:230(p)
+#: C/textview.js.page:231(p)
 msgid ""
 "Since we want to clear out the TextBuffer after each time you click Send, we "
 "set <file>this.buffer.text</file> to contain an empty string afterwards. "
@@ -2827,31 +3449,37 @@ msgid ""
 "having to click on it beforehand."
 msgstr ""
 
-#: C/textview.js.page:237(p)
+#: C/textview.js.page:238(p)
 msgid ""
 "Finally, we create a new instance of the finished TextViewExample class, and "
 "set the application running."
 msgstr ""
 
-#: C/textview.js.page:250(link) C/statusbar.js.page:223(link)
-#: C/radiobutton.js.page:276(link) C/grid.js.page:34(link)
-#: C/button.js.page:31(link)
+#: C/textview.js.page:251(link) C/statusbar.js.page:224(link)
+#: C/radiobutton.js.page:277(link) C/grid.js.page:35(link)
+#: C/button.js.page:32(link)
 msgid "Gtk.Button"
 msgstr "Gtk.Button"
 
-#: C/textview.js.page:252(link) C/switch.js.page:270(link)
-#: C/spinbutton.js.page:203(link) C/scale.js.page:212(link)
-#: C/radiobutton.js.page:278(link) C/label.vala.page:31(link)
-#: C/label.js.page:30(link) C/dialog.vala.page:32(link)
+#: C/textview.js.page:253(link) C/switch.js.page:271(link)
+#: C/spinbutton.js.page:204(link) C/scale.js.page:213(link)
+#: C/radiobutton.js.page:279(link) C/label.vala.page:32(link)
+#: C/label.js.page:31(link) C/dialog.vala.page:33(link)
 msgid "Gtk.Label"
 msgstr "Gtk.Label"
 
-#: C/textview.js.page:253(link) C/radiobutton.vala.page:31(link)
-#: C/radiobutton.js.page:279(link)
+#: C/textview.js.page:254(link) C/radiobutton.vala.page:32(link)
+#: C/radiobutton.js.page:280(link)
 msgid "Gtk.RadioButton"
 msgstr "Gtk.RadioButton"
 
-#: C/textview.c.page:23(p)
+#: C/textview.c.page:7(title)
+#, fuzzy
+#| msgid "TextView"
+msgid "TextView (C)"
+msgstr "TextView"
+
+#: C/textview.c.page:24(p)
 #, fuzzy
 #| msgid ""
 #| "If we have a loooooooooooooooooooooooooooooooooooong word, a horizontal "
@@ -2863,81 +3491,97 @@ msgstr ""
 "Si es escribe una palabra laaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarga, "
 "aparecerà una barra de desplazamiento horizontal."
 
-#: C/textview.c.page:39(link)
-#| msgid "Layout containers"
+#: C/textview.c.page:40(link)
 msgid "GtkContainer"
 msgstr "GtkContainer"
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/switch.vala.page:24(None) C/switch.py.page:25(None)
-#: C/switch.c.page:21(None)
+#: C/switch.vala.page:25(None) C/switch.py.page:26(None)
+#: C/switch.c.page:22(None)
 msgid "@@image: 'media/switch_off.png'; md5=211a2962708800697ad5373dcc86ad6d"
 msgstr "@@image: 'media/switch_off.png'; md5=211a2962708800697ad5373dcc86ad6d"
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/switch.vala.page:25(None) C/switch.py.page:26(None)
-#: C/switch.c.page:22(None)
+#: C/switch.vala.page:26(None) C/switch.py.page:27(None)
+#: C/switch.c.page:23(None)
 msgid "@@image: 'media/switch_on.png'; md5=95e8769f758c2d95ace0fa8ecf30b29d"
 msgstr "@@image: 'media/switch_on.png'; md5=95e8769f758c2d95ace0fa8ecf30b29d"
 
-#: C/switch.vala.page:20(desc) C/switch.py.page:21(desc)
-#: C/switch.c.page:16(desc)
+#: C/switch.vala.page:7(title)
+#, fuzzy
+#| msgid "Switch"
+msgid "Switch (Vala)"
+msgstr "Switch"
+
+#: C/switch.vala.page:21(desc) C/switch.py.page:22(desc)
+#: C/switch.c.page:17(desc)
 msgid "A \"light switch\" style toggle"
 msgstr "Un estilo ÂinterruptorÂ"
 
-#: C/switch.vala.page:23(title) C/switch.py.page:24(title)
-#: C/switch.js.page:19(title) C/switch.c.page:19(title)
+#: C/switch.vala.page:24(title) C/switch.py.page:25(title)
+#: C/switch.js.page:20(title) C/switch.c.page:20(title)
 msgid "Switch"
 msgstr "Switch"
 
-#: C/switch.vala.page:27(p)
+#: C/switch.vala.page:28(p)
 msgid "This Switch toggles the title."
 msgstr "Este Switch cambia el tÃtulo."
 
-#: C/switch.vala.page:34(link) C/switch.js.page:271(link)
+#: C/switch.vala.page:35(link) C/switch.js.page:272(link)
 msgid "Gtk.Switch"
 msgstr "Gtk.Switch"
 
-#: C/switch.py.page:28(p)
+#: C/switch.py.page:7(title)
+msgid "Switch (Python)"
+msgstr ""
+
+#: C/switch.py.page:29(p)
 msgid "This Switch makes the title appears and disappear."
 msgstr "Este Switch hace que el tÃtulo aparezca y desaparezca."
 
-#: C/switch.py.page:39(title)
+#: C/switch.py.page:40(title)
 msgid "Useful methods for a Switch widget"
 msgstr "MÃtodos Ãtiles para un widget ÂSwitchÂ"
 
-#: C/switch.py.page:40(p) C/checkbutton.py.page:37(p)
+#: C/switch.py.page:41(p) C/checkbutton.py.page:38(p)
 msgid ""
 "For a discussion on signals and callback functions, see <link xref=\"signals-"
 "callbacks.py\">this page</link>."
 msgstr ""
 
-#: C/switch.py.page:47(link) C/switch.c.page:34(link)
-#: C/radiobutton.c.page:36(link)
+#: C/switch.py.page:48(link) C/switch.c.page:35(link)
+#: C/radiobutton.c.page:37(link)
 msgid "GtkSwitch"
 msgstr "GtkSwitch"
 
-#: C/switch.py.page:48(link) C/switch.c.page:33(link)
-#: C/spinbutton.c.page:36(link) C/radiobutton.c.page:34(link)
-#: C/label.py.page:87(link) C/label.c.page:37(link) C/dialog.c.page:35(link)
+#: C/switch.py.page:49(link) C/switch.c.page:34(link)
+#: C/spinbutton.c.page:37(link) C/separator.py.page:40(link)
+#: C/radiobutton.c.page:35(link) C/label.py.page:88(link)
+#: C/label.c.page:38(link) C/grid.py.page:57(link) C/dialog.c.page:36(link)
 msgid "GtkLabel"
 msgstr "GtkLabel"
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/switch.js.page:20(None)
+#: C/switch.js.page:21(None)
 msgid ""
 "@@image: 'media/switchanimals.png'; md5=513ae15dcf68e15eef30b76420b8c714"
 msgstr ""
 "@@image: 'media/switchanimals.png'; md5=513ae15dcf68e15eef30b76420b8c714"
 
-#: C/switch.js.page:16(desc)
+#: C/switch.js.page:7(title)
+#, fuzzy
+#| msgid "JavaScript"
+msgid "Switch (JavaScript)"
+msgstr "JavaScript"
+
+#: C/switch.js.page:17(desc)
 msgid "A sliding switch that can be flipped on and off"
 msgstr "Un interruptor deslizante que se puede activar y desactivar"
 
-#: C/switch.js.page:21(p)
+#: C/switch.js.page:22(p)
 msgid ""
 "A Switch has two positions, on and off. This example shows how you can use "
 "multiple switches together to control which <link xref=\"image.js\">Image</"
@@ -2946,7 +3590,7 @@ msgid ""
 "target=Animal+Photos.zip\">can be downloaded here.</link>"
 msgstr ""
 
-#: C/switch.js.page:22(p)
+#: C/switch.js.page:23(p)
 msgid ""
 "The window will contain a \"broken image\" icon instead of a picture if "
 "picture files named <file>redfox.png</file>, <file>muteswan.png</file>, "
@@ -2956,14 +3600,14 @@ msgid ""
 "from the following sources and cropped to 640x425:"
 msgstr ""
 
-#: C/switch.js.page:24(p)
+#: C/switch.js.page:25(p)
 msgid ""
 "<link href=\"http://en.wikipedia.org/wiki/File:Fuzzy_Freddy.jpg\";>Red fox "
 "photo</link> by Rob Lee, licensed <link href=\"http://creativecommons.org/";
 "licenses/by/2.0/deed.en\">CC-By</link>"
 msgstr ""
 
-#: C/switch.js.page:25(p)
+#: C/switch.js.page:26(p)
 msgid ""
 "<link href=\"http://en.wikipedia.org/wiki/File:Pygoscelis_papua_-";
 "Nagasaki_Penguin_Aquarium_-swimming_underwater-8a.jpg\">Gentoo penguin "
@@ -2971,14 +3615,14 @@ msgid ""
 "org/licenses/by-sa/2.0/deed.en\">CC-By-SA</link>"
 msgstr ""
 
-#: C/switch.js.page:26(p)
+#: C/switch.js.page:27(p)
 msgid ""
 "<link href=\"http://www.flickr.com/photos/shekgraham/127431519/in/";
 "photostream/\">Fruit bat photo</link> by Shek Graham, licensed <link href="
 "\"http://creativecommons.org/licenses/by/2.0/deed.en\";>CC-By</link>"
 msgstr ""
 
-#: C/switch.js.page:27(p)
+#: C/switch.js.page:28(p)
 msgid ""
 "<link href=\"http://commons.wikimedia.org/wiki/File:Mute_Swan-";
 "Mindaugas_Urbonas.jpg\">Mute swan photo</link> by Mindaugas Urbonas, "
@@ -2986,7 +3630,7 @@ msgid ""
 "\">CC-By-SA</link>"
 msgstr ""
 
-#: C/switch.js.page:29(p)
+#: C/switch.js.page:30(p)
 msgid ""
 "Photo credits and licensing information are shown in the application's <link "
 "xref=\"aboutdialog.js\">AboutDialog.</link> Always remember to credit the "
@@ -2994,7 +3638,7 @@ msgid ""
 "\">Creative Commons-licensed works!</link>"
 msgstr ""
 
-#: C/switch.js.page:73(p)
+#: C/switch.js.page:74(p)
 msgid ""
 "All the code for this sample goes in the SwitchExample class. The above code "
 "creates a <link href=\"http://www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.";
@@ -3002,7 +3646,7 @@ msgid ""
 "in."
 msgstr ""
 
-#: C/switch.js.page:74(p) C/messagedialog.js.page:69(p)
+#: C/switch.js.page:75(p) C/messagedialog.js.page:70(p)
 msgid ""
 "Before we call _buildUI to create the window and the widgets inside it, we "
 "need to call _initMenus, which tells GNOME to create the menu. We can put "
@@ -3011,18 +3655,18 @@ msgid ""
 "_onStartup."
 msgstr ""
 
-#: C/switch.js.page:90(title)
+#: C/switch.js.page:91(title)
 msgid "Creating the switches"
 msgstr "Crear los interruptores"
 
-#: C/switch.js.page:96(p)
+#: C/switch.js.page:97(p)
 msgid ""
 "We first create the <link xref=\"image.js\">Image</link> that the switches "
 "will control. Remember that a file named <file>redfox.png</file> needs to be "
 "in the same directory as this application."
 msgstr ""
 
-#: C/switch.js.page:118(p)
+#: C/switch.js.page:119(p)
 msgid ""
 "We use a <link xref=\"label.js\">Label</link> to mark each Switch, and give "
 "them a bit of a margin on the right so that they aren't crammed right next "
@@ -3030,7 +3674,7 @@ msgid ""
 "switched off by default."
 msgstr ""
 
-#: C/switch.js.page:119(p)
+#: C/switch.js.page:120(p)
 msgid ""
 "The signal a switch sends out when it's flipped on or off is called notify::"
 "active. After we create each switch, we connect its notify::active signal to "
@@ -3040,7 +3684,7 @@ msgid ""
 "displayed by _image."
 msgstr ""
 
-#: C/switch.js.page:143(p)
+#: C/switch.js.page:144(p)
 msgid ""
 "We create a <link xref=\"grid.js\">Grid</link> for the Labels and Switches "
 "first, so that we can organize them in a 2x2 layout with a margin between it "
@@ -3048,17 +3692,17 @@ msgid ""
 "Image on top, and the Grid with the Labels and Switches on the bottom."
 msgstr ""
 
-#: C/switch.js.page:152(p) C/spinbutton.js.page:164(p)
+#: C/switch.js.page:153(p) C/spinbutton.js.page:165(p)
 msgid ""
 "Finally, we add the larger Grid to the window, then tell the window to show "
 "itself and all the widgets inside of it."
 msgstr ""
 
-#: C/switch.js.page:156(title)
+#: C/switch.js.page:157(title)
 msgid "Function which handles the switches being flipped"
 msgstr ""
 
-#: C/switch.js.page:179(p)
+#: C/switch.js.page:180(p)
 msgid ""
 "Each time a Switch is flipped, this function checks to see which of the two "
 "Switches are active afterwards, using the Switches' built-in get_active() "
@@ -3066,11 +3710,11 @@ msgid ""
 "filenames around as you like, so long as you have pictures to go with them."
 msgstr ""
 
-#: C/switch.js.page:183(title)
+#: C/switch.js.page:184(title)
 msgid "Creating the AboutDialog"
 msgstr "Crear el AboutDialog"
 
-#: C/switch.js.page:210(p)
+#: C/switch.js.page:211(p)
 msgid ""
 "The first step is building the <link xref=\"gmenu.js\">GMenu</link> that the "
 "\"About\" button goes into. This is the menu that appears when you click the "
@@ -3078,7 +3722,7 @@ msgid ""
 "Activities menu. Our menu only has two options in it: About, and Quit."
 msgstr ""
 
-#: C/switch.js.page:246(p)
+#: C/switch.js.page:247(p)
 msgid ""
 "An <link xref=\"aboutdialog.js\">AboutDialog</link> has a lot of different "
 "things you can set, to credit everyone who worked on the application and "
@@ -3089,49 +3733,63 @@ msgid ""
 "in the array turn their names into clickable links in the Credits section."
 msgstr ""
 
-#: C/switch.js.page:253(p)
+#: C/switch.js.page:254(p)
 msgid ""
 "Finally, we create a new instance of the finished SwitchExample class, and "
 "set the application running."
 msgstr ""
 
-#: C/switch.js.page:264(link) C/messagedialog.py.page:62(link)
-#: C/messagedialog.js.page:192(link) C/gmenu.vala.page:25(title)
-#: C/gmenu.py.page:19(title) C/gmenu.py.page:30(link)
-#: C/gmenu.js.page:19(title) C/gmenu.js.page:28(link) C/gmenu.c.page:19(title)
-#: C/gmenu.c.page:30(link) C/aboutdialog.py.page:46(link)
-#: C/aboutdialog.js.page:27(link)
+#: C/switch.js.page:265(link) C/messagedialog.py.page:63(link)
+#: C/messagedialog.js.page:193(link) C/messagedialog.c.page:41(link)
+#: C/gmenu.vala.page:26(title) C/gmenu.py.page:26(title)
+#: C/gmenu.py.page:76(link) C/gmenu.js.page:20(title) C/gmenu.js.page:29(link)
+#: C/gmenu.c.page:20(title) C/gmenu.c.page:31(link)
+#: C/aboutdialog.py.page:47(link) C/aboutdialog.js.page:28(link)
+#: C/aboutdialog.c.page:37(link)
 msgid "GMenu"
 msgstr "GMenu"
 
-#: C/switch.js.page:265(link) C/messagedialog.py.page:60(link)
-#: C/messagedialog.js.page:193(link) C/gmenu.py.page:31(link)
-#: C/gmenu.js.page:29(link) C/gmenu.c.page:31(link)
-#: C/aboutdialog.js.page:28(link)
+#: C/switch.js.page:266(link) C/messagedialog.py.page:61(link)
+#: C/messagedialog.js.page:194(link) C/messagedialog.c.page:39(link)
+#: C/menubar.py.page:183(link) C/gmenu.py.page:77(link)
+#: C/gmenu.js.page:30(link) C/gmenu.c.page:32(link)
+#: C/filechooserdialog.py.page:78(link) C/aboutdialog.js.page:29(link)
 msgid "GSimpleAction"
 msgstr "GSimpleAction"
 
-#: C/switch.js.page:269(link)
+#: C/switch.js.page:270(link) C/image.js.page:33(link)
 msgid "Gtk.Image"
 msgstr "Gtk.Image"
 
-#: C/switch.c.page:23(p)
+#: C/switch.c.page:7(title)
+#, fuzzy
+#| msgid "Switch"
+msgid "Switch (C)"
+msgstr "Switch"
+
+#: C/switch.c.page:24(p)
 msgid "This switch toggles the title of the window."
 msgstr "Este Switch cambia el tÃtulo de la ventana."
 
-#: C/strings.py.page:11(desc)
+#: C/strings.py.page:8(title)
+#, fuzzy
+#| msgid "Strings in Python"
+msgid "Strings (Python)"
+msgstr "Cadenas en Python"
+
+#: C/strings.py.page:12(desc)
 msgid "An explanation of how to deal with strings in Python and GTK+."
 msgstr "Una explicaciÃn de cÃmo trabajar con cadenas en Python y GTK+."
 
-#: C/strings.py.page:24(title)
+#: C/strings.py.page:25(title)
 msgid "Strings"
 msgstr "Cadenas"
 
-#: C/strings.py.page:29(title)
+#: C/strings.py.page:30(title)
 msgid "Definitions"
 msgstr "Definiciones"
 
-#: C/strings.py.page:31(p)
+#: C/strings.py.page:32(p)
 msgid ""
 "Conceptionally, a <em>string</em> is a list of <em>characters</em> such as "
 "'A', 'B', 'C' or 'Ã'. Characters are abstract representations and their "
@@ -3142,7 +3800,7 @@ msgid ""
 "code points are numbers in the range from 0 to 0x10FFFF."
 msgstr ""
 
-#: C/strings.py.page:33(p)
+#: C/strings.py.page:34(p)
 msgid ""
 "The representation of a string as a list of code points is abstract. In "
 "order to convert this abstract representation into a sequence of bytes the "
@@ -3150,20 +3808,20 @@ msgid ""
 "ASCII and is performed as follows:"
 msgstr ""
 
-#: C/strings.py.page:36(p)
+#: C/strings.py.page:37(p)
 msgid ""
 "If the code point is strictly less than 128, each byte is the same as the "
 "value of the code point."
 msgstr ""
 
-#: C/strings.py.page:37(p)
+#: C/strings.py.page:38(p)
 msgid ""
 "If the code point is 128 or greater, the Unicode string canât be represented "
 "in this encoding. (Python raises a <sys>UnicodeEncodeError</sys> exception "
 "in this case.)"
 msgstr ""
 
-#: C/strings.py.page:40(p)
+#: C/strings.py.page:41(p)
 msgid ""
 "Although ASCII encoding is simple to apply it can only encode for 128 "
 "different characters which is hardly enough. One of the most commonly used "
@@ -3172,11 +3830,13 @@ msgid ""
 "means that 8-bit numbers are used in the encoding."
 msgstr ""
 
-#: C/strings.py.page:45(title)
-msgid "Strings in Python"
+#: C/strings.py.page:46(title)
+#, fuzzy
+#| msgid "Strings in Python"
+msgid "Strings in Python 2"
 msgstr "Cadenas en Python"
 
-#: C/strings.py.page:47(p)
+#: C/strings.py.page:48(p)
 msgid ""
 "Python 2 comes with two different kinds of objects that can be used to "
 "represent strings, <code>str</code> and <code>unicode</code>. Instances of "
@@ -3186,7 +3846,16 @@ msgid ""
 "integers, depending on how the Python interpreter was compiled."
 msgstr ""
 
-#: C/strings.py.page:55(p)
+#: C/strings.py.page:50(code)
+#, no-wrap
+msgid ""
+"<![CDATA[\n"
+">>> unicode_string = u\"Fu\\u00dfb\\u00e4lle\"\n"
+">>> print unicode_string]]>\n"
+"FuÃbÃlle\n"
+msgstr ""
+
+#: C/strings.py.page:56(p)
 msgid ""
 "Unicode strings can be converted to 8-bit strings with <code>unicode.encode()"
 "</code>. Pythonâs 8-bit strings have a <code>str.decode()</code> method that "
@@ -3194,7 +3863,7 @@ msgid ""
 "of the <code>unicode.encode()</code>):"
 msgstr ""
 
-#: C/strings.py.page:68(p)
+#: C/strings.py.page:69(p)
 msgid ""
 "Unfortunately, Python 2.x allows you to mix <code>unicode</code> and "
 "<code>str</code> if the 8-bit string happened to contain only 7-bit (ASCII) "
@@ -3202,11 +3871,33 @@ msgid ""
 "values."
 msgstr ""
 
-#: C/strings.py.page:73(title)
+#: C/strings.py.page:74(title)
+#, fuzzy
+#| msgid "Strings in Python"
+msgid "Strings in Python 3"
+msgstr "Cadenas en Python"
+
+#: C/strings.py.page:76(p)
+msgid ""
+"Since Python 3.0, all strings are stored as Unicode in an instance of the "
+"<code>str</code> type. Encoded strings on the other hand are represented as "
+"binary data in the form of instances of the bytes type. Conceptionally, "
+"<code>str</code> refers to text, whereas bytes refers to data. Use "
+"<code>encode()</code> to go from <code>str</code> to <code>bytes</code>, and "
+"<code>decode()</code> to go from <code>bytes</code> to <code>str</code>."
+msgstr ""
+
+#: C/strings.py.page:78(p)
+msgid ""
+"In addition, it is no longer possible to mix Unicode strings with encoded "
+"strings, because it will result in a <code>TypeError</code>:"
+msgstr ""
+
+#: C/strings.py.page:95(title)
 msgid "Unicode in GTK+"
 msgstr "Unicode en GTK+"
 
-#: C/strings.py.page:75(p)
+#: C/strings.py.page:97(p)
 msgid ""
 "GTK+ uses UTF-8 encoded strings for all text. This means that if you call a "
 "method that returns a string you will always obtain an instance of the "
@@ -3216,11 +3907,11 @@ msgid ""
 "as argument:"
 msgstr ""
 
-#: C/strings.py.page:86(p)
+#: C/strings.py.page:108(p)
 msgid "Furthermore:"
 msgstr "AdemÃs:"
 
-#: C/strings.py.page:91(p)
+#: C/strings.py.page:113(p)
 msgid ""
 "would return <code>False</code>, with the warning <code>__main__:1: "
 "UnicodeWarning: Unicode equal comparison failed to convert both arguments to "
@@ -3229,54 +3920,75 @@ msgid ""
 "<code>txt</code> and <code>unicode_string</code> are not equal)."
 msgstr ""
 
-#: C/strings.py.page:93(p)
+#: C/strings.py.page:115(p)
 msgid ""
 "This is especially important if you want to internationalize your program "
 "using <link href=\"http://docs.python.org/library/gettext.html";
 "\"><code>gettext</code></link>. You have to make sure that <code>gettext</"
-"code> will return UTF-8 encoded 8-bit strings for all languages. In general "
-"it is recommended to not use <code>unicode</code> objects in GTK+ "
-"applications at all and only use UTF-8 encoded <code>str</code> objects "
+"code> will return UTF-8 encoded 8-bit strings for all languages."
+msgstr ""
+
+#: C/strings.py.page:117(p)
+msgid ""
+"In general it is recommended to not use <code>unicode</code> objects in GTK+ "
+"applications at all, and only use UTF-8 encoded <code>str</code> objects "
 "since GTK+ does not fully integrate with <code>unicode</code> objects."
 msgstr ""
 
-#: C/strings.py.page:98(title) C/signals-callbacks.py.page:43(title)
-#: C/properties.py.page:46(title) C/model-view-controller.py.page:181(title)
+#: C/strings.py.page:119(p)
+msgid ""
+"With Python 3.x things are much more consistent, because PyGObject will "
+"automatically encode/decode to/from UTF-8 if you pass a string to a method "
+"or a method returns a string. Strings, or text, will always be represented "
+"as instances of <code>str</code> only:"
+msgstr ""
+
+#: C/strings.py.page:124(title) C/signals-callbacks.py.page:44(title)
+#: C/properties.py.page:49(title) C/model-view-controller.py.page:182(title)
 msgid "References"
 msgstr "Referencias"
 
-#: C/strings.py.page:100(p)
-msgid ""
-"<link href=\"http://python-gtk-3-tutorial.readthedocs.org/en/latest/unicode.";
-"html\">How To Deal With Strings - The Python GTK+ 3 Tutorial</link> "
-"(includes also a discussion on Python 3)"
+#: C/strings.py.page:126(link)
+msgid "How To Deal With Strings - The Python GTK+ 3 Tutorial"
 msgstr ""
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/statusbar.vala.page:23(None) C/statusbar.py.page:23(None)
+#: C/statusbar.vala.page:24(None) C/statusbar.py.page:24(None)
 msgid "@@image: 'media/statusbar.png'; md5=eb1aca55315d6cda57b12a5f36058ba8"
 msgstr "@@image: 'media/statusbar.png'; md5=eb1aca55315d6cda57b12a5f36058ba8"
 
-#: C/statusbar.vala.page:19(desc) C/statusbar.py.page:19(desc)
-#: C/statusbar.c.page:20(desc)
-msgid "Report messages of minor importance to the user"
-msgstr "Enviar mensajes de menor importancia al usuario"
+#: C/statusbar.vala.page:7(title)
+#, fuzzy
+#| msgid "Statusbar"
+msgid "Statusbar (Vala)"
+msgstr "Statusbar"
+
+#: C/statusbar.vala.page:20(desc) C/statusbar.py.page:20(desc)
+#: C/statusbar.c.page:21(desc)
+msgid "Report messages of minor importance to the user"
+msgstr "Enviar mensajes de menor importancia al usuario"
 
-#: C/statusbar.vala.page:22(title) C/statusbar.py.page:22(title)
-#: C/statusbar.js.page:19(title) C/statusbar.c.page:23(title)
+#: C/statusbar.vala.page:23(title) C/statusbar.py.page:23(title)
+#: C/statusbar.js.page:20(title) C/statusbar.c.page:24(title)
 msgid "Statusbar"
 msgstr "Statusbar"
 
-#: C/statusbar.vala.page:24(p)
+#: C/statusbar.vala.page:25(p)
 msgid "This statusbar tells you what's going on."
 msgstr "Esta barra de estado le indica quà està pasando."
 
-#: C/statusbar.vala.page:31(link) C/statusbar.js.page:226(link)
+#: C/statusbar.vala.page:32(link) C/statusbar.js.page:227(link)
 msgid "Gtk.Statusbar"
 msgstr "Gtk.Statusbar"
 
-#: C/statusbar.py.page:24(p)
+#: C/statusbar.py.page:7(title)
+#, fuzzy
+#| msgid "Statusbar"
+msgid "Statusbar (Python)"
+msgstr "Statusbar"
+
+#: C/statusbar.py.page:25(p)
 msgid ""
 "This statusbar tells you if you click the button or if you press any key "
 "(and which key)."
@@ -3284,7 +3996,7 @@ msgstr ""
 "Esta barra de estado indica si ha pulsado el botÃn o si ha pulsado una tecla "
 "(y quà tecla ha pulsado)."
 
-#: C/statusbar.py.page:33(p)
+#: C/statusbar.py.page:34(p)
 msgid ""
 "<code>Gdk.keyval_name(event.keyval)</code> converts the key value "
 "<code>event.keyval</code> into a symbolic name. The names and corresponding "
@@ -3293,23 +4005,23 @@ msgid ""
 "code> becomes the string <code>\"BackSpace\"</code>."
 msgstr ""
 
-#: C/statusbar.py.page:39(title)
+#: C/statusbar.py.page:40(title)
 msgid "Useful methods for a Statusbar widget"
 msgstr "MÃtodos Ãtiles para un widget ÂStatusbarÂ"
 
-#: C/statusbar.py.page:41(p)
+#: C/statusbar.py.page:42(p)
 msgid ""
 "<code>pop(context_id)</code> removes the first message in the statusbar "
 "stack with the given <code>context_id</code>."
 msgstr ""
 
-#: C/statusbar.py.page:42(p)
+#: C/statusbar.py.page:43(p)
 msgid ""
 "<code>remove_all(context_id)</code> removes all the messages in the "
 "statusbar stack with the given <code>context_id</code>."
 msgstr ""
 
-#: C/statusbar.py.page:43(p)
+#: C/statusbar.py.page:44(p)
 msgid ""
 "<code>remove(context_id, message_id)</code> removes the message with the "
 "given <code>message_id</code> in the statusbar stack with the given "
@@ -3318,26 +4030,32 @@ msgid ""
 "the statusbar."
 msgstr ""
 
-#: C/statusbar.py.page:51(link)
+#: C/statusbar.py.page:52(link)
 msgid "GtkStatusbar"
 msgstr "GtkStatusbar"
 
-#: C/statusbar.py.page:52(link) C/spinner.js.page:28(link)
-#: C/progressbar.py.page:56(link)
+#: C/statusbar.py.page:53(link) C/spinner.js.page:29(link)
+#: C/progressbar.py.page:57(link)
 msgid "Gdk - Key Values"
 msgstr "GDK: valores de teclas"
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/statusbar.js.page:20(None)
+#: C/statusbar.js.page:21(None)
 msgid "@@image: 'media/statusbar2.png'; md5=ff6f7e5b270827ca98b2d5f7087aa766"
 msgstr "@@image: 'media/statusbar2.png'; md5=ff6f7e5b270827ca98b2d5f7087aa766"
 
-#: C/statusbar.js.page:16(desc)
+#: C/statusbar.js.page:7(title)
+#, fuzzy
+#| msgid "JavaScript"
+msgid "Statusbar (JavaScript)"
+msgstr "JavaScript"
+
+#: C/statusbar.js.page:17(desc)
 msgid "Show notifications in a dedicated statusbar"
 msgstr "Mostrar notificaciones en una barra de estado dedicada"
 
-#: C/statusbar.js.page:21(p)
+#: C/statusbar.js.page:22(p)
 msgid ""
 "This statusbar keeps track of how many times you've clicked a button. "
 "Applications like <link href=\"http://projects.gnome.org/gedit/\";>gedit</"
@@ -3345,7 +4063,7 @@ msgid ""
 "notifications without interrupting the user."
 msgstr ""
 
-#: C/statusbar.js.page:22(p)
+#: C/statusbar.js.page:23(p)
 msgid ""
 "Messages pushed to a statusbar go on top of its stack, and can be popped off "
 "to show the next-most recent one. You can also clear away every message of a "
@@ -3353,7 +4071,7 @@ msgid ""
 "functions."
 msgstr ""
 
-#: C/statusbar.js.page:65(p)
+#: C/statusbar.js.page:66(p)
 msgid ""
 "All the code for this sample goes in the StatusbarExample class. The above "
 "code creates a <link href=\"http://www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/";
@@ -3361,7 +4079,7 @@ msgid ""
 "go in."
 msgstr ""
 
-#: C/statusbar.js.page:82(p)
+#: C/statusbar.js.page:83(p)
 msgid ""
 "The _buildUI function is where we put all the code to create the "
 "application's user interface. The first step is creating a new <link href="
@@ -3373,11 +4091,11 @@ msgid ""
 "resizes it."
 msgstr ""
 
-#: C/statusbar.js.page:86(title)
+#: C/statusbar.js.page:87(title)
 msgid "Creating the buttons"
 msgstr "Crear los botones"
 
-#: C/statusbar.js.page:105(p)
+#: C/statusbar.js.page:106(p)
 msgid ""
 "This code creates the three <link href=\"button.js.page\">Gtk.Buttons</link> "
 "we'll use to push a new message to the statusbar, pop the last one off, and "
@@ -3387,7 +4105,7 @@ msgid ""
 "supports."
 msgstr ""
 
-#: C/statusbar.js.page:123(p)
+#: C/statusbar.js.page:124(p)
 msgid ""
 "This code creates the <link href=\"grid.js.page\">Gtk.Grid</link> that we'll "
 "use to organize the buttons, and attaches the buttons to it in order. It "
@@ -3397,17 +4115,17 @@ msgid ""
 "into the Paned interface, and then add it to the ApplicationWindow."
 msgstr ""
 
-#: C/statusbar.js.page:127(title)
+#: C/statusbar.js.page:128(title)
 msgid "Creating the statusbar"
 msgstr "Crear la barra de estado"
 
-#: C/statusbar.js.page:144(p)
+#: C/statusbar.js.page:145(p)
 msgid ""
 "Here we create the Gtk.Statusbar, and push a message to it to start off "
 "with. Then we give it its own narrow frame at the bottom of the window."
 msgstr ""
 
-#: C/statusbar.js.page:145(p)
+#: C/statusbar.js.page:146(p)
 msgid ""
 "Every message needs to have a context id, which is an integer value you can "
 "get from the statusbar with the get_context_id() function. Its only "
@@ -3418,24 +4136,24 @@ msgid ""
 "only one kind of message, though, so we're just using one for everything."
 msgstr ""
 
-#: C/statusbar.js.page:146(p)
+#: C/statusbar.js.page:147(p)
 msgid ""
 "We use the push() function to push a new message onto the stack. Its first "
 "parameter is the context id, and its second is the message."
 msgstr ""
 
-#: C/statusbar.js.page:159(p)
+#: C/statusbar.js.page:160(p)
 msgid ""
 "This code finishes up creating the window, by packing the frames into the "
 "pane, adding it to the window, and telling the window to show all child "
 "widgets."
 msgstr ""
 
-#: C/statusbar.js.page:163(title)
+#: C/statusbar.js.page:164(title)
 msgid "Functions for interacting with the statusbar"
 msgstr "Funciones para interactuar con la barra de estado"
 
-#: C/statusbar.js.page:204(p)
+#: C/statusbar.js.page:205(p)
 msgid ""
 "Here we have functions which demonstrate pushing a message onto the stack, "
 "popping the top one off of it, and clearing all messages of a particular "
@@ -3445,74 +4163,92 @@ msgid ""
 "messages of that type from the stack."
 msgstr ""
 
-#: C/statusbar.js.page:210(p)
+#: C/statusbar.js.page:211(p)
 msgid ""
 "Finally, we create a new instance of the finished StatusbarExample class, "
 "and set the application running."
 msgstr ""
 
-#: C/statusbar.js.page:224(link)
+#: C/statusbar.js.page:225(link)
 msgid "Gtk.Frame"
 msgstr "Gtk.Frame"
 
-#: C/statusbar.js.page:225(link)
+#: C/statusbar.js.page:226(link)
 msgid "Gtk.Paned"
 msgstr "Gtk.Paned"
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/statusbar.c.page:25(None)
+#: C/statusbar.c.page:26(None)
 msgid "@@image: 'media/statusbar3.png'; md5=60c71604fb44656237ee66dfb39a8689"
 msgstr "@@image: 'media/statusbar3.png'; md5=60c71604fb44656237ee66dfb39a8689"
 
-#: C/statusbar.c.page:26(p)
+#: C/statusbar.c.page:7(title)
+#, fuzzy
+#| msgid "Statusbar"
+msgid "Statusbar (C)"
+msgstr "Statusbar"
+
+#: C/statusbar.c.page:27(p)
 msgid ""
 "This statusbar is used to demonstrate how messages are stacked in a last-in-"
 "first-out order. The message at the top of the stack is always the one "
 "displayed."
 msgstr ""
 
-#: C/statusbar.c.page:36(link)
+#: C/statusbar.c.page:37(link)
 msgid "GtkStatusBar"
 msgstr "GtkStatusBar"
 
-#: C/statusbar.c.page:37(link) C/scale.c.page:37(link)
+#: C/statusbar.c.page:38(link) C/scale.c.page:38(link)
 msgid "String Utility Functions"
 msgstr "Funciones Ãtiles para cadenas"
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/spinner.vala.page:20(None) C/spinner.py.page:20(None)
-#: C/spinner.js.page:20(None) C/spinner.c.page:22(None)
+#: C/spinner.vala.page:21(None) C/spinner.py.page:21(None)
+#: C/spinner.js.page:21(None) C/spinner.c.page:23(None)
 msgid "@@image: 'media/spinner.png'; md5=d04f2d81f1d72c6c2f97e8729947dfed"
 msgstr "@@image: 'media/spinner.png'; md5=d04f2d81f1d72c6c2f97e8729947dfed"
 
-#: C/spinner.vala.page:16(desc) C/spinner.py.page:16(desc)
-#: C/spinner.js.page:16(desc) C/spinner.c.page:17(desc)
+#: C/spinner.vala.page:7(title)
+#, fuzzy
+#| msgid "Spinner"
+msgid "Spinner (Vala)"
+msgstr "Spinner"
+
+#: C/spinner.vala.page:17(desc) C/spinner.py.page:17(desc)
+#: C/spinner.js.page:17(desc) C/spinner.c.page:18(desc)
 msgid "A spinner animation"
 msgstr "Una animaciÃn giratoria"
 
-#: C/spinner.vala.page:19(title) C/spinner.py.page:19(title)
-#: C/spinner.js.page:19(title) C/spinner.c.page:20(title)
+#: C/spinner.vala.page:20(title) C/spinner.py.page:20(title)
+#: C/spinner.js.page:20(title) C/spinner.c.page:21(title)
 msgid "Spinner"
 msgstr "Spinner"
 
-#: C/spinner.vala.page:21(p) C/spinner.py.page:21(p) C/spinner.js.page:21(p)
-#: C/spinner.c.page:23(p)
+#: C/spinner.vala.page:22(p) C/spinner.py.page:22(p) C/spinner.js.page:22(p)
+#: C/spinner.c.page:24(p)
 msgid "This Spinner is stopped and started by pressing the spacebar."
 msgstr ""
 "Este indicador de progreso està detenido y se inicia al pulsar la barra "
 "espaciadora."
 
-#: C/spinner.vala.page:28(link)
+#: C/spinner.vala.page:29(link)
 msgid "Gtk.Widget"
 msgstr "Gtk.Widget"
 
-#: C/spinner.vala.page:30(link)
+#: C/spinner.vala.page:31(link)
 msgid "Gdk.keyval_name"
 msgstr "Gdk.keyval_name"
 
-#: C/spinner.py.page:30(p)
+#: C/spinner.py.page:7(title)
+#, fuzzy
+#| msgid "Strings in Python"
+msgid "Spinner (Python)"
+msgstr "Cadenas en Python"
+
+#: C/spinner.py.page:31(p)
 msgid ""
 "<code>Gdk.keyval_name(event.keyval)</code> converts the key value "
 "<code>event.keyval</code> into a symbolic name. The names and corresponding "
@@ -3521,55 +4257,79 @@ msgid ""
 "code> becomes the string <code>\"BackSpace\"</code>."
 msgstr ""
 
-#: C/spinner.py.page:40(link)
+#: C/spinner.py.page:41(link)
 msgid "Key Values"
 msgstr "Valores de teclas"
 
-#: C/spinner.c.page:33(link)
+#: C/spinner.js.page:7(title)
+#, fuzzy
+#| msgid "JavaScript"
+msgid "Spinner (JavaScript)"
+msgstr "JavaScript"
+
+#: C/spinner.c.page:7(title)
+#, fuzzy
+#| msgid "Spinner"
+msgid "Spinner (C)"
+msgstr "Spinner"
+
+#: C/spinner.c.page:34(link)
 msgid "GObject"
 msgstr "GObject"
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/spinbutton.vala.page:22(None) C/spinbutton.py.page:21(None)
-#: C/spinbutton.c.page:24(None)
+#: C/spinbutton.vala.page:23(None) C/spinbutton.py.page:22(None)
+#: C/spinbutton.c.page:25(None)
 msgid "@@image: 'media/spinbutton.png'; md5=993cbb7d9bd271a329727a926195712a"
 msgstr "@@image: 'media/spinbutton.png'; md5=993cbb7d9bd271a329727a926195712a"
 
-#: C/spinbutton.vala.page:18(desc)
+#: C/spinbutton.vala.page:7(title)
+#, fuzzy
+#| msgid "SpinButton"
+msgid "SpinButton (Vala)"
+msgstr "SpinButton"
+
+#: C/spinbutton.vala.page:19(desc)
 msgid "Retrieve an integer or floating point number."
 msgstr "Obtener un nÃmero entero o en coma flotante."
 
-#: C/spinbutton.vala.page:21(title) C/spinbutton.py.page:20(title)
-#: C/spinbutton.js.page:22(title) C/spinbutton.c.page:22(title)
+#: C/spinbutton.vala.page:22(title) C/spinbutton.py.page:21(title)
+#: C/spinbutton.js.page:23(title) C/spinbutton.c.page:23(title)
 msgid "SpinButton"
 msgstr "SpinButton"
 
-#: C/spinbutton.vala.page:23(p) C/spinbutton.py.page:22(p)
-#: C/spinbutton.c.page:25(p)
+#: C/spinbutton.vala.page:24(p) C/spinbutton.py.page:23(p)
+#: C/spinbutton.c.page:26(p)
 msgid "Choose a number, by entering it or by clicking on the -/+ buttons!"
 msgstr "Elija un nÃmero, escribiÃndolo o pulsando los botones -/+."
 
-#: C/spinbutton.vala.page:30(link) C/spinbutton.js.page:204(link)
+#: C/spinbutton.vala.page:31(link) C/spinbutton.js.page:205(link)
 msgid "Gtk.SpinButton"
 msgstr "Gtk.SpinButton"
 
-#: C/spinbutton.py.page:17(desc)
+#: C/spinbutton.py.page:7(title)
+#, fuzzy
+#| msgid "SpinButton"
+msgid "SpinButton (Python)"
+msgstr "SpinButton"
+
+#: C/spinbutton.py.page:18(desc)
 msgid "Retrieve an integer or floating-point number from the user."
 msgstr "Obtener un nÃmero entero o en coma flotante del usuario."
 
-#: C/spinbutton.py.page:32(title)
+#: C/spinbutton.py.page:33(title)
 msgid "Useful methods for a SpinButton widget"
 msgstr "MÃtodos Ãtiles para un widget ÂSpinButtonÂ"
 
-#: C/spinbutton.py.page:33(p)
+#: C/spinbutton.py.page:34(p)
 msgid ""
 "For an explanation of signals and callback functions, see <link xref="
 "\"signals-callbacks.py\">this page</link>. An example is the <code>\"value-"
 "changed\"</code> signal, emitted when the value of the spinbutton changes."
 msgstr ""
 
-#: C/spinbutton.py.page:34(p)
+#: C/spinbutton.py.page:35(p)
 msgid ""
 "A Gtk.Adjustment is needed to construct the Gtk.SpinButton. This is the "
 "representation of a value with a lower and upper bound, together with step "
@@ -3582,61 +4342,67 @@ msgid ""
 "<code>0</code>."
 msgstr ""
 
-#: C/spinbutton.py.page:36(p)
+#: C/spinbutton.py.page:37(p)
 msgid ""
 "If you want the value of the spinbutton to wrap around when they exceed the "
 "maximum or the minimum, set <code>set_wrap(True)</code>. The <code>\"wrapped"
 "\"</code> signal is emitted when this happens."
 msgstr ""
 
-#: C/spinbutton.py.page:37(p)
+#: C/spinbutton.py.page:38(p)
 msgid ""
 "<code>set_digits(digits)</code> sets the precision to be displayed by the "
 "spinbutton, up to 20 digits."
 msgstr ""
 
-#: C/spinbutton.py.page:38(p)
+#: C/spinbutton.py.page:39(p)
 msgid ""
 "To get the value of the spinbutton as an integer, use <code>get_value_as_int"
 "()</code>."
 msgstr ""
 
-#: C/spinbutton.py.page:46(link) C/spinbutton.c.page:35(link)
+#: C/spinbutton.py.page:47(link) C/spinbutton.c.page:36(link)
 msgid "GtkSpinButton"
 msgstr "GtkSpinButton"
 
-#: C/spinbutton.py.page:47(link) C/spinbutton.c.page:37(link)
-#: C/scale.py.page:55(link) C/scale.c.page:36(link)
+#: C/spinbutton.py.page:48(link) C/spinbutton.c.page:38(link)
+#: C/scale.py.page:56(link) C/scale.c.page:37(link)
 msgid "GtkAdjustment"
 msgstr "GtkAdjustment"
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/spinbutton.js.page:23(None)
+#: C/spinbutton.js.page:24(None)
 msgid ""
 "@@image: 'media/spinbuttonkittens.png'; md5=577cce8a902140aacbab73fe8a76a010"
 msgstr ""
 "@@image: 'media/spinbuttonkittens.png'; md5=577cce8a902140aacbab73fe8a76a010"
 
-#: C/spinbutton.js.page:19(desc)
+#: C/spinbutton.js.page:7(title)
+#, fuzzy
+#| msgid "SpinButton"
+msgid "SpinButton (JavaScript)"
+msgstr "SpinButton"
+
+#: C/spinbutton.js.page:20(desc)
 msgid "A number entry field that has + and - buttons"
 msgstr ""
 
-#: C/spinbutton.js.page:24(p)
+#: C/spinbutton.js.page:25(p)
 msgid ""
 "A SpinButton is not related to a <link xref=\"spinner.js\">Spinner.</link> "
 "It's a text entry field which only accepts numbers, and which has plus and "
 "minus buttons to let you change the value without having to type anything in."
 msgstr ""
 
-#: C/spinbutton.js.page:25(p)
+#: C/spinbutton.js.page:26(p)
 msgid ""
 "It's best used when it's obvious that only a number can be entered into it. "
 "In this example, two SpinButtons are used for the number of kittens and "
 "number of cans of tuna to give them."
 msgstr ""
 
-#: C/spinbutton.js.page:67(p)
+#: C/spinbutton.js.page:68(p)
 msgid ""
 "All the code for this sample goes in the SpinButtonExample class. The above "
 "code creates a <link href=\"http://www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/";
@@ -3644,11 +4410,11 @@ msgid ""
 "go in."
 msgstr ""
 
-#: C/spinbutton.js.page:83(title)
+#: C/spinbutton.js.page:84(title)
 msgid "Creating the SpinButtons"
 msgstr "Crear los botones incrementales"
 
-#: C/spinbutton.js.page:90(p)
+#: C/spinbutton.js.page:91(p)
 msgid ""
 "We can use the new_with_range function to create a new SpinButton quickly. "
 "Its first parameter is the SpinButton's starting value, its second is the "
@@ -3656,14 +4422,14 @@ msgid ""
 "minus buttons are pressed."
 msgstr ""
 
-#: C/spinbutton.js.page:91(p)
+#: C/spinbutton.js.page:92(p)
 msgid ""
 "After we create the first SpinButton, we connect its value-changed signal to "
 "a function which handles what happens when the number inside either "
 "SpinButton changes."
 msgstr ""
 
-#: C/spinbutton.js.page:110(p)
+#: C/spinbutton.js.page:111(p)
 msgid ""
 "If you want more fine-grained control over a SpinButton, or want to create a "
 "bunch of SpinButtons which all use the same parameters, you can create an "
@@ -3674,7 +4440,7 @@ msgid ""
 "changing the Adjustment object's properties."
 msgstr ""
 
-#: C/spinbutton.js.page:111(p)
+#: C/spinbutton.js.page:112(p)
 msgid ""
 "The commented-out lines here show things you can do to customize your "
 "SpinButton. You can set the number of digits which go after the decimal "
@@ -3682,17 +4448,17 @@ msgid ""
 "upper or lower bounds that you set."
 msgstr ""
 
-#: C/spinbutton.js.page:112(p)
+#: C/spinbutton.js.page:113(p)
 msgid ""
 "For the kitties' sake, please don't use set_digits to allow a decimal number "
 "of kittens."
 msgstr ""
 
-#: C/spinbutton.js.page:116(title)
+#: C/spinbutton.js.page:117(title)
 msgid "Creating the rest of the UI"
 msgstr "Crear el resto de la IU"
 
-#: C/spinbutton.js.page:127(p)
+#: C/spinbutton.js.page:128(p)
 msgid ""
 "We create each <link xref=\"label.js\">Label</link> individually, and then "
 "string them together along with the SpinButtons. The last label needs to "
@@ -3703,14 +4469,14 @@ msgid ""
 "kitten down to the nearest whole number."
 msgstr ""
 
-#: C/spinbutton.js.page:153(p)
+#: C/spinbutton.js.page:154(p)
 msgid ""
 "Here we use <link xref=\"grid.js\">Grid</link> widgets to keep everything "
 "organized. One Grid holds the labels and SpinButtons in order, while the "
 "next puts that Grid on top and the final Label on the bottom."
 msgstr ""
 
-#: C/spinbutton.js.page:154(p)
+#: C/spinbutton.js.page:155(p)
 msgid ""
 "There isn't a wrong way to organize things in Grids, so long as you like how "
 "it turns out. In this case, the top Grid has a margin on the bottom to keep "
@@ -3719,11 +4485,11 @@ msgid ""
 "on the top."
 msgstr ""
 
-#: C/spinbutton.js.page:168(title)
+#: C/spinbutton.js.page:169(title)
 msgid "Function which handles the SpinButtons' numerical values being adjusted"
 msgstr ""
 
-#: C/spinbutton.js.page:181(p)
+#: C/spinbutton.js.page:182(p)
 msgid ""
 "Here we update the perKitten variable based on the SpinButtons' new values, "
 "and use the set_label property to refresh what _lastLabel shows. Since both "
@@ -3731,36 +4497,47 @@ msgid ""
 "every time either of the numbers changes this function will update the Label."
 msgstr ""
 
-#: C/spinbutton.js.page:188(p)
+#: C/spinbutton.js.page:189(p)
 msgid ""
 "Finally, we create a new instance of the finished SpinButtonExample class, "
 "and set the application running."
 msgstr ""
 
-#: C/spinbutton.js.page:199(link) C/scale.vala.page:31(link)
-#: C/scale.js.page:208(link)
+#: C/spinbutton.js.page:200(link) C/scale.vala.page:32(link)
+#: C/scale.js.page:209(link)
 msgid "Gtk.Adjustment"
 msgstr "Gtk.Adjustment"
 
-#: C/spinbutton.c.page:19(desc)
-#| msgid "Retrieve an integer or floating point number."
+#: C/spinbutton.c.page:7(title)
+#, fuzzy
+#| msgid "SpinButton"
+msgid "SpinButton (C)"
+msgstr "SpinButton"
+
+#: C/spinbutton.c.page:20(desc)
 msgid "Retrieve an integer or floating point number"
 msgstr "Obtener un nÃmero entero o en coma flotante"
 
-#: C/signals-callbacks.py.page:11(desc)
+#: C/signals-callbacks.py.page:8(title)
+#, fuzzy
+#| msgid "Signals and callbacks"
+msgid "Signals and callbacks (Python)"
+msgstr "SeÃales y retornos de llamada"
+
+#: C/signals-callbacks.py.page:12(desc)
 msgid "An explanation of signals and callbacks in GTK+."
 msgstr "Una explicaciÃn de seÃales y retornos de llamada en GTK+."
 
-#: C/signals-callbacks.py.page:24(title)
+#: C/signals-callbacks.py.page:25(title)
 msgid "Signals and callbacks"
 msgstr "SeÃales y retornos de llamada"
 
-#: C/signals-callbacks.py.page:29(title) C/properties.py.page:29(title)
-#: C/model-view-controller.py.page:29(title)
+#: C/signals-callbacks.py.page:30(title) C/properties.py.page:30(title)
+#: C/model-view-controller.py.page:30(title)
 msgid "Overview"
 msgstr "VisioÌn general"
 
-#: C/signals-callbacks.py.page:31(p)
+#: C/signals-callbacks.py.page:32(p)
 msgid ""
 "Like most GUI toolkits, GTK+ uses an event-driven programming model. When "
 "the user is doing nothing, GTK+ sits in the main loop and waits for input. "
@@ -3768,7 +4545,7 @@ msgid ""
 "\"wakes up\" and delivers an event to GTK+."
 msgstr ""
 
-#: C/signals-callbacks.py.page:33(p)
+#: C/signals-callbacks.py.page:34(p)
 msgid ""
 "When widgets receive an event, they frequently emit one or more signals. "
 "Signals notify your program that \"something interesting happened\" by "
@@ -3778,7 +4555,7 @@ msgid ""
 "the main loop and await more user input."
 msgstr ""
 
-#: C/signals-callbacks.py.page:35(p)
+#: C/signals-callbacks.py.page:36(p)
 msgid ""
 "A generic example is: <code>handler_id = widget.connect(\"event\", callback, "
 "data)</code>. <code>widget</code> is an instance of a widget we created "
@@ -3797,7 +4574,7 @@ msgid ""
 "should be passed when the signal is issued."
 msgstr ""
 
-#: C/signals-callbacks.py.page:37(p)
+#: C/signals-callbacks.py.page:38(p)
 msgid ""
 "The function returns a number (the <code>handler_id</code>) that identifies "
 "this particular signal-callback pair. This number is required to disconnect "
@@ -3806,7 +4583,7 @@ msgid ""
 "to, as in <code>widget.disconnect(handler_id)</code>."
 msgstr ""
 
-#: C/signals-callbacks.py.page:44(p)
+#: C/signals-callbacks.py.page:45(p)
 #, fuzzy
 #| msgid ""
 #| "Some basic concepts of <link href=\"http://developer.gnome.org/gobject/";
@@ -3818,7 +4595,7 @@ msgstr ""
 "Algunos conceptos bÃsicos de programaciÃn en <link href=\"http://developer.";
 "gnome.org/gobject/stable/\">GObject</link>"
 
-#: C/signals-callbacks.py.page:45(p)
+#: C/signals-callbacks.py.page:46(p)
 msgid ""
 "<link href=\"http://python-gtk-3-tutorial.readthedocs.org/en/latest/basics.";
 "html\">Basics - Main loop and Signals</link> in Python Gtk+ 3 Tutorial"
@@ -3826,74 +4603,71 @@ msgstr ""
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/set-up-gedit.page:24(None)
-#| msgid "@@image: 'media/textview.png'; md5=049e859ed1af2d7c93d8cb5cfd9f7792"
+#: C/set-up-gedit.js.page:24(None)
 msgid "@@image: 'media/geditview.png'; md5=f1438295662d95f56fcd1d8200efaaf2"
 msgstr "@@image: 'media/geditview.png'; md5=f1438295662d95f56fcd1d8200efaaf2"
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/set-up-gedit.page:36(None)
-#| msgid "@@image: 'media/fedora.png'; md5=19add55f4349fd9e90f3a50b344ba626"
+#: C/set-up-gedit.js.page:36(None)
 msgid "@@image: 'media/gediteditor.png'; md5=50db1ee8f2c545744879ee9fba5b4b24"
 msgstr "@@image: 'media/gediteditor.png'; md5=50db1ee8f2c545744879ee9fba5b4b24"
 
-#: C/set-up-gedit.page:18(title)
+#: C/set-up-gedit.js.page:18(title)
 msgid "Set up gedit for JavaScript development"
 msgstr ""
 
-#: C/set-up-gedit.page:19(p)
+#: C/set-up-gedit.js.page:19(p)
 msgid ""
 "This tutorial will show you how to set up <link href=\"http://projects.gnome.";
 "org/gedit/\">gedit,</link> GNOME's basic text editor, so that it has a "
 "handful of extra features which are useful for writing JavaScript code."
 msgstr ""
 
-#: C/set-up-gedit.page:22(title)
+#: C/set-up-gedit.js.page:22(title)
 msgid "Making code clearer"
 msgstr "Simplificar el cÃdigo"
 
-#: C/set-up-gedit.page:23(p)
+#: C/set-up-gedit.js.page:23(p)
 msgid ""
 "Click on <gui>Edit</gui> in gedit's menu bar, then click on <gui>Preferences."
 "</gui> You should see something like this:"
 msgstr ""
 
-#: C/set-up-gedit.page:25(p)
+#: C/set-up-gedit.js.page:25(p)
 msgid "Here are the options you want to make sure are turned on."
 msgstr ""
 
-#: C/set-up-gedit.page:27(p)
+#: C/set-up-gedit.js.page:27(p)
 msgid ""
 "<gui>Display line numbers</gui> will help you compare the code you type in "
 "with the original, and make it easier to see which line is causing an error "
 "if there is a bug."
 msgstr ""
 
-#: C/set-up-gedit.page:28(p)
+#: C/set-up-gedit.js.page:28(p)
 msgid ""
 "<gui>Highlight current line</gui> makes it easier to see which line you're "
 "on, when you have to go back and forth a lot."
 msgstr ""
 
-#: C/set-up-gedit.page:29(p)
+#: C/set-up-gedit.js.page:29(p)
 msgid ""
 "<gui>Highlight matching brackets</gui> helps you make sure you didn't leave "
 "out a bracket by accident."
 msgstr ""
 
-#: C/set-up-gedit.page:34(title)
-#| msgid "Making the sounds with GStreamer"
+#: C/set-up-gedit.js.page:34(title)
 msgid "Making editing easier"
 msgstr "Facilitar la ediciÃn"
 
-#: C/set-up-gedit.page:35(p)
+#: C/set-up-gedit.js.page:35(p)
 msgid ""
 "In gedit's <gui>Preferences</gui> dialog, click on the <gui>Editor</gui> "
 "tab. You should see something like this:"
 msgstr ""
 
-#: C/set-up-gedit.page:37(p)
+#: C/set-up-gedit.js.page:37(p)
 msgid ""
 "Here, you want to have <gui>Enable automatic indentation</gui> turned on. "
 "This means that when you hit <key>Enter</key> the cursor stays indented as "
@@ -3901,7 +4675,7 @@ msgid ""
 "code, since it uses indentation to make it clearer which parts do what."
 msgstr ""
 
-#: C/set-up-gedit.page:38(p)
+#: C/set-up-gedit.js.page:38(p)
 msgid ""
 "If you want to share code with other people who write GNOME JavaScript "
 "applications, you'll also want to set <gui>Tab width</gui> to 4 and turn on "
@@ -3910,51 +4684,74 @@ msgstr ""
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/separator.py.page:22(None)
+#: C/separator.py.page:23(None)
 msgid "@@image: 'media/separator.png'; md5=8769b27662ce5c77f99e9ce33751a21a"
 msgstr "@@image: 'media/separator.png'; md5=8769b27662ce5c77f99e9ce33751a21a"
 
-#: C/separator.py.page:17(desc)
+#: C/separator.py.page:7(title)
+msgid "Seperator (Python)"
+msgstr ""
+
+#: C/separator.py.page:18(desc)
 msgid "A separator widget"
 msgstr "Un widget separador"
 
-#: C/separator.py.page:20(title)
+#: C/separator.py.page:21(title)
 msgid "Separator"
 msgstr "Separador"
 
-#: C/separator.py.page:23(p)
-msgid "A horizontal and a vertical separator."
+#: C/separator.py.page:24(p)
+#, fuzzy
+#| msgid "A horizontal and a vertical separator."
+msgid "A horizontal and a vertical separator divide some labels."
 msgstr "Un separador horizontal y uno vertical."
 
-#: C/separator.py.page:32(link)
+#: C/separator.py.page:34(title)
+#| msgid "API References"
+msgid "API Reference"
+msgstr "Referencias de la API"
+
+#: C/separator.py.page:38(link)
 msgid "GtkSeparator"
 msgstr "GtkSeparator"
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/scrolledwindow.vala.page:21(None) C/scrolledwindow.py.page:20(None)
+#: C/scrolledwindow.vala.page:22(None) C/scrolledwindow.py.page:21(None)
 msgid ""
 "@@image: 'media/scrolledwindow.png'; md5=697bb3205d5c4fb0b4ea8db435843157"
 msgstr ""
 "@@image: 'media/scrolledwindow.png'; md5=697bb3205d5c4fb0b4ea8db435843157"
 
-#: C/scrolledwindow.vala.page:17(desc) C/scrolledwindow.py.page:16(desc)
+#: C/scrolledwindow.vala.page:7(title)
+#, fuzzy
+#| msgid "ScrolledWindow"
+msgid "ScrolledWindow (Vala)"
+msgstr "ScrolledWindow"
+
+#: C/scrolledwindow.vala.page:18(desc) C/scrolledwindow.py.page:17(desc)
 msgid "Adds scrollbars to its child widget"
 msgstr "AÃade barras de desplazamiento a su widget hijo"
 
-#: C/scrolledwindow.vala.page:20(title) C/scrolledwindow.py.page:19(title)
+#: C/scrolledwindow.vala.page:21(title) C/scrolledwindow.py.page:20(title)
 msgid "ScrolledWindow"
 msgstr "ScrolledWindow"
 
-#: C/scrolledwindow.vala.page:22(p) C/scrolledwindow.py.page:21(p)
+#: C/scrolledwindow.vala.page:23(p) C/scrolledwindow.py.page:22(p)
 msgid "An image in a scrolled window."
 msgstr "Una imagen en una ventana con barras de desplazamiento."
 
-#: C/scrolledwindow.py.page:30(title)
+#: C/scrolledwindow.py.page:7(title)
+#, fuzzy
+#| msgid "ScrolledWindow"
+msgid "ScrolledWindow (Python)"
+msgstr "ScrolledWindow"
+
+#: C/scrolledwindow.py.page:31(title)
 msgid "Useful methods for a ScrolledWindow widget"
 msgstr "MÃtodos Ãtiles para un widget ÂScrolledWindowÂ"
 
-#: C/scrolledwindow.py.page:32(p)
+#: C/scrolledwindow.py.page:33(p)
 msgid ""
 "<code>set_policy(hscrollbar_policy, vscrollbar_policy)</code> where each of "
 "the arguments is one of <code>Gtk.Policy.AUTOMATIC, Gtk.Policy.ALWAYS, Gtk."
@@ -3963,13 +4760,13 @@ msgid ""
 "<code>ALWAYS</code> and <code>NEVER</code> are self-explanatory."
 msgstr ""
 
-#: C/scrolledwindow.py.page:33(p)
+#: C/scrolledwindow.py.page:34(p)
 msgid ""
 "<code>add_with_viewport(widget)</code> is used to add the Gtk.Widget "
 "<code>widget</code> without native scrolling capabilities inside the window."
 msgstr ""
 
-#: C/scrolledwindow.py.page:34(p)
+#: C/scrolledwindow.py.page:35(p)
 msgid ""
 "<code>set_placement(window_placement)</code> sets the placement of the "
 "contents with respect to the scrollbars for the scrolled window. The options "
@@ -3979,7 +4776,7 @@ msgid ""
 "BOTTOM_RIGHT</code>."
 msgstr ""
 
-#: C/scrolledwindow.py.page:35(p)
+#: C/scrolledwindow.py.page:36(p)
 msgid ""
 "<code>set_hadjustment(adjustment)</code> and <code>set_vadjustment"
 "(adjustment)</code> set the Gtk.Adjustment <code>adjustment</code>. This is "
@@ -3991,54 +4788,67 @@ msgid ""
 "<code>0</code>.)"
 msgstr ""
 
-#: C/scrolledwindow.py.page:44(link) C/image.vala.page:32(link)
-#: C/image.py.page:99(link) C/image.c.page:33(link)
+#: C/scrolledwindow.py.page:45(link) C/paned.py.page:42(link)
+#: C/image.vala.page:33(link) C/image.py.page:100(link)
+#: C/image.c.page:34(link) C/grid.py.page:58(link)
 msgid "GtkImage"
 msgstr "GtkImage"
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/scale.vala.page:22(None) C/scale.py.page:21(None)
+#: C/scale.vala.page:23(None) C/scale.py.page:22(None)
 msgid "@@image: 'media/scale.png'; md5=462c52a53b773cb9e8c62c646bf88452"
 msgstr "@@image: 'media/scale.png'; md5=462c52a53b773cb9e8c62c646bf88452"
 
-#: C/scale.vala.page:18(desc) C/scale.py.page:17(desc) C/scale.c.page:18(desc)
+#: C/scale.vala.page:7(title)
+#, fuzzy
+#| msgid "Sample Vala code"
+msgid "Scale (Vala)"
+msgstr "Ejemplo de cÃdigo en Vala"
+
+#: C/scale.vala.page:19(desc) C/scale.py.page:18(desc) C/scale.c.page:19(desc)
 msgid "A slider widget for selecting a value from a range"
 msgstr "Un widget deslizador para seleccionar un valor de un rango"
 
-#: C/scale.vala.page:21(title) C/scale.py.page:20(title)
-#: C/scale.js.page:19(title) C/scale.c.page:21(title)
+#: C/scale.vala.page:22(title) C/scale.py.page:21(title)
+#: C/scale.js.page:20(title) C/scale.c.page:22(title)
 msgid "Scale"
 msgstr "Escala"
 
-#: C/scale.vala.page:23(p) C/scale.py.page:22(p) C/scale.c.page:24(p)
+#: C/scale.vala.page:24(p) C/scale.py.page:23(p) C/scale.c.page:25(p)
 msgid "Slide the scales!"
 msgstr "Desplace las escalas."
 
-#: C/scale.vala.page:30(link) C/scale.js.page:213(link)
+#: C/scale.vala.page:31(link) C/scale.js.page:214(link)
 msgid "Gtk.Scale"
 msgstr "Gtk.Scale"
 
-#: C/scale.vala.page:32(link)
+#: C/scale.vala.page:33(link)
 msgid "Gtk.PositionType"
 msgstr "Gtk.PositionType"
 
-#: C/scale.vala.page:33(link)
+#: C/scale.vala.page:34(link)
 msgid "Gtk.Orientation"
 msgstr "Gtk.Orientation"
 
-#: C/scale.py.page:32(title)
+#: C/scale.py.page:7(title)
+#, fuzzy
+#| msgid "Python"
+msgid "Scale (Python)"
+msgstr "Python"
+
+#: C/scale.py.page:33(title)
 msgid "Useful methods for a Scale widget"
 msgstr "MeÌtodos uÌtiles para un widget ÂScaleÂ"
 
-#: C/scale.py.page:33(p)
+#: C/scale.py.page:34(p)
 msgid ""
 "For an explanation of signals and callback functions, see <link xref="
 "\"signals-callbacks.py\">this page</link>. An example is the <code>\"value-"
 "changed\"</code> signal, emitted when the value of the scale changes."
 msgstr ""
 
-#: C/scale.py.page:34(p)
+#: C/scale.py.page:35(p)
 msgid ""
 "A Gtk.Adjustment is needed to construct the Gtk.Scale. This is the "
 "representation of a value with a lower and upper bound, together with step "
@@ -4051,7 +4861,7 @@ msgid ""
 "be set to <code>0</code>."
 msgstr ""
 
-#: C/scale.py.page:36(p)
+#: C/scale.py.page:37(p)
 msgid ""
 "<code>get_value()</code> retrieves the current value of the scale; "
 "<code>set_value(value)</code> sets it (if the <code>value</code>, of type "
@@ -4059,18 +4869,18 @@ msgid ""
 "clamped to fit inside them). These are methods of the class Gtk.Range."
 msgstr ""
 
-#: C/scale.py.page:37(p)
+#: C/scale.py.page:38(p)
 msgid ""
 "Use <code>set_draw_value(False)</code> to avoid displaying the current value "
 "as a string next to the slider."
 msgstr ""
 
-#: C/scale.py.page:38(p)
+#: C/scale.py.page:39(p)
 msgid ""
 "To highlight the part of the scale between the origin and the current value:"
 msgstr ""
 
-#: C/scale.py.page:39(code)
+#: C/scale.py.page:40(code)
 #, no-wrap
 msgid ""
 "\n"
@@ -4083,14 +4893,14 @@ msgstr ""
 "self.h_scale.set_fill_level(self.h_scale.get_value())\n"
 "self.h_scale.set_show_fill_level(True)"
 
-#: C/scale.py.page:43(p)
+#: C/scale.py.page:44(p)
 msgid ""
 "in the callback function of the \"value-changed\" signal, so to have the new "
 "filling every time the value is changed. These are methods of the class Gtk."
 "Range."
 msgstr ""
 
-#: C/scale.py.page:45(p)
+#: C/scale.py.page:46(p)
 msgid ""
 "<code>add_mark(value, position, markup)</code> adds a mark at the "
 "<code>value</code> (<code>float</code> or <code>int</code> if that is the "
@@ -4100,29 +4910,35 @@ msgid ""
 "Markup Language. To clear marks, <code>clear_marks()</code>."
 msgstr ""
 
-#: C/scale.py.page:46(p)
+#: C/scale.py.page:47(p)
 msgid ""
 "<code>set_digits(digits)</code> sets the precision of the scale at "
 "<code>digits</code> digits."
 msgstr ""
 
-#: C/scale.py.page:54(link) C/scale.c.page:34(link)
+#: C/scale.py.page:55(link) C/scale.c.page:35(link)
 msgid "GtkScale"
 msgstr "GtkScale"
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/scale.js.page:20(None)
+#: C/scale.js.page:21(None)
 msgid ""
 "@@image: 'media/scalepenguins.png'; md5=2dbe6a833fec86fde71a5ddb421e2cd5"
 msgstr ""
 "@@image: 'media/scalepenguins.png'; md5=2dbe6a833fec86fde71a5ddb421e2cd5"
 
-#: C/scale.js.page:16(desc)
+#: C/scale.js.page:7(title)
+#, fuzzy
+#| msgid "JavaScript"
+msgid "Scale (JavaScript)"
+msgstr "JavaScript"
+
+#: C/scale.js.page:17(desc)
 msgid "A slider which corresponds to a numerical value"
 msgstr "Un deslizador que corresponde a un valor numÃrico"
 
-#: C/scale.js.page:21(p)
+#: C/scale.js.page:22(p)
 msgid ""
 "A Scale is a horizontal or vertical slider, that represents a value inside a "
 "numerical range. When you create a new Scale, you set what its default "
@@ -4133,7 +4949,7 @@ msgid ""
 "keeps track of all that, then tell each new Scale to use that Adjustment."
 msgstr ""
 
-#: C/scale.js.page:22(p)
+#: C/scale.js.page:23(p)
 msgid ""
 "This scale is a simple widget that lets you adjust the size of an iceberg "
 "that penguins live on. The number of penguins on the iceberg is the product "
@@ -4141,7 +4957,7 @@ msgid ""
 "happens."
 msgstr ""
 
-#: C/scale.js.page:64(p)
+#: C/scale.js.page:65(p)
 msgid ""
 "All the code for this sample goes in the ScaleExample class. The above code "
 "creates a <link href=\"http://www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.";
@@ -4149,28 +4965,28 @@ msgid ""
 "in."
 msgstr ""
 
-#: C/scale.js.page:80(title)
+#: C/scale.js.page:81(title)
 msgid "Creating the scales"
 msgstr "Crear las escalas"
 
-#: C/scale.js.page:90(p)
+#: C/scale.js.page:91(p)
 msgid ""
 "The new_with_range method is one way to create a new Scale widget. The "
-"parameters it takes are a <link href=\"http://www.roojs.org/seed/gir-1.2-gtk-";
-"3.0/gjs/Gtk.Orientation.html\">Gtk.Orientation</link>, the minimum value, "
-"the maximum value, and the increment for a single step. After that we use "
-"the Scale's methods to set its starting value, and how many decimal places "
-"it runs to. We also set its vertical alignment in this case, to control "
-"where it appears in the window."
+"parameters it takes are a <link href=\"http://www.roojs.org/seed/gir-1.2-";
+"gtk-3.0/gjs/Gtk.Orientation.html\">Gtk.Orientation</link>, the minimum "
+"value, the maximum value, and the increment for a single step. After that we "
+"use the Scale's methods to set its starting value, and how many decimal "
+"places it runs to. We also set its vertical alignment in this case, to "
+"control where it appears in the window."
 msgstr ""
 
-#: C/scale.js.page:91(p)
+#: C/scale.js.page:92(p)
 msgid ""
 "We can use the set_draw_value method to tell it whether or not to show the "
 "number next to the sliding scale. It's commented out in this example."
 msgstr ""
 
-#: C/scale.js.page:103(p)
+#: C/scale.js.page:104(p)
 msgid ""
 "An Adjustment is an object we can use to simplify things when creating a new "
 "Scale. The Adjustment's \"value\" property is what the Scale's default value "
@@ -4179,7 +4995,7 @@ msgid ""
 "moves when you do things like click on it."
 msgstr ""
 
-#: C/scale.js.page:115(p)
+#: C/scale.js.page:116(p)
 msgid ""
 "Here we create a new Scale object using _adjustment as its \"adjustment\" "
 "property. This is a great shortcut. We still have to tell it to round off "
@@ -4188,7 +5004,7 @@ msgid ""
 "you're creating one this way."
 msgstr ""
 
-#: C/scale.js.page:131(p)
+#: C/scale.js.page:132(p)
 msgid ""
 "We can use the get_value method to find out the numerical value a Scale is "
 "set at. We can then do whatever we want with it, including multiply the two "
@@ -4197,31 +5013,31 @@ msgid ""
 "it display a silly message too."
 msgstr ""
 
-#: C/scale.js.page:132(p)
+#: C/scale.js.page:133(p)
 msgid ""
 "After we create the Label, we connect the two Scales' \"value-changed\" "
 "signals to _recalc, a function that will recalculate the number of penguins "
 "on the iceberg and come up with a new message."
 msgstr ""
 
-#: C/scale.js.page:147(p)
+#: C/scale.js.page:148(p)
 msgid ""
 "Here we create a <link xref=\"grid.js\">Grid</link> to put everything in, "
 "then attach all our widgets to it. Note that here and on some of the widgets "
 "themselves we're using margins to keep things neatly spaced."
 msgstr ""
 
-#: C/scale.js.page:156(p)
+#: C/scale.js.page:157(p)
 msgid ""
 "Finally, we add the Grid to the window, then tell the window to show itself "
 "and all the widgets inside of it."
 msgstr ""
 
-#: C/scale.js.page:160(title)
+#: C/scale.js.page:161(title)
 msgid "Function which handles the scales' values changing"
 msgstr ""
 
-#: C/scale.js.page:190(p)
+#: C/scale.js.page:191(p)
 msgid ""
 "Remember, we can get a Scale's value using its get_value method. Here we "
 "simply recalculate what the product of the two values is after one of the "
@@ -4229,7 +5045,7 @@ msgid ""
 "left, and change the wording on _label to show the new number and message."
 msgstr ""
 
-#: C/scale.js.page:197(p)
+#: C/scale.js.page:198(p)
 msgid ""
 "Finally, we create a new instance of the finished ScaleExample class, and "
 "set the application running."
@@ -4237,88 +5053,99 @@ msgstr ""
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/scale.c.page:23(None)
-#| msgid "@@image: 'media/scale.png'; md5=462c52a53b773cb9e8c62c646bf88452"
+#: C/scale.c.page:24(None)
 msgid "@@image: 'media/scale2.png'; md5=ae2ba0a6675f3d9cdcd961cdf32f1a5c"
 msgstr "@@image: 'media/scale2.png'; md5=ae2ba0a6675f3d9cdcd961cdf32f1a5c"
 
-#: C/scale.c.page:35(link)
+#: C/scale.c.page:7(title)
+#, fuzzy
+#| msgid "Scale"
+msgid "Scale (C)"
+msgstr "Escala"
+
+#: C/scale.c.page:36(link)
 msgid "GtkRange"
 msgstr "GtkRange"
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/record-collection.js.page:63(None)
+#: C/record-collection.js.page:64(None)
 msgid ""
 "@@image: 'media/record-collection.png'; md5=2d645997687ed5aacd36aafafc16e072"
 msgstr ""
 "@@image: 'media/record-collection.png'; md5=2d645997687ed5aacd36aafafc16e072"
 
-#: C/record-collection.js.page:9(desc)
+#: C/record-collection.js.page:7(title)
+#, fuzzy
+#| msgid "3 Record Collection"
+msgid "Record Collection (JavaScript)"
+msgstr "3. ColecciÃn de mÃsica"
+
+#: C/record-collection.js.page:10(desc)
 msgid "Create a small database application for ordering your music collection"
 msgstr ""
 "Cree una pequeÃa aplicaciÃn con una base de datos para ordenar su colecciÃn "
 "de mÃsica"
 
-#: C/record-collection.js.page:13(name) C/image-viewer.vala.page:13(name)
-#: C/image-viewer.cpp.page:12(name) C/image-viewer.c.page:13(name)
-#: C/guitar-tuner.vala.page:13(name) C/guitar-tuner.py.page:13(name)
-#: C/guitar-tuner.cpp.page:12(name) C/guitar-tuner.c.page:13(name)
+#: C/record-collection.js.page:14(name) C/image-viewer.vala.page:14(name)
+#: C/image-viewer.cpp.page:12(name) C/image-viewer.c.page:14(name)
+#: C/guitar-tuner.vala.page:13(name) C/guitar-tuner.py.page:14(name)
+#: C/guitar-tuner.cpp.page:12(name) C/guitar-tuner.c.page:14(name)
 #: C/getting-ready.page:11(name) C/audio-player.vala.page:13(name)
 msgid "GNOME Documentation Project"
 msgstr "Proyecto de documentaciÃn de GNOME"
 
-#: C/record-collection.js.page:14(email) C/index.page:8(email)
-#: C/image-viewer.vala.page:14(email) C/image-viewer.cpp.page:13(email)
-#: C/image-viewer.c.page:14(email) C/guitar-tuner.vala.page:14(email)
-#: C/guitar-tuner.py.page:14(email) C/guitar-tuner.cpp.page:13(email)
-#: C/guitar-tuner.c.page:14(email) C/getting-ready.page:12(email)
+#: C/record-collection.js.page:15(email) C/index.page:8(email)
+#: C/image-viewer.vala.page:15(email) C/image-viewer.cpp.page:13(email)
+#: C/image-viewer.c.page:15(email) C/guitar-tuner.vala.page:14(email)
+#: C/guitar-tuner.py.page:15(email) C/guitar-tuner.cpp.page:13(email)
+#: C/guitar-tuner.c.page:15(email) C/getting-ready.page:12(email)
 #: C/audio-player.vala.page:14(email)
 msgid "gnome-doc-list gnome org"
 msgstr "gnome-doc-list gnome org"
 
-#: C/record-collection.js.page:17(name) C/photo-wall.c.page:16(name)
-#: C/magic-mirror.vala.page:17(name) C/index.page:17(name)
-#: C/image-viewer.vala.page:17(name) C/image-viewer.py.page:18(name)
+#: C/record-collection.js.page:18(name) C/photo-wall.c.page:17(name)
+#: C/magic-mirror.vala.page:18(name) C/index.page:17(name)
+#: C/image-viewer.vala.page:18(name) C/image-viewer.py.page:18(name)
 #: C/image-viewer.js.page:18(name) C/image-viewer.cpp.page:16(name)
-#: C/image-viewer.c.page:17(name) C/guitar-tuner.vala.page:17(name)
-#: C/guitar-tuner.py.page:17(name) C/guitar-tuner.cpp.page:16(name)
-#: C/guitar-tuner.c.page:17(name)
+#: C/image-viewer.c.page:18(name) C/guitar-tuner.vala.page:17(name)
+#: C/guitar-tuner.py.page:18(name) C/guitar-tuner.cpp.page:16(name)
+#: C/guitar-tuner.c.page:18(name)
 msgid "Johannes Schmid"
 msgstr "Johannes Schmid"
 
-#: C/record-collection.js.page:18(email) C/photo-wall.c.page:17(email)
-#: C/magic-mirror.vala.page:18(email) C/index.page:18(email)
-#: C/image-viewer.vala.page:18(email) C/image-viewer.py.page:19(email)
+#: C/record-collection.js.page:19(email) C/photo-wall.c.page:18(email)
+#: C/magic-mirror.vala.page:19(email) C/index.page:18(email)
+#: C/image-viewer.vala.page:19(email) C/image-viewer.py.page:19(email)
 #: C/image-viewer.js.page:19(email) C/image-viewer.cpp.page:17(email)
-#: C/image-viewer.c.page:18(email) C/guitar-tuner.vala.page:18(email)
-#: C/guitar-tuner.py.page:18(email) C/guitar-tuner.cpp.page:17(email)
-#: C/guitar-tuner.c.page:18(email)
+#: C/image-viewer.c.page:19(email) C/guitar-tuner.vala.page:18(email)
+#: C/guitar-tuner.py.page:19(email) C/guitar-tuner.cpp.page:17(email)
+#: C/guitar-tuner.c.page:19(email)
 msgid "jhs gnome org"
 msgstr "jhs gnome org"
 
-#: C/record-collection.js.page:22(title)
+#: C/record-collection.js.page:23(title)
 msgid "3 Record Collection"
 msgstr "3. ColecciÃn de mÃsica"
 
-#: C/record-collection.js.page:25(p) C/message-board.c.page:24(p)
-#: C/image-viewer.cpp.page:24(p) C/image-viewer.c.page:25(p)
+#: C/record-collection.js.page:26(p) C/message-board.c.page:24(p)
+#: C/image-viewer.cpp.page:24(p) C/image-viewer.c.page:26(p)
 msgid "In this tutorial, you will learn:"
 msgstr "En este tutorial aprenderÃ:"
 
-#: C/record-collection.js.page:27(p)
+#: C/record-collection.js.page:28(p)
 msgid "How to connect to a database using libgda"
 msgstr "CÃmo conectar con una base de datos usando libgda"
 
-#: C/record-collection.js.page:28(p)
+#: C/record-collection.js.page:29(p)
 msgid "How to insert and browse records in a database table"
 msgstr "CÃmo insertar y examinar registros en una tabla de una base de datos"
 
-#: C/record-collection.js.page:33(title) C/photo-wall.c.page:35(title)
+#: C/record-collection.js.page:34(title) C/photo-wall.c.page:36(title)
 msgid "Introduction"
 msgstr "IntroducciÃn"
 
-#: C/record-collection.js.page:34(p)
+#: C/record-collection.js.page:35(p)
 msgid ""
 "This demo uses the Javascript language. We are going to demonstrate how to "
 "connect and use a database from a GTK program, by using the GDA (GNOME Data "
@@ -4329,7 +5156,7 @@ msgstr ""
 "bilbioteca GDA (ÂGNOME Data AccessÂ, Acceso a datos de GNOME). Por lo tanto, "
 "es necesario tener instalada tambiÃn esta biblioteca."
 
-#: C/record-collection.js.page:37(p)
+#: C/record-collection.js.page:38(p)
 msgid ""
 "GNOME Data Access (GDA) is library whose purpose is to provide universal "
 "access to different kinds and types of data sources. This goes from "
@@ -4346,7 +5173,7 @@ msgstr ""
 "completa de la API, visite la  <link href=\"http://library.gnome.org/devel/";
 "libgda/stable/\">pÃgina web de GDA</link>."
 
-#: C/record-collection.js.page:40(p)
+#: C/record-collection.js.page:41(p)
 msgid ""
 "Although a big part of the code is related to user interface (GUI), we are "
 "going to focus our tutorial on the database parts (we might mention other "
@@ -4360,21 +5187,21 @@ msgstr ""
 "mÃs sobre los programas en Javascript en GNOME, consulte el tutorial del "
 "programa<link xref=\"image-viewer.js\">Visor de ImÃgenes</link>"
 
-#: C/record-collection.js.page:46(title) C/photo-wall.c.page:45(title)
-#: C/message-board.c.page:41(title) C/magic-mirror.vala.page:43(title)
-#: C/image-viewer.vala.page:50(title) C/image-viewer.py.page:44(title)
+#: C/record-collection.js.page:47(title) C/photo-wall.c.page:46(title)
+#: C/message-board.c.page:41(title) C/magic-mirror.vala.page:44(title)
+#: C/image-viewer.vala.page:51(title) C/image-viewer.py.page:44(title)
 #: C/image-viewer.js.page:45(title) C/image-viewer.cpp.page:34(title)
-#: C/image-viewer.c.page:35(title) C/guitar-tuner.py.page:41(title)
-#: C/guitar-tuner.cpp.page:40(title) C/guitar-tuner.c.page:41(title)
+#: C/image-viewer.c.page:36(title) C/guitar-tuner.py.page:42(title)
+#: C/guitar-tuner.cpp.page:40(title) C/guitar-tuner.c.page:42(title)
 msgid "Create a project in Anjuta"
 msgstr "Crear un proyecto en Anjuta"
 
-#: C/record-collection.js.page:47(p) C/photo-wall.c.page:46(p)
-#: C/magic-mirror.vala.page:44(p) C/image-viewer.vala.page:51(p)
+#: C/record-collection.js.page:48(p) C/photo-wall.c.page:47(p)
+#: C/magic-mirror.vala.page:45(p) C/image-viewer.vala.page:52(p)
 #: C/image-viewer.py.page:45(p) C/image-viewer.js.page:46(p)
-#: C/image-viewer.cpp.page:35(p) C/image-viewer.c.page:36(p)
-#: C/guitar-tuner.vala.page:46(p) C/guitar-tuner.py.page:42(p)
-#: C/guitar-tuner.cpp.page:41(p) C/guitar-tuner.c.page:42(p)
+#: C/image-viewer.cpp.page:35(p) C/image-viewer.c.page:37(p)
+#: C/guitar-tuner.vala.page:46(p) C/guitar-tuner.py.page:43(p)
+#: C/guitar-tuner.cpp.page:41(p) C/guitar-tuner.c.page:43(p)
 msgid ""
 "Before you start coding, you'll need to set up a new project in Anjuta. This "
 "will create all of the files you need to build and run the code later on. "
@@ -4384,11 +5211,11 @@ msgstr ""
 "Esto crearà todos los archivos que necesite para construir y ejecutar el "
 "cÃdigo mÃs adelante. TambiÃn es Ãtil para mantener todo ordenado."
 
-#: C/record-collection.js.page:50(p) C/photo-wall.c.page:49(p)
-#: C/magic-mirror.vala.page:47(p) C/image-viewer.py.page:48(p)
+#: C/record-collection.js.page:51(p) C/photo-wall.c.page:50(p)
+#: C/magic-mirror.vala.page:48(p) C/image-viewer.py.page:48(p)
 #: C/image-viewer.js.page:49(p) C/image-viewer.cpp.page:38(p)
-#: C/image-viewer.c.page:39(p) C/guitar-tuner.py.page:45(p)
-#: C/guitar-tuner.cpp.page:44(p) C/guitar-tuner.c.page:45(p)
+#: C/image-viewer.c.page:40(p) C/guitar-tuner.py.page:46(p)
+#: C/guitar-tuner.cpp.page:44(p) C/guitar-tuner.c.page:46(p)
 msgid ""
 "Start Anjuta and click <guiseq><gui>File</gui><gui>New</gui><gui>Project</"
 "gui></guiseq> to open the project wizard."
@@ -4396,7 +5223,7 @@ msgstr ""
 "Inicie Anjuta y pulse <guiseq><gui>Archivo</gui><gui>Nuevo</"
 "gui><gui>Proyecto</gui></guiseq> para abrir el asistente de proyectos."
 
-#: C/record-collection.js.page:53(p)
+#: C/record-collection.js.page:54(p)
 msgid ""
 "Choose <gui>Generic Javascript</gui> from the <gui>JS</gui> tab, click "
 "<gui>Forward</gui>, and fill-out your details on the next few pages. Use "
@@ -4406,7 +5233,7 @@ msgstr ""
 "<gui>Adelante</gui> y rellene los detalles en las siguientes pÃginas. Use "
 "<file>coleccion-de-albumes</file> como nombre de proyecto y de carpeta."
 
-#: C/record-collection.js.page:56(p)
+#: C/record-collection.js.page:57(p)
 msgid ""
 "Click <gui>Finished</gui> and the project will be created for you. Open "
 "<file>src/main.js</file> from the <gui>Project</gui> or <gui>File</gui> "
@@ -4416,11 +5243,11 @@ msgstr ""
 "file> desde la pestaÃa <gui>Proyecto</gui> o <gui>Archivo</gui>. Contiene un "
 "ejemplo de cÃdigo muy bÃsico."
 
-#: C/record-collection.js.page:62(title)
+#: C/record-collection.js.page:63(title)
 msgid "Program Structure"
 msgstr "Estructura del programa"
 
-#: C/record-collection.js.page:64(p)
+#: C/record-collection.js.page:65(p)
 msgid ""
 "This demo is a simple GTK application (with a single window) capable of "
 "inserting records into a database table as well as browsing all records of "
@@ -4439,15 +5266,15 @@ msgstr ""
 "ver todos los registros de la tabla. El contenido se actualiza cada vez que "
 "se insertar un registro y al inicio de la aplicaciÃn."
 
-#: C/record-collection.js.page:69(title)
+#: C/record-collection.js.page:70(title)
 msgid "Starting the fun"
 msgstr "Empezar la diversiÃn"
 
-#: C/record-collection.js.page:70(p)
+#: C/record-collection.js.page:71(p)
 msgid "Let's start by examining the skeleton of the program:"
 msgstr "Empezar examinando el esqueleto del programa:"
 
-#: C/record-collection.js.page:96(p)
+#: C/record-collection.js.page:97(p)
 msgid ""
 "Lines 1â4: Initial imports. Pay special attention to line 3, which tells "
 "Javascript to import the GDA library, our focus in this tutorial."
@@ -4456,7 +5283,7 @@ msgstr ""
 "que indica a Javascript que importe la biblioteca GDA, nuestro objetivo en "
 "este tutorial."
 
-#: C/record-collection.js.page:97(p)
+#: C/record-collection.js.page:98(p)
 msgid ""
 "Lines 6â17: Define our <code>Demo</code> class. Pay special attention to "
 "lines 13â15, where we call 3 methods which will do the whole job. They will "
@@ -4466,15 +5293,15 @@ msgstr ""
 "las lÃneas 13â15, donde se llama a 3 mÃtodos que harÃn todo el trabajo. Se "
 "detallarÃn mÃs adelante."
 
-#: C/record-collection.js.page:98(p)
+#: C/record-collection.js.page:99(p)
 msgid "Lines 19â23: Start the application."
 msgstr "LÃneas 19â23: iniciar la aplicaciÃn."
 
-#: C/record-collection.js.page:103(title)
+#: C/record-collection.js.page:104(title)
 msgid "Designing the application"
 msgstr "DiseÃar la aplicaciÃn"
 
-#: C/record-collection.js.page:104(p)
+#: C/record-collection.js.page:105(p)
 msgid ""
 "Let's take a look at the <code>setupWindow</code> method. It is responsible "
 "for creating the User Interface (UI). As UI is not our focus, we will "
@@ -4484,7 +5311,7 @@ msgstr ""
 "crear la interfaz de usuario (IU). Ya que la IU no es el objetivo, sÃlo se "
 "explicarÃn las partes relevantes."
 
-#: C/record-collection.js.page:155(p)
+#: C/record-collection.js.page:156(p)
 msgid ""
 "Lines 22 and 27: Create the 2 entries (for the two fields) in which users "
 "will type something to get inserted in the database."
@@ -4492,7 +5319,7 @@ msgstr ""
 "LÃneas 22 y 27: crear las dos entradas (para los dos campos) en las que el "
 "usuario escribirà algo para insertarlo en la base de datos."
 
-#: C/record-collection.js.page:156(p)
+#: C/record-collection.js.page:157(p)
 msgid ""
 "Lines 31â34: Create the Insert button. We connect its <code>clicked</code> "
 "signal to the <code>_insertClicked</code> private method of the class. This "
@@ -4502,7 +5329,7 @@ msgstr ""
 "code> con el mÃtodo privado <code>_insertClicked</code> de la clase. Este "
 "mÃtodo se detalla a continuaciÃn."
 
-#: C/record-collection.js.page:157(p)
+#: C/record-collection.js.page:158(p)
 msgid ""
 "Line 39: Create the widget (<code>TextView</code>) where we will show the "
 "contents of the table."
@@ -4510,7 +5337,7 @@ msgstr ""
 "LÃnea 39: crear el widget (<code>TextView</code>) donde se mostrarÃn los "
 "contenidos de la tabla."
 
-#: C/record-collection.js.page:158(p)
+#: C/record-collection.js.page:159(p)
 msgid ""
 "Line 44: Create the label where we will show the number of records in the "
 "table. Initially it's empty, it will be updated later."
@@ -4518,11 +5345,11 @@ msgstr ""
 "LÃnea 44: crear la etiqueta donde se mostrarà el nÃmero de registros de la "
 "tabla. Inicialmente està vacÃa, se actualizarà mÃs tarde."
 
-#: C/record-collection.js.page:163(title)
+#: C/record-collection.js.page:164(title)
 msgid "Connecting to and initializing the database"
 msgstr "Conectar e inicializar la base de datos"
 
-#: C/record-collection.js.page:164(p)
+#: C/record-collection.js.page:165(p)
 msgid ""
 "The code which makes the connection to the database is in the "
 "<code>setupDatabase</code> method below:"
@@ -4530,7 +5357,7 @@ msgstr ""
 "El cÃdigo que hace la conexiÃn con la base de datos està en mÃtodo "
 "<code>setupDatabase</code> siguiente:"
 
-#: C/record-collection.js.page:181(p)
+#: C/record-collection.js.page:182(p)
 msgid ""
 "Lines 2â3: Create the GDA's <code>Connection</code> object. We must supply "
 "to its constructor some properties:"
@@ -4538,7 +5365,7 @@ msgstr ""
 "LÃneas 2â3: crear el objeto de GDA <code>Connection</code>. Se deben "
 "proporcionar a su constructor algunas propiedades:"
 
-#: C/record-collection.js.page:184(p)
+#: C/record-collection.js.page:185(p)
 msgid ""
 "<code>provider</code>: One of GDA's supported providers. GDA supports "
 "SQLite, MySQL, PostgreSQL, Oracle and many others. For demo purposes we will "
@@ -4551,7 +5378,7 @@ msgstr ""
 "predeterminada en la mayorÃa de las distribuciones y es fÃcil de usar (sÃlo "
 "usa un archivo como base de datos)."
 
-#: C/record-collection.js.page:187(p)
+#: C/record-collection.js.page:188(p)
 msgid ""
 "<code>cnc_string</code>: The connection string. It may change from provider "
 "to provider. The syntax for SQLite is: <code>DB_DIR=<var>PATH</var>;"
@@ -4562,10 +5389,10 @@ msgstr ""
 "<code>cnc_string</code>: la cadena de conexiÃn. Puede cambiar de un "
 "proveedor a otro. La sintaxis de SQLite es: <code>DB_DIR=<var>PATH</var>;"
 "DB_NAME=<var>FILENAME</var></code>. En esta demostraciÃn se accederà a una "
-"base de datos llamada Âgnome_demo en la carpeta del usaurio (tenga en cuenta "
-"la llamada a la funciÃn <code>get_home_dir</code> de GLib)."
+"base de datos llamada Âgnome_demo en la carpeta del usaurio (tenga en "
+"cuenta la llamada a la funciÃn <code>get_home_dir</code> de GLib)."
 
-#: C/record-collection.js.page:191(p)
+#: C/record-collection.js.page:192(p)
 msgid ""
 "If the provider is not supported by GDA, or if the connection string is "
 "missing some element, line 2 will raise an exception. So, in real life we "
@@ -4577,7 +5404,7 @@ msgstr ""
 "que manejarlo con la sentencia <code>try</code>...<code>catch</code> de "
 "JavaScript."
 
-#: C/record-collection.js.page:195(p)
+#: C/record-collection.js.page:196(p)
 msgid ""
 "Line 4: Open the connection. In the SQLite provider, if the database does "
 "not exist, it will be created in this step."
@@ -4585,7 +5412,7 @@ msgstr ""
 "LÃnea 4: abrir la conexiÃn. En el proveedor de SQLite, si la base de datos "
 "no existe, se crearà en este paso."
 
-#: C/record-collection.js.page:197(p)
+#: C/record-collection.js.page:198(p)
 msgid ""
 "Lines 6â10: Try to do a simple select to check if the table exists (line 7). "
 "If it does not exist (because the database was just created), this command "
@@ -4599,7 +5426,7 @@ msgstr ""
 "<code>catch</code> block. Si este es el caso, se ejecuta la sentencia para "
 "crear tabla (lÃnea 9)."
 
-#: C/record-collection.js.page:198(p)
+#: C/record-collection.js.page:199(p)
 msgid ""
 "In order to run the SQL commands above we are using global GDA functions, "
 "<code>execute_select_command</code> and <code>execute_non_select_command</"
@@ -4611,16 +5438,16 @@ msgstr ""
 "code>. Son fÃciles de usar, y sÃlo requieren dos argumentos: el objeto "
 "<code>Connection</code> y el comando SQL que analizar."
 
-#: C/record-collection.js.page:202(p)
+#: C/record-collection.js.page:203(p)
 msgid "At this point we have the database set up, and are ready to use it."
 msgstr ""
 "En este punto, ya està configurada la base de datos y lista para usarse."
 
-#: C/record-collection.js.page:206(title)
+#: C/record-collection.js.page:207(title)
 msgid "Selecting"
 msgstr "Seleccionar"
 
-#: C/record-collection.js.page:207(p)
+#: C/record-collection.js.page:208(p)
 msgid ""
 "After connecting to the database, our demo's constructor calls the "
 "<code>selectData</code> method. It is responsible for getting all the "
@@ -4632,7 +5459,7 @@ msgstr ""
 "los registros de la tabla y de mostrarlos en el widget <code>TextView</"
 "code>. Ãchele un vistazo:"
 
-#: C/record-collection.js.page:228(p)
+#: C/record-collection.js.page:229(p)
 msgid ""
 "Line 2: The <code>SELECT</code> command. We are using the global GDA's "
 "function <code>execute_select_command</code> for that. It returns a "
@@ -4642,7 +5469,7 @@ msgstr ""
 "de GDA <code>execute_select_command</code>. Devuelve un objeto "
 "<code>DataModel</code>, que se usa mÃs tarde para obtener las filas."
 
-#: C/record-collection.js.page:229(p)
+#: C/record-collection.js.page:230(p)
 msgid ""
 "Line 3: Create an <code>Iter</code> object, which is used to iterate over "
 "the <code>DataModel</code>'s records."
@@ -4650,7 +5477,7 @@ msgstr ""
 "LÃnea 3: crear un objeto <code>Iter</code>, que se usa para iterar sobre los "
 "registros de <code>DataModel</code>."
 
-#: C/record-collection.js.page:230(p)
+#: C/record-collection.js.page:231(p)
 msgid ""
 "Line 7: Loop through all the records, fetching them with the help of the "
 "<code>Iter</code> object. At this point, the <code>iter</code> variable "
@@ -4662,11 +5489,11 @@ msgstr ""
 "contiene los datos obtenidos actualmente. Su mÃtodo <code>move_next</code> "
 "devuelve <code>false</code> cuando se alcanza el Ãltimo registro."
 
-#: C/record-collection.js.page:232(p)
+#: C/record-collection.js.page:233(p)
 msgid "Lines 8â9: We do two things in each line:"
 msgstr "LiÌneas 8â9: se hacen dos cosas en cada liÌnea:"
 
-#: C/record-collection.js.page:234(p)
+#: C/record-collection.js.page:235(p)
 msgid ""
 "Use <code>Iter</code>'s method <code>get_value_at</code>, which requires "
 "only one argument: the column number to retrieve, starting at 0. As our "
@@ -4678,7 +5505,7 @@ msgstr ""
 "Ya que el comando <code>SELECT</code> sÃlo devuelve dos columnas, se estÃn "
 "recuperando las columnas 0 y 1."
 
-#: C/record-collection.js.page:235(p)
+#: C/record-collection.js.page:236(p)
 msgid ""
 "The method <code>get_value_at</code> returns the field in GLib's "
 "<code>GValue</code> format. A simple way to convert this format to a string "
@@ -4692,7 +5519,7 @@ msgstr ""
 "lo que se està haciendo aquÃ, y el resultado se almacena en las variables "
 "<code>id_field</code> y <code>name_field</code>."
 
-#: C/record-collection.js.page:238(p)
+#: C/record-collection.js.page:239(p)
 msgid ""
 "Line 11: Concatenate the two fields to make one text line, separated by "
 "<code>\"=&gt;\"</code>, and store it in the <code>text</code> variable."
@@ -4701,7 +5528,7 @@ msgstr ""
 "separados por <code>\"=&gt;\"</code>, y almacenarla en la variable "
 "<code>text</code>."
 
-#: C/record-collection.js.page:239(p)
+#: C/record-collection.js.page:240(p)
 msgid ""
 "Line 14: After the loop is finished, we have all the records formatted in "
 "the <code>text</code> variable. In this line we just set the contents of the "
@@ -4711,7 +5538,7 @@ msgstr ""
 "formateados en la variable <code>text</code>. En esta lÃnea, simplemente se "
 "establece el contenido del <code>TextView</code> con esta variable."
 
-#: C/record-collection.js.page:240(p)
+#: C/record-collection.js.page:241(p)
 msgid ""
 "Line 15: Display the number of records in the table, making use of the "
 "<code>DataModel</code>'s <code>get_n_rows</code> method."
@@ -4719,11 +5546,11 @@ msgstr ""
 "LÃnea 15: mostrar el nÃmero de registros en la tabla, usando el mÃtodo "
 "<code>get_n_rows</code> de <code>DataModel</code> <code>get_n_rows</code>."
 
-#: C/record-collection.js.page:245(title)
+#: C/record-collection.js.page:246(title)
 msgid "Inserting"
 msgstr "Insertar"
 
-#: C/record-collection.js.page:246(p)
+#: C/record-collection.js.page:247(p)
 msgid ""
 "OK, we know how to connect to a database and how to select rows from a "
 "table. Now it's time to do an <code>INSERT</code> on the table. Do you "
@@ -4737,7 +5564,7 @@ msgstr ""
 "conectà la seÃal <code>clicked</code> del botÃn <gui>Insertar</gui> al "
 "mÃtodo <code>_insertClicked</code>?. Vea la implementaciÃn de este mÃtodo."
 
-#: C/record-collection.js.page:267(p)
+#: C/record-collection.js.page:268(p)
 msgid ""
 "We have learned how to use GDA's convenience functions "
 "<code>execute_select_command</code> and <code>execute_non_select_command</"
@@ -4756,7 +5583,7 @@ msgstr ""
 "usado (usarà el mismo dialecto de SQL que usa el proveedor). Estudie el "
 "cÃdigo:"
 
-#: C/record-collection.js.page:271(p)
+#: C/record-collection.js.page:272(p)
 msgid ""
 "Lines 2â3: Check if the user filled all the fields. The code for the private "
 "method <code>_validateFields</code> is really simple and you can read it in "
@@ -4766,7 +5593,7 @@ msgstr ""
 "del mÃtodo privado <code>_validateFields</code> es realmente simple y puede "
 "leerlo en el cÃdigo fuente completo de la demostraciÃn."
 
-#: C/record-collection.js.page:272(p)
+#: C/record-collection.js.page:273(p)
 msgid ""
 "Line 5: The faster way of doing the <code>INSERT</code>. It's commented out "
 "as we want to show how to use the <code>SqlBuilder</code> object to build a "
@@ -4776,7 +5603,7 @@ msgstr ""
 "comentado que se quiere mostrar cÃmo usar el objeto <code>SqlBuilder</code> "
 "para construir una sentencia SQL portable entre bases de datos."
 
-#: C/record-collection.js.page:273(p)
+#: C/record-collection.js.page:274(p)
 msgid ""
 "Line 7: Create the <code>SqlBuilder</code> object. We must pass the type of "
 "statement we are going to build. It can be <code>SELECT</code>, "
@@ -4786,7 +5613,7 @@ msgstr ""
 "sentencia que se va a construir. Puede ser <code>SELECT</code>, "
 "<code>UPDATE</code>, <code>INSERT</code> o <code>DELETE</code>."
 
-#: C/record-collection.js.page:274(p)
+#: C/record-collection.js.page:275(p)
 msgid ""
 "Line 8: Set the name of the table on which the built statement will operate "
 "(it will generate <code>INSERT INTO demo</code>)"
@@ -4794,7 +5621,7 @@ msgstr ""
 "LÃnea 8: establecer el nombre de la base de datos en la que operarà la "
 "sentencia construida (generarà <code>INSERT INTO demo</code>)"
 
-#: C/record-collection.js.page:275(p)
+#: C/record-collection.js.page:276(p)
 msgid ""
 "Lines 9â10: Set the fields and its values that will be part of the "
 "statement. The first argument is the field name (as in the table). The "
@@ -4804,7 +5631,7 @@ msgstr ""
 "valores. El primer argumento es el nombre del campo (como aparece en la "
 "tabla). El segundo es el valor de este campo."
 
-#: C/record-collection.js.page:276(p)
+#: C/record-collection.js.page:277(p)
 msgid ""
 "Line 11: Get the dynamically generated <code>Statement</code> object, which "
 "represents a SQL statement."
@@ -4812,11 +5639,11 @@ msgstr ""
 "LÃnea 11: obtener el objeto <code>Statement</code> generado dinÃmicamente, "
 "que representa una sentencia SQL."
 
-#: C/record-collection.js.page:277(p)
+#: C/record-collection.js.page:278(p)
 msgid "Line 12: Finally, execute the SQL statement (<code>INSERT</code>)."
 msgstr "LÃnea 12: finalmente, ejecutar la sentencia SQL (<code>INSERT</code>)."
 
-#: C/record-collection.js.page:278(p)
+#: C/record-collection.js.page:279(p)
 msgid ""
 "Line 14: Clear the id and name fields on the screen. The code for the "
 "private method <code>_clearFields</code> is really simple and you can read "
@@ -4826,14 +5653,14 @@ msgstr ""
 "mÃtodo privado <code>_clearFields</code> es muy sencillo, y puede leerlo en "
 "el cÃdigo fuente de la demostraciÃn completa."
 
-#: C/record-collection.js.page:279(p)
+#: C/record-collection.js.page:280(p)
 msgid ""
 "Line 15: Refresh the view on the screen by doing another <code>SELECT</code>."
 msgstr ""
 "LÃnea 15: actualizar la vista en la pantalla haciendo otro <code>SELECT</"
 "code>."
 
-#: C/record-collection.js.page:281(p)
+#: C/record-collection.js.page:282(p)
 msgid ""
 "You can also make use of parameters while building the statement. By using "
 "the <code>SqlBuilder</code> objects and parameters you are less subject to "
@@ -4847,12 +5674,12 @@ msgstr ""
 "parÃmetros, consulte la <link href=\"http://library.gnome.org/devel/libgda/";
 "stable/\">documentaciÃn de GDA</link>."
 
-#: C/record-collection.js.page:285(title) C/image-viewer.py.page:220(title)
-#: C/image-viewer.js.page:306(title) C/guitar-tuner.py.page:223(title)
+#: C/record-collection.js.page:286(title) C/image-viewer.py.page:220(title)
+#: C/image-viewer.js.page:306(title) C/guitar-tuner.py.page:224(title)
 msgid "Run the application"
 msgstr "Ejecutar la aplicaciÃn"
 
-#: C/record-collection.js.page:286(p)
+#: C/record-collection.js.page:287(p)
 msgid ""
 "All of the code you need should now be in place, so try running the code. "
 "You now have a database for your record collection!"
@@ -4861,17 +5688,17 @@ msgstr ""
 "ejecutar el cÃdigo. Ahora tiene una base de datos para su colecciÃn de "
 "registros."
 
-#: C/record-collection.js.page:290(title) C/photo-wall.c.page:378(title)
-#: C/magic-mirror.vala.page:143(title) C/image-viewer.vala.page:281(title)
+#: C/record-collection.js.page:291(title) C/photo-wall.c.page:379(title)
+#: C/magic-mirror.vala.page:144(title) C/image-viewer.vala.page:282(title)
 #: C/image-viewer.py.page:225(title) C/image-viewer.js.page:311(title)
-#: C/image-viewer.cpp.page:210(title) C/image-viewer.c.page:221(title)
-#: C/guitar-tuner.vala.page:253(title) C/guitar-tuner.py.page:228(title)
-#: C/guitar-tuner.js.page:233(title) C/guitar-tuner.cpp.page:255(title)
-#: C/guitar-tuner.c.page:256(title)
+#: C/image-viewer.cpp.page:210(title) C/image-viewer.c.page:222(title)
+#: C/guitar-tuner.vala.page:253(title) C/guitar-tuner.py.page:229(title)
+#: C/guitar-tuner.js.page:234(title) C/guitar-tuner.cpp.page:255(title)
+#: C/guitar-tuner.c.page:257(title)
 msgid "Reference Implementation"
 msgstr "ImplementaciÃn de referencia"
 
-#: C/record-collection.js.page:291(p)
+#: C/record-collection.js.page:292(p)
 msgid ""
 "If you run into problems with the tutorial, compare your code with this "
 "<link href=\"record-collection/record-collection.js\">reference code</link>."
@@ -4881,44 +5708,56 @@ msgstr ""
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/radiobutton.vala.page:23(None) C/radiobutton.py.page:24(None)
-#: C/radiobutton.c.page:23(None)
+#: C/radiobutton.vala.page:24(None) C/radiobutton.py.page:25(None)
+#: C/radiobutton.c.page:24(None)
 msgid "@@image: 'media/radiobutton.png'; md5=d115460280d8e41493dd98054b5822a5"
 msgstr "@@image: 'media/radiobutton.png'; md5=d115460280d8e41493dd98054b5822a5"
 
-#: C/radiobutton.vala.page:19(desc)
+#: C/radiobutton.vala.page:7(title)
+#, fuzzy
+#| msgid "RadioButton"
+msgid "RadioButton (Vala)"
+msgstr "RadioButton"
+
+#: C/radiobutton.vala.page:20(desc)
 msgid "A choice from multiple CheckButtons."
 msgstr "Una elecciÃn desde varios CheckButton."
 
-#: C/radiobutton.vala.page:22(title) C/radiobutton.py.page:23(title)
-#: C/radiobutton.js.page:19(title)
+#: C/radiobutton.vala.page:23(title) C/radiobutton.py.page:24(title)
+#: C/radiobutton.js.page:20(title) C/radiobutton.c.page:22(title)
 msgid "RadioButton"
 msgstr "RadioButton"
 
-#: C/radiobutton.vala.page:24(p)
+#: C/radiobutton.vala.page:25(p)
 msgid "These RadioButtons report their activity in the terminal."
 msgstr "Estos RadioButton informan de su actividad en la terminal."
 
-#: C/radiobutton.py.page:20(desc)
+#: C/radiobutton.py.page:7(title)
+#, fuzzy
+#| msgid "RadioButton"
+msgid "RadioButton (Python)"
+msgstr "RadioButton"
+
+#: C/radiobutton.py.page:21(desc)
 msgid "Mutually exclusive buttons."
 msgstr "Botones mutuamente excluyentes."
 
-#: C/radiobutton.py.page:25(p)
+#: C/radiobutton.py.page:26(p)
 msgid ""
 "Three RadioButtons. You can see in the terminal if they are turned off or on."
 msgstr "Tres RadioButtons. Puede ver en la terminal si estÃn activados o no."
 
-#: C/radiobutton.py.page:35(title)
+#: C/radiobutton.py.page:36(title)
 msgid "Useful methods for a RadioButton widget"
 msgstr "MÃtodos Ãtiles para un widget ÂRadioButtonÂ"
 
-#: C/radiobutton.py.page:38(p)
+#: C/radiobutton.py.page:39(p)
 msgid ""
 "Instead of <code>button1 = Gtk.RadioButton(label=\"Button 1\")</code> we "
 "could create the button and label it with"
 msgstr ""
 
-#: C/radiobutton.py.page:39(code)
+#: C/radiobutton.py.page:40(code)
 #, no-wrap
 msgid ""
 "\n"
@@ -4929,35 +5768,43 @@ msgstr ""
 "button1 = Gtk.RadioButton()\n"
 "button1.set_label(\"Button 1\")."
 
-#: C/radiobutton.py.page:42(p)
+#: C/radiobutton.py.page:43(p)
 msgid ""
 "For a general discussion of this, see <link xref=\"properties.py\">here</"
 "link>."
 msgstr ""
 
-#: C/radiobutton.py.page:43(p)
+#: C/radiobutton.py.page:44(p)
 msgid ""
-"On the other hand, we cannot create the button as <code>button1."
-"new_with_label(\"Button 1\")</code> - it gives a segmentation error."
+"Yet another way to create a new RadioButton with a label is <code>button1 = "
+"Gtk.RadioButton.new_with_label(None, \"Button 1\")</code> (the first "
+"arguement is the group of the radiobuttons, which we can get with "
+"<code>get_group()</code>, the second argument is the label)."
 msgstr ""
 
-#: C/radiobutton.py.page:52(link)
+#: C/radiobutton.py.page:53(link)
 msgid "GtkRadioButton"
 msgstr "GtkRadioButton"
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/radiobutton.js.page:20(None)
+#: C/radiobutton.js.page:21(None)
 msgid ""
 "@@image: 'media/radiobuttontravel.png'; md5=0c5f01ee160bb42716ccf5dccbd080c0"
 msgstr ""
 "@@image: 'media/radiobuttontravel.png'; md5=0c5f01ee160bb42716ccf5dccbd080c0"
 
-#: C/radiobutton.js.page:16(desc)
+#: C/radiobutton.js.page:7(title)
+#, fuzzy
+#| msgid "RadioButton"
+msgid "RadioButton (JavaScript)"
+msgstr "RadioButton"
+
+#: C/radiobutton.js.page:17(desc)
 msgid "Only one can be selected at a time"
 msgstr ""
 
-#: C/radiobutton.js.page:21(p)
+#: C/radiobutton.js.page:22(p)
 msgid ""
 "RadioButtons are named after old-style car radios, which had buttons for "
 "switching between channel presets. Because the radio could only be tuned to "
@@ -4966,7 +5813,7 @@ msgid ""
 "That's how these buttons work, too."
 msgstr ""
 
-#: C/radiobutton.js.page:22(p)
+#: C/radiobutton.js.page:23(p)
 msgid ""
 "Each RadioButton needs a text label and a group. Only one button in a group "
 "can be selected at a time. You don't name each group; you just set new "
@@ -4975,11 +5822,11 @@ msgid ""
 "be part of."
 msgstr ""
 
-#: C/radiobutton.js.page:81(title)
+#: C/radiobutton.js.page:82(title)
 msgid "Creating the radiobuttons"
 msgstr "Crear los botones de radio"
 
-#: C/radiobutton.js.page:87(p)
+#: C/radiobutton.js.page:88(p)
 msgid ""
 "We use a <link xref=\"label.js\">Gtk.Label</link> to set each group of "
 "RadioButtons apart. Nothing will stop you from putting RadioButtons from all "
@@ -4987,7 +5834,7 @@ msgid ""
 "go together you need to organize things accordingly."
 msgstr ""
 
-#: C/radiobutton.js.page:100(p)
+#: C/radiobutton.js.page:101(p)
 msgid ""
 "Here are three different ways to create RadioButtons. The first is the usual "
 "way, where we create a new Gtk.RadioButton and assign its properties at the "
@@ -4998,27 +5845,27 @@ msgid ""
 "at the same time."
 msgstr ""
 
-#: C/radiobutton.js.page:101(p)
+#: C/radiobutton.js.page:102(p)
 msgid ""
 "The first RadioButton in a group is the one that's selected by default. Try "
 "uncommenting the last line in this sample code to see how you can set a "
 "different one to be the default selection."
 msgstr ""
 
-#: C/radiobutton.js.page:112(p)
+#: C/radiobutton.js.page:113(p)
 msgid ""
 "Here we create the label for the second group of buttons, and then create "
 "them all the same way."
 msgstr ""
 
-#: C/radiobutton.js.page:128(p)
+#: C/radiobutton.js.page:129(p)
 msgid ""
 "This code creates a <link xref=\"button.js\">Gtk.Button</link> and binds it "
 "to a function which will show people a silly message when they click OK, "
 "depending on which RadioButtons were selected."
 msgstr ""
 
-#: C/radiobutton.js.page:129(p)
+#: C/radiobutton.js.page:130(p)
 msgid ""
 "To make sure the button's \"OK\" label shows up properly in every language "
 "that GNOME is translated into, remember to use one of Gtk's <link href="
@@ -5026,7 +5873,7 @@ msgid ""
 "types.</link>"
 msgstr ""
 
-#: C/radiobutton.js.page:165(p)
+#: C/radiobutton.js.page:166(p)
 msgid ""
 "We use a separate <link xref=\"grid.js\">Gtk.Grid</link> to organize each "
 "group of radio buttons. This way we can change the layout with less fuss "
@@ -5034,23 +5881,24 @@ msgid ""
 "sets of choices."
 msgstr ""
 
-#: C/radiobutton.js.page:166(p)
+#: C/radiobutton.js.page:167(p)
 msgid ""
 "After we've organized them, we put them into a third, master Grid, along "
 "with the OK button. Then we attach that to the window."
 msgstr ""
 
-#: C/radiobutton.js.page:174(p)
+#: C/radiobutton.js.page:175(p)
 msgid ""
 "Finally, we tell the window and everything inside it to become visible when "
 "the application is run."
 msgstr ""
 
-#: C/radiobutton.js.page:179(title) C/comboboxtext.js.page:111(title)
+#: C/radiobutton.js.page:180(title) C/combobox.js.page:169(title)
+#: C/comboboxtext.js.page:112(title)
 msgid "Function which handles your selection"
 msgstr "FunciÃn que maneja su selecciÃn"
 
-#: C/radiobutton.js.page:199(p)
+#: C/radiobutton.js.page:200(p)
 msgid ""
 "When you click OK, a <link xref=\"messagedialog.js\">Gtk.MessageDialog</"
 "link> appears. This function creates and displays the popup window, then "
@@ -5059,7 +5907,7 @@ msgid ""
 "value depending on which set of options you chose."
 msgstr ""
 
-#: C/radiobutton.js.page:245(p)
+#: C/radiobutton.js.page:246(p)
 msgid ""
 "The get_active() method is how we can tell which RadioButton's pressed in. "
 "This function returns a different silly message depending on which set of "
@@ -5067,21 +5915,23 @@ msgid ""
 "property."
 msgstr ""
 
-#: C/radiobutton.js.page:256(p)
+#: C/radiobutton.js.page:257(p)
 msgid ""
 "This function is called when the MessageDialog's OK button is pressed. It "
 "simply makes the popup go away."
 msgstr ""
 
-#: C/radiobutton.c.page:18(desc)
+#: C/radiobutton.c.page:7(title)
+#, fuzzy
+#| msgid "RadioButton"
+msgid "RadioButton (C)"
+msgstr "RadioButton"
+
+#: C/radiobutton.c.page:19(desc)
 msgid "A choice from multiple checkbuttons"
 msgstr "Una elecciÃn desde varios ÂCheckButtonÂ."
 
-#: C/radiobutton.c.page:21(title)
-msgid "Radiobutton"
-msgstr "Radiobutton"
-
-#: C/radiobutton.c.page:24(p)
+#: C/radiobutton.c.page:25(p)
 msgid "These radiobuttons report their activity in the terminal."
 msgstr "Estos RadioButton informan de su actividad en la terminal."
 
@@ -5094,15 +5944,21 @@ msgid "Tutorials, code samples and platform demos in Python"
 msgstr ""
 "Tutoriales, ejemplos de coÌdigo y demostraciones de la plataforma en Python"
 
-#: C/properties.py.page:11(desc)
+#: C/properties.py.page:8(title)
+#, fuzzy
+#| msgid "Properties"
+msgid "Properties (Python)"
+msgstr "Propiedades"
+
+#: C/properties.py.page:12(desc)
 msgid "An explanation of properties, getters and setters."
 msgstr ""
 
-#: C/properties.py.page:24(title)
+#: C/properties.py.page:25(title)
 msgid "Properties"
 msgstr "Propiedades"
 
-#: C/properties.py.page:31(p)
+#: C/properties.py.page:32(p)
 msgid ""
 "<em>Properties</em> describe the configuration and state of widgets, and "
 "each widget has its own particular set of properties. For example, a widget "
@@ -5113,7 +5969,7 @@ msgid ""
 "and an angle of 25 degrees, you can use:"
 msgstr ""
 
-#: C/properties.py.page:32(code)
+#: C/properties.py.page:33(code)
 #, no-wrap
 msgid ""
 "\n"
@@ -5122,11 +5978,11 @@ msgstr ""
 "\n"
 "label = Gtk.Label(label=\"Hello World\", angle=25, halign=Gtk.Align.END)"
 
-#: C/properties.py.page:35(p)
+#: C/properties.py.page:36(p)
 msgid "This is equivalent to:"
 msgstr "Esto es equivalente a:"
 
-#: C/properties.py.page:36(code)
+#: C/properties.py.page:37(code)
 #, no-wrap
 msgid ""
 "\n"
@@ -5141,16 +5997,20 @@ msgstr ""
 "label.set_angle(25)\n"
 "label.set_halign(Gtk.Align.END)"
 
-#: C/properties.py.page:42(p)
+#: C/properties.py.page:43(p)
 msgid ""
 "Once you have created such a label, you can get the text with the getter "
-"<code>label.get_label()</code>. Instead of using getters and setters you can "
-"also get and set the properties with <code>widget.get_property(\"prop-name\")"
-"</code> and <code>widget.set_property(\"prop-name\", value)</code>, "
-"respectively."
+"<code>label.get_label()</code>."
+msgstr ""
+
+#: C/properties.py.page:45(p)
+msgid ""
+"Instead of using getters and setters you can also get and set the properties "
+"with <code>get_property(\"prop-name\")</code> and <code>set_property(\"prop-"
+"name\", value)</code>, respectively."
 msgstr ""
 
-#: C/properties.py.page:48(p)
+#: C/properties.py.page:51(p)
 msgid ""
 "<link href=\"http://python-gtk-3-tutorial.readthedocs.org/en/latest/basics.";
 "html\">Basics - Properties</link> in Python Gtk+ 3 Tutorial"
@@ -5158,58 +6018,70 @@ msgstr ""
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/progressbar.vala.page:20(None) C/progressbar.c.page:22(None)
+#: C/progressbar.vala.page:21(None) C/progressbar.c.page:23(None)
 msgid ""
 "@@image: 'media/progressbar_fill.ogv'; md5=287763d1d3f4a328212ea2243910f5e4"
 msgstr ""
 "@@image: 'media/progressbar_fill.ogv'; md5=287763d1d3f4a328212ea2243910f5e4"
 
-#: C/progressbar.vala.page:16(desc) C/progressbar.c.page:17(desc)
+#: C/progressbar.vala.page:7(title)
+#, fuzzy
+#| msgid "ProgressBar"
+msgid "ProgressBar (Vala)"
+msgstr "ProgressBar"
+
+#: C/progressbar.vala.page:17(desc) C/progressbar.c.page:18(desc)
 msgid "A widget which indicates progress visually"
 msgstr "Un widget que indica el progreso de manera visual"
 
-#: C/progressbar.vala.page:19(title) C/progressbar.py.page:19(title)
-#: C/progressbar.js.page:18(title) C/progressbar.c.page:20(title)
+#: C/progressbar.vala.page:20(title) C/progressbar.py.page:20(title)
+#: C/progressbar.js.page:19(title) C/progressbar.c.page:21(title)
 msgid "ProgressBar"
 msgstr "ProgressBar"
 
-#: C/progressbar.vala.page:21(p) C/progressbar.c.page:23(p)
+#: C/progressbar.vala.page:22(p) C/progressbar.c.page:24(p)
 msgid ""
 "This ProgressBar \"fills in\" by a fraction of the bar until it is full."
 msgstr ""
 
-#: C/progressbar.vala.page:28(link) C/progressbar.js.page:40(link)
-#: C/grid.py.page:34(link) C/grid.js.page:36(link)
+#: C/progressbar.vala.page:29(link) C/progressbar.js.page:41(link)
+#: C/grid.js.page:37(link)
 msgid "Gtk.ProgressBar"
 msgstr "Gtk.ProgressBar"
 
-#: C/progressbar.vala.page:29(link)
+#: C/progressbar.vala.page:30(link)
 msgid "GLib.Timeout"
 msgstr "GLib.Timeout"
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/progressbar.py.page:20(None) C/progressbar.js.page:19(None)
+#: C/progressbar.py.page:21(None) C/progressbar.js.page:20(None)
 msgid "@@image: 'media/progressbar.ogv'; md5=36deab3dd4b5be968828fa2ef416d612"
 msgstr "@@image: 'media/progressbar.ogv'; md5=36deab3dd4b5be968828fa2ef416d612"
 
-#: C/progressbar.py.page:16(desc)
+#: C/progressbar.py.page:7(title)
+#, fuzzy
+#| msgid "ProgressBar"
+msgid "ProgressBar (Python)"
+msgstr "ProgressBar"
+
+#: C/progressbar.py.page:17(desc)
 msgid "A widget which indicates progress visually."
 msgstr "Un widget que indica el progreso de manera visual."
 
-#: C/progressbar.py.page:24(p) C/progressbar.js.page:23(p)
+#: C/progressbar.py.page:25(p) C/progressbar.js.page:24(p)
 msgid "Pressing any key stops and starts this ProgressBar."
 msgstr "Pulsar cualquier tecla detiene e inicia esta ProgressBar."
 
-#: C/progressbar.py.page:31(p) C/progressbar.js.page:30(p)
+#: C/progressbar.py.page:32(p) C/progressbar.js.page:31(p)
 msgid "This ProgressBar is stopped and started by pressing any key."
 msgstr "La ProgressBar se detiene y se inicia pulsando una tecla."
 
-#: C/progressbar.py.page:43(title)
+#: C/progressbar.py.page:44(title)
 msgid "Useful methods for a ProgressBar widget"
 msgstr "MÃtodos Ãtiles para un widget ÂProgressBarÂ"
 
-#: C/progressbar.py.page:45(p)
+#: C/progressbar.py.page:46(p)
 msgid ""
 "Instead of <code>pulse()</code>, that makes the bar go back and forth, if we "
 "want the ProgressBar to \"fill in\" a fraction (a <code>float</code> between "
@@ -5217,7 +6089,7 @@ msgid ""
 "completed, use <code>set_fraction(fraction)</code>."
 msgstr ""
 
-#: C/progressbar.py.page:46(p)
+#: C/progressbar.py.page:47(p)
 msgid ""
 "To set a text and show it (superimposed over the bar) use <code>set_text"
 "(\"some text\")</code> and <code>set_show_text(True)</code>. If a text is "
@@ -5225,58 +6097,76 @@ msgid ""
 "of the work that has been completed."
 msgstr ""
 
-#: C/progressbar.py.page:54(link) C/progressbar.c.page:33(link)
-#: C/grid.c.page:32(link)
+#: C/progressbar.py.page:55(link) C/progressbar.c.page:34(link)
+#: C/grid.c.page:33(link)
 msgid "GtkProgressBar"
 msgstr "GtkProgressBar"
 
-#: C/progressbar.py.page:55(link)
+#: C/progressbar.py.page:56(link)
 msgid "GLib - The Main Event Loop"
 msgstr "GLib: el bucle principal de eventos"
 
-#: C/progressbar.js.page:15(desc)
+#: C/progressbar.js.page:6(title)
+#, fuzzy
+#| msgid "ProgressBar"
+msgid "ProgressBar (JavaScript)"
+msgstr "ProgressBar"
+
+#: C/progressbar.js.page:16(desc)
 msgid "A bar which animates to indicate progress"
 msgstr "Una barra que indica el progreso de manera visual"
 
-#: C/progressbar.js.page:37(link)
+#: C/progressbar.js.page:38(link)
 msgid "GLib"
 msgstr "GLib"
 
-#: C/progressbar.c.page:34(link)
+#: C/progressbar.c.page:7(title)
+#, fuzzy
+#| msgid "ProgressBar"
+msgid "ProgressBar (C)"
+msgstr "ProgressBar"
+
+#: C/progressbar.c.page:35(link)
 msgid "G_Timeout"
 msgstr "G_Timeout"
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/photo-wall.c.page:77(None)
+#: C/photo-wall.c.page:78(None)
 msgid "@@image: 'media/photo-wall.png'; md5=f19590d97e8ec029cda3c44b769c11cd"
 msgstr "@@image: 'media/photo-wall.png'; md5=f19590d97e8ec029cda3c44b769c11cd"
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/photo-wall.c.page:80(None)
+#: C/photo-wall.c.page:81(None)
 msgid ""
 "@@image: 'media/photo-wall-focused.png'; md5=9f1ceecf3a28c1e468597b093a10cbae"
 msgstr ""
 "@@image: 'media/photo-wall-focused.png'; md5=9f1ceecf3a28c1e468597b093a10cbae"
 
-#: C/photo-wall.c.page:8(desc)
+#: C/photo-wall.c.page:6(title)
+#, fuzzy
+#| msgid "Photo Wall"
+msgid "Photo Wall (C)"
+msgstr "Mural de fotos"
+
+#: C/photo-wall.c.page:9(desc)
 msgid "A Clutter image viewer"
 msgstr "Un visor de imÃgenes Clutter"
 
-#: C/photo-wall.c.page:12(name)
+#: C/photo-wall.c.page:13(name)
 msgid "Chris KÃhl"
 msgstr "Chris KÃhl"
 
-#: C/photo-wall.c.page:13(email)
+#: C/photo-wall.c.page:14(email)
 msgid "chrisk openismus com"
 msgstr "chrisk openismus com"
 
-#: C/photo-wall.c.page:21(title)
+#: C/photo-wall.c.page:22(title)
 msgid "Photo Wall"
 msgstr "Mural de fotos"
 
-#: C/photo-wall.c.page:24(p)
+#: C/photo-wall.c.page:25(p)
 msgid ""
 "For this example we will build a simple image viewer using Clutter. You will "
 "learn:"
@@ -5284,30 +6174,30 @@ msgstr ""
 "Para este ejemplo se construirà un sencillo visor de imÃgenes usando "
 "Clutter. AprenderÃ:"
 
-#: C/photo-wall.c.page:26(p)
+#: C/photo-wall.c.page:27(p)
 msgid "How to size and position <code>ClutterActor</code>s"
 msgstr "CÃmo dimensionar y posicionar varios <code>ClutterActor</code>"
 
-#: C/photo-wall.c.page:27(p)
+#: C/photo-wall.c.page:28(p)
 msgid "How to place an image in a <code>ClutterActor</code>"
 msgstr "CÃmo situar una imagen en un <code>ClutterActor</code>"
 
-#: C/photo-wall.c.page:28(p)
+#: C/photo-wall.c.page:29(p)
 msgid "How to do simple transitions using Clutter's animation framework"
 msgstr ""
 "CÃmo hacer transiciones sencillas usando el entorno de trabajo de "
 "animaciones de Clutter"
 
-#: C/photo-wall.c.page:29(p)
+#: C/photo-wall.c.page:30(p)
 msgid "How to make <code>ClutterActor</code>s respond to mouse events"
 msgstr ""
 "CÃmo hacer que un <code>ClutterActor</code> responda a los eventos del ratÃn"
 
-#: C/photo-wall.c.page:30(p)
+#: C/photo-wall.c.page:31(p)
 msgid "How to get file names from a directory"
 msgstr "CÃmo obtener nombres de archivos de una carpeta"
 
-#: C/photo-wall.c.page:36(p)
+#: C/photo-wall.c.page:37(p)
 msgid ""
 "Clutter is a library for creating dynamic user interfaces using OpenGL for "
 "hardware acceleration. This example demonstates a small, but central, part "
@@ -5319,7 +6209,7 @@ msgstr ""
 "importante parte de la biblioteca Clutter para crear un sencillo pero "
 "atractivo programa para ver imÃgenes."
 
-#: C/photo-wall.c.page:39(p)
+#: C/photo-wall.c.page:40(p)
 msgid ""
 "To help us reach our goal we will be utilising a few other common pieces of "
 "GLib as well. Most importantly, we'll use one <code>GSList</code>, a singly-"
@@ -5334,7 +6224,7 @@ msgstr ""
 "<code>GDir</code>, una utilidad para trabajar con carpetas, acceder a "
 "nuestra carpeta de imÃgenes y obtener rutas de archivos."
 
-#: C/photo-wall.c.page:52(p)
+#: C/photo-wall.c.page:53(p)
 msgid ""
 "Choose <gui>Gtk+ (simple)</gui> from the <gui>C</gui> tab, click "
 "<gui>Continue</gui>, and fill out your details on the next few pages. Use "
@@ -5344,7 +6234,7 @@ msgstr ""
 "<gui>Continuar</gui>, y rellene los detalles en las siguientes pÃginas. Use "
 "<file>mural-de-fotos</file> como nombre del proyecto y de la carpeta."
 
-#: C/photo-wall.c.page:55(p)
+#: C/photo-wall.c.page:56(p)
 msgid ""
 "Make sure that <gui>Use GtkBuilder for user interface</gui> is disabled as "
 "we will create the UI manually in this tutorial. Check the <link xref="
@@ -5355,7 +6245,7 @@ msgstr ""
 "Revise el tutorial del <link xref=\"guitar-tuner.c\">afinador de guitarra</"
 "link> usando el constructor de interfaces."
 
-#: C/photo-wall.c.page:60(p)
+#: C/photo-wall.c.page:61(p)
 msgid ""
 "Enable <gui>Configure external packages</gui>. On the next page, select "
 "<em>clutter-1.0</em> from the list to include the Clutter library in your "
@@ -5365,8 +6255,8 @@ msgstr ""
 "seleccione <em>clutter-1.0</em> de la lista para incluir la biblioteca "
 "Clutter en su proyecto."
 
-#: C/photo-wall.c.page:64(p) C/image-viewer.c.page:50(p)
-#: C/guitar-tuner.c.page:55(p)
+#: C/photo-wall.c.page:65(p) C/image-viewer.c.page:51(p)
+#: C/guitar-tuner.c.page:56(p)
 msgid ""
 "Click <gui>Apply</gui> and the project will be created for you. Open "
 "<file>src/main.c</file> from the <gui>Project</gui> or <gui>File</gui> tabs. "
@@ -5376,15 +6266,15 @@ msgstr ""
 "file> desde las pestaÃas <gui>Proyecto</gui> o <gui>Archivo</gui>. DeberÃa "
 "ver algo de cÃdigo que comience con las lÃneas:"
 
-#: C/photo-wall.c.page:73(title)
+#: C/photo-wall.c.page:74(title)
 msgid "A look at Photo Wall"
 msgstr "Un vistazo al mural de fotos"
 
-#: C/photo-wall.c.page:74(p)
+#: C/photo-wall.c.page:75(p)
 msgid "Our image viewer presents the user with a wall of images."
 msgstr "El visor de imÃgenes muestra al usuario un mural de imÃgenes."
 
-#: C/photo-wall.c.page:78(p)
+#: C/photo-wall.c.page:79(p)
 msgid ""
 "When an image is clicked, it is animated to fill the viewing area. When the "
 "image having focus is clicked it is returned to its original position using "
@@ -5394,11 +6284,11 @@ msgstr ""
 "visualizaciÃn. Cuando se pulsa la imagen que tiene el foco, vuelve a su "
 "tamaÃo original usando una animaciÃn que dura 500 milisegundos."
 
-#: C/photo-wall.c.page:84(title)
+#: C/photo-wall.c.page:85(title)
 msgid "Initial setup"
 msgstr "ConfiguraciÃn inicial"
 
-#: C/photo-wall.c.page:85(p)
+#: C/photo-wall.c.page:86(p)
 msgid ""
 "The following code segment contains many of the defines and variables we "
 "will be using in the following sections. Use this as a reference for later "
@@ -5409,11 +6299,11 @@ msgstr ""
 "prÃximas secciones. Copie este cÃdigo al principio de <file>src/main.c</"
 "file>:"
 
-#: C/photo-wall.c.page:122(title)
+#: C/photo-wall.c.page:123(title)
 msgid "Jumping into the code"
 msgstr "Saltar dentro del cÃdigo"
 
-#: C/photo-wall.c.page:123(p)
+#: C/photo-wall.c.page:124(p)
 msgid ""
 "We will start by taking a look at the <code>main()</code> function as a "
 "whole. Then we'll discuss the other code sections in detail. Change the "
@@ -5427,7 +6317,7 @@ msgstr ""
 "Puede eliminar la funciÃn <code>create_window()</code>, ya que no se usa en "
 "este ejemplo."
 
-#: C/photo-wall.c.page:164(p)
+#: C/photo-wall.c.page:165(p)
 msgid ""
 "Line 4: <code>ClutterColor</code> is defined by setting the red, green, blue "
 "and transparency (alpha) values. The values range from 0-255. For "
@@ -5437,7 +6327,7 @@ msgstr ""
 "rojo, verde, azul y de transparencia (alfa). Los valores van de 0 a 255. "
 "Para la transparencia, el valor 255 es opaco."
 
-#: C/photo-wall.c.page:165(p)
+#: C/photo-wall.c.page:166(p)
 msgid ""
 "Line 7: You must initialize Clutter. If you forget to do this, you will get "
 "very strange errors. Be warned."
@@ -5445,7 +6335,7 @@ msgstr ""
 "LÃnea 7: debe inicializar Clutter. Si olvida hacerlo, obtendrà mensajes muy "
 "extraÃos. Queda advertido."
 
-#: C/photo-wall.c.page:166(p)
+#: C/photo-wall.c.page:167(p)
 msgid ""
 "Lines 9â11: Here we get the default <code>ClutterStage</code> that was "
 "provided by <code>clutter_init</code>. We then set the size using the "
@@ -5457,7 +6347,7 @@ msgstr ""
 "establece el tamaÃo usando el definido en la secciÃn anterior y las "
 "direcciones del <code>ClutterColor</code> que ya estÃn definidas."
 
-#: C/photo-wall.c.page:167(p)
+#: C/photo-wall.c.page:168(p)
 msgid ""
 "A <code>ClutterStage</code> is the top-level <code>ClutterActor</code> onto "
 "which other <code>ClutterActor</code>s are placed."
@@ -5465,7 +6355,7 @@ msgstr ""
 "Un <code>ClutterStage</code> es el nivel superior de un <code>ClutterActor</"
 "code> en el que se ubican otros <code>ClutterActor</code>."
 
-#: C/photo-wall.c.page:169(p)
+#: C/photo-wall.c.page:170(p)
 msgid ""
 "Line 12: Here we call our function for getting the image file paths. We'll "
 "look at this in a bit."
@@ -5473,7 +6363,7 @@ msgstr ""
 "LÃnea 12: aquà se llama a la funciÃn para obtener las rutas de las imÃgenes. "
 "Esto se verà en breve."
 
-#: C/photo-wall.c.page:170(p)
+#: C/photo-wall.c.page:171(p)
 msgid ""
 "Lines 14â26: This is where we set up the <code>ClutterActor</code>s, load "
 "the images and place them into their spot in the image wall. We will look at "
@@ -5483,22 +6373,22 @@ msgstr ""
 "cargan las imÃgenes y se colocan en su sitio en el mural de imÃgenes. Esto "
 "se verà con mÃs detalle en la siguiente secciÃn."
 
-#: C/photo-wall.c.page:171(p)
+#: C/photo-wall.c.page:172(p)
 msgid ""
 "Line 29: Show the stage and <em>all its children</em>, meaning our images."
 msgstr ""
 "LÃnea 29: mostrar el escenario y <em>todos sus hijos</em>, es decir, las "
 "imÃgenes."
 
-#: C/photo-wall.c.page:172(p)
+#: C/photo-wall.c.page:173(p)
 msgid "Line 32: Start the Clutter main loop."
 msgstr "LÃnea 32: iniciar el bucle principal de Clutter."
 
-#: C/photo-wall.c.page:177(title)
+#: C/photo-wall.c.page:178(title)
 msgid "Setting up our image actors"
 msgstr "Configurar los actores de imagen"
 
-#: C/photo-wall.c.page:178(p)
+#: C/photo-wall.c.page:179(p)
 msgid ""
 "In Clutter, an actor is the most basic visual element. Basically, everything "
 "you see is an actor."
@@ -5506,7 +6396,7 @@ msgstr ""
 "En Clutter, un actor es el elemento visual mÃs simple. BÃsicamente, todo lo "
 "que ve es un actor."
 
-#: C/photo-wall.c.page:179(p)
+#: C/photo-wall.c.page:180(p)
 msgid ""
 "In this section, we are going to take a closer look at the loop used for "
 "setting up the <code>ClutterActor</code>s that will display our images."
@@ -5514,7 +6404,7 @@ msgstr ""
 "En esta secciÃn, se va a mirar mÃs detenidamente el bucle usado para "
 "configurar los <code>ClutterActor</code> que mostrarÃn las imÃgenes."
 
-#: C/photo-wall.c.page:197(p)
+#: C/photo-wall.c.page:198(p)
 msgid ""
 "Line 5: Here we want to get the path at the <var>n</var>th location in the "
 "<code>GSList</code> that is holding our image path names. The <var>n</var>th "
@@ -5531,7 +6421,7 @@ msgstr ""
 "ruta actual en la siguiente lÃnea. El primer parÃmetro es un puntero a la "
 "cabecera de la lista."
 
-#: C/photo-wall.c.page:199(p)
+#: C/photo-wall.c.page:200(p)
 msgid ""
 "Line 6: This is where we actually create the <code>ClutterActor</code> and "
 "place the image into the actor. The first argument is the path which we "
@@ -5543,11 +6433,11 @@ msgstr ""
 "acceder al nodo de la <code>GSList</code>. El segundo argumento es para "
 "informar de un error, pero se ignora para simplificar."
 
-#: C/photo-wall.c.page:201(p)
+#: C/photo-wall.c.page:202(p)
 msgid "Line 7: We'll look at this function in a later section."
 msgstr "LÃnea 7: està funciÃn se verà en una secciÃn posterior."
 
-#: C/photo-wall.c.page:203(p)
+#: C/photo-wall.c.page:204(p)
 msgid ""
 "Line 8: This adds the <code>ClutterActor</code> to the stage, which is a "
 "container. It also assumes ownership of the <code>ClutterActor</code> which "
@@ -5562,7 +6452,7 @@ msgstr ""
 "detalles, consulte la <link href=\"http://library.gnome.org/devel/gobject/";
 "stable/gobject-memory.html\">documentaciÃn de <code>GObject</code></link>."
 
-#: C/photo-wall.c.page:205(p)
+#: C/photo-wall.c.page:206(p)
 msgid ""
 "Line 9: This adds our <code>ClutterActor</code> to a <code>GSList</code> so "
 "that we can later iterate over the <code>ClutterActor</code>s."
@@ -5570,7 +6460,7 @@ msgstr ""
 "LÃnea 9: esto aÃade el <code>ClutterActor</code> a una <code>GSList</code> "
 "por lo que luego se podrà iterar sobre los <code>ClutterActor</code>."
 
-#: C/photo-wall.c.page:206(p)
+#: C/photo-wall.c.page:207(p)
 msgid ""
 "Interesting to note is that we want to prepend the <code>ClutterActor</"
 "code>s rather than append so that we avoid traversing the list upon each "
@@ -5584,11 +6474,11 @@ msgstr ""
 "de <code>g_slist_reverse</code>, ya que es mÃs rÃpido que insertar varios "
 "objetos al final de la lista."
 
-#: C/photo-wall.c.page:212(title)
+#: C/photo-wall.c.page:213(title)
 msgid "Loading the images"
 msgstr "Cargar las imÃgenes"
 
-#: C/photo-wall.c.page:213(p)
+#: C/photo-wall.c.page:214(p)
 msgid ""
 "Let's take a short break from Clutter to see how we can get the file names "
 "from our image directory."
@@ -5596,7 +6486,7 @@ msgstr ""
 "TÃmese un pequeÃo descanso de Clutter para ver cÃmo se pueden obtener los "
 "nombres de archivos desde la carpeta de imÃgenes."
 
-#: C/photo-wall.c.page:240(p)
+#: C/photo-wall.c.page:241(p)
 msgid ""
 "Lines 5 and 12: This opens our directory or, if an error occured, returns "
 "after printing an error message."
@@ -5604,7 +6494,7 @@ msgstr ""
 "LÃneas 5 y 12: esto abre la carpeta o, si ocurre un error, termina despuÃs "
 "de mostrar un mensaje de error."
 
-#: C/photo-wall.c.page:241(p)
+#: C/photo-wall.c.page:242(p)
 msgid ""
 "Lines 14â23: The first line gets another file name from the <code>GDir</"
 "code> we opened earlier. If there was an image file (which we check by "
@@ -5621,11 +6511,11 @@ msgstr ""
 "obtener la siguiente ruta y se vuelve a entrar en el bucle si se encuentra "
 "otro archivo."
 
-#: C/photo-wall.c.page:246(title)
+#: C/photo-wall.c.page:247(title)
 msgid "Set up the actors"
 msgstr "Configurar los actores"
 
-#: C/photo-wall.c.page:247(p)
+#: C/photo-wall.c.page:248(p)
 msgid ""
 "We now take a look at the sizing and positioning of <code>ClutterActor</"
 "code>s and also readying the <code>ClutterActor</code> for user interaction."
@@ -5634,7 +6524,7 @@ msgstr ""
 "code> y a cÃmo se deja listo el <code>ClutterActor</code> para la "
 "interacciÃn del usuario."
 
-#: C/photo-wall.c.page:266(p)
+#: C/photo-wall.c.page:267(p)
 msgid ""
 "Line 7: Setting an actor reactive means that it reacts to events, such as "
 "<code>button-press-event</code> in our case. For Photo Wall, all "
@@ -5645,7 +6535,7 @@ msgstr ""
 "mural de fotos, todos los <code>ClutterActor</code> del mural deben ser "
 "inicialmente reactivos."
 
-#: C/photo-wall.c.page:269(p)
+#: C/photo-wall.c.page:270(p)
 msgid ""
 "Line 9â12: Now we connect the <code>button-press-event</code> to the "
 "<code>actor_clicked_cb</code> callback which we will look at next."
@@ -5653,15 +6543,15 @@ msgstr ""
 "LÃneas 9â12: ahora se conecta el evento <code>button-press-event</code> al "
 "retorno de la llamada <code>actor_clicked_cb</code> que veremos mÃs adelante."
 
-#: C/photo-wall.c.page:272(p)
+#: C/photo-wall.c.page:273(p)
 msgid "At this point we've got a wall of images that are ready to be viewed."
 msgstr "En este punto tiene un mural de fotos que està listo para verse."
 
-#: C/photo-wall.c.page:276(title)
+#: C/photo-wall.c.page:277(title)
 msgid "Reacting to the clicks"
 msgstr "Reaccionar a las pulsaciones"
 
-#: C/photo-wall.c.page:321(p)
+#: C/photo-wall.c.page:322(p)
 msgid ""
 "Lines 1â4: We have to make sure our callback function matches the signature "
 "required for the <code>button_clicked_event</code> signal. For our example, "
@@ -5673,7 +6563,7 @@ msgstr ""
 "code>. En este ejemplo, sÃlo se usarà el primer argumento, el "
 "<code>ClutterActor</code> pulsado actualmente."
 
-#: C/photo-wall.c.page:323(p)
+#: C/photo-wall.c.page:324(p)
 msgid ""
 "A few words on the arguments we are not using in this example. The "
 "<code>ClutterEvent</code> is different depending on what event is being "
@@ -5692,7 +6582,7 @@ msgstr ""
 "<code>x</code> e <code>y</code>. Consulte la documentaciÃn de Clutter para "
 "obtener informaciÃn sobre otros tipos de <code>ClutterEvent</code>."
 
-#: C/photo-wall.c.page:324(p)
+#: C/photo-wall.c.page:325(p)
 msgid ""
 "The <code>user_data</code> is what one uses to pass data into the the "
 "function. A pointer to any data type can be passed in. If you need multiple "
@@ -5704,7 +6594,7 @@ msgstr ""
 "necesita pasar varios datos al retorno de la llamada, puede colocar los "
 "datos en una estructura y pasar un puntero a su direcciÃn."
 
-#: C/photo-wall.c.page:328(p)
+#: C/photo-wall.c.page:329(p)
 msgid ""
 "Line 7: We set up a static flag to track which state we are in: wall mode or "
 "focus mode. We start out in wall mode so no image has focus. Thus, we set "
@@ -5715,7 +6605,7 @@ msgstr ""
 "ninguna imagen tiene el foco. Por ello, el indicador se establece "
 "inicialmente a <code>FALSE</code>."
 
-#: C/photo-wall.c.page:329(p)
+#: C/photo-wall.c.page:330(p)
 msgid ""
 "Line 9: This line of code runs a custom function, "
 "<code>foreach_set_focus_state</code>, for each element in our "
@@ -5729,7 +6619,7 @@ msgstr ""
 "code>. La definiciÃn de la funciÃn <code>foreach_set_focus_state</code> se "
 "verà en la siguiente secciÃn."
 
-#: C/photo-wall.c.page:330(p)
+#: C/photo-wall.c.page:331(p)
 msgid ""
 "Lines 13â19: Reaching this code means that one image currently has focus and "
 "we want to return to wall mode. The <code>clutter_actor_animate</code> "
@@ -5743,11 +6633,11 @@ msgstr ""
 "propiedades de un <code>ClutterActor</code> desde su estado actual al estado "
 "especificado. Los argumentos son como sigue:"
 
-#: C/photo-wall.c.page:332(p)
+#: C/photo-wall.c.page:333(p)
 msgid "The address of the <code>ClutterActor</code> to animate"
 msgstr "La direcciÃn del <code>ClutterActor</code> que animar"
 
-#: C/photo-wall.c.page:333(p)
+#: C/photo-wall.c.page:334(p)
 msgid ""
 "The animation mode to use. Here we use <code>CLUTTER_LINEAR</code> so that "
 "we have a constant speed for animation."
@@ -5755,7 +6645,7 @@ msgstr ""
 "El modo de animaciÃn que usar. Aquà se ha usado <code>CLUTTER_LINEAR</code> "
 "por lo que se tiene una velocidad constante en la animaciÃn."
 
-#: C/photo-wall.c.page:334(p)
+#: C/photo-wall.c.page:335(p)
 msgid ""
 "The duration of the animation in milliseconds. I've chosen 500 ms for this "
 "example."
@@ -5763,7 +6653,7 @@ msgstr ""
 "La duraciÃn de la animaciÃn, en milisegundos. Se ha escogido 500 ms para "
 "este ejemplo."
 
-#: C/photo-wall.c.page:335(p)
+#: C/photo-wall.c.page:336(p)
 msgid ""
 "The remaining arguments are property/value pairs. Here we want to set the "
 "<code>x</code> value to the starting <code>x</code> value this "
@@ -5773,7 +6663,7 @@ msgstr ""
 "establecer el valor <code>x</code> al valor <code>x</code> inicial en el que "
 "estaba el <code>ClutterActor</code> antes de darle el foco."
 
-#: C/photo-wall.c.page:336(p)
+#: C/photo-wall.c.page:337(p)
 msgid ""
 "The last argument must always be <code>NULL</code> to indicate that there "
 "are no more properties to be set."
@@ -5781,7 +6671,7 @@ msgstr ""
 "El Ãltimo argumento debe ser siempre <code>NULL</code> para indicar que no "
 "hay mÃs propiedades que configurar."
 
-#: C/photo-wall.c.page:338(p)
+#: C/photo-wall.c.page:339(p)
 msgid ""
 "The <code>depth</code> property needs a little more explaining. We need to "
 "raise the focused image so that it doesn't slide behind other "
@@ -5793,7 +6683,7 @@ msgstr ""
 "otros <code>ClutterActor</code>. En esta secciÃn se està devolviendo a la "
 "misma profundidad que las otras en el mural."
 
-#: C/photo-wall.c.page:339(p)
+#: C/photo-wall.c.page:340(p)
 msgid ""
 "Depth also determines which <code>ClutterActor</code>s receive events. A "
 "<code>ClutterActor</code> with a higher depth value receives the click "
@@ -5806,7 +6696,7 @@ msgstr ""
 "<code>ClutterActor</code> que està debajo de Ãl. Se verà cÃmo funciona esto "
 "en pocos pasos."
 
-#: C/photo-wall.c.page:341(p)
+#: C/photo-wall.c.page:342(p)
 msgid ""
 "Line 24: Reaching this line of code means we are currently in the wall state "
 "and are about to give a <code>ClutterActor</code> focus. Here we save the "
@@ -5816,7 +6706,7 @@ msgstr ""
 "el modo mural y se va a dar el foco a un <code>ClutterActor</code>. Aquà se "
 "guarda la posiciÃn inicial, por lo que se puede volver a ella mÃs adelante."
 
-#: C/photo-wall.c.page:342(p)
+#: C/photo-wall.c.page:343(p)
 msgid ""
 "Line 25: Setting the <code>ClutterActor</code>'s <code>reactive</code> "
 "property to <code>TRUE</code> makes this <code>ClutterActor</code> react to "
@@ -5832,7 +6722,7 @@ msgstr ""
 "<code>ClutterActor</code> que se està viendo. Al pulsar sobre el "
 "<code>ClutterActor</code> volverà a su posiciÃn inicial."
 
-#: C/photo-wall.c.page:343(p)
+#: C/photo-wall.c.page:344(p)
 msgid ""
 "Lines 27â33: This is similar to the above block of code. Notice that we are "
 "setting the the depth to raise it above the other images."
@@ -5841,14 +6731,14 @@ msgstr ""
 "que se està estableciendo la profundidad para elevarlo por encima del resto "
 "de imÃgenes."
 
-#: C/photo-wall.c.page:344(p)
+#: C/photo-wall.c.page:345(p)
 msgid ""
 "Line 37: Here we toggle the <code>is_focused</code> flag to the current "
 "state."
 msgstr ""
 "LÃnea 37: aquà se cambia la opciÃn <code>is_focused</code> al estado actual."
 
-#: C/photo-wall.c.page:345(p)
+#: C/photo-wall.c.page:346(p)
 msgid ""
 "As mentioned previously, the <code>ClutterActor</code>s with higher "
 "<code>depth</code> values receive events but can allow <code>ClutterActor</"
@@ -5863,7 +6753,7 @@ msgstr ""
 "eventos havia abajo, mientras que <code>FALSE</code> harà que los eventos "
 "pasen hacia abajo."
 
-#: C/photo-wall.c.page:347(p)
+#: C/photo-wall.c.page:348(p)
 msgid ""
 "Remember, however, that to receive events the <code>ClutterActor</code>s "
 "must be set <code>reactive</code>."
@@ -5871,7 +6761,7 @@ msgstr ""
 "Recuerde, sin embargo, que para que los <code>ClutterActor</code> reciban "
 "eventos deben establecerse como <code>reactive</code>."
 
-#: C/photo-wall.c.page:351(p)
+#: C/photo-wall.c.page:352(p)
 msgid ""
 "The following is the convenience function passed to <code>g_slist_foreach</"
 "code>."
@@ -5879,7 +6769,7 @@ msgstr ""
 "Lo siguiente es la funciÃn de conveniencia pasada a <code>g_slist_foreach</"
 "code>."
 
-#: C/photo-wall.c.page:364(p)
+#: C/photo-wall.c.page:365(p)
 msgid ""
 "Lines 2â5: The signature of this function requires two <code>gpointer</"
 "code>s. The first is a pointer to the <code>ClutterActor</code> that our "
@@ -5893,7 +6783,7 @@ msgstr ""
 "ha pasado en la secciÃn anterior. Se quiere convertir su tipo (ÂcastÂ) y "
 "almacenarlos para que sea fÃcil usarlos."
 
-#: C/photo-wall.c.page:365(p)
+#: C/photo-wall.c.page:366(p)
 msgid ""
 "Line 7: Depending on which boolean value is passed in, the "
 "<code>ClutterActor</code> will be set to respond to events or not."
@@ -5901,14 +6791,14 @@ msgstr ""
 "LÃnea 7: dependiendo de quà valor booleano se pasa, el <code>ClutterActor</"
 "code> se establecerà para que responda o no a eventos."
 
-#: C/photo-wall.c.page:370(title) C/image-viewer.vala.page:273(title)
-#: C/image-viewer.cpp.page:204(title) C/image-viewer.c.page:215(title)
+#: C/photo-wall.c.page:371(title) C/image-viewer.vala.page:274(title)
+#: C/image-viewer.cpp.page:204(title) C/image-viewer.c.page:216(title)
 #: C/guitar-tuner.vala.page:247(title) C/guitar-tuner.cpp.page:249(title)
-#: C/guitar-tuner.c.page:250(title)
+#: C/guitar-tuner.c.page:251(title)
 msgid "Build and run the application"
 msgstr "Construir y ejecutar la aplicaciÃn"
 
-#: C/photo-wall.c.page:371(p)
+#: C/photo-wall.c.page:372(p)
 msgid ""
 "All of the code should now be ready to go. All you need now is some pictures "
 "to load. By default, the pictures are loaded from a <file>berlin_images</"
@@ -5930,7 +6820,7 @@ msgstr ""
 "la carpeta <file>mural-fotos</file>. AsegÃrese de poner al menos doce "
 "imÃgenes en la carpeta."
 
-#: C/photo-wall.c.page:373(p)
+#: C/photo-wall.c.page:374(p)
 msgid ""
 "When you have done that, click <guiseq><gui>Build</gui><gui>Build Project</"
 "gui></guiseq> to build everything again, then <guiseq><gui>Run</"
@@ -5941,7 +6831,7 @@ msgstr ""
 "<guiseq><gui>Ejecutar</gui><gui>Ejecutar</gui></guiseq> para iniciar la "
 "aplicaciÃn."
 
-#: C/photo-wall.c.page:374(p)
+#: C/photo-wall.c.page:375(p)
 msgid ""
 "If you haven't already done so, choose the <file>Debug/src/photo-wall</file> "
 "application in the dialog that appears. Finally, hit <gui>Run</gui> and "
@@ -5951,7 +6841,7 @@ msgstr ""
 "file> en el diÃlogo que aparece. Finalmente, pulse <gui>Ejecutar</gui> y "
 "disfrute."
 
-#: C/photo-wall.c.page:379(p)
+#: C/photo-wall.c.page:380(p)
 msgid ""
 "If you run into problems with the tutorial, compare your code with this "
 "<link href=\"photo-wall/photo-wall.c\">reference code</link>."
@@ -5959,12 +6849,65 @@ msgstr ""
 "Si tiene problemas con este tutorial, compare su cÃdigo con este <link href="
 "\"photo-wall/photo-wall.c\">cÃdigo de referencia</link>."
 
-#: C/model-view-controller.py.page:11(desc)
-#: C/model-view-controller.py.page:24(title)
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/paned.py.page:21(None)
+#| msgid "@@image: 'media/window.png'; md5=eb0cde3530978619c25bddfaeb453345"
+msgid "@@image: 'media/paned.png'; md5=01e36d8a51ee18313616d63d2e15d993"
+msgstr "@@image: 'media/paned.png'; md5=01e36d8a51ee18313616d63d2e15d993"
+
+#: C/paned.py.page:7(title)
+#, fuzzy
+#| msgid "Python"
+msgid "Paned (Python)"
+msgstr "Python"
+
+#: C/paned.py.page:17(desc)
+msgid "A widget with two adjustable panes"
+msgstr ""
+
+#: C/paned.py.page:20(title)
+#, fuzzy
+#| msgid "Gtk.Paned"
+msgid "Paned"
+msgstr "Gtk.Paned"
+
+#: C/paned.py.page:22(p)
+msgid "Two images in two adjustable panes, horizontally aligned."
+msgstr ""
+
+#: C/paned.py.page:32(title)
+#, fuzzy
+#| msgid "Useful methods for a Scale widget"
+msgid "Useful methods for a Paned widget"
+msgstr "MeÌtodos uÌtiles para un widget ÂScaleÂ"
+
+#: C/paned.py.page:33(p)
+msgid ""
+"To have two vertically aligned panes, use <code>Gtk.Orientation.VERTICAL</"
+"code> instead of <code>Gtk.Orientation.HORIZONTAL</code>. The method "
+"<code>add1(widget1)</code> will add the <code>widget1</code> to the top "
+"pane, and <code>add2(widget2)</code> will add the <code>widget2</code> to "
+"the bottom pane."
+msgstr ""
+
+#: C/paned.py.page:40(link)
+#| msgid "Gtk.Paned"
+msgid "GtkPaned"
+msgstr "GtkPaned"
+
+#: C/model-view-controller.py.page:8(title)
+#, fuzzy
+#| msgid "The Model/View/Controller design"
+msgid "The Model/View/Controller design (Python)"
+msgstr "El diseÃo modelo/vista/controlador"
+
+#: C/model-view-controller.py.page:12(desc)
+#: C/model-view-controller.py.page:25(title)
 msgid "The Model/View/Controller design"
 msgstr "El diseÃo modelo/vista/controlador"
 
-#: C/model-view-controller.py.page:31(p)
+#: C/model-view-controller.py.page:32(p)
 msgid ""
 "Both the <link xref=\"treeview_simple_liststore.py\">TreeView</link> and the "
 "<link xref=\"combobox.py\">ComboBox</link> widgets are built on the "
@@ -5979,11 +6922,11 @@ msgid ""
 "signals like <code>\"changed\"</code>)."
 msgstr ""
 
-#: C/model-view-controller.py.page:36(title)
+#: C/model-view-controller.py.page:37(title)
 msgid "The Model"
 msgstr "El modelo"
 
-#: C/model-view-controller.py.page:38(p)
+#: C/model-view-controller.py.page:39(p)
 msgid ""
 "The main difference between the two main implementations of <code>Gtk."
 "TreeModel</code> is that <code>Gtk.ListStore</code> contains simple rows of "
@@ -5992,13 +6935,13 @@ msgid ""
 "rows, and so on)."
 msgstr ""
 
-#: C/model-view-controller.py.page:40(p)
+#: C/model-view-controller.py.page:41(p)
 msgid ""
 "The data in the Model can be retrieved or modified using the tree iter and "
 "column index, or <code>Gtk.TreeIter</code>, or <code>Gtk.TreePath</code>."
 msgstr ""
 
-#: C/model-view-controller.py.page:42(p)
+#: C/model-view-controller.py.page:43(p)
 msgid ""
 "As with Python's built-in list object you can use <code>len()</code> to get "
 "the number of rows and use slices to retrieve or set values. Otherwise, the "
@@ -6007,7 +6950,7 @@ msgid ""
 "retrieve a <code>Gtk.TreeIter</code> by calling <code>get_iter()</code>."
 msgstr ""
 
-#: C/model-view-controller.py.page:44(p)
+#: C/model-view-controller.py.page:45(p)
 msgid ""
 "As <code>Gtk.ListStore</code> contains only one level, i.e. nodes do not "
 "have any child nodes, a path is essentially the index of the row you want to "
@@ -6018,12 +6961,11 @@ msgid ""
 "refers to the fifth child of the third node."
 msgstr ""
 
-#: C/model-view-controller.py.page:46(p)
-#| msgid "Useful methods for a ScrolledWindow widget"
+#: C/model-view-controller.py.page:47(p)
 msgid "Useful methods for a <code>Gtk.TreeModel</code>:"
 msgstr "MÃtodos Ãtiles para un <code>Gtk.TreeModel</code>:"
 
-#: C/model-view-controller.py.page:48(p)
+#: C/model-view-controller.py.page:49(p)
 msgid ""
 "<code>get_iter(path)</code> returns a <code>Gtk.TreeIter</code> instance "
 "pointing to <code>path</code>. This is expected to be a colon-separated list "
@@ -6033,39 +6975,38 @@ msgid ""
 "that 11th child, and the 1st child of that 5th child."
 msgstr ""
 
-#: C/model-view-controller.py.page:49(p)
+#: C/model-view-controller.py.page:50(p)
 msgid ""
 "<code>iter_next(treeiter)</code> returns a <code>Gtk.TreeIter</code> "
 "instance pointing the node following treeiter at the current level or "
 "<code>None</code> if there is no next iter."
 msgstr ""
 
-#: C/model-view-controller.py.page:50(p)
+#: C/model-view-controller.py.page:51(p)
 msgid ""
 "<code>iter_has_child(treeiter)</code> returns <code>True</code> if "
 "<code>treeiter</code> has children, <code>False</code> otherwise."
 msgstr ""
 
-#: C/model-view-controller.py.page:51(p)
+#: C/model-view-controller.py.page:52(p)
 msgid ""
 "<code>iter_children(treeiter)</code> returns a <code>Gtk.TreeIter</code> "
 "instance pointing to the first child of <code>treeiter</code> or <code>None</"
 "code> if <code>treeiter</code> has no children."
 msgstr ""
 
-#: C/model-view-controller.py.page:52(p)
+#: C/model-view-controller.py.page:53(p)
 msgid ""
 "<code>get_iter_first()</code> returns a <code>Gtk.TreeIter</code> instance "
 "pointing to the first iterator in the tree (the one at the path <code>\"0\"</"
 "code>) or <code>None</code> if the tree is empty."
 msgstr ""
 
-#: C/model-view-controller.py.page:55(p)
-#| msgid "Useful methods for a LinkButton widget"
+#: C/model-view-controller.py.page:56(p)
 msgid "Useful methods for a <code>Gtk.ListStore</code>:"
 msgstr "MÃtodos Ãtiles para un <code>Gtk.ListStore</code>:"
 
-#: C/model-view-controller.py.page:57(p)
+#: C/model-view-controller.py.page:58(p)
 msgid ""
 "<code>append(row)</code> appends a new row to this list store, where "
 "<code>row</code> can be a list of values for each column; <code>row</code> "
@@ -6074,7 +7015,7 @@ msgid ""
 "appended row."
 msgstr ""
 
-#: C/model-view-controller.py.page:58(p) C/model-view-controller.py.page:64(p)
+#: C/model-view-controller.py.page:59(p) C/model-view-controller.py.page:65(p)
 msgid ""
 "<code>remove(iter)</code> removes <code>iter</code> from the <code>Gtk."
 "ListStore</code>, and returns <code>True</code> if the iter is valid, and "
@@ -6082,12 +7023,11 @@ msgid ""
 "code> is set to be the next valid row."
 msgstr ""
 
-#: C/model-view-controller.py.page:61(p)
-#| msgid "Useful methods for a TextView widget"
+#: C/model-view-controller.py.page:62(p)
 msgid "Useful methods for a <code>Gtk.TreeStore</code>:"
 msgstr "MÃtodos Ãtiles para un <code>Gtk.TreeStore</code>:"
 
-#: C/model-view-controller.py.page:63(p)
+#: C/model-view-controller.py.page:64(p)
 msgid ""
 "<code>append(parent, row)</code> appends a new row to this tree store; "
 "<code>parent</code> must be a valid Gtk.TreeIter. If parent is not "
@@ -6098,64 +7038,62 @@ msgid ""
 "a <code>Gtk.TreeIter</code> pointing to the appended row."
 msgstr ""
 
-#: C/model-view-controller.py.page:70(title)
+#: C/model-view-controller.py.page:71(title)
 msgid "The View: the TreeView case"
 msgstr ""
 
-#: C/model-view-controller.py.page:72(p)
+#: C/model-view-controller.py.page:73(p)
 msgid ""
 "A Treeview shows the structure of children and parent items as a tree. See "
 "for instance <link xref=\"treeview_treestore.py\">this example</link>."
 msgstr ""
 
-#: C/model-view-controller.py.page:74(p)
+#: C/model-view-controller.py.page:75(p)
 msgid ""
 "The <code>Gtk.TreeViewColumn</code> is used to organize the vertical columns."
 msgstr ""
 
-#: C/model-view-controller.py.page:76(p)
-#| msgid "Useful methods for a TextView widget"
+#: C/model-view-controller.py.page:77(p)
 msgid "Useful methods for a <code>Gtk.TreeView</code>:"
 msgstr "MÃtodos Ãtiles para un <code>Gtk.TreeView</code>:"
 
-#: C/model-view-controller.py.page:78(p)
+#: C/model-view-controller.py.page:79(p)
 msgid ""
 "<code>set_model(model)</code> sets the model for this tree view. If this "
 "tree view already has a model set, it will remove it before setting the new "
 "model. If model is <code>None</code>, then it will unset the old model."
 msgstr ""
 
-#: C/model-view-controller.py.page:79(p)
+#: C/model-view-controller.py.page:80(p)
 msgid ""
 "<code>get_model()</code> returns the model this tree view is based on, "
 "<code>None</code> if the model is unset."
 msgstr ""
 
-#: C/model-view-controller.py.page:80(p)
+#: C/model-view-controller.py.page:81(p)
 msgid ""
 "<code>append_column(column)</code> appends <code>column</code> to the list "
 "of columns."
 msgstr ""
 
-#: C/model-view-controller.py.page:81(p)
+#: C/model-view-controller.py.page:82(p)
 msgid ""
 "<code>get_selection()</code> gets the <code>Gtk.TreeSelection</code> "
 "associated with this tree view."
 msgstr ""
 
-#: C/model-view-controller.py.page:84(p)
-#| msgid "Useful methods for a TextView widget"
+#: C/model-view-controller.py.page:85(p)
 msgid "Useful methods for a <code>Gtk.TreeViewColumn</code>:"
 msgstr "MÃtodos Ãtiles para un <code>Gtk.TreeViewColumn</code>:"
 
-#: C/model-view-controller.py.page:86(p)
+#: C/model-view-controller.py.page:87(p)
 msgid ""
 "<code>add_attribute(renderer, attribute, value)</code> adds an attribute "
 "mapping to this column. <code>attribute</code> is the parameter on "
 "<code>renderer</code> to be set from the <code>value</code>"
 msgstr ""
 
-#: C/model-view-controller.py.page:87(p)
+#: C/model-view-controller.py.page:88(p)
 msgid ""
 "<code>pack_start(renderer, expand)</code> packs <code>renderer</code> into "
 "the beginning of this column. If <code>expand</code> is <code>False</code>, "
@@ -6164,7 +7102,7 @@ msgid ""
 "code>."
 msgstr ""
 
-#: C/model-view-controller.py.page:88(p)
+#: C/model-view-controller.py.page:89(p)
 msgid ""
 "<code>pack_end(renderer, expand)</code> adds <code>renderer</code> to end of "
 "this column. If <code>expand</code> is <code>False</code>, then "
@@ -6173,32 +7111,32 @@ msgid ""
 "<code>True</code>."
 msgstr ""
 
-#: C/model-view-controller.py.page:89(p)
+#: C/model-view-controller.py.page:90(p)
 msgid ""
 "<code>set_sort_column_id(sort_column_id)</code> sets the column of the model "
 "by which this column (of the view) should be sorted. This also makes the "
 "columnd header clickable."
 msgstr ""
 
-#: C/model-view-controller.py.page:90(p)
+#: C/model-view-controller.py.page:91(p)
 msgid ""
 "<code>set_sort_indicator(setting)</code> sets whether a little arrow is "
 "displayed in the column header; <code>setting</code> can either be "
 "<code>True</code> (indicator is shown) or <code>False</code>."
 msgstr ""
 
-#: C/model-view-controller.py.page:91(p)
+#: C/model-view-controller.py.page:92(p)
 msgid ""
 "<code>set_sort_order(order)</code> changes the order by which the column is "
 "sorted; <code>order</code> can either be <code>Gtk.SortType.ASCENDING</code> "
 "or <code>Gtk.SortType.DESCENDING</code>."
 msgstr ""
 
-#: C/model-view-controller.py.page:97(title)
+#: C/model-view-controller.py.page:98(title)
 msgid "The View: the ComboBox case"
 msgstr ""
 
-#: C/model-view-controller.py.page:99(p)
+#: C/model-view-controller.py.page:100(p)
 msgid ""
 "A <code>Gtk.ComboBox</code> allows for the selection of an item from a "
 "dropdown menu, see for instance <link xref=\"combobox.py\">this example</"
@@ -6207,12 +7145,11 @@ msgid ""
 "ComboBoxText</code> can contain an entry."
 msgstr ""
 
-#: C/model-view-controller.py.page:101(p)
-#| msgid "Useful methods for a RadioButton widget"
+#: C/model-view-controller.py.page:102(p)
 msgid "Useful methods for a <code>Gtk.ComboBox</code>:"
 msgstr "MÃtodos Ãtiles para un <code>Gtk.ComboBox</code>:"
 
-#: C/model-view-controller.py.page:103(p)
+#: C/model-view-controller.py.page:104(p)
 msgid ""
 "The static method <code>new_with_entry()</code> creates a new empty "
 "<code>Gtk.ComboBox</code> with an entry; the static method "
@@ -6221,14 +7158,14 @@ msgid ""
 "<code>new_with_model_and_entry(model)</code> is a combination of the two."
 msgstr ""
 
-#: C/model-view-controller.py.page:104(p)
+#: C/model-view-controller.py.page:105(p)
 msgid ""
 "<code>get_active_iter()</code> returns a <code>Gtk.TreeIter</code> pointing "
 "to the current active item. If no active item exists, <code>None</code> is "
 "returned."
 msgstr ""
 
-#: C/model-view-controller.py.page:105(p)
+#: C/model-view-controller.py.page:106(p)
 msgid ""
 "<code>set_model(model)</code> sets the model used by this combo box to be "
 "<code>model</code>, and it will unset a previously set model (if there is "
@@ -6236,7 +7173,7 @@ msgid ""
 "model. Note that this function does not clear the cell renderers."
 msgstr ""
 
-#: C/model-view-controller.py.page:106(p)
+#: C/model-view-controller.py.page:107(p)
 msgid ""
 "<code>set_entry_text_column(text_column)</code> sets the model column which "
 "this combo box should use to get strings from to be <code>text_column</"
@@ -6245,31 +7182,30 @@ msgid ""
 "has been created with the âhas-entryâ property set to True)."
 msgstr ""
 
-#: C/model-view-controller.py.page:107(p)
+#: C/model-view-controller.py.page:108(p)
 msgid ""
 "<code>set_wrap_width(width)</code> sets the wrap width of this combo box to "
 "be <code>width</code>. The wrap width is basically the preferred number of "
 "columns when you want the popup to be layed out in a grid."
 msgstr ""
 
-#: C/model-view-controller.py.page:110(p)
-#| msgid "Useful methods for a RadioButton widget"
+#: C/model-view-controller.py.page:111(p)
 msgid "Useful methods for a <code>Gtk.ComboBoxText</code>:"
 msgstr "MÃtodos Ãtiles para un <code>Gtk.ComboBoxText</code>:"
 
-#: C/model-view-controller.py.page:112(p)
+#: C/model-view-controller.py.page:113(p)
 msgid ""
 "The static method <code>new_with_entry()</code> creates a new empty "
 "<code>Gtk.ComboBoxText</code> with an entry."
 msgstr ""
 
-#: C/model-view-controller.py.page:113(p)
+#: C/model-view-controller.py.page:114(p)
 msgid ""
 "<code>append_text(text)</code> appends <code>text</code> to the list of "
 "strings stored in this combo box."
 msgstr ""
 
-#: C/model-view-controller.py.page:114(p)
+#: C/model-view-controller.py.page:115(p)
 msgid ""
 "<code>get_active_text()</code> returns the currently active string in this "
 "combo box, or <code>None</code> if none is selected. If this combo box "
@@ -6277,40 +7213,40 @@ msgid ""
 "necessarily be an item from the list)."
 msgstr ""
 
-#: C/model-view-controller.py.page:120(title)
+#: C/model-view-controller.py.page:121(title)
 msgid "The View: the Cellrenderers"
 msgstr ""
 
-#: C/model-view-controller.py.page:122(p)
+#: C/model-view-controller.py.page:123(p)
 msgid ""
 "The View makes use of <code>Gtk.CellRenderer</code>s of various types to "
 "draw the data."
 msgstr ""
 
-#: C/model-view-controller.py.page:124(p)
+#: C/model-view-controller.py.page:125(p)
 msgid "Implementations of <code>Gtk.CellRenderer</code> and useful methods:"
 msgstr ""
 
-#: C/model-view-controller.py.page:126(p)
+#: C/model-view-controller.py.page:127(p)
 msgid "<code>Gtk.CellRendererText</code> - renders text in a cell"
 msgstr ""
 
-#: C/model-view-controller.py.page:127(p)
+#: C/model-view-controller.py.page:128(p)
 msgid ""
 "<code>Gtk.CellRendererToggle</code> - renders a toggle or radio button in a "
 "cell. Useful methods:"
 msgstr ""
 
-#: C/model-view-controller.py.page:129(p)
+#: C/model-view-controller.py.page:130(p)
 msgid ""
 "<code>set_active(setting)</code> - activates or deactivates a cell renderer"
 msgstr ""
 
-#: C/model-view-controller.py.page:130(p)
+#: C/model-view-controller.py.page:131(p)
 msgid "<code>get_active()</code> - returns whether the cell renderer is active"
 msgstr ""
 
-#: C/model-view-controller.py.page:131(p)
+#: C/model-view-controller.py.page:132(p)
 msgid ""
 "<code>set_radio(radio)</code> - if radio is <code>True</code>, the cell "
 "renderer renders a radio toggle (i.e. a toggle in a group of mutually-"
@@ -6318,17 +7254,17 @@ msgid ""
 "standalone boolean option)"
 msgstr ""
 
-#: C/model-view-controller.py.page:132(p)
+#: C/model-view-controller.py.page:133(p)
 msgid ""
 "<code>get_radio()</code> - returns whether we are rendering radio toggles "
 "rather than checkboxes."
 msgstr ""
 
-#: C/model-view-controller.py.page:135(p)
+#: C/model-view-controller.py.page:136(p)
 msgid "<code>Gtk.CellRendererPixbuf</code> - renders an image in a cell"
 msgstr ""
 
-#: C/model-view-controller.py.page:136(p)
+#: C/model-view-controller.py.page:137(p)
 msgid ""
 "<code>Gtk.CellRendererCombo</code> - renders text in a cell; but while "
 "<code>Gtk.CellRendererText</code> offers a simple entry to edit the text, "
@@ -6337,38 +7273,38 @@ msgid ""
 "widget, depending on the value of the âhas-entryâ property."
 msgstr ""
 
-#: C/model-view-controller.py.page:137(p)
+#: C/model-view-controller.py.page:138(p)
 msgid ""
 "<code>Gtk.CellRendererProgress</code> - renders a numeric value as a "
 "progress bar in a cell; it can display a text on top of the progress bar"
 msgstr ""
 
-#: C/model-view-controller.py.page:138(p)
+#: C/model-view-controller.py.page:139(p)
 msgid ""
 "<code>Gtk.CellRendererSpinner</code> - renders a spinning animation in a cell"
 msgstr ""
 
-#: C/model-view-controller.py.page:139(p)
+#: C/model-view-controller.py.page:140(p)
 msgid "<code>Gtk.CellRendererSpin</code> - renders a spin button in a cell"
 msgstr ""
 
-#: C/model-view-controller.py.page:140(p)
+#: C/model-view-controller.py.page:141(p)
 msgid ""
 "<code>Gtk.CellRendererAccel</code> - renders a keyboard accelerator in a cell"
 msgstr ""
 
-#: C/model-view-controller.py.page:146(title)
+#: C/model-view-controller.py.page:147(title)
 msgid "The Controller: the Selection"
 msgstr ""
 
-#: C/model-view-controller.py.page:148(p)
+#: C/model-view-controller.py.page:149(p)
 msgid ""
 "Most applications will need to not only deal with displaying data, but also "
 "receiving input events from users. To do this, simply get a reference to a "
 "selection object and connect to the <code>\"changed\"</code> signal."
 msgstr ""
 
-#: C/model-view-controller.py.page:150(code)
+#: C/model-view-controller.py.page:151(code)
 #, no-wrap
 msgid ""
 "\n"
@@ -6379,11 +7315,11 @@ msgstr ""
 "select = tree.get_selection()\n"
 "select.connect(\"changed\", on_tree_selection_changed)\n"
 
-#: C/model-view-controller.py.page:155(p)
+#: C/model-view-controller.py.page:156(p)
 msgid "Then to retrieve data for the row selected:"
 msgstr ""
 
-#: C/model-view-controller.py.page:157(code)
+#: C/model-view-controller.py.page:158(code)
 #, no-wrap
 msgid ""
 "\n"
@@ -6398,26 +7334,25 @@ msgstr ""
 "    if treeiter != None:\n"
 "        print \"You selected\", model[treeiter][0]\n"
 
-#: C/model-view-controller.py.page:164(p)
-#| msgid "Useful methods for a Gtk.ApplicationWindow widget"
+#: C/model-view-controller.py.page:165(p)
 msgid "Useful method for a <code>Gtk.TreeSelection</code>:"
 msgstr "MÃtodo Ãtil para un <code>Gtk.TreeSelection</code>:"
 
-#: C/model-view-controller.py.page:167(p)
+#: C/model-view-controller.py.page:168(p)
 msgid ""
 "<code>set_mode(type)</code> sets the type of selection, where type is one of"
 msgstr ""
 
-#: C/model-view-controller.py.page:169(p)
+#: C/model-view-controller.py.page:170(p)
 msgid "<code>Gtk.SelectionMode.NONE</code> - no selection is possible"
 msgstr ""
 
-#: C/model-view-controller.py.page:170(p)
+#: C/model-view-controller.py.page:171(p)
 msgid ""
 "<code>Gtk.SelectionMode.SINGLE</code> - zero or one element may be selected"
 msgstr ""
 
-#: C/model-view-controller.py.page:171(p)
+#: C/model-view-controller.py.page:172(p)
 msgid ""
 "<code>Gtk.SelectionMode.BROWSE</code> - exactly one element is selected. In "
 "some circumstances, such as initially or during a search operation, itâs "
@@ -6426,7 +7361,7 @@ msgid ""
 "element."
 msgstr ""
 
-#: C/model-view-controller.py.page:172(p)
+#: C/model-view-controller.py.page:173(p)
 msgid ""
 "<code>Gtk.SelectionMode.MULTIPLE</code> -any number of elements may be "
 "selected. Clicks toggle the state of an item. Any number of elements may be "
@@ -6435,7 +7370,7 @@ msgid ""
 "allow Click-drag to select a range of elements."
 msgstr ""
 
-#: C/model-view-controller.py.page:175(p)
+#: C/model-view-controller.py.page:176(p)
 msgid ""
 "<code>get_selected()</code> returns a tuple <code>(model, treeiter)</code>, "
 "where <code>model</code> is the current model and <code>treeiter</code> a "
@@ -6446,72 +7381,85 @@ msgid ""
 "TreePath</code> instances of all selected rows."
 msgstr ""
 
-#: C/model-view-controller.py.page:187(link)
-#: C/combobox_multicolumn.py.page:42(link) C/combobox.py.page:39(link)
+#: C/model-view-controller.py.page:188(link)
+#: C/combobox_multicolumn.py.page:43(link) C/combobox.py.page:40(link)
 msgid "GtkComboBox"
 msgstr "GtkComboBox"
 
-#: C/model-view-controller.py.page:188(link)
-#| msgid "GtkCellRendererText"
+#: C/model-view-controller.py.page:189(link)
 msgid "GtkCellRenderer"
 msgstr "GtkCellRenderer"
 
-#: C/model-view-controller.py.page:189(link)
+#: C/model-view-controller.py.page:190(link)
 msgid "The Python Gtk+ 3 Tutorial - Tree and List Widgets"
 msgstr ""
 
-#: C/model-view-controller.py.page:190(link)
+#: C/model-view-controller.py.page:191(link)
 msgid "The Python Gtk+ 3 Tutorial - CellRenderers"
 msgstr ""
 
-#: C/model-view-controller.py.page:191(link)
+#: C/model-view-controller.py.page:192(link)
 msgid "The Python Gtk+ 3 Tutorial - ComboBox"
 msgstr ""
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/messagedialog.vala.page:20(None) C/messagedialog.py.page:21(None)
-#: C/messagedialog.js.page:23(None)
+#: C/messagedialog.vala.page:21(None) C/messagedialog.py.page:22(None)
+#: C/messagedialog.js.page:24(None) C/messagedialog.c.page:23(None)
 msgid ""
 "@@image: 'media/messagedialog.png'; md5=1956288274018e2386d9cba96a2101de"
 msgstr ""
 "@@image: 'media/messagedialog.png'; md5=1956288274018e2386d9cba96a2101de"
 
-#: C/messagedialog.vala.page:16(desc) C/messagedialog.py.page:17(desc)
+#: C/messagedialog.vala.page:7(title)
+#, fuzzy
+#| msgid "MessageDialog"
+msgid "MessageDialog (Vala)"
+msgstr "MessageDialog"
+
+#: C/messagedialog.vala.page:17(desc) C/messagedialog.py.page:18(desc)
+#: C/messagedialog.c.page:18(desc)
 msgid "A message window"
 msgstr "Una ventana de mensaje"
 
-#: C/messagedialog.vala.page:19(title) C/messagedialog.py.page:20(title)
-#: C/messagedialog.js.page:22(title)
+#: C/messagedialog.vala.page:20(title) C/messagedialog.py.page:21(title)
+#: C/messagedialog.js.page:23(title) C/messagedialog.c.page:21(title)
 msgid "MessageDialog"
 msgstr "MessageDialog"
 
-#: C/messagedialog.vala.page:21(p)
+#: C/messagedialog.vala.page:22(p) C/messagedialog.c.page:24(p)
 msgid "A modal message dialog which can cause the world to explode."
 msgstr "Un diÃlogo de mensaje modas que puede hacer que el mundo explote."
 
-#: C/messagedialog.vala.page:29(link)
+#: C/messagedialog.vala.page:30(link)
 msgid "Gtk.ResponseType"
 msgstr "Gtk.ResponseType"
 
-#: C/messagedialog.vala.page:30(link) C/messagedialog.js.page:196(link)
-#: C/entry.js.page:31(link) C/comboboxtext.js.page:182(link)
+#: C/messagedialog.vala.page:31(link) C/messagedialog.js.page:197(link)
+#: C/entry.js.page:32(link) C/combobox.js.page:243(link)
+#: C/comboboxtext.js.page:183(link)
 msgid "Gtk.MessageDialog"
 msgstr "Gtk.MessageDialog"
 
-#: C/messagedialog.vala.page:31(link)
+#: C/messagedialog.vala.page:32(link)
 msgid "Gtk.DialogFlags"
 msgstr "Gtk.DialogFlags"
 
-#: C/messagedialog.vala.page:32(link)
+#: C/messagedialog.vala.page:33(link)
 msgid "Gtk.MessageType"
 msgstr "Gtk.MessageType"
 
-#: C/messagedialog.vala.page:33(link)
+#: C/messagedialog.vala.page:34(link)
 msgid "Gtk.ButtonsType"
 msgstr "Gtk.ButtonsType"
 
-#: C/messagedialog.py.page:22(p)
+#: C/messagedialog.py.page:7(title)
+#, fuzzy
+#| msgid "MessageDialog"
+msgid "MessageDialog (Python)"
+msgstr "MessageDialog"
+
+#: C/messagedialog.py.page:23(p)
 msgid ""
 "A message dialog which prints messages on the terminal, depending on your "
 "choices."
@@ -6519,11 +7467,11 @@ msgstr ""
 "Un diÃlogo de mensajes que imprime mensajes en la terminal, segÃn su "
 "elecciÃn."
 
-#: C/messagedialog.py.page:34(title)
+#: C/messagedialog.py.page:35(title)
 msgid "Useful methods for a MessageDialog widget"
 msgstr "MÃtodos Ãtiles para un widget ÂMessageDialogÂ"
 
-#: C/messagedialog.py.page:37(p)
+#: C/messagedialog.py.page:38(p)
 msgid ""
 "In the constructor of MessageDialog we could set flags as <code>Gtk."
 "DialogFlags.DESTROY_WITH_PARENT</code> (to destroy the messagedialog window "
@@ -6531,7 +7479,7 @@ msgid ""
 "code> (no interaction with other windows of the application)."
 msgstr ""
 
-#: C/messagedialog.py.page:38(p)
+#: C/messagedialog.py.page:39(p)
 msgid ""
 "In the constructor of MessageDialog we could set type as any of <code>Gtk."
 "MessageType.INFO, Gtk.MessageType.WARNING, Gtk.MessageType.QUESTION, Gtk."
@@ -6539,7 +7487,7 @@ msgid ""
 "message we want."
 msgstr ""
 
-#: C/messagedialog.py.page:39(p)
+#: C/messagedialog.py.page:40(p)
 msgid ""
 "In the constructor of MessageDialog we could set buttons as any of <code>Gtk."
 "ButtonsType.NONE, Gtk.ButtonsType.OK, Gtk.ButtonsType.CLOSE, Gtk.ButtonsType."
@@ -6547,13 +7495,13 @@ msgid ""
 "button using <code>add_button()</code> as in Gtk.Dialog."
 msgstr ""
 
-#: C/messagedialog.py.page:40(p)
+#: C/messagedialog.py.page:41(p)
 msgid ""
 "We could substitute the default image of the MessageDialog with another "
 "image using"
 msgstr ""
 
-#: C/messagedialog.py.page:41(code)
+#: C/messagedialog.py.page:42(code)
 #, no-wrap
 msgid ""
 "\n"
@@ -6568,38 +7516,45 @@ msgstr ""
 "image.show()\n"
 "messagedialog.set_image(image)"
 
-#: C/messagedialog.py.page:46(p)
+#: C/messagedialog.py.page:47(p)
 msgid ""
 "where <code>Gtk.STOCK_CAPS_LOCK_WARNING</code> is any image from <link href="
-"\"http://developer.gnome.org/gtk3/3.4/gtk3-Stock-Items.html\";>Stock Items</"
-"link>. We could also set any image as in the Image widget, as <code>image."
-"set_from_file(\"filename.png\")</code>."
+"\"http://developer.gnome.org/gtk3/unstable/gtk3-Stock-Items.html\";>Stock "
+"Items</link>. We could also set any image as in the Image widget, as "
+"<code>image.set_from_file(\"filename.png\")</code>."
 msgstr ""
 
-#: C/messagedialog.py.page:47(p)
+#: C/messagedialog.py.page:48(p)
 msgid ""
 "<code>format_secondary_text(\"some secondary message\")</code> sets a "
 "secondary message. The primary text becomes bold."
 msgstr ""
 
-#: C/messagedialog.py.page:57(link)
+#: C/messagedialog.py.page:58(link) C/messagedialog.c.page:38(link)
 msgid "GtkMessageDialog"
 msgstr "GtkMessageDialog"
 
-#: C/messagedialog.py.page:58(link) C/dialog.py.page:48(link)
-#: C/dialog.c.page:34(link)
+#: C/messagedialog.py.page:59(link) C/dialog.py.page:49(link)
+#: C/dialog.c.page:35(link)
 msgid "GtkDialog"
 msgstr "GtkDialog"
 
-#: C/messagedialog.py.page:61(link)
+#: C/messagedialog.py.page:62(link) C/messagedialog.c.page:40(link)
+#: C/aboutdialog.c.page:38(link)
 msgid "GActionMap"
 msgstr "GActionMap"
 
-#: C/messagedialog.js.page:19(desc)
+#: C/messagedialog.js.page:7(title)
+#, fuzzy
+#| msgid "MessageDialog"
+msgid "MessageDialog (JavaScript)"
+msgstr "MessageDialog"
+
+#: C/messagedialog.js.page:20(desc)
 msgid "A popup message attached to a window"
 msgstr "Una mensaje emergente acoplado a una ventana"
 
-#: C/messagedialog.js.page:24(p)
+#: C/messagedialog.js.page:25(p)
 msgid ""
 "A MessageDialog is a modal message dialog, which means a popup that you have "
 "to respond to before you get back to what you were doing in the window that "
@@ -6610,7 +7565,7 @@ msgid ""
 "corner, next to Activities."
 msgstr ""
 
-#: C/messagedialog.js.page:25(p)
+#: C/messagedialog.js.page:26(p)
 msgid ""
 "The difference between a MessageDialog and a <link xref=\"dialog.js"
 "\">Dialog</link> is that a Dialog can contain whatever widgets and content "
@@ -6618,7 +7573,7 @@ msgid ""
 "make popups appear with a basic message and buttons."
 msgstr ""
 
-#: C/messagedialog.js.page:68(p) C/comboboxtext.js.page:64(p)
+#: C/messagedialog.js.page:69(p) C/comboboxtext.js.page:65(p)
 msgid ""
 "All the code for this sample goes in the MessageDialogExample class. The "
 "above code creates a <link href=\"http://www.roojs.com/seed/gir-1.2-gtk-3.0/";
@@ -6626,17 +7581,17 @@ msgid ""
 "to go in."
 msgstr ""
 
-#: C/messagedialog.js.page:90(p)
+#: C/messagedialog.js.page:91(p)
 msgid ""
 "For this example, all that we have in the window the popup comes out of is a "
 "silly warning <link xref=\"label.js\">Label.</link>"
 msgstr ""
 
-#: C/messagedialog.js.page:94(title)
+#: C/messagedialog.js.page:95(title)
 msgid "Creating the application's menu"
 msgstr "Crear el menà de la aplicaciÃn"
 
-#: C/messagedialog.js.page:120(p)
+#: C/messagedialog.js.page:121(p)
 msgid ""
 "Here, we build the <link xref=\"gmenu.js\">GMenu</link> where we'll be "
 "putting the \"Message\" button which triggers the popup MessageDialog. The "
@@ -6645,11 +7600,11 @@ msgid ""
 "has two options in it: Message, and Quit."
 msgstr ""
 
-#: C/messagedialog.js.page:124(title)
+#: C/messagedialog.js.page:125(title)
 msgid "Creating the MessageDialog"
 msgstr "Crear el ÂMessageDialogÂ"
 
-#: C/messagedialog.js.page:140(p)
+#: C/messagedialog.js.page:141(p)
 msgid ""
 "To make our MessageDialog a popup attached to the main window, we set its "
 "modal property to true and set it to be \"transient_for\" _window. After "
@@ -6659,19 +7614,19 @@ msgid ""
 "function which handles it."
 msgstr ""
 
-#: C/messagedialog.js.page:141(p)
+#: C/messagedialog.js.page:142(p)
 msgid "Here are some resources for making your own MessageDialogs:"
 msgstr ""
 
-#: C/messagedialog.js.page:143(link)
+#: C/messagedialog.js.page:144(link)
 msgid "List of button types"
 msgstr "Lista de tipos de botones"
 
-#: C/messagedialog.js.page:144(link)
+#: C/messagedialog.js.page:145(link)
 msgid "List of message types"
 msgstr "Lista de tipos de mensajes"
 
-#: C/messagedialog.js.page:171(p)
+#: C/messagedialog.js.page:172(p)
 msgid ""
 "This function takes two parameters, the MessageDialog and its response_id, "
 "both of which are automatically supplied (you don't have to manually pass "
@@ -6682,12 +7637,29 @@ msgid ""
 "afterwards."
 msgstr ""
 
-#: C/messagedialog.js.page:178(p)
+#: C/messagedialog.js.page:179(p)
 msgid ""
 "Finally, we create a new instance of the finished MessageDialogExample "
 "class, and set the application running."
 msgstr ""
 
+#: C/messagedialog.c.page:7(title)
+#, fuzzy
+#| msgid "MessageDialog"
+msgid "MessageDialog (C)"
+msgstr "MessageDialog"
+
+#: C/messagedialog.c.page:25(p)
+msgid ""
+"To test out the application once it has started running, you can click on "
+"the \"Message Dialog\" tab that appears in the top menubar of the screen."
+msgstr ""
+
+#: C/messagedialog.c.page:36(link)
+#| msgid "GtkApplication"
+msgid "GApplication"
+msgstr "GApplication"
+
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
 #: C/message-board.c.page:36(None)
@@ -6696,6 +7668,12 @@ msgid ""
 msgstr ""
 "@@image: 'media/message-board.ogv'; md5=beb80c4538776dc2cdd26c95abea5027"
 
+#: C/message-board.c.page:7(title)
+#, fuzzy
+#| msgid "Message Board"
+msgid "Message Board (C)"
+msgstr "Cuadro de mensajes"
+
 #: C/message-board.c.page:10(desc)
 msgid "A simple program using WebKitGTK+ and the DOM."
 msgstr "Un programa sencillo usando WebKitGTK+ y el DOM."
@@ -7353,32 +8331,20 @@ msgstr ""
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/menubutton.js.page:20(None)
-#| msgid ""
-#| "@@image: 'media/spinbutton.png'; md5=993cbb7d9bd271a329727a926195712a"
+#: C/menubutton.py.page:27(None) C/menubutton.vala.page:21(None)
+#: C/menubutton.js.page:21(None)
 msgid "@@image: 'media/menubutton.png'; md5=1feb7b836a522c3007079d4420621d9d"
 msgstr "@@image: 'media/menubutton.png'; md5=1feb7b836a522c3007079d4420621d9d"
 
-#: C/menubutton.js.page:11(name)
-msgid "Anna Zacchi"
-msgstr "Anna Zacchi"
-
-#: C/menubutton.js.page:12(email)
-msgid "azzurroverde gmail com"
-msgstr "azzurroverde gmail com"
-
-#: C/menubutton.js.page:16(desc)
+#: C/menubutton.py.page:23(desc) C/menubutton.vala.page:17(desc)
+#: C/menubutton.js.page:17(desc)
 #, fuzzy
 #| msgid "A button widget which emits a signal when clicked"
 msgid "A widget that shows a menu when clicked on"
 msgstr "Un widget de botÃn que emite una seÃal cuando se pulsa sobre Ãl"
 
-#: C/menubutton.js.page:19(title) C/menubutton.js.page:31(link)
-#| msgid "Button"
-msgid "MenuButton"
-msgstr "MenuButton"
-
-#: C/menubutton.js.page:21(p)
+#: C/menubutton.py.page:28(p) C/menubutton.vala.page:22(p)
+#: C/menubutton.js.page:22(p)
 msgid ""
 "The GtkMenuButton widget is used to display a menu when clicked on. This "
 "menu can be provided either as a GtkMenu, or an abstract GMenuModel. The "
@@ -7387,63 +8353,118 @@ msgid ""
 "provided GtkArrow."
 msgstr ""
 
-#: C/menubutton.js.page:25(p)
+#: C/menubutton.py.page:30(p) C/menubutton.vala.page:26(p)
+#: C/menubutton.js.page:26(p)
 #, fuzzy
 #| msgid "You need to be running Gtk3.4 or later for this to work"
 msgid "You need to be running GNOME 3.6 for the MenuButton to work."
 msgstr "Necesita ejecutar GTK+-3.4 o superior para que funcione"
 
+#: C/menubutton.py.page:40(title)
+#, fuzzy
+#| msgid "Useful methods for a Button widget"
+msgid "Useful methods for a MenuButton widget"
+msgstr "MÃtodos Ãtiles para un widget ÂButtonÂ"
+
+#: C/menubutton.py.page:41(p)
+msgid ""
+"The positioning of the menu is determined by the \"direction\" property of "
+"the menu button and the \"halign\" or \"valign\" properties of the menu. For "
+"example, when the direction is <code>Gtk.ArrowType.DOWN</code> (other "
+"option: <code>UP</code>) and the horizontal alignment is <code>Gtk.Align."
+"START</code> (other options: <code>CENTER</code> and <code>END</code>), the "
+"menu will be positioned below the button, with the starting edge (depending "
+"on the text direction) of the menu aligned with the starting edge of the "
+"button. If there is not enough space below the button, the menu is popped up "
+"above the button instead. If the alignment would move part of the menu "
+"offscreen, it is 'pushed in'."
+msgstr ""
+
+#: C/menubutton.py.page:43(p)
+msgid ""
+"In the case of vertical alignment, the possible ArrowType directions are "
+"<code>LEFT</code> and <code>RIGHT</code> and the vertical alignment is again "
+"<code>START</code>, <code>CENTER</code> or <code>END</code>."
+msgstr ""
+
+#: C/menubutton.py.page:45(p)
+msgid ""
+"<code>set_align_widget(alignment)</code> and <code>set_direction(direction)</"
+"code> can be used to set these properties."
+msgstr ""
+
+#: C/menubutton.vala.page:7(title)
+#, fuzzy
+#| msgid "MenuButton"
+msgid "MenuButton (Vala)"
+msgstr "MenuButton"
+
+#: C/menubutton.js.page:7(title)
+#, fuzzy
+#| msgid "MenuButton"
+msgid "MenuButton (JavaScript)"
+msgstr "MenuButton"
+
+#: C/menubutton.js.page:12(name)
+msgid "Anna Zacchi"
+msgstr "Anna Zacchi"
+
+#: C/menubutton.js.page:13(email)
+msgid "azzurroverde gmail com"
+msgstr "azzurroverde gmail com"
+
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/menubar.vala.page:22(None)
-#| msgid "@@image: 'media/statusbar.png'; md5=eb1aca55315d6cda57b12a5f36058ba8"
+#: C/menubar.vala.page:23(None) C/menubar.py.page:28(None)
 msgid "@@image: 'media/menubar.png'; md5=7b642aaa1628d5e43ab85ac230ac1c78"
 msgstr "@@image: 'media/menubar.png'; md5=7b642aaa1628d5e43ab85ac230ac1c78"
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/menubar.vala.page:132(None)
-#| msgid "@@image: 'media/gmenu.c.png'; md5=f305fc3cae8d16d72b734ee53b559e33"
+#: C/menubar.vala.page:133(None) C/menubar.py.page:129(None)
 msgid ""
 "@@image: 'media/menubar_choices.png'; md5=47cdfa12caf85ba20dd3e835bd7f893f"
 msgstr ""
 "@@image: 'media/menubar_choices.png'; md5=47cdfa12caf85ba20dd3e835bd7f893f"
 
-#: C/menubar.vala.page:18(desc)
+#: C/menubar.vala.page:7(title)
+#, fuzzy
+#| msgid "Menu"
+msgid "MenuBar (Vala)"
+msgstr "MenuÌ"
+
+#: C/menubar.vala.page:19(desc) C/menubar.py.page:24(desc)
 #, fuzzy
 #| msgid "A widget which displays text"
 msgid "A widget which holds GtkMenuItem widgets"
 msgstr "Un widget que muestra un texto"
 
-#: C/menubar.vala.page:21(title)
-#, fuzzy
+#: C/menubar.vala.page:22(title) C/menubar.py.page:27(title)
 #| msgid "Menu"
 msgid "MenuBar"
-msgstr "MenuÌ"
+msgstr "MenuBar"
 
-#: C/menubar.vala.page:23(p)
-#| msgid "Toolbar created using Glade"
+#: C/menubar.vala.page:24(p) C/menubar.py.page:29(p)
 msgid "A MenuBar created using XML and GtkBuilder."
 msgstr "Una barra de menà usando XML y GtkBuilder."
 
-#: C/menubar.vala.page:27(title)
+#: C/menubar.vala.page:28(title) C/menubar.py.page:33(title)
 msgid "Create a MenuBar using XML"
 msgstr "Crear una barra de menà usando XML"
 
-#: C/menubar.vala.page:28(p)
+#: C/menubar.vala.page:29(p) C/menubar.py.page:34(p)
 msgid "To create the menubar using XML:"
 msgstr "Para crear la barra de menà usando XML:"
 
-#: C/menubar.vala.page:30(p)
+#: C/menubar.vala.page:31(p) C/menubar.py.page:36(p)
 msgid "Create <file>menubar.ui</file> using your favorite text editor."
 msgstr ""
 
-#: C/menubar.vala.page:31(p)
-#| msgid "Add the following lines to the top of the <code>Main</code> class:"
+#: C/menubar.vala.page:32(p) C/menubar.py.page:37(p)
 msgid "Enter the following line at the top of the file:"
 msgstr "AÃada la siguiente lÃnea en la parte superior del archivo:"
 
-#: C/menubar.vala.page:35(p)
+#: C/menubar.vala.page:36(p) C/menubar.py.page:41(p)
 msgid ""
 "We want to create the interface which will contain our menubar and it's "
 "submenus. Our menubar will contain <gui>File</gui>, <gui>Edit</gui>, "
@@ -7451,27 +8472,27 @@ msgid ""
 "code to the file:"
 msgstr ""
 
-#: C/menubar.vala.page:38(p)
+#: C/menubar.vala.page:39(p)
 msgid ""
 "Now we will create the .vala file and use GtkBuilder to import the "
 "<file>menubar.ui</file> we just created."
 msgstr ""
 
-#: C/menubar.vala.page:41(title)
+#: C/menubar.vala.page:42(title) C/menubar.py.page:48(title)
 msgid "Add the MenuBar to the window using GtkBuilder"
 msgstr ""
 
-#: C/menubar.vala.page:43(p)
+#: C/menubar.vala.page:44(p)
 msgid ""
 "Now, compile the vala file, and run it. The application should look like the "
 "picture at the top of this page."
 msgstr ""
 
-#: C/menubar.vala.page:49(title)
+#: C/menubar.vala.page:50(title) C/menubar.py.page:54(title)
 msgid "Add items to the menus"
 msgstr ""
 
-#: C/menubar.vala.page:50(p)
+#: C/menubar.vala.page:51(p) C/menubar.py.page:55(p)
 msgid ""
 "We start off by adding 2 menuitems to the <gui>File</gui> menu: <gui>New</"
 "gui> and <gui>Quit</gui>. We do this by adding a <code>section</code> to the "
@@ -7480,7 +8501,7 @@ msgid ""
 "section):"
 msgstr ""
 
-#: C/menubar.vala.page:78(p)
+#: C/menubar.vala.page:79(p)
 msgid ""
 "Following this pattern, you can now add a <code>Copy</code> and a "
 "<code>Paste</code> item to the <code>Edit</code> submenu, and an "
@@ -7489,53 +8510,52 @@ msgid ""
 "link> until further in the tutorial."
 msgstr ""
 
-#: C/menubar.vala.page:80(p)
+#: C/menubar.vala.page:81(p)
 msgid ""
 "You do not need to recompile the vala program if you only made changes to "
 "the UI file. Just run your previously compiled application, and the UI "
 "changes will be reflected."
 msgstr ""
 
-#: C/menubar.vala.page:85(title)
-#| msgid "Set up the actors"
+#: C/menubar.vala.page:86(title) C/menubar.py.page:92(title)
 msgid "Setup actions"
 msgstr "Configurar las acciones"
 
-#: C/menubar.vala.page:86(p)
+#: C/menubar.vala.page:87(p)
 msgid "This is a three step process."
 msgstr ""
 
-#: C/menubar.vala.page:88(p)
+#: C/menubar.vala.page:89(p)
 msgid ""
 "First we create the ActionEntry array in the MyApplication class. An "
 "ActionEntry consists of:"
 msgstr ""
 
-#: C/menubar.vala.page:91(p)
+#: C/menubar.vala.page:92(p)
 msgid "the \"action name\" (mandatory)"
 msgstr ""
 
-#: C/menubar.vala.page:92(p)
+#: C/menubar.vala.page:93(p)
 msgid ""
 "the callback function to connect to the \"activate\" signal of the action "
 "(if applicable)"
 msgstr ""
 
-#: C/menubar.vala.page:93(p)
+#: C/menubar.vala.page:94(p)
 msgid ""
 "the type of the parameter that must be passed to the activate function for "
 "the action (if applicable)"
 msgstr ""
 
-#: C/menubar.vala.page:94(p)
+#: C/menubar.vala.page:95(p)
 msgid "the initial state for this action (if applicable)"
 msgstr ""
 
-#: C/menubar.vala.page:95(p)
+#: C/menubar.vala.page:96(p)
 msgid "the callback to connect to \"change-state\" signal (if applicable)"
 msgstr ""
 
-#: C/menubar.vala.page:97(code)
+#: C/menubar.vala.page:98(code)
 #, no-wrap
 msgid ""
 "\n"
@@ -7550,11 +8570,11 @@ msgstr ""
 "    { \"quit\", quit_cb }\n"
 "};"
 
-#: C/menubar.vala.page:104(p)
+#: C/menubar.vala.page:105(p)
 msgid "Second, we create the callback functions the actions are connected to."
 msgstr ""
 
-#: C/menubar.vala.page:105(code)
+#: C/menubar.vala.page:106(code)
 #, no-wrap
 msgid ""
 "\n"
@@ -7579,41 +8599,40 @@ msgstr ""
 "    //this.quit ();  **Bug #674090**\n"
 "}"
 
-#: C/menubar.vala.page:116(p)
+#: C/menubar.vala.page:117(p)
 msgid ""
 "And lastly, we connect the menu items to the actions in the XML file by "
 "adding the \"action\" attribute:"
 msgstr ""
 
-#: C/menubar.vala.page:131(title)
+#: C/menubar.vala.page:132(title) C/menubar.py.page:128(title)
 msgid "Choices submenu and items with state"
 msgstr ""
 
-#: C/menubar.vala.page:133(p)
+#: C/menubar.vala.page:134(p)
 msgid ""
 "Lines 30 to 80 inclusive of the <link xref=\"menubar.vala#xml-code\"/> "
 "demonstrate the XML code used to create the UI for <gui>Choices</gui> menu."
 msgstr ""
 
-#: C/menubar.vala.page:137(title)
-#| msgid "ApplicationWindow"
+#: C/menubar.vala.page:138(title) C/menubar.py.page:119(title)
 msgid "Actions: Application or Window?"
 msgstr "Acciones: ÂaplicaciÃn o ventana?"
 
-#: C/menubar.vala.page:138(p)
+#: C/menubar.vala.page:139(p) C/menubar.py.page:120(p)
 msgid ""
 "Above, we created the \"new\" and \"open\" actions as part of the "
 "MyApplication class. Actions which control the application itself, such as "
 "\"quit\" should be created similarly."
 msgstr ""
 
-#: C/menubar.vala.page:141(p)
+#: C/menubar.vala.page:142(p) C/menubar.py.page:122(p)
 msgid ""
 "Some actions, such as \"copy\" and \"paste\" deal with the window, not the "
 "application. Window actions should be created as part of the window class."
 msgstr ""
 
-#: C/menubar.vala.page:144(p)
+#: C/menubar.vala.page:145(p)
 msgid ""
 "The complete example files contain both application actions and window "
 "applications. The window actions are the ones usually included in the <link "
@@ -7625,20 +8644,19 @@ msgid ""
 "name."
 msgstr ""
 
-#: C/menubar.vala.page:152(title)
+#: C/menubar.vala.page:153(title) C/menubar.py.page:147(title)
 msgid "Complete XML UI file for this example"
 msgstr ""
 
-#: C/menubar.vala.page:155(title)
-#| msgid "Complete code sample"
+#: C/menubar.vala.page:156(title)
 msgid "Complete Vala file for this example"
 msgstr "Archivo de vala completo para este ejemplo"
 
-#: C/menubar.vala.page:159(title)
+#: C/menubar.vala.page:160(title)
 msgid "Mnemonics"
 msgstr "MnemoÌnicos"
 
-#: C/menubar.vala.page:160(p)
+#: C/menubar.vala.page:161(p) C/menubar.py.page:157(p)
 msgid ""
 "Labels may contain mnemonics. Mnemonics are underlined characters in the "
 "label, used for keyboard navigation. Mnemonics are created by placing an "
@@ -7646,19 +8664,18 @@ msgid ""
 "just \"File\" in the menubar.ui label attribute."
 msgstr ""
 
-#: C/menubar.vala.page:161(p)
+#: C/menubar.vala.page:162(p) C/menubar.py.page:158(p)
 msgid ""
 "The mnemonics are visible when you press the <key>Alt</key> key. Pressing "
 "<keyseq><key>Alt</key><key>F</key></keyseq> will open the <gui>File</gui> "
 "menu."
 msgstr ""
 
-#: C/menubar.vala.page:165(title)
-#| msgid "Selectors"
+#: C/menubar.vala.page:166(title)
 msgid "Accelerators"
 msgstr "Aceleradores"
 
-#: C/menubar.vala.page:166(p)
+#: C/menubar.vala.page:167(p) C/menubar.py.page:160(p)
 msgid ""
 "Accelerators can be explicitly added in the UI definitions. For example, it "
 "is common to be able to quit an application by pressing <keyseq><key>Ctrl</"
@@ -7667,20 +8684,20 @@ msgid ""
 "simply need add an \"accel\" attribute to the item."
 msgstr ""
 
-#: C/menubar.vala.page:167(p)
+#: C/menubar.vala.page:168(p) C/menubar.py.page:161(p)
 msgid ""
-"<code mime=\"text\"><![CDATA[<attribute name=\"accel\">&lt;Primary&gt;q</"
-"attribute>]]></code> will create the <keyseq><key>Ctrl</key><key>Q</key></"
-"keyseq> sequence when added to the <code>Quit</code> label item. Here, "
-"\"Primary\" refers to the <key>Ctrl</key> key on a PC or the <key>â</key> "
-"key on a Mac."
+"<code mime=\"application/xml\"><![CDATA[<attribute name=\"accel\">&lt;"
+"Primary&gt;q</attribute>]]></code> will create the <keyseq><key>Ctrl</"
+"key><key>Q</key></keyseq> sequence when added to the <code>Quit</code> label "
+"item. Here, \"Primary\" refers to the <key>Ctrl</key> key on a PC or the "
+"<key>â</key> key on a Mac."
 msgstr ""
 
-#: C/menubar.vala.page:177(title)
+#: C/menubar.vala.page:178(title) C/menubar.py.page:171(title)
 msgid "Translatable strings"
 msgstr "Cadenas traducibles"
 
-#: C/menubar.vala.page:178(p)
+#: C/menubar.vala.page:179(p) C/menubar.py.page:172(p)
 msgid ""
 "Since GNOME applications are being translated into <link href=\"http://l10n.";
 "gnome.org/languages/\">many languages</link>, it is important that the "
@@ -7688,106 +8705,272 @@ msgid ""
 "simple set <code>translatable=\"yes\"</code>:"
 msgstr ""
 
-#: C/menubar.vala.page:185(title) C/filechooserdialog.vala.page:33(title)
-#| msgid "In-depth documentation"
+#: C/menubar.vala.page:186(title) C/filechooserdialog.vala.page:34(title)
 msgid "Relevant API documentation"
 msgstr "DocumentaciÃn de la API relevante"
 
-#: C/menubar.vala.page:190(link)
+#: C/menubar.vala.page:191(link)
 msgid "Glib.ActionEntry"
 msgstr "Glib.ActionEntry"
 
-#: C/menubar.vala.page:191(link) C/filechooserdialog.vala.page:40(link)
-#| msgid "Gtk.Widget"
+#: C/menubar.vala.page:192(link) C/filechooserdialog.vala.page:41(link)
 msgid "Gtk.Builder"
 msgstr "Gtk.Builder"
 
-#: C/menubar.vala.page:196(title) C/beginner.vala.page:85(title)
-#: C/beginner.py.page:82(title) C/beginner.js.page:82(title)
-#: C/beginner.c.page:96(title)
-msgid "Exercises"
-msgstr "Ejercicios"
+#: C/menubar.py.page:7(title)
+#, fuzzy
+#| msgid "MenuButton"
+msgid "MenuBar (Python)"
+msgstr "MenuButton"
 
-#. When image changes, this message will be marked fuzzy or untranslated for you.
-#. It doesn't matter what you translate it to: it's not used at all.
-#: C/magic-mirror.vala.page:40(None)
-msgid "@@image: 'media/magic-mirror.png'; md5=8171faea6ed3b6ddac0da084c29e4e22"
+#: C/menubar.py.page:44(p)
+msgid ""
+"Now we will create the .py file and use GtkBuilder to import the "
+"<file>menubar.ui</file> we just created."
 msgstr ""
-"@@image: 'media/magic-mirror.png'; md5=8171faea6ed3b6ddac0da084c29e4e22"
 
-#: C/magic-mirror.vala.page:9(desc)
-msgid "Use your webcam as a mirror using the GStreamer framework and Gtk+"
+#: C/menubar.py.page:50(p)
+msgid ""
+"Now run the python application. It should look like the picture at the top "
+"of this page."
 msgstr ""
-"Usar su cÃmara web como un espejo usando el entorno de trabajo GStreamer y "
-"GTK+"
-
-#: C/magic-mirror.vala.page:13(name)
-msgid "Daniel G. Siegel"
-msgstr "Daniel G. Siegel"
 
-#: C/magic-mirror.vala.page:14(email)
-msgid "dgsiegel gnome org"
-msgstr "dgsiegel gnome org"
+#: C/menubar.py.page:58(title)
+msgid "menubar.ui"
+msgstr "menubar.ui"
 
-#: C/magic-mirror.vala.page:22(title)
-msgid "4 Magic Mirror"
-msgstr "4. Espejo mÃgico"
+#: C/menubar.py.page:87(p)
+msgid ""
+"Following this pattern, you can now add a <code>Copy</code> and a "
+"<code>Paste</code> item to the <code>Edit</code> submenu, and an "
+"<code>About</code> item to the <code>Help</code> submenu."
+msgstr ""
 
-#: C/magic-mirror.vala.page:25(em)
+#: C/menubar.py.page:94(p)
 msgid ""
-"Your mirror just fell off the wall and broke into a thousand pieces â but "
-"you need a mirror to shave your beard off or add some makeup! You only have "
-"15 minutes left before catching the bus to work. So what can you do?"
+"We now create the actions for \"New\" and \"Quit\" connected to a callback "
+"function in the Python file; for instance we create \"new\" as:"
 msgstr ""
-"Su espejo se ha caiÌdo al suelo y se ha roto en miles de pedazos; pero "
-"necesita un espejo para afeitarse o para maquillarse. SoÌlo tiene 15 minutos "
-"antes de coger el autobuÌs para ir al trabajo. ÂQueÌ puede hacer?"
 
-#: C/magic-mirror.vala.page:26(p)
+#: C/menubar.py.page:95(code)
+#, no-wrap
 msgid ""
-"In this tutorial, we're going to make a program which lets you use your "
-"webcam as a mirror. You will learn how to:"
+"\n"
+"new_action = Gio.SimpleAction.new(\"new\", None)\n"
+"new_action.connect(\"activate\", self.new_callback)"
 msgstr ""
-"En este tutorial se va a hacer un programa que le permite usar su cÃmara web "
-"como un espejo. Aprenderà a:"
+"\n"
+"new_action = Gio.SimpleAction.new(\"new\", None)\n"
+"new_action.connect(\"activate\", self.new_callback)"
 
-#: C/magic-mirror.vala.page:28(p)
-msgid "Create a GTK+ application"
-msgstr "Crear una aplicaciÃn GTK+"
+#: C/menubar.py.page:99(p)
+#, fuzzy
+#| msgid "A button widget connected to a simple callback function."
+msgid "And we create the callback function of \"new\" as"
+msgstr "Un widget de botÃn conectado a una funciÃn de retorno de llamada."
 
-#: C/magic-mirror.vala.page:29(p)
-msgid "Access your webcam using GStreamer and embed the result into a window"
+#: C/menubar.py.page:100(code)
+#, no-wrap
+msgid ""
+"\n"
+"def new_callback(self, action, parameter):\n"
+"    print \"You clicked \\\"New\\\"\""
 msgstr ""
-"Acceder a su cÃmara web usando GStreamer y empotrar el resultado en una "
-"ventana"
+"\n"
+"def new_callback(self, action, parameter):\n"
+"    print \"You clicked \\\"New\\\"\""
 
-#: C/magic-mirror.vala.page:30(p)
-msgid "Grab photos off your webcam"
-msgstr "Obtener las fotos de su cÃmara web"
+#: C/menubar.py.page:104(p)
+msgid ""
+"Now, in the XML file, we we connect the menu items to the actions in the XML "
+"file by adding the \"action\" attribute:"
+msgstr ""
 
-#: C/magic-mirror.vala.page:32(p) C/image-viewer.vala.page:39(p)
+#: C/menubar.py.page:111(p)
+msgid ""
+"Note that for an action that is relative to the application, we use the "
+"prefix <code>app.</code>; for actions that are relative to the window we use "
+"the prefix <code>win.</code>."
+msgstr ""
+
+#: C/menubar.py.page:113(p)
+msgid ""
+"Finally, in the Python file, we add the action to the application or to the "
+"window - so for instance <code>app.new</code> will be added to the "
+"application in the method <code>do_startup(self)</code> as"
+msgstr ""
+
+#: C/menubar.py.page:114(code)
+#, no-wrap
+msgid ""
+"\n"
+"self.add_action(new_action)"
+msgstr ""
+"\n"
+"self.add_action(new_action)"
+
+#: C/menubar.py.page:124(p)
+msgid ""
+"The complete example files contain both application actions and window "
+"applications. The window actions are the ones usually included in the <link "
+"xref=\"gmenu.py\">application menu</link> also. It is not good practice to "
+"include window actions in the applcation menu. For demonstration purposes, "
+"the complete example files which follow include XML in the UI file which "
+"creates the application menu which includes a \"New\" and \"Open\" item, and "
+"these are hooked up to the same actions as the menubar items of the same "
+"name."
+msgstr ""
+
+#: C/menubar.py.page:130(p)
+msgid ""
+"Lines 30 to 80 inclusive of the <link xref=\"menubar.py#xml-code\"/> "
+"demonstrate the XML code used to create the UI for <gui>Choices</gui> menu."
+msgstr ""
+
+#: C/menubar.py.page:132(p)
+msgid ""
+"The actions created so far are <em>stateless</em>, that is they do not "
+"retain or depend on a state given by the action itself. The actions we need "
+"to create for the Choices submenu, on the other hand, are <em>stateful</em>. "
+"An example of creation of a stateful action is:"
+msgstr ""
+
+#: C/menubar.py.page:133(code)
+#, no-wrap
+msgid ""
+"\n"
+"shape_action = Gio.SimpleAction.new_stateful(\"shape\", GLib.VariantType.new('s'), GLib.Variant.new_string('line'))"
+msgstr ""
+"\n"
+"shape_action = Gio.SimpleAction.new_stateful(\"shape\", GLib.VariantType.new('s'), GLib.Variant.new_string('line'))"
+
+#: C/menubar.py.page:136(p)
+msgid ""
+"where the variables of the method are: name, parameter type (in this case, a "
+"string - see <link href=\"http://developer.gnome.org/glib/unstable/glib-";
+"GVariantType.html\">here</link> for a complete list of character meanings), "
+"initial state (in this case, 'line' - in case of a <code>True</code> boolean "
+"value it should be <code>Glib.Variant.new_boolean(True)</code>, and so on, "
+"see <link href=\"http://developer.gnome.org/glib/unstable/glib-GVariant.html";
+"\">here</link> for a complete list)"
+msgstr ""
+
+#: C/menubar.py.page:138(p)
+msgid ""
+"After creating the stateful SimpleAction we connect it to the callback "
+"function and we add it to the window (or the application, if it is the "
+"case), as before:"
+msgstr ""
+
+#: C/menubar.py.page:140(code)
+#, no-wrap
+msgid ""
+"\n"
+"shape_action.connect(\"activate\", self.shape_callback)\n"
+"self.add_action(shape_action)"
+msgstr ""
+"\n"
+"shape_action.connect(\"activate\", self.shape_callback)\n"
+"self.add_action(shape_action)"
+
+#: C/menubar.py.page:152(title)
+#, fuzzy
+#| msgid "Complete Vala file for this example"
+msgid "Complete Python file for this example"
+msgstr "Archivo de vala completo para este ejemplo"
+
+#: C/menubar.py.page:156(title)
+#, fuzzy
+#| msgid "Accelerators"
+msgid "Mnemonics and Accelerators"
+msgstr "Aceleradores"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/magic-mirror.vala.page:41(None)
+msgid "@@image: 'media/magic-mirror.png'; md5=8171faea6ed3b6ddac0da084c29e4e22"
+msgstr ""
+"@@image: 'media/magic-mirror.png'; md5=8171faea6ed3b6ddac0da084c29e4e22"
+
+#: C/magic-mirror.vala.page:7(title)
+#, fuzzy
+#| msgid "4 Magic Mirror"
+msgid "Magic Mirror (Vala)"
+msgstr "4. Espejo mÃgico"
+
+#: C/magic-mirror.vala.page:10(desc)
+msgid "Use your webcam as a mirror using the GStreamer framework and Gtk+"
+msgstr ""
+"Usar su cÃmara web como un espejo usando el entorno de trabajo GStreamer y "
+"GTK+"
+
+#: C/magic-mirror.vala.page:14(name)
+msgid "Daniel G. Siegel"
+msgstr "Daniel G. Siegel"
+
+#: C/magic-mirror.vala.page:15(email)
+msgid "dgsiegel gnome org"
+msgstr "dgsiegel gnome org"
+
+#: C/magic-mirror.vala.page:23(title)
+msgid "4 Magic Mirror"
+msgstr "4. Espejo mÃgico"
+
+#: C/magic-mirror.vala.page:26(em)
+msgid ""
+"Your mirror just fell off the wall and broke into a thousand pieces â but "
+"you need a mirror to shave your beard off or add some makeup! You only have "
+"15 minutes left before catching the bus to work. So what can you do?"
+msgstr ""
+"Su espejo se ha caiÌdo al suelo y se ha roto en miles de pedazos; pero "
+"necesita un espejo para afeitarse o para maquillarse. SoÌlo tiene 15 minutos "
+"antes de coger el autobuÌs para ir al trabajo. ÂQueÌ puede hacer?"
+
+#: C/magic-mirror.vala.page:27(p)
+msgid ""
+"In this tutorial, we're going to make a program which lets you use your "
+"webcam as a mirror. You will learn how to:"
+msgstr ""
+"En este tutorial se va a hacer un programa que le permite usar su cÃmara web "
+"como un espejo. Aprenderà a:"
+
+#: C/magic-mirror.vala.page:29(p)
+msgid "Create a GTK+ application"
+msgstr "Crear una aplicaciÃn GTK+"
+
+#: C/magic-mirror.vala.page:30(p)
+msgid "Access your webcam using GStreamer and embed the result into a window"
+msgstr ""
+"Acceder a su cÃmara web usando GStreamer y empotrar el resultado en una "
+"ventana"
+
+#: C/magic-mirror.vala.page:31(p)
+msgid "Grab photos off your webcam"
+msgstr "Obtener las fotos de su cÃmara web"
+
+#: C/magic-mirror.vala.page:33(p) C/image-viewer.vala.page:40(p)
 #: C/image-viewer.py.page:34(p) C/image-viewer.js.page:34(p)
-#: C/guitar-tuner.vala.page:35(p) C/guitar-tuner.py.page:31(p)
-#: C/guitar-tuner.cpp.page:30(p) C/guitar-tuner.c.page:31(p)
+#: C/guitar-tuner.vala.page:35(p) C/guitar-tuner.py.page:32(p)
+#: C/guitar-tuner.cpp.page:30(p) C/guitar-tuner.c.page:32(p)
 msgid "You'll need the following to be able to follow this tutorial:"
 msgstr "Necesitarà lo siguiente para poder seguir este tutorial:"
 
-#: C/magic-mirror.vala.page:34(p) C/image-viewer.py.page:36(p)
-#: C/image-viewer.js.page:36(p) C/guitar-tuner.py.page:33(p)
-#: C/guitar-tuner.cpp.page:32(p) C/guitar-tuner.c.page:33(p)
+#: C/magic-mirror.vala.page:35(p) C/image-viewer.py.page:36(p)
+#: C/image-viewer.js.page:36(p) C/guitar-tuner.py.page:34(p)
+#: C/guitar-tuner.cpp.page:32(p) C/guitar-tuner.c.page:34(p)
 msgid "An installed copy of the <link xref=\"getting-ready\">Anjuta IDE</link>"
 msgstr "Una copia instalada del <link xref=\"getting-ready\">EID Anjuta</link>"
 
-#: C/magic-mirror.vala.page:35(p)
+#: C/magic-mirror.vala.page:36(p)
 msgid "Installed copies of GTK, GStreamer, and a Vala compiler"
 msgstr "Copias instaladas de GTK, GStreamer y de un compilador de Vala"
 
-#: C/magic-mirror.vala.page:36(p)
+#: C/magic-mirror.vala.page:37(p)
 msgid "Basic knowledge of an object-oriented programming language"
 msgstr ""
 "Conocimientos bÃsico de un lenguaje de programaciÃn orientado a objetos"
 
-#: C/magic-mirror.vala.page:50(p)
+#: C/magic-mirror.vala.page:51(p)
 msgid ""
 "Choose <gui>Gtk+ (simple)</gui> from the <gui>Vala</gui> tab, click "
 "<gui>Forward</gui>, and fill out your details on the next few pages. Use "
@@ -7797,7 +8980,7 @@ msgstr ""
 "<gui>Adelante</gui> y rellene los detalles en las siguientes pÃginas. Use "
 "<file>afinador-guitarra</file> como nombre de proyecto y de carpeta."
 
-#: C/magic-mirror.vala.page:53(p)
+#: C/magic-mirror.vala.page:54(p)
 msgid ""
 "Disable <gui>Use GtkBuilder for user interface</gui> as we will create the "
 "UI manually in this tutorial. Check the <link xref=\"guitar-tuner.vala"
@@ -7808,7 +8991,7 @@ msgstr ""
 "Revise el tutorial <link xref=\"guitar-tuner.vala\">afinador-guitarra</link> "
 "usando el constructor de interfaces."
 
-#: C/magic-mirror.vala.page:58(p)
+#: C/magic-mirror.vala.page:59(p)
 msgid ""
 "Make sure that <gui>Configure external packages</gui> is selected. On the "
 "next page, select <em>gstreamer-0.10</em> from the list to include the "
@@ -7818,7 +9001,7 @@ msgstr ""
 "En la siguiente pÃgina, seleccione <em>gstreamermm-0.10</em> de la lista "
 "para incluir la biblioteca <app>GStreamer</app> en su proyecto."
 
-#: C/magic-mirror.vala.page:62(p)
+#: C/magic-mirror.vala.page:63(p)
 msgid ""
 "Click <gui>Apply</gui> and the project will be created for you. Open "
 "<file>src/magic_mirror.vala</file> from the <gui>Project</gui> or <gui>File</"
@@ -7828,14 +9011,14 @@ msgstr ""
 "magico.vala</file> desde las pestanÌas <gui>Proyecto</gui> o <gui>Archivo</"
 "gui>. DeberiÌa ver algo de coÌdigo que comience con las liÌneas:"
 
-#: C/magic-mirror.vala.page:71(title) C/image-viewer.vala.page:106(title)
-#: C/image-viewer.cpp.page:60(title) C/image-viewer.c.page:59(title)
+#: C/magic-mirror.vala.page:72(title) C/image-viewer.vala.page:107(title)
+#: C/image-viewer.cpp.page:60(title) C/image-viewer.c.page:60(title)
 #: C/guitar-tuner.vala.page:68(title) C/guitar-tuner.cpp.page:63(title)
-#: C/guitar-tuner.c.page:64(title)
+#: C/guitar-tuner.c.page:65(title)
 msgid "Build the code for the first time"
 msgstr "Construir el cÃdigo por primera vez"
 
-#: C/magic-mirror.vala.page:72(p)
+#: C/magic-mirror.vala.page:73(p)
 msgid ""
 "The code loads an (empty) window and shows it. More details are given below; "
 "skip this list if you understand the basics:"
@@ -7843,7 +9026,7 @@ msgstr ""
 "El cÃdigo carga una ventana (vacÃa) y la muestra. A continuaciÃn hay mÃs "
 "detalles; omita esta lista si entiende los conceptos bÃsicos:"
 
-#: C/magic-mirror.vala.page:75(p) C/guitar-tuner.vala.page:73(p)
+#: C/magic-mirror.vala.page:76(p) C/guitar-tuner.vala.page:73(p)
 msgid ""
 "The two <code>using</code> lines import namespaces so we don't have to name "
 "them explicitly."
@@ -7851,7 +9034,7 @@ msgstr ""
 "Las dos lÃneas <code>using</code> importan espacios de nombres, por lo que "
 "no hay que nombrarlas explÃcitamente."
 
-#: C/magic-mirror.vala.page:78(p)
+#: C/magic-mirror.vala.page:79(p)
 msgid ""
 "The constructor of the <code>Main</code> class creates a new window and sets "
 "its title. Afterwards the window is shown and a signal is connected which "
@@ -7862,7 +9045,7 @@ msgstr ""
 "que cierra la aplicaciÃn si se cierra la ventana. Se verÃn mÃs seÃales mÃs "
 "adelante."
 
-#: C/magic-mirror.vala.page:82(p)
+#: C/magic-mirror.vala.page:83(p)
 msgid ""
 "The static <code>main</code> function is run by default when you start a "
 "Vala application. It calls a few functions which create the Main class, set "
@@ -7872,14 +9055,14 @@ msgid ""
 msgstr ""
 "La funciÃn estÃtica <code>main</code> se ejecuta de manera predeterminada "
 "cuando inicia una aplicaciÃn en Vala. Llama a unas pocas funciones que crean "
-"la clase ÂMainÂ, la configuran y ejecutan la aplicaciÃn. La funciÃn <code>Gtk."
-"Main</code> inicia el bucle principal de GTK+, que ejecuta la interfaz de "
-"usuario y empieza a escuchar eventos (como pulsaciones del ratÃn y del "
-"teclado)."
+"la clase ÂMainÂ, la configuran y ejecutan la aplicaciÃn. La funciÃn "
+"<code>Gtk.Main</code> inicia el bucle principal de GTK+, que ejecuta la "
+"interfaz de usuario y empieza a escuchar eventos (como pulsaciones del ratÃn "
+"y del teclado)."
 
-#: C/magic-mirror.vala.page:86(p) C/image-viewer.vala.page:126(p)
-#: C/image-viewer.cpp.page:76(p) C/image-viewer.c.page:78(p)
-#: C/guitar-tuner.cpp.page:78(p) C/guitar-tuner.c.page:83(p)
+#: C/magic-mirror.vala.page:87(p) C/image-viewer.vala.page:127(p)
+#: C/image-viewer.cpp.page:76(p) C/image-viewer.c.page:79(p)
+#: C/guitar-tuner.cpp.page:78(p) C/guitar-tuner.c.page:84(p)
 msgid ""
 "This code is ready to be used, so you can compile it by clicking "
 "<guiseq><gui>Build</gui><gui>Build Project</gui></guiseq> (or press "
@@ -7889,7 +9072,7 @@ msgstr ""
 "<guiseq><gui>Construir</gui><gui>Construir proyecto</gui></guiseq> (o "
 "pulsando <keyseq><key>MayÃs</key><key>F7</key></keyseq>)."
 
-#: C/magic-mirror.vala.page:87(p) C/image-viewer.vala.page:127(p)
+#: C/magic-mirror.vala.page:88(p) C/image-viewer.vala.page:128(p)
 msgid ""
 "Change the <gui>Configuration</gui> to <gui>Default</gui> and then press "
 "<gui>Execute</gui> to configure the build directory. You only need to do "
@@ -7899,11 +9082,11 @@ msgstr ""
 "<gui>Ejecutar</gui> para configurar la carpeta de construcciÃn. SÃlo "
 "necesita hacer esto una vez, para la primera construcciÃn."
 
-#: C/magic-mirror.vala.page:91(title)
+#: C/magic-mirror.vala.page:92(title)
 msgid "Access the webcam video stream with GStreamer"
 msgstr "Acceder al flujo de vÃdeo de la cÃmara web con GStreamer"
 
-#: C/magic-mirror.vala.page:92(p)
+#: C/magic-mirror.vala.page:93(p)
 msgid ""
 "The GStreamer multimedia framework is able to handle video from webcams. "
 "Let's add GStreamer to our application and so we can access the video stream."
@@ -7912,7 +9095,7 @@ msgstr ""
 "cÃmaras web. AÃada GStreamer a su aplicaciÃn y podrà acceder al flujo de "
 "vÃdeo."
 
-#: C/magic-mirror.vala.page:119(p)
+#: C/magic-mirror.vala.page:120(p)
 msgid ""
 "First we remove the window we created before because GStreamer will take "
 "care of showing the picture on screen."
@@ -7920,7 +9103,7 @@ msgstr ""
 "Primero se quita la ventana creada anteriormente, ya que GStreamer se "
 "encargarà de mostrar la imagen en la pantalla."
 
-#: C/magic-mirror.vala.page:123(p)
+#: C/magic-mirror.vala.page:124(p)
 msgid ""
 "Now we are creating a GStreamer element which accesses our webcam. We are "
 "using the Camerabin element, which is an all-in-one camera element and is "
@@ -7936,7 +9119,7 @@ msgstr ""
 "code> se indica a la tuberÃa de GStreamer que se acaba de crear que empiece "
 "a reproducir. FÃcil, Âno?"
 
-#: C/magic-mirror.vala.page:130(p)
+#: C/magic-mirror.vala.page:131(p)
 msgid ""
 "Of course it is also possible to integrate the video more tighly into other "
 "windows but that is an advanced topic that includes some details of the X "
@@ -7946,7 +9129,7 @@ msgstr ""
 "otras ventanas, pero esto es un tema avanzado que incluye algunos detalles "
 "sobre el sistema ÂX-Window que aquà se omiten."
 
-#: C/magic-mirror.vala.page:134(p)
+#: C/magic-mirror.vala.page:135(p)
 msgid ""
 "Compile and run it again. You will end up with two windows. In the next step "
 "we will integrate the video into the GTK+ window."
@@ -7954,7 +9137,7 @@ msgstr ""
 "Compile y ejecute de nuevo. Acabarà teniendo dos ventanas. En el siguiente "
 "paso, se integrarà el vÃdeo en una ventana de GTK+."
 
-#: C/magic-mirror.vala.page:144(p)
+#: C/magic-mirror.vala.page:145(p)
 msgid ""
 "If you run into problems with the tutorial, compare your code with this "
 "<link href=\"magic-mirror/magic-mirror.vala\">reference code</link>. There "
@@ -7970,11 +9153,11 @@ msgstr ""
 "implica algunas tÃcnicas avanzadas, y aÃade botones para iniciar/parar la "
 "imagen."
 
-#: C/magic-mirror.vala.page:150(title) C/guitar-tuner.vala.page:258(title)
+#: C/magic-mirror.vala.page:151(title) C/guitar-tuner.vala.page:258(title)
 msgid "Further reading"
 msgstr "Lectura complementaria"
 
-#: C/magic-mirror.vala.page:151(p)
+#: C/magic-mirror.vala.page:152(p)
 msgid ""
 "To find out more about the Vala programming language you might want to check "
 "out the <link href=\"http://live.gnome.org/Vala/Tutorial\";>Vala Tutorial</"
@@ -7984,11 +9167,11 @@ msgstr ""
 "querer revisar el <link href=\"http://live.gnome.org/Vala/Tutorial";
 "\">tutorial de Vala</link>."
 
-#: C/magic-mirror.vala.page:156(title)
+#: C/magic-mirror.vala.page:157(title)
 msgid "Conclusion"
 msgstr "ConclusiÃn"
 
-#: C/magic-mirror.vala.page:157(p)
+#: C/magic-mirror.vala.page:158(p)
 msgid ""
 "That's it, you have managed to create a full-featured webcam photo "
 "application in 15 minutes. Now you can shave your beard off or add some "
@@ -8004,110 +9187,218 @@ msgstr ""
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/linkbutton.vala.page:20(None) C/linkbutton.py.page:22(None)
-#: C/linkbutton.js.page:20(None) C/linkbutton.c.page:21(None)
+#: C/linkbutton.vala.page:21(None) C/linkbutton.py.page:23(None)
+#: C/linkbutton.js.page:21(None) C/linkbutton.c.page:22(None)
 msgid "@@image: 'media/linkbutton.png'; md5=3712eae8953e87c65a6aa74503b8e32b"
 msgstr "@@image: 'media/linkbutton.png'; md5=3712eae8953e87c65a6aa74503b8e32b"
 
-#: C/linkbutton.vala.page:16(desc) C/linkbutton.c.page:16(desc)
+#: C/linkbutton.vala.page:7(title)
+#, fuzzy
+#| msgid "LinkButton"
+msgid "LinkButton (Vala)"
+msgstr "LinkButton"
+
+#: C/linkbutton.vala.page:17(desc) C/linkbutton.c.page:17(desc)
 msgid "Create buttons bound to a URL"
 msgstr "Crear botones asociados a un URL"
 
-#: C/linkbutton.vala.page:19(title) C/linkbutton.py.page:20(title)
-msgid "LinkButton widget"
-msgstr "Widget LinkButton"
+#: C/linkbutton.vala.page:20(title) C/linkbutton.py.page:21(title)
+#: C/linkbutton.js.page:20(title) C/linkbutton.c.page:20(title)
+msgid "LinkButton"
+msgstr "LinkButton"
 
-#: C/linkbutton.vala.page:21(p)
+#: C/linkbutton.vala.page:22(p)
 msgid "This button links to GNOME live."
 msgstr "Un botÃn que enlaza con GNOME live."
 
-#: C/linkbutton.vala.page:28(link) C/linkbutton.js.page:30(link)
+#: C/linkbutton.vala.page:29(link) C/linkbutton.js.page:31(link)
 msgid "Gtk.LinkButton"
 msgstr "Gtk.LinkButton"
 
-#: C/linkbutton.py.page:17(desc)
+#: C/linkbutton.py.page:7(title)
+#, fuzzy
+#| msgid "LinkButton"
+msgid "LinkButton (Python)"
+msgstr "LinkButton"
+
+#: C/linkbutton.py.page:18(desc)
 msgid "A button bound to an URL"
 msgstr "Un botÃn asociado a un URL"
 
-#: C/linkbutton.py.page:23(p)
+#: C/linkbutton.py.page:24(p)
 msgid "A button that links to a web page."
 msgstr "Un botÃn que enlaza con una pÃgina web."
 
-#: C/linkbutton.py.page:34(title)
+#: C/linkbutton.py.page:35(title)
 msgid "Useful methods for a LinkButton widget"
 msgstr "MÃtodos Ãtiles para un widget ÂLinkButtonÂ"
 
-#: C/linkbutton.py.page:36(p)
+#: C/linkbutton.py.page:37(p)
 msgid ""
 "<code>get_visited()</code> returns the 'visited' state (<code>True</code> or "
 "<code>False</code>) of the URI where the LinkButton points. The button "
 "becomes visited when it is clicked."
 msgstr ""
 
-#: C/linkbutton.py.page:37(p)
+#: C/linkbutton.py.page:38(p)
 msgid ""
 "<code>set_visited(True)</code> sets the 'visited' state of the URI where the "
 "LinkButton points as <code>True</code> (analogously for <code>False</code>)."
 msgstr ""
 
-#: C/linkbutton.py.page:38(p)
+#: C/linkbutton.py.page:39(p)
 msgid ""
 "Each time the button is clicked, the signal <code>\"activate-link\"</code> "
 "is emitted. For an explanation of signals and callback functions, see <link "
 "xref=\"signals-callbacks.py\">this page</link>."
 msgstr ""
 
-#: C/linkbutton.py.page:46(link) C/linkbutton.c.page:32(link)
+#: C/linkbutton.py.page:47(link) C/linkbutton.c.page:33(link)
 msgid "GtkLinkButton"
 msgstr "GtkLinkButton"
 
-#: C/linkbutton.js.page:16(desc)
+#: C/linkbutton.js.page:7(title)
+#, fuzzy
+#| msgid "LinkButton widget"
+msgid "LinkButton (JavaScript)"
+msgstr "Widget LinkButton"
+
+#: C/linkbutton.js.page:17(desc)
 msgid "A button that links to a web page"
 msgstr "Un botÃn que enlaza con una pÃgina web"
 
-#: C/linkbutton.js.page:19(title)
-msgid "LinkButton"
-msgstr "LinkButton"
-
-#: C/linkbutton.js.page:21(p)
+#: C/linkbutton.js.page:22(p)
 msgid "A button that links to live.gnome.org."
 msgstr "Un botÃn que enlaza con live.gnome.org."
 
-#: C/linkbutton.c.page:19(title)
-msgid "LinkButton Widget"
-msgstr "Widget LinkButton"
+#: C/linkbutton.c.page:7(title)
+#, fuzzy
+#| msgid "LinkButton"
+msgid "LinkButton (C)"
+msgstr "LinkButton"
 
-#: C/linkbutton.c.page:22(p)
+#: C/linkbutton.c.page:23(p)
 msgid "This button links to the GNOME live webpage."
 msgstr "Este botÃn enlaza con la pÃgina web de GNOME Live."
 
+#: C/license.page:8(desc)
+msgid "Legal information."
+msgstr "InformacioÌn legal."
+
+#: C/license.page:11(title)
+msgid "License"
+msgstr "Licencia"
+
+#: C/license.page:12(p)
+msgid ""
+"This work is distributed under a CreativeCommons Attribution-Share Alike 3.0 "
+"Unported license."
+msgstr ""
+"Este trabajo estaÌ distribuido bajo una licencia Creative Commons Compartir-"
+"Igual 3.0 sin soporte."
+
+#: C/license.page:20(p)
+msgid "You are free:"
+msgstr "Es libre de:"
+
+#: C/license.page:25(em)
+msgid "To share"
+msgstr "Compartir"
+
+#: C/license.page:26(p)
+msgid "To copy, distribute and transmit the work."
+msgstr "Copiar, distribuir y comunicar puÌblicamente la obra"
+
+#: C/license.page:29(em)
+msgid "To remix"
+msgstr "Hacer obras derivadas"
+
+#: C/license.page:30(p)
+msgid "To adapt the work."
+msgstr "Adaptar el trabajo."
+
+#: C/license.page:33(p)
+#| msgid "The code has the following purpose:"
+msgid "Under the following conditions:"
+msgstr "Bajo las siguientes condiciones:"
+
+#: C/license.page:38(em)
+#| msgid "Introduction"
+msgid "Attribution"
+msgstr "AtribucioÌn"
+
+#: C/license.page:39(p)
+msgid ""
+"You must attribute the work in the manner specified by the author or "
+"licensor (but not in any way that suggests that they endorse you or your use "
+"of the work)."
+msgstr ""
+"Debe reconocer los creÌditos de la obra de la manera especificada por el "
+"autor o el licenciador (pero no de una manera que sugiera que tiene su apoyo "
+"o apoyan el uso que hace de su obra)."
+
+#: C/license.page:46(em)
+msgid "Share Alike"
+msgstr "Compartir igual"
+
+#: C/license.page:47(p)
+msgid ""
+"If you alter, transform, or build upon this work, you may distribute the "
+"resulting work only under the same, similar or a compatible license."
+msgstr ""
+
+#: C/license.page:53(p)
+msgid ""
+"For the full text of the license, see the <link href=\"http://";
+"creativecommons.org/licenses/by-sa/3.0/legalcode\">CreativeCommons website</"
+"link>, or read the full <link href=\"http://creativecommons.org/licenses/by-";
+"sa/3.0/\">Commons Deed</link>."
+msgstr ""
+
+#: C/license.page:60(p)
+msgid ""
+"As a special exception, the copyright holders give you permission to copy, "
+"modify, and distribute the example code contained in this documentation "
+"under the terms of your choosing, without restriction."
+msgstr ""
+
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/label.vala.page:20(None) C/label.py.page:26(None)
-#: C/label.js.page:20(None) C/label.c.page:24(None)
+#: C/label.vala.page:21(None) C/label.py.page:27(None)
+#: C/label.js.page:21(None) C/label.c.page:25(None)
 msgid "@@image: 'media/label.png'; md5=734975c18653d88379f983e4501c3fc0"
 msgstr "@@image: 'media/label.png'; md5=734975c18653d88379f983e4501c3fc0"
 
-#: C/label.vala.page:16(desc) C/label.c.page:17(desc)
+#: C/label.vala.page:7(title)
+msgid "Label (Vala)"
+msgstr ""
+
+#: C/label.vala.page:17(desc) C/label.c.page:18(desc)
 msgid "A widget which displays text"
 msgstr "Un widget que muestra un texto"
 
-#: C/label.vala.page:21(p) C/label.py.page:27(p) C/label.c.page:25(p)
+#: C/label.vala.page:22(p) C/label.py.page:28(p) C/label.c.page:26(p)
 msgid "A simple label"
 msgstr "Una etiqueta sencilla"
 
-#: C/label.py.page:22(desc)
+#: C/label.py.page:7(title)
+#, fuzzy
+#| msgid "Python"
+msgid "Label (Python)"
+msgstr "Python"
+
+#: C/label.py.page:23(desc)
 msgid "A widget that displays a small to medium amount of text"
 msgstr "Un widget que muestra una cantidad pequeÃa o mediana de texto"
 
-#: C/label.py.page:36(p)
+#: C/label.py.page:37(p)
 msgid ""
 "Another way to obtain what we have in the example is to create the label as "
 "an instance of another class and add it to the instance of <code>MyWindow</"
 "code> in the <code>do_activate(self)</code> method:"
 msgstr ""
 
-#: C/label.py.page:37(code)
+#: C/label.py.page:38(code)
 #, no-wrap
 msgid ""
 "\n"
@@ -8164,24 +9455,24 @@ msgstr ""
 "        # show the window and everything on it\n"
 "        win.show_all()"
 
-#: C/label.py.page:67(title)
+#: C/label.py.page:68(title)
 msgid "Useful methods for a Label widget"
 msgstr "MeÌtodos uÌtiles para un widget ÂLabelÂ"
 
-#: C/label.py.page:69(p)
+#: C/label.py.page:70(p)
 msgid ""
 "<code>label = Gtk.Label(label=\"Hello GNOME!\")</code> could also be used "
 "create a label and set the text directly. For a general discussion of this, "
 "see <link xref=\"properties.py\">here</link>."
 msgstr ""
 
-#: C/label.py.page:71(p)
+#: C/label.py.page:72(p)
 msgid ""
 "<code>set_line_wrap(True)</code> breaks lines if the text of the label "
 "exceeds the size of the widget."
 msgstr ""
 
-#: C/label.py.page:72(p)
+#: C/label.py.page:73(p)
 msgid ""
 "<code>set_justify(Gtk.Justification.LEFT)</code> (or <code>Gtk.Justification."
 "RIGHT, Gtk.Justification.CENTER, Gtk.Justification.FILL</code>) sets the "
@@ -8189,7 +9480,7 @@ msgid ""
 "method has no effect on a single-line label."
 msgstr ""
 
-#: C/label.py.page:73(p)
+#: C/label.py.page:74(p)
 msgid ""
 "For decorated text we can use <code>set_markup(\"text\")</code>, where <code>"
 "\"text\"</code> is a text in the <link href=\"http://developer.gnome.org/";
@@ -8197,14 +9488,26 @@ msgid ""
 "example:"
 msgstr ""
 
-#: C/label.js.page:16(desc)
+#: C/label.js.page:7(title)
+#, fuzzy
+#| msgid "JavaScript"
+msgid "Label (JavaScript)"
+msgstr "JavaScript"
+
+#: C/label.js.page:17(desc)
 msgid "A label which can contain text"
 msgstr "Una etiqueta que puede contener texto"
 
-#: C/label.js.page:21(p)
+#: C/label.js.page:22(p)
 msgid "A label displaying a friendly message."
 msgstr "Un widget que muestra un mensaje amigable"
 
+#: C/label.c.page:7(title)
+#, fuzzy
+#| msgid "Label"
+msgid "Label (C)"
+msgstr "Label"
+
 #: C/js.page:7(title)
 msgid "JavaScript"
 msgstr "JavaScript"
@@ -8242,31 +9545,37 @@ msgstr "Involucrarse"
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/image-viewer.vala.page:47(None) C/image-viewer.py.page:41(None)
+#: C/image-viewer.vala.page:48(None) C/image-viewer.py.page:41(None)
 #: C/image-viewer.js.page:42(None) C/image-viewer.cpp.page:31(None)
-#: C/image-viewer.c.page:32(None)
+#: C/image-viewer.c.page:33(None)
 msgid "@@image: 'media/image-viewer.png'; md5=7720360611243b14283b83527be968c2"
 msgstr ""
 "@@image: 'media/image-viewer.png'; md5=7720360611243b14283b83527be968c2"
 
-#: C/image-viewer.vala.page:9(desc) C/image-viewer.c.page:9(desc)
+#: C/image-viewer.vala.page:7(title)
+#, fuzzy
+#| msgid "Image Viewer"
+msgid "Image Viewer (Vala)"
+msgstr "Visor de imÃgenes"
+
+#: C/image-viewer.vala.page:10(desc) C/image-viewer.c.page:10(desc)
 msgid "A little bit more than a simple \"Hello world\" Gtk application."
 msgstr "Algo mÃs que una sencilla aplicaciÃn ÂHola mundo en GTK."
 
-#: C/image-viewer.vala.page:21(name)
+#: C/image-viewer.vala.page:22(name)
 msgid "Philip Chimento"
 msgstr "Philip Chimento"
 
-#: C/image-viewer.vala.page:22(email)
+#: C/image-viewer.vala.page:23(email)
 msgid "philip chimento gmail com"
 msgstr "philip chimento gmail com"
 
-#: C/image-viewer.vala.page:30(title) C/image-viewer.py.page:24(title)
+#: C/image-viewer.vala.page:31(title) C/image-viewer.py.page:24(title)
 #: C/image-viewer.js.page:24(title)
 msgid "1 Image Viewer"
 msgstr "1. Visor de imÃgenes"
 
-#: C/image-viewer.vala.page:32(p)
+#: C/image-viewer.vala.page:33(p)
 msgid ""
 "In this tutorial you will create an application which opens and displays an "
 "image file. You will learn:"
@@ -8274,7 +9583,7 @@ msgstr ""
 "En este tutorial se va a crear un programa que abre un archivo de imagen y "
 "lo muestra. Aprenderà a:"
 
-#: C/image-viewer.vala.page:34(p)
+#: C/image-viewer.vala.page:35(p)
 msgid ""
 "How to set up a basic project using the <link xref=\"getting-ready\">Anjuta "
 "IDE</link>."
@@ -8282,7 +9591,7 @@ msgstr ""
 "CÃmo configurar un proyecto bÃsico usando el <link xref=\"getting-ready"
 "\">EID Anjuta</link>."
 
-#: C/image-viewer.vala.page:35(p)
+#: C/image-viewer.vala.page:36(p)
 msgid ""
 "How to write a <link href=\"http://developer.gnome.org/platform-overview/";
 "stable/gtk\">Gtk application</link> in Vala"
@@ -8290,7 +9599,7 @@ msgstr ""
 "CÃmo escribir una <link href=\"http://developer.gnome.org/platform-overview/";
 "stable/gtk\">aplicaciÃn de GTK+</link> en Vala"
 
-#: C/image-viewer.vala.page:36(p)
+#: C/image-viewer.vala.page:37(p)
 msgid ""
 "Some basic concepts of <link href=\"http://developer.gnome.org/gobject/";
 "stable/\">GObject</link> programming"
@@ -8298,7 +9607,7 @@ msgstr ""
 "Algunos conceptos bÃsicos de programaciÃn en <link href=\"http://developer.";
 "gnome.org/gobject/stable/\">GObject</link>"
 
-#: C/image-viewer.vala.page:41(p) C/guitar-tuner.vala.page:37(p)
+#: C/image-viewer.vala.page:42(p) C/guitar-tuner.vala.page:37(p)
 msgid ""
 "Basic knowledge of the <link href=\"https://live.gnome.org/Vala/Tutorial";
 "\">Vala</link> programming language."
@@ -8306,20 +9615,20 @@ msgstr ""
 "Conocimiento baÌsico del lenguaje de programacioÌn <link href=\"https://live.";
 "gnome.org/Vala/Tutorial\">Vala</link>."
 
-#: C/image-viewer.vala.page:42(p) C/guitar-tuner.vala.page:38(p)
+#: C/image-viewer.vala.page:43(p) C/guitar-tuner.vala.page:38(p)
 msgid "An installed copy of <app>Anjuta</app>."
 msgstr "Una copia instalada de <app>Anjuta</app>."
 
-#: C/image-viewer.vala.page:43(p)
+#: C/image-viewer.vala.page:44(p)
 msgid ""
 "You may find the <link href=\"http://valadoc.org/gtk+-3.0/\";>gtk+-3.0</link> "
 "API Reference useful, although it is not necessary to follow the tutorial."
 msgstr ""
-"Puede que la referencia de la API de <link href=\"http://valadoc.org/gtk+-";
-"3.0/\">gtk+-3.0</link> le resulte Ãtil, aunque no es necesaria para seguir "
+"Puede que la referencia de la API de <link href=\"http://valadoc.org/gtk";
+"+-3.0/\">gtk+-3.0</link> le resulte Ãtil, aunque no es necesaria para seguir "
 "el tutorial."
 
-#: C/image-viewer.vala.page:56(p) C/guitar-tuner.vala.page:49(p)
+#: C/image-viewer.vala.page:57(p) C/guitar-tuner.vala.page:49(p)
 msgid ""
 "Start <app>Anjuta</app> and click <gui>Create a new project</gui> or "
 "<guiseq><gui>File</gui><gui>New</gui><gui>Project</gui></guiseq> to open the "
@@ -8329,7 +9638,7 @@ msgstr ""
 "<guiseq><gui>Archivo</gui><gui>Nuevo</gui><gui>Proyecto</gui></guiseq> para "
 "abrir el asistente de proyectos."
 
-#: C/image-viewer.vala.page:59(p)
+#: C/image-viewer.vala.page:60(p)
 msgid ""
 "From the <gui>Vala</gui> tab choose <gui>Gtk+ (Simple)</gui>, click "
 "<gui>Continue</gui>, and fill out your details on the next page. Use "
@@ -8339,7 +9648,7 @@ msgstr ""
 "<gui>Continuar</gui>, y rellene los detalles en las siguientes pÃginas. Use "
 "<file>visor-imagenes</file> como nombre del proyecto y de la carpeta."
 
-#: C/image-viewer.vala.page:63(p)
+#: C/image-viewer.vala.page:64(p)
 msgid ""
 "Make sure that <gui>Use GtkBuilder for user interface</gui> is unchecked as "
 "we will create the UI manually in this tutorial."
@@ -8347,7 +9656,7 @@ msgstr ""
 "AsegÃrese de que <gui>Usar GtkBuilder para la interfaz del usuario</gui> "
 "està desactivado, ya que, en este tutorial, la IU se crearà manualmente."
 
-#: C/image-viewer.vala.page:64(p)
+#: C/image-viewer.vala.page:65(p)
 msgid ""
 "You will learn how to use the interface builder in the <link xref=\"guitar-"
 "tuner.vala\">Guitar-Tuner</link> tutorial."
@@ -8355,7 +9664,7 @@ msgstr ""
 "Aprenderà a usar el constructor de interfaces en el tutorial del <link xref="
 "\"guitar-tuner.vala\">afinador de guitarra</link>."
 
-#: C/image-viewer.vala.page:68(p)
+#: C/image-viewer.vala.page:69(p)
 msgid ""
 "Click <gui>Continue</gui> then <gui>Apply</gui> and the project will be "
 "created for you. Open <file>src/image_viewer.vala</file> from the "
@@ -8365,7 +9674,7 @@ msgstr ""
 "proyecto. Abra <file>src/visor-imagenes.vala</file> desde las pestaÃas "
 "<gui>Proyecto</gui> o <gui>Archivo</gui>. Verà el siguiente cÃdigo:"
 
-#: C/image-viewer.vala.page:107(p)
+#: C/image-viewer.vala.page:108(p)
 msgid ""
 "The code loads an (empty) window from the user interface description file "
 "and shows it. More details are given below; skip this list if you understand "
@@ -8375,7 +9684,7 @@ msgstr ""
 "interfaz de usuario y la muestra. Se ofrecen mÃs detalles a continuaciÃn; "
 "omita esta lista si entiende los conceptos bÃsicos:"
 
-#: C/image-viewer.vala.page:112(p)
+#: C/image-viewer.vala.page:113(p)
 msgid ""
 "The two <code>using</code> lines at the top import namespaces so we don't "
 "have to name them explicitly."
@@ -8383,7 +9692,7 @@ msgstr ""
 "Las dos lÃneas <code>using</code> importan espacios de nombres, por lo que "
 "no hay que nombrarlas explÃcitamente."
 
-#: C/image-viewer.vala.page:115(p)
+#: C/image-viewer.vala.page:116(p)
 msgid ""
 "The constructor of the <code>Main</code> class creates a new (empty) window "
 "and connects a <link href=\"https://live.gnome.org/Vala/SignalsAndCallbacks";
@@ -8393,8 +9702,8 @@ msgstr ""
 "y conecta una <link href=\"https://live.gnome.org/Vala/SignalsAndCallbacks";
 "\">seÃal</link> para salir de la aplicaciÃn cuando se cierra esa ventana."
 
-#: C/image-viewer.vala.page:116(p) C/image-viewer.c.page:68(p)
-#: C/guitar-tuner.c.page:73(p)
+#: C/image-viewer.vala.page:117(p) C/image-viewer.c.page:69(p)
+#: C/guitar-tuner.c.page:74(p)
 msgid ""
 "Connecting signals is how you define what happens when you push a button, or "
 "when some other event happens. Here, the <code>destroy</code> function is "
@@ -8404,7 +9713,7 @@ msgstr ""
 "cuando ocurre algÃn otro evento. AquÃ, se llama a la funciÃn <code>destroy</"
 "code> (y se sale de la aplicaciÃn) cuando cierra la ventana."
 
-#: C/image-viewer.vala.page:120(p)
+#: C/image-viewer.vala.page:121(p)
 msgid ""
 "The <code>static main</code> function is run by default when you start a "
 "Vala application. It calls a few functions which create the <code>Main</"
@@ -8422,12 +9731,12 @@ msgstr ""
 "\">bucle principal</link> de GTK+, que ejecuta la interfaz de usuario y "
 "empieza a escuchar eventos (como pulsaciones del ratÃn y del teclado)."
 
-#: C/image-viewer.vala.page:132(title) C/image-viewer.cpp.page:81(title)
-#: C/image-viewer.c.page:83(title)
+#: C/image-viewer.vala.page:133(title) C/image-viewer.cpp.page:81(title)
+#: C/image-viewer.c.page:84(title)
 msgid "Creating the user interface"
 msgstr "Crear la interfaz de usuario"
 
-#: C/image-viewer.vala.page:133(p)
+#: C/image-viewer.vala.page:134(p)
 msgid ""
 "Now we will bring life into the empty window. GTK organizes the user "
 "interface with <link href=\"http://www.valadoc.org/gtk+-2.0/Gtk.Container.";
@@ -8443,17 +9752,17 @@ msgstr ""
 "disponible, una <link href=\"http://unstable.valadoc.org/gtk+-2.0/Gtk.Box.";
 "html\"><code>Gtk.Box</code></link>."
 
-#: C/image-viewer.vala.page:137(p)
+#: C/image-viewer.vala.page:138(p)
 msgid "Add the following lines to the top of the <code>Main</code> class:"
 msgstr ""
 "AÃada las siguientes lÃneas a la parte superior de la clase <code>Main</"
 "code>:"
 
-#: C/image-viewer.vala.page:143(p)
+#: C/image-viewer.vala.page:144(p)
 msgid "Now replace the current constructor with the one below:"
 msgstr "Ahora reemplace el constructor actual con el siguiente:"
 
-#: C/image-viewer.vala.page:169(p)
+#: C/image-viewer.vala.page:170(p)
 msgid ""
 "The first two lines are the parts of the GUI that we will need to access "
 "from more than one method. We declare them up here so that they are "
@@ -8464,7 +9773,7 @@ msgstr ""
 "mÃs de un mÃtodo. Se declaran aquÃ, por lo que son accesibles mediante la "
 "clase en vez de serlo solamente en el mÃtodo en el que se crearon."
 
-#: C/image-viewer.vala.page:173(p)
+#: C/image-viewer.vala.page:174(p)
 msgid ""
 "The first lines of the constructor create the empty window. The next lines "
 "create the widgets we want to use: a button for opening up an image, the "
@@ -8475,7 +9784,7 @@ msgstr ""
 "imagen, el widget de la vista de la imagen en sà y la caja que se usarà como "
 "contenedor."
 
-#: C/image-viewer.vala.page:177(p)
+#: C/image-viewer.vala.page:178(p)
 msgid ""
 "The calls to <link href=\"http://unstable.valadoc.org/gtk+-2.0/Gtk.Box.";
 "pack_start.html\"><code>pack_start</code></link> add the two widgets to the "
@@ -8494,7 +9803,7 @@ msgstr ""
 "tener una distribuciÃn que se ve bien con diferentes tamaÃos de la ventana. "
 "A continuaciÃn, se aÃade la caja a la ventana."
 
-#: C/image-viewer.vala.page:184(p)
+#: C/image-viewer.vala.page:185(p)
 msgid ""
 "We need to define what happens when the user clicks on the button. GTK uses "
 "the concept of <em>signals</em>."
@@ -8502,7 +9811,7 @@ msgstr ""
 "Se debe definir quà pasa cuando el usuario pulsa en el botÃn. GTK+ usa el "
 "concepto de <em>seÃales</em>."
 
-#: C/image-viewer.vala.page:185(p)
+#: C/image-viewer.vala.page:186(p)
 msgid ""
 "When the <link href=\"http://valadoc.org/gtk+-3.0/Gtk.Button.html\";>button</"
 "link> is clicked, it fires the <link href=\"http://valadoc.org/gtk+-3.0/Gtk.";
@@ -8516,7 +9825,7 @@ msgstr ""
 "a alguna acciÃn (definida en un mÃtodo de un <link href=\"https://live.gnome.";
 "org/Vala/SignalsAndCallbacks\">retorno de la llamada</link>)."
 
-#: C/image-viewer.vala.page:188(p)
+#: C/image-viewer.vala.page:189(p)
 msgid ""
 "This is done using the <code>connect</code> method of the button's "
 "<code>clicked</code> signal, which in this case tells GTK to call the (yet "
@@ -8529,7 +9838,7 @@ msgstr ""
 "(todavÃa no definida) cuando se pulsa el botÃn. El <em>retorno de la "
 "llamada</em> se definirà en la siguiente secciÃn."
 
-#: C/image-viewer.vala.page:192(p)
+#: C/image-viewer.vala.page:193(p)
 msgid ""
 "In the callback, we need to access the <code>window</code> and <code>image</"
 "code> widgets, which is why we defined them as private members at the top of "
@@ -8539,7 +9848,7 @@ msgstr ""
 "code> y <code>image</code> que es por lo que se definen como miembros "
 "privados en la parte superior de la clase."
 
-#: C/image-viewer.vala.page:196(p)
+#: C/image-viewer.vala.page:197(p)
 msgid ""
 "The last <code>connect</code> call makes sure that the application exits "
 "when the window is closed. The code generated by Anjuta called an "
@@ -8555,12 +9864,12 @@ msgstr ""
 "simplemente conectando la seÃal <code>main_quit</code> directamente es mÃs "
 "fÃcil. Puede eliminar el mÃtodo <code>on_destroy</code>."
 
-#: C/image-viewer.vala.page:203(title) C/image-viewer.cpp.page:136(title)
-#: C/image-viewer.c.page:148(title)
+#: C/image-viewer.vala.page:204(title) C/image-viewer.cpp.page:136(title)
+#: C/image-viewer.c.page:149(title)
 msgid "Showing the image"
 msgstr "Mostrar la imagen"
 
-#: C/image-viewer.vala.page:204(p)
+#: C/image-viewer.vala.page:205(p)
 msgid ""
 "We will now define the signal handler for the <code>clicked</code> signal "
 "for the button we mentioned before. Add this code after the constructor:"
@@ -8568,11 +9877,11 @@ msgstr ""
 "Ahora se definirà el manejador de la seÃal <em>clicked</em> para el botÃn "
 "mencionado anteriormente. AÃada este cÃdigo despuÃs del constructor."
 
-#: C/image-viewer.vala.page:230(p)
+#: C/image-viewer.vala.page:231(p)
 msgid "This is a bit complicated, so let's break it down:"
 msgstr "Esto es un poco mÃs complicado, asà que se puede desglosar:"
 
-#: C/image-viewer.vala.page:231(p)
+#: C/image-viewer.vala.page:232(p)
 msgid ""
 "A signal handler is a type of callback method that is called when a signal "
 "is emitted. Here the terms are used interchangeably."
@@ -8580,7 +9889,7 @@ msgstr ""
 "Un manejador de seÃal es un tipo de mÃtodo de retorno de la llamada al que "
 "se llama cuando se emite la seÃal. Aquà se usan los tÃrminos intercambiados."
 
-#: C/image-viewer.vala.page:234(p)
+#: C/image-viewer.vala.page:235(p)
 msgid ""
 "The first argument of the callback method is always the widget that sent the "
 "signal. Sometimes other arguments related to the signal come after that, but "
@@ -8590,7 +9899,7 @@ msgstr ""
 "widget que envÃa la seÃal. A veces hay otros argumentos relativos a la seÃal "
 "que vienen despuÃs, pero <em>clicked</em> no tiene ninguno."
 
-#: C/image-viewer.vala.page:236(p)
+#: C/image-viewer.vala.page:237(p)
 msgid ""
 "In this case the <code>button</code> sent the <code>clicked</code> signal, "
 "which is connected to the <code>on_open_image</code> callback method:"
@@ -8599,7 +9908,7 @@ msgstr ""
 "que se conecta al mÃtodo del retorno de la llamada <code>on_open_image</"
 "code>:"
 
-#: C/image-viewer.vala.page:241(p)
+#: C/image-viewer.vala.page:242(p)
 msgid ""
 "The <code>on_open_image</code> method takes the button that emitted the "
 "signal as an argument:"
@@ -8607,7 +9916,7 @@ msgstr ""
 "El mÃtodo <code>on_open_image</code> toma como argumento el botÃn que ha "
 "emitido la seÃal:"
 
-#: C/image-viewer.vala.page:247(p)
+#: C/image-viewer.vala.page:248(p)
 msgid ""
 "The next interesting line is where the dialog for choosing the file is "
 "created. <link href=\"http://www.valadoc.org/gtk+-3.0/Gtk.FileChooserDialog.";
@@ -8621,7 +9930,7 @@ msgstr ""
 "tÃtulo del diÃlogo, la ventana padre del diÃlogo y varias opciones como el "
 "nÃmero de botones y sus valores correspondientes."
 
-#: C/image-viewer.vala.page:249(p)
+#: C/image-viewer.vala.page:250(p)
 msgid ""
 "Notice that we are using <link href=\"http://unstable.valadoc.org/gtk+-3.0/";
 "Gtk.Stock.html\"><em>stock</em></link> button names from Gtk, instead of "
@@ -8635,7 +9944,7 @@ msgstr ""
 "ventaja de usar nombres del almacÃn es que las etiquetas de los botones ya "
 "estarÃn traducidas en el idioma del usuario."
 
-#: C/image-viewer.vala.page:253(p)
+#: C/image-viewer.vala.page:254(p)
 msgid ""
 "The next two lines restrict the <gui>Open</gui> dialog to only display files "
 "which can be opened by <em>GtkImage</em>. GtkImage is a widget which "
@@ -8654,7 +9963,7 @@ msgstr ""
 "filtro. Por uÌltimo, se establece que este filtro sea el filtro del diaÌlogo "
 "<gui>Abrir</gui>."
 
-#: C/image-viewer.vala.page:258(p)
+#: C/image-viewer.vala.page:259(p)
 msgid ""
 "<link href=\"http://www.valadoc.org/gtk+-3.0/Gtk.Dialog.run.html";
 "\"><code>dialog.run</code></link> displays the <gui>Open</gui> dialog. The "
@@ -8673,7 +9982,7 @@ msgstr ""
 "usuario pulsara <gui>Cancel</gui>). La sentencia <code>switch</code> "
 "comprueba esto."
 
-#: C/image-viewer.vala.page:263(p)
+#: C/image-viewer.vala.page:264(p)
 msgid ""
 "Assuming that the user did click <gui>Open</gui>, the next lines get the "
 "filename of the image selected by the user, and tell the <code>GtkImage</"
@@ -8684,7 +9993,7 @@ msgstr ""
 "indican al widget <code>GtkImage</code> que cargue y muestre la imagen "
 "elegida."
 
-#: C/image-viewer.vala.page:266(p) C/image-viewer.py.page:213(p)
+#: C/image-viewer.vala.page:267(p) C/image-viewer.py.page:213(p)
 #: C/image-viewer.js.page:299(p)
 msgid ""
 "In the final line of this method, we destroy the <gui>Open</gui> dialog "
@@ -8693,13 +10002,13 @@ msgstr ""
 "En la Ãltima lÃnea de este mÃtodo se destruye el diÃlogo <gui>Abrir</gui> "
 "porque ya no se necesita."
 
-#: C/image-viewer.vala.page:267(p)
+#: C/image-viewer.vala.page:268(p)
 msgid "Destroying automatically hides the dialog."
 msgstr "Al destruir se oculta el diÃlogo automÃticamente."
 
-#: C/image-viewer.vala.page:274(p) C/image-viewer.cpp.page:205(p)
-#: C/image-viewer.c.page:216(p) C/guitar-tuner.vala.page:248(p)
-#: C/guitar-tuner.c.page:251(p)
+#: C/image-viewer.vala.page:275(p) C/image-viewer.cpp.page:205(p)
+#: C/image-viewer.c.page:217(p) C/guitar-tuner.vala.page:248(p)
+#: C/guitar-tuner.c.page:252(p)
 msgid ""
 "All of the code should now be ready to go. Click <guiseq><gui>Build</"
 "gui><gui>Build Project</gui></guiseq> to build everything again, and then "
@@ -8710,7 +10019,7 @@ msgstr ""
 "construir todo otra vez y pulse <guiseq><gui>Ejecutar</gui><gui>Ejecutar</"
 "gui></guiseq> para iniciar la aplicaciÃn."
 
-#: C/image-viewer.vala.page:276(p)
+#: C/image-viewer.vala.page:277(p)
 msgid ""
 "If you haven't already done so, choose the <file>src/image-viewer</file> "
 "application in the dialog that appears. Finally, hit <gui>Run</gui> and "
@@ -8720,7 +10029,7 @@ msgstr ""
 "file> en el diÃlogo que aparece. Finalmente, pulse <gui>Ejecutar</gui> y "
 "disfrute."
 
-#: C/image-viewer.vala.page:282(p)
+#: C/image-viewer.vala.page:283(p)
 msgid ""
 "If you run into problems with the tutorial, compare your code with this "
 "<link href=\"image-viewer/image-viewer.vala\">reference code</link>."
@@ -8728,24 +10037,24 @@ msgstr ""
 "Si tiene problemas con este tutorial, compare su coÌdigo con este <link href="
 "\"image-viewer/image-viewer.vala\">coÌdigo de referencia</link>."
 
-#: C/image-viewer.vala.page:286(title) C/image-viewer.py.page:230(title)
+#: C/image-viewer.vala.page:287(title) C/image-viewer.py.page:230(title)
 #: C/image-viewer.js.page:316(title) C/image-viewer.cpp.page:215(title)
-#: C/image-viewer.c.page:226(title) C/guitar-tuner.vala.page:264(title)
-#: C/guitar-tuner.py.page:233(title) C/guitar-tuner.cpp.page:268(title)
-#: C/guitar-tuner.c.page:261(title)
+#: C/image-viewer.c.page:227(title) C/guitar-tuner.vala.page:264(title)
+#: C/guitar-tuner.py.page:234(title) C/guitar-tuner.cpp.page:268(title)
+#: C/guitar-tuner.c.page:262(title)
 msgid "Next steps"
 msgstr "Siguientes pasos"
 
-#: C/image-viewer.vala.page:287(p) C/image-viewer.py.page:231(p)
+#: C/image-viewer.vala.page:288(p) C/image-viewer.py.page:231(p)
 #: C/image-viewer.js.page:317(p) C/image-viewer.cpp.page:216(p)
-#: C/image-viewer.c.page:227(p) C/guitar-tuner.vala.page:265(p)
-#: C/guitar-tuner.py.page:234(p) C/guitar-tuner.cpp.page:269(p)
-#: C/guitar-tuner.c.page:262(p)
+#: C/image-viewer.c.page:228(p) C/guitar-tuner.vala.page:265(p)
+#: C/guitar-tuner.py.page:235(p) C/guitar-tuner.cpp.page:269(p)
+#: C/guitar-tuner.c.page:263(p)
 msgid "Here are some ideas for how you can extend this simple demonstration:"
 msgstr ""
 "Aquà hay algunas ideas sobre cÃmo puede extender esta sencilla demostraciÃn:"
 
-#: C/image-viewer.vala.page:289(p)
+#: C/image-viewer.vala.page:290(p)
 msgid ""
 "Set it up so that when the window opens it is of a specific size to start "
 "off with. For example, 200 X 200 pixels."
@@ -8753,9 +10062,9 @@ msgstr ""
 "ConfigÃrela de tal manera que la ventana se abra con un tamaÃo determinado. "
 "Por ejemplo, 200x200 pÃxeles."
 
-#: C/image-viewer.vala.page:291(p) C/image-viewer.py.page:234(p)
+#: C/image-viewer.vala.page:292(p) C/image-viewer.py.page:234(p)
 #: C/image-viewer.js.page:320(p) C/image-viewer.cpp.page:219(p)
-#: C/image-viewer.c.page:230(p)
+#: C/image-viewer.c.page:231(p)
 msgid ""
 "Have the user select a directory rather than a file, and provide controls to "
 "cycle through all of the images in a directory."
@@ -8763,9 +10072,9 @@ msgstr ""
 "Haga que el usuario selecciona una carpeta en vez de un archivo, y "
 "proporcione controles para moverse por todas las imÃgenes de una carpeta."
 
-#: C/image-viewer.vala.page:294(p) C/image-viewer.py.page:237(p)
+#: C/image-viewer.vala.page:295(p) C/image-viewer.py.page:237(p)
 #: C/image-viewer.js.page:323(p) C/image-viewer.cpp.page:222(p)
-#: C/image-viewer.c.page:233(p)
+#: C/image-viewer.c.page:234(p)
 msgid ""
 "Apply random filters and effects to the image when it is loaded and allow "
 "the user to save the modified image."
@@ -8773,9 +10082,9 @@ msgstr ""
 "Aplicar filtros aleatorios y efectos a la imagen cuando se carga y permitir "
 "al usuario guardar la imagen modificada."
 
-#: C/image-viewer.vala.page:295(p) C/image-viewer.py.page:238(p)
+#: C/image-viewer.vala.page:296(p) C/image-viewer.py.page:238(p)
 #: C/image-viewer.js.page:324(p) C/image-viewer.cpp.page:223(p)
-#: C/image-viewer.c.page:234(p)
+#: C/image-viewer.c.page:235(p)
 msgid ""
 "<link href=\"http://www.gegl.org/api.html\";>GEGL</link> provides powerful "
 "image manipulation capabilities."
@@ -8783,9 +10092,9 @@ msgstr ""
 "<link href=\"http://www.gegl.org/api.html\";>GEGL</link> proporciona la "
 "capacidad de manipular imÃgenes de manera potente."
 
-#: C/image-viewer.vala.page:298(p) C/image-viewer.py.page:241(p)
+#: C/image-viewer.vala.page:299(p) C/image-viewer.py.page:241(p)
 #: C/image-viewer.js.page:327(p) C/image-viewer.cpp.page:226(p)
-#: C/image-viewer.c.page:237(p)
+#: C/image-viewer.c.page:238(p)
 msgid ""
 "Allow the user to load images from network shares, scanners, and other more "
 "complicated sources."
@@ -8793,9 +10102,9 @@ msgstr ""
 "Permitir al usuario cargar imÃgenes desde recursos de red compartidos, "
 "escÃneres y otras fuentes mÃs complicadas."
 
-#: C/image-viewer.vala.page:299(p) C/image-viewer.py.page:242(p)
+#: C/image-viewer.vala.page:300(p) C/image-viewer.py.page:242(p)
 #: C/image-viewer.js.page:328(p) C/image-viewer.cpp.page:227(p)
-#: C/image-viewer.c.page:238(p)
+#: C/image-viewer.c.page:239(p)
 msgid ""
 "You can use <link href=\"http://library.gnome.org/devel/gio/unstable/\";>GIO</"
 "link> to handle network file tranfers and the like, and <link href=\"http://";
@@ -8807,6 +10116,12 @@ msgstr ""
 "href=\"http://library.gnome.org/devel/gnome-scan/unstable/\";>GNOME Scan</"
 "link> para gestionar el escaneado."
 
+#: C/image-viewer.py.page:7(title)
+#, fuzzy
+#| msgid "Image Viewer"
+msgid "Image Viewer (Python)"
+msgstr "Visor de imÃgenes"
+
 #: C/image-viewer.py.page:10(desc)
 msgid ""
 "A little bit more than a simple \"Hello world\" application - write an image "
@@ -9210,7 +10525,7 @@ msgstr ""
 "<code>__init__</code>:"
 
 #: C/image-viewer.py.page:192(p) C/image-viewer.js.page:278(p)
-#: C/image-viewer.cpp.page:172(p) C/image-viewer.c.page:185(p)
+#: C/image-viewer.cpp.page:172(p) C/image-viewer.c.page:186(p)
 msgid ""
 "This is a bit more complicated than anything we've attempted so far, so "
 "let's break it down:"
@@ -9247,7 +10562,7 @@ msgstr ""
 "el botÃn: 0 para <gui>Cancelar</gui> y 1 para <gui>Abrir</gui>."
 
 #: C/image-viewer.py.page:199(p) C/image-viewer.js.page:285(p)
-#: C/image-viewer.cpp.page:180(p) C/image-viewer.c.page:197(p)
+#: C/image-viewer.cpp.page:180(p) C/image-viewer.c.page:198(p)
 msgid ""
 "Notice that we are using <em>stock</em> button names from Gtk, instead of "
 "manually typing \"Cancel\" or \"Open\". The advantage of using stock names "
@@ -9255,9 +10570,9 @@ msgid ""
 "language."
 msgstr ""
 "Note que se està usando nombres de botones del <em>almacÃn</em> de GTK, en "
-"lugar de escribir manualmente ÂCancelar o ÂAbrirÂ. La ventaja de usar nombres "
-"del almacÃn es que las etiquetas de los botones ya estarÃn traducidas en el "
-"idioma del usuario."
+"lugar de escribir manualmente ÂCancelar o ÂAbrirÂ. La ventaja de usar "
+"nombres del almacÃn es que las etiquetas de los botones ya estarÃn "
+"traducidas en el idioma del usuario."
 
 #: C/image-viewer.py.page:202(p) C/image-viewer.js.page:288(p)
 msgid ""
@@ -9268,7 +10583,8 @@ msgid ""
 msgstr ""
 "<code>set_default_response</code> determina quà botÃn se activarà si el "
 "usuario hace una doble pulsaciÃn o presiona <key>Intro</key>. En este caso, "
-"se usa el botÃn <gui>Abrir</gui> como predeterminado (que tiene el valor Â1Â)."
+"se usa el botÃn <gui>Abrir</gui> como predeterminado (que tiene el valor "
+"Â1Â)."
 
 #: C/image-viewer.py.page:205(p) C/image-viewer.js.page:291(p)
 msgid ""
@@ -9330,6 +10646,12 @@ msgstr ""
 "Si tiene problemas con este tutorial, compare su coÌdigo con este <link href="
 "\"image-viewer/image-viewer.py\">coÌdigo de referencia</link>."
 
+#: C/image-viewer.js.page:7(title)
+#, fuzzy
+#| msgid "Classes in JavaScript"
+msgid "Image Viewer (JavaScript)"
+msgstr "Clases en JavaScript"
+
 #: C/image-viewer.js.page:10(desc)
 msgid ""
 "A little bit more than a simple \"Hello world\" application - write an image "
@@ -9892,7 +11214,7 @@ msgstr ""
 msgid "A little bit more than a simple \"Hello world\" GTKmm application."
 msgstr "Algo mÃs que una sencilla aplicaciÃn ÂHola mundo en GTKmm."
 
-#: C/image-viewer.cpp.page:21(title) C/image-viewer.c.page:22(title)
+#: C/image-viewer.cpp.page:21(title) C/image-viewer.c.page:23(title)
 msgid "Image Viewer"
 msgstr "Visor de imÃgenes"
 
@@ -9977,8 +11299,8 @@ msgstr ""
 "argumento a esta funciÃn, la aplicaciÃn se cerrarà automÃticamente cuando se "
 "cierre la ventana."
 
-#: C/image-viewer.cpp.page:77(p) C/image-viewer.c.page:79(p)
-#: C/guitar-tuner.cpp.page:79(p) C/guitar-tuner.c.page:84(p)
+#: C/image-viewer.cpp.page:77(p) C/image-viewer.c.page:80(p)
+#: C/guitar-tuner.cpp.page:79(p) C/guitar-tuner.c.page:85(p)
 msgid ""
 "Press <gui>Execute</gui> on the next window that appears to configure a "
 "debug build. You only need to do this once, for the first build."
@@ -10147,7 +11469,7 @@ msgstr ""
 "Asumiendo que el usuario pulsà <gui>Abrir</gui>, la siguiente lÃnea carga el "
 "archivo en la <code>Gtk::Image</code>, por lo que se muestra."
 
-#: C/image-viewer.cpp.page:206(p) C/image-viewer.c.page:217(p)
+#: C/image-viewer.cpp.page:206(p) C/image-viewer.c.page:218(p)
 msgid ""
 "If you haven't already done so, choose the <file>Debug/src/image-viewer</"
 "file> application in the dialog that appears. Finally, hit <gui>Run</gui> "
@@ -10165,15 +11487,21 @@ msgstr ""
 "Si tiene problemas con este tutorial, compare su coÌdigo con este <link href="
 "\"image-viewer/image-viewer.cc\">coÌdigo de referencia</link>."
 
-#: C/image-viewer.c.page:27(p)
+#: C/image-viewer.c.page:7(title)
+#, fuzzy
+#| msgid "Image Viewer"
+msgid "Image Viewer (C)"
+msgstr "Visor de imÃgenes"
+
+#: C/image-viewer.c.page:28(p)
 msgid "Some basic concepts of C/GObject programming"
 msgstr "Algunos conceptos bÃsicos de programaciÃn en C/GObject"
 
-#: C/image-viewer.c.page:28(p)
+#: C/image-viewer.c.page:29(p)
 msgid "How to write a Gtk application in C"
 msgstr "CoÌmo escribir una aplicacioÌn GTK en C"
 
-#: C/image-viewer.c.page:42(p)
+#: C/image-viewer.c.page:43(p)
 msgid ""
 "Choose <gui>Gtk+ (Simple)</gui> from the <gui>C</gui> tab, click "
 "<gui>Continue</gui>, and fill out your details on the next few pages. Use "
@@ -10183,7 +11511,7 @@ msgstr ""
 "<gui>Continuar</gui>, y rellene los detalles en las siguientes pÃginas. Use "
 "<file>visor-imagenes</file> como nombre del proyecto y de la carpeta."
 
-#: C/image-viewer.c.page:45(p)
+#: C/image-viewer.c.page:46(p)
 msgid ""
 "Make sure that <gui>Use GtkBuilder for user interface</gui> is disabled as "
 "we will create the UI manually in this tutorial. Check the <link xref="
@@ -10195,7 +11523,7 @@ msgstr ""
 "Revise el tutorial del <link xref=\"guitar-tuner.c\">afinador de guitarra</"
 "link> si quiere aprender a usar el constructor de interfaces."
 
-#: C/image-viewer.c.page:60(p)
+#: C/image-viewer.c.page:61(p)
 msgid ""
 "C is a rather verbose language, so don't be surprised that the file contains "
 "quite a lot of code. Most of it is template code. It loads an (empty) window "
@@ -10207,7 +11535,7 @@ msgstr ""
 "Carga una ventana (vacÃa) y se muestra. A continuaciÃn se ofrecen mÃs "
 "detalles; omita esta lista si entiende los conceptos bÃsicos:"
 
-#: C/image-viewer.c.page:64(p) C/guitar-tuner.c.page:69(p)
+#: C/image-viewer.c.page:65(p) C/guitar-tuner.c.page:70(p)
 msgid ""
 "The three <code>#include</code> lines at the top include the <code>config</"
 "code> (useful autoconf build defines), <code>gtk</code> (user interface) and "
@@ -10220,7 +11548,7 @@ msgstr ""
 "(internacionalizaciÃn). Las funciones de estas bibliotecas se usan en el "
 "resto del cÃdigo."
 
-#: C/image-viewer.c.page:67(p)
+#: C/image-viewer.c.page:68(p)
 msgid ""
 "The <code>create_window</code> function creates a new (empty) window and "
 "connects a signal to exit the application when that window is closed."
@@ -10228,7 +11556,7 @@ msgstr ""
 "La funciÃn <code>create_window</code> crea una ventana (vacÃa) nueva y "
 "conecta una seÃal para salir de la aplicaciÃn cuando se cierra esa ventana."
 
-#: C/image-viewer.c.page:71(p) C/guitar-tuner.c.page:76(p)
+#: C/image-viewer.c.page:72(p) C/guitar-tuner.c.page:77(p)
 msgid ""
 "The <code>main</code> function is run by default when you start a C "
 "application. It calls a few functions which set up and then run the "
@@ -10242,7 +11570,7 @@ msgstr ""
 "principal de GTK+, que ejecuta la interfaz de usuario y comienza a escuchar "
 "eventos (como pulsaciones del ratÃn y del teclado)."
 
-#: C/image-viewer.c.page:74(p) C/guitar-tuner.c.page:79(p)
+#: C/image-viewer.c.page:75(p) C/guitar-tuner.c.page:80(p)
 msgid ""
 "The <code>ENABLE_NLS</code> conditional definition sets up <code>gettext</"
 "code>, which is a framework for translating applications. These functions "
@@ -10253,7 +11581,7 @@ msgstr ""
 "funciones especifican cÃmo deben manejar su aplicaciÃn las herramientas de "
 "traducciÃn cuando las ejecuta."
 
-#: C/image-viewer.c.page:84(p)
+#: C/image-viewer.c.page:85(p)
 msgid ""
 "Now we will bring life into the empty window. GTK organizes the user "
 "interface with <code>GtkContainer</code>s that can contain other widgets and "
@@ -10265,7 +11593,7 @@ msgstr ""
 "incluso otros contenedores. Aquà se usarà el contenedor mÃs sencillo "
 "disponible, una <code>GtkBox</code>:"
 
-#: C/image-viewer.c.page:122(p)
+#: C/image-viewer.c.page:123(p)
 msgid ""
 "The first lines create the widgets we want to use: a button for opening up "
 "an image, the image view widget itself and the box we will use as a "
@@ -10279,7 +11607,7 @@ msgstr ""
 "de tipos dinÃmicos y conversiones de tipos necesarias, ya que C no soporta "
 "orientaciÃn a objetos."
 
-#: C/image-viewer.c.page:127(p)
+#: C/image-viewer.c.page:128(p)
 msgid ""
 "The calls to <code>gtk_box_pack_start</code> add the two widgets to the box "
 "and define their behaviour. The image will expand into any available space "
@@ -10296,7 +11624,7 @@ msgstr ""
 "tener una distribuciÃn que se ve bien con diferentes tamaÃos de la ventana. "
 "A continuaciÃn, se aÃade la caja a la ventana."
 
-#: C/image-viewer.c.page:133(p)
+#: C/image-viewer.c.page:134(p)
 msgid ""
 "We need to define what happens when the user clicks on the button. GTK uses "
 "the concept of <em>signals</em>. When the button is clicked, it fires the "
@@ -10314,7 +11642,7 @@ msgstr ""
 "la imagen como un argumento adicional a la funcioÌn. El <em>retorno de la "
 "llamada</em> se definiraÌ en la siguiente seccioÌn."
 
-#: C/image-viewer.c.page:138(p)
+#: C/image-viewer.c.page:139(p)
 msgid ""
 "The last <code>g_signal_connect()</code> makes sure that the application "
 "exits when the window is closed."
@@ -10322,7 +11650,7 @@ msgstr ""
 "La Ãltima <code>g_signal_connect()</code> se asegura de que la aplicaciÃn "
 "finaliza al cerrar la ventana."
 
-#: C/image-viewer.c.page:141(p)
+#: C/image-viewer.c.page:142(p)
 msgid ""
 "As a last step, make sure to replace the <code>gtk_widget_show</code> call "
 "in the <code>main()</code> function by <code>gtk_widget_show_all()</code> to "
@@ -10332,7 +11660,7 @@ msgstr ""
 "code>, en la funciÃn <code>main()</code>, por <code>gtk_widget_show_all()</"
 "code>, para mostrar todos los widgets que contiene la ventana."
 
-#: C/image-viewer.c.page:149(p)
+#: C/image-viewer.c.page:150(p)
 msgid ""
 "We will now define the signal handler for the <em>clicked</em> signal or the "
 "button we mentioned before. Add this code before the <code>create_window()</"
@@ -10342,7 +11670,7 @@ msgstr ""
 "el botÃn mencionado anteriormente. AÃada este cÃdigo antes del mÃtodo "
 "<code>create_window()</code>."
 
-#: C/image-viewer.c.page:187(p)
+#: C/image-viewer.c.page:188(p)
 msgid ""
 "The first argument of the signal is always the widget that sent the signal. "
 "Sometimes other arguments related to the signal come after that, but "
@@ -10356,7 +11684,7 @@ msgstr ""
 "<code>user_data</code>, que es un puntero a los datos que se han pasado al "
 "conectar la seÃal. En este caso, es el objeto <code>GtkImage</code>."
 
-#: C/image-viewer.c.page:193(p)
+#: C/image-viewer.c.page:194(p)
 msgid ""
 "The next interesting line is where the dialog for choosing the file is "
 "created using <code>gtk_file_chooser_dialog_new</code>. The function takes "
@@ -10368,7 +11696,7 @@ msgstr ""
 "el tÃtulo del diÃlogo, la ventana padre del diÃlogo y varias opciones como "
 "el nÃmero de botones y sus valores correspondientes."
 
-#: C/image-viewer.c.page:200(p)
+#: C/image-viewer.c.page:201(p)
 msgid ""
 "The next two lines restrict the <gui>Open</gui> dialog to only display files "
 "which can be opened by GtkImage. A filter object is created first; we then "
@@ -10383,7 +11711,7 @@ msgstr ""
 "como PNG y JPEG) al filtro. Por uÌltimo, se establece que este filtro sea el "
 "filtro del diaÌlogo <gui>Abrir</gui>."
 
-#: C/image-viewer.c.page:203(p)
+#: C/image-viewer.c.page:204(p)
 msgid ""
 "<code>gtk_dialog_run</code> displays the <gui>Open</gui> dialog. The dialog "
 "will wait for the user to choose an image; when they do, "
@@ -10397,7 +11725,7 @@ msgstr ""
 "code> (devolverÃa <code>GTK_RESPONSE_CANCEL</code> si el usuario pulsara "
 "<gui>Cancelar</gui>). La sentencia <code>switch</code> comprueba esto."
 
-#: C/image-viewer.c.page:205(p)
+#: C/image-viewer.c.page:206(p)
 msgid ""
 "Assuming that the user did click <gui>Open</gui>, the next line sets the "
 "<code>file</code> property of the GtkImage to the filename of the image "
@@ -10409,7 +11737,7 @@ msgstr ""
 "archivo de imagen seleccionado por el usuario. La ÂGtkImage cargarà y "
 "mostrarà la imagen elegida."
 
-#: C/image-viewer.c.page:208(p)
+#: C/image-viewer.c.page:209(p)
 msgid ""
 "In the final line of this method, we destroy the <gui>Open</gui> dialog "
 "because we don't need it any more. Destroying automatically hides the dialog."
@@ -10418,7 +11746,7 @@ msgstr ""
 "porque ya no se necesita mÃs. El diÃlogo se oculta automÃticamente al "
 "destruirlo."
 
-#: C/image-viewer.c.page:222(p)
+#: C/image-viewer.c.page:223(p)
 msgid ""
 "If you run into problems with the tutorial, compare your code with this "
 "<link href=\"image-viewer/image-viewer.c\">reference code</link>."
@@ -10428,25 +11756,32 @@ msgstr ""
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/image.vala.page:20(None) C/image.py.page:20(None) C/image.c.page:20(None)
+#: C/image.vala.page:21(None) C/image.py.page:21(None)
+#: C/image.js.page:20(None) C/image.c.page:21(None)
 msgid "@@image: 'media/image.png'; md5=9416aa74d9d6a857783f7a36338e7a02"
 msgstr "@@image: 'media/image.png'; md5=9416aa74d9d6a857783f7a36338e7a02"
 
-#: C/image.vala.page:16(desc) C/image.py.page:16(desc) C/image.c.page:16(desc)
+#: C/image.vala.page:7(title)
+msgid "Image (Vala)"
+msgstr "Imagen (Vala)"
+
+#: C/image.vala.page:17(desc) C/image.py.page:17(desc)
+#: C/image.js.page:16(desc) C/image.c.page:17(desc)
 msgid "A widget displaying an image"
 msgstr "Un widget que muestra una imagen"
 
-#: C/image.vala.page:19(title) C/image.py.page:19(title)
-#: C/image.c.page:19(title)
+#: C/image.vala.page:20(title) C/image.py.page:20(title)
+#: C/image.js.page:19(title) C/image.c.page:20(title)
 msgid "Image"
 msgstr "Image"
 
-#: C/image.vala.page:21(p) C/image.py.page:21(p) C/image.c.page:21(p)
+#: C/image.vala.page:22(p) C/image.py.page:22(p) C/image.js.page:21(p)
+#: C/image.c.page:22(p)
 msgid "This GtkApplication displays an image file from the current directory."
 msgstr ""
 "Esta GtkApplication muestra una archivo de imagen de la carpeta actual."
 
-#: C/image.vala.page:22(p) C/image.c.page:22(p)
+#: C/image.vala.page:23(p) C/image.js.page:22(p) C/image.c.page:23(p)
 msgid ""
 "If the image file isn't loaded successfully, the image will contain a "
 "\"broken image\" icon. The <file>filename.png</file> needs to be in the "
@@ -10456,30 +11791,36 @@ msgstr ""
 "icono de Âimagen rota El archivo <file>nombre_archivo.png</file> debe estar "
 "en la carpeta actual para que este cÃdigo funcione. Use su imagen favorita."
 
-#: C/image.vala.page:31(link) C/GtkApplicationWindow.py.page:52(link)
-#: C/GtkApplicationWindow.c.page:29(link) C/checkbutton.py.page:46(link)
-#: C/aboutdialog.py.page:45(link)
+#: C/image.vala.page:32(link) C/GtkApplicationWindow.py.page:53(link)
+#: C/GtkApplicationWindow.c.page:30(link) C/grid.py.page:56(link)
+#: C/checkbutton.py.page:47(link) C/aboutdialog.py.page:46(link)
 msgid "GtkApplicationWindow"
 msgstr "GtkApplicationWindow"
 
-#: C/image.py.page:23(p)
+#: C/image.py.page:7(title)
+#, fuzzy
+#| msgid "Python"
+msgid "Image (Python)"
+msgstr "Python"
+
+#: C/image.py.page:24(p)
 msgid ""
 "If the image file is not loaded successfully, the image will contain a "
 "\"broken image\" icon. The <file>filename.png</file> needs to be in the "
 "current directory for this code to work."
 msgstr ""
 "Si el archivo de imagen no se carga correctamente, la imagen tendrà un icono "
-"de Âimagen rotaÂ. El archivo <file>nombre_archivo.png</file> debe estar en la "
-"carpeta actual para que este cÃdigo funcione."
+"de Âimagen rotaÂ. El archivo <file>nombre_archivo.png</file> debe estar en "
+"la carpeta actual para que este cÃdigo funcione."
 
-#: C/image.py.page:34(p)
+#: C/image.py.page:35(p)
 msgid ""
 "Another way to obtain what we have in the example is to create the image as "
 "an instance of another class and add it to the instance of <code>MyWindow</"
 "code> in the <code>do_activate(self)</code> method:"
 msgstr ""
 
-#: C/image.py.page:35(code)
+#: C/image.py.page:36(code)
 #, no-wrap
 msgid ""
 "\n"
@@ -10532,37 +11873,37 @@ msgstr ""
 "        # show the window and everything on it\n"
 "        win.show_all()"
 
-#: C/image.py.page:62(title)
+#: C/image.py.page:63(title)
 msgid "Useful methods for an Image widget"
 msgstr "MÃtodos Ãtiles para un widget ÂImageÂ"
 
-#: C/image.py.page:65(p)
+#: C/image.py.page:66(p)
 msgid ""
 "To set a stock icon as image, you can use <code>set_from_stock(stock_id, "
 "size)</code> where <code>stock_id</code> is a stock icon such as <code>Gtk."
 "STOCK_ABOUT</code> (more can be found at <link href=\"http://developer.gnome.";
-"org/gtk3/3.4/gtk3-Stock-Items\">Stock Items</link>, with the caveat that "
-"they should be modified as above) and <code>size</code> is a stock icon size "
-"to be chosen from <code>Gtk.IconSize.INVALID, Gtk.IconSize.MENU, Gtk."
+"org/gtk3/unstable/gtk3-Stock-Items\">Stock Items</link>, with the caveat "
+"that they should be modified as above) and <code>size</code> is a stock icon "
+"size to be chosen from <code>Gtk.IconSize.INVALID, Gtk.IconSize.MENU, Gtk."
 "IconSize.SMALL_TOOLBAR, Gtk.IconSize.LARGE_TOOLBAR, Gtk.IconSize.BUTTON, Gtk."
 "IconSize.DND, Gtk.IconSize.DIALOG</code>."
 msgstr ""
 
-#: C/image.py.page:66(p)
+#: C/image.py.page:67(p)
 msgid ""
 "You can also use <code>set_from_icon_name(icon_name, size)</code>, where "
 "<code>icon_name</code> is a stock icon name such as <code>\"gtk-about\"</"
 "code> (more can be found as above) and <code>size</code> is as above."
 msgstr ""
 
-#: C/image.py.page:67(p)
+#: C/image.py.page:68(p)
 msgid ""
 "To load an image over a network use <code>set_from_pixbuf(pixbuf)</code>, "
 "where <code>pixbuf</code> is a <link href=\"http://developer.gnome.org/gdk-";
 "pixbuf/unstable//index.html\">GdkPixbuf</link>."
 msgstr ""
 
-#: C/image.py.page:68(code)
+#: C/image.py.page:69(code)
 #, no-wrap
 msgid ""
 "\n"
@@ -10609,410 +11950,886 @@ msgstr ""
 "        # add the image to the window\n"
 "        self.add(image)"
 
-#: C/image.py.page:89(p)
+#: C/image.py.page:90(p)
 msgid ""
 "If <code>preserve_aspect_ratio=True</code> we can use "
 "<code>new_from_file_at_size(filename, width, height)</code>. If <code>width</"
 "code> or <code>height</code> is <code>-1</code>, it is not constrained."
 msgstr ""
 
-#: C/image.py.page:90(p)
+#: C/image.py.page:91(p)
 msgid ""
 "For loading from an input stream, see <code>new_from_stream()</code> and "
 "<code>new_from_stream_at_scale()</code> in the documentation"
 msgstr ""
 
-#: C/helloworldautotools.js.page:18(title)
-msgid "Autotools files for your Hello World application"
-msgstr "Archivos de Autotools para su aplicaciÃn ÂHolaMundoÂ"
-
-#: C/helloworldautotools.js.page:19(p)
-msgid ""
-"To make your application truly a part of the GNOME 3 system you need to "
-"install it with the help of autotools. The autotools build will install all "
-"the necessary files to all the right places."
-msgstr ""
-"Para que su aplicaciÃn forme parte realmente del sistema GNOME 3 debe "
-"instalarla con la ayuda de autotools. La construcciÃn autotools instalarà "
-"todos los archivos necesarios en las ubicaciones correctas."
+#: C/image.js.page:6(title)
+#, fuzzy
+#| msgid "JavaScript"
+msgid "Image (JavaScript)"
+msgstr "JavaScript"
 
-#: C/helloworldautotools.js.page:20(p)
-msgid "For this you need to have the following files:"
-msgstr "Para esto deberà tener los siguientes archivos:"
+#: C/image.c.page:7(title)
+#, fuzzy
+#| msgid "Image"
+msgid "Image (C)"
+msgstr "Image"
 
-#: C/helloworldautotools.js.page:25(p)
-msgid "README"
-msgstr "README"
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/helloWorld.js.page:27(None)
+#| msgid ""
+#| "@@image: 'media/helloWorldJs.png'; md5=4c88a27211dfd1b33e504c9f78602f2d"
+msgid "@@image: 'media/helloWorld.png'; md5=4c88a27211dfd1b33e504c9f78602f2d"
+msgstr "@@image: 'media/helloWorld.png'; md5=4c88a27211dfd1b33e504c9f78602f2d"
 
-#: C/helloworldautotools.js.page:32(p)
-msgid "autogen.sh file will install"
-msgstr "el archivo autogen.sh instalarÃ"
+#: C/helloWorld.js.page:8(title)
+#, fuzzy
+#| msgid "Hello World"
+msgid "Hello World (JavaScript)"
+msgstr "Hola mundo"
 
-#: C/helloworldautotools.js.page:33(p)
-msgid "After the autogen.sh file is ready and saved run"
-msgstr "Una vez que està listo el archivo autogen.sh, guÃrdelo y ejecute"
+#: C/helloWorld.js.page:23(desc)
+msgid "A basic \"hello, world\" application"
+msgstr "Una aplicaciÃn ÂHola mundo bÃsica"
 
-#: C/helloworldautotools.js.page:33(input)
-msgid "chmod +x autogen.sh"
-msgstr "chmod +x autogen.sh"
+#: C/helloWorld.js.page:26(title)
+msgid "Hello World"
+msgstr "Hola mundo"
 
-#: C/helloworldautotools.js.page:33(p)
-msgid "to give the file the necessary rights to install."
-msgstr "para darle al archivos los permisos necesarios para ejecutarse."
+#: C/helloWorld.js.page:29(p)
+msgid "This tutorial will demonstrate how to:"
+msgstr ""
 
-#: C/helloworldautotools.js.page:52(p)
-msgid "README: Information user should read first."
-msgstr "README: informaciÃn que los usuarios deben leer primero"
+#: C/helloWorld.js.page:31(p)
+#, fuzzy
+#| msgid "This a basic Hello World application done with JavaScript and GTK+."
+msgid "create a small \"Hello, World\" application using JavaScript and GTK+"
+msgstr ""
+"Esto es una aplicaciÃn ÂHola mundo bÃsica hecha con JavaScript y GTK+."
 
-#: C/helloworldautotools.js.page:53(p)
-msgid ""
-"When you have all the 3 files with correct information and rights run these "
-"commands in terminal:"
+#: C/helloWorld.js.page:32(p)
+msgid "make the <file>.desktop</file> file"
 msgstr ""
-"Cuando tenga la informaciÃn y los permisos correctos en los 3 archivos, "
-"ejecute estos comandos en una terminal:"
 
-#: C/helloworldautotools.js.page:55(input)
-msgid "./autogen.sh"
-msgstr "./autogen.sh"
+#: C/helloWorld.js.page:33(p)
+msgid "how to set up the build system"
+msgstr ""
 
-#: C/helloworldautotools.js.page:56(input)
-msgid "./configure --prefix=/usr/local"
-msgstr "./configure --prefix=/usr/local"
+#: C/helloWorld.js.page:41(title)
+msgid "Create the HelloWorld program"
+msgstr ""
 
-#: C/helloworldautotools.js.page:57(input)
-msgid "sudo make install"
-msgstr "sudo make install"
+#: C/helloWorld.js.page:46(p)
+msgid "This needs to be the first line of your script:"
+msgstr ""
 
-#. When image changes, this message will be marked fuzzy or untranslated for you.
-#. It doesn't matter what you translate it to: it's not used at all.
-#: C/helloWorld.js.page:32(None)
-msgid "@@image: 'media/helloWorldJs.png'; md5=4c88a27211dfd1b33e504c9f78602f2d"
+#: C/helloWorld.js.page:48(p)
+msgid ""
+"It tells the script to use <link href=\"https://live.gnome.org/Gjs/\";>Gjs</"
+"link>. Gjs is a JavaScript binding for GNOME."
 msgstr ""
-"@@image: 'media/helloWorldJs.png'; md5=4c88a27211dfd1b33e504c9f78602f2d"
 
-#: C/helloWorld.js.page:15(desc)
-msgid "A basic \"hello, world\" application"
-msgstr "Una aplicaciÃn ÂHola mundo bÃsica"
-
-#: C/helloWorld.js.page:17(title)
-msgid "Hello World"
-msgstr "Hola mundo"
-
-#: C/helloWorld.js.page:20(p)
-msgid ""
-"In this tutorial we'll construct a small application, Hello World, using "
-"JavaScript and GTK+. To write and run all the code examples yourself, you "
-"need an editor to write code in, Terminal, and GNOME 3 or higher installed "
-"into your computer. In this tutorial we'll go through the following parts:"
-msgstr ""
-"En este tutorial se construirà una pequeÃa aplicaciÃn, ÂHola mundoÂ, usando "
-"JavaScript y GTK+. Para escribirla y poder ejecutar el cÃdigo, necesitarà un "
-"editor en el que escribir el cÃdigo, una terminal y GNOME 3 o superior "
-"instalado en su equipo. Este tutorial consta de las siguientes partes."
-
-#: C/helloWorld.js.page:25(link) C/helloWorld.js.page:64(title)
-msgid "Label for the window"
-msgstr "Etiqueta para la ventana"
-
-#: C/helloWorld.js.page:26(link) C/helloWorld.js.page:80(title)
-msgid "helloWorld.js"
-msgstr "helloWorld.js"
-
-#: C/helloWorld.js.page:27(link) C/guitar-tuner.js.page:31(link)
-#: C/guitar-tuner.js.page:228(title)
-msgid "Running the application form Terminal"
-msgstr "Ejecutar la aplicaciÃn desde la terminal"
-
-#: C/helloWorld.js.page:31(p)
-msgid "After taking this tutorial, you should see this on your screen:"
-msgstr "DespuÃs de seguir este tutorial, deberÃa ver esto en su pantalla:"
-
-#: C/helloWorld.js.page:37(p)
-msgid ""
-"This needs to be the first line of your script, because it tells GNOME that "
-"we'll be using Gjs -- the JavaScript bindings for GNOME -- in order to run "
-"it."
-msgstr ""
-"Esto se debe hacer en la primera lÃnea del script, ya que indica a GNOME que "
-"se està usando Gjs (las vinculaciones de JavaScript para GNOME) para que "
-"puede ejecutarlo."
-
-#: C/helloWorld.js.page:44(p)
+#: C/helloWorld.js.page:55(p)
+#, fuzzy
+#| msgid ""
+#| "In order for our script to work with GNOME, we need to import GNOME "
+#| "libraries via GObject Introspection. In this case, we're importing GTK+, "
+#| "the most basic library that contains the graphical widgets used to make "
+#| "GNOME apps."
 msgid ""
 "In order for our script to work with GNOME, we need to import GNOME "
-"libraries via GObject Introspection. In this case, we're importing GTK+, the "
-"most basic library that contains the graphical widgets used to make GNOME "
-"apps."
+"libraries via GObject Introspection. Here we import the language bindings "
+"and GTK+, the library which contains the graphical widgets used to make "
+"GNOME applications."
 msgstr ""
 "Para que su script funcione con GNOME, se deben importar las bibliotecas de "
 "GNOME mediante introspecciÃn de GObject. En este caso, se està importando GTK"
 "+, la biblioteca mÃs importante que con tiene los widgets grÃficos usados "
 "para crear aplicaciones de GNOME."
 
-#: C/helloWorld.js.page:60(p)
+#: C/helloWorld.js.page:91(p)
+msgid ""
+"GtkApplication initializes Gtk+. It also connects the <gui>x</gui> button "
+"that's automatically generated along with the window to the \"destroy\" "
+"signal."
+msgstr ""
+
+#: C/helloWorld.js.page:92(p)
+#, fuzzy
+#| msgid ""
+#| "After importing Gtk, we need to initialize it. After that, we can start "
+#| "building our first window. We do this by creating a variable called "
+#| "mywindow and assigning it a new Gtk.Window of type TOPLEVEL."
 msgid ""
-"After importing Gtk, we need to initialize it. After that, we can start "
-"building our first window. We do this by creating a variable called mywindow "
-"and assigning it a new Gtk.Window of type TOPLEVEL."
+"We can start building our first window. We do this by creating a variable "
+"called <var>_window</var> and assigning it a new Gtk.ApplicationWindow."
 msgstr ""
 "DespuÃs de importar GTK+, se debe inicializar. DespuÃs de inicializar GTK+ "
 "se puede empezar a construir la primera ventana. Esto se hace creando una "
-"variable llamada Âmywindow y asignÃndole una ÂGtk.Window de tipo ÂTOPLEVELÂ."
+"variable llamada Âmywindow y asignÃndole una ÂGtk.Window de tipo "
+"ÂTOPLEVELÂ."
 
-#: C/helloWorld.js.page:60(p)
+#: C/helloWorld.js.page:93(p)
+#, fuzzy
+#| msgid ""
+#| "After setting up our first window we'll give the window a property called "
+#| "title. The title can be any string you want it to be. To be on the safe "
+#| "side, it's best to stick to UTF-8 encoding."
 msgid ""
-"After setting up our first window we'll give the window a property called "
-"title. The title can be any string you want it to be. To be on the safe "
-"side, it's best to stick to UTF-8 encoding."
+"We give the window a property called <var>title</var>. The title can be any "
+"string you want it to be. To be on the safe side, it's best to stick to "
+"UTF-8 encoding."
 msgstr ""
 "DespuÃs de configurar la primera ventana, se le asignarà una propiedad "
 "llamada ÂtitleÂ. El tÃtulo puede ser la cadena que quiera pero, para estar "
 "seguro, es conveniente que tenga una codificaciÃn UTF-8."
 
-#: C/helloWorld.js.page:60(p)
+#: C/helloWorld.js.page:94(p)
+#, fuzzy
+#| msgid ""
+#| "Now we have a window that has a title and a working \"close\" button. "
+#| "Let's add the actual \"Hello, world\" text."
 msgid ""
-"The next thing we need to do for our application is connect the close button "
-"that's automatically generated along with the window to the close "
-"functionality. That happens with the method connect(). When the close button "
-"is pressed it gives out the signal \"destroy\", so in this part we're "
-"connecting the \"destroy\" signal to function(){Gtk.main_quit()}, which does "
-"the actual closing."
+"Now we have a window which has a title and a working \"close\" button. Let's "
+"add the actual \"Hello World\" text."
 msgstr ""
-"Lo siguiente que se debe hacer en la aplicaciÃn es conectar el botÃn ÂCerrar "
-"que se genera automÃticamente junto con la ventana con la funcionalidad de "
-"cerrar. Esto se hace con el mÃtodo Âconnect()Â. Cuando se pulsa el botÃn, "
-"emite la seÃal ÂdestroyÂ, por lo que en esta parte se conectarà la seÃal "
-"Âdestroy a Âfunction(){Gtk.main_quit()}Â, que es la que cierra la ventana."
+"Ya tiene una ventana que contiene un tÃtulo y un botÃn Âcerrar que "
+"funciona. Ahora, aÃada el texto ÂHola mundoÂ."
 
-#: C/helloWorld.js.page:60(p)
-msgid ""
-"Now we have a window that has a title and a working \"close\" button. Let's "
-"add the actual \"Hello, world\" text."
-msgstr ""
-"Ya tiene una ventana que contiene un tÃtulo y un botÃn Âcerrar que funciona. "
-"Ahora, aÃada el texto ÂHola mundoÂ."
+#: C/helloWorld.js.page:97(title)
+msgid "Label for the window"
+msgstr "Etiqueta para la ventana"
 
-#: C/helloWorld.js.page:76(p)
+#: C/helloWorld.js.page:103(p)
 msgid ""
 "A text label is one of the GTK+ widgets we can use, on account of having "
 "imported the GTK+ library. To use it, we create a new variable called label, "
 "and assign it a new Gtk.Label. Then we give it properties inside the curly "
 "braces {}. In this case, we're setting the text that the label will hold. "
-"Finally, we tell GNOME to show the label and the window containing it to the "
-"user, and call Gtk.main() to get the app itself started."
+"Finally, we create and run the application:"
 msgstr ""
 
-#: C/helloWorld.js.page:77(p)
+#: C/helloWorld.js.page:109(p)
 msgid ""
-"For the future, keep in mind that Gtk.Window can only hold one widget at a "
-"time. To construct more elaborate programs you need to create a holder "
-"widget (Gtk.Box, Gtk.Grid, Gtk.Application, and so on) of some kind inside "
+"Gtk.ApplicationWindow can only hold one widget at a time. To construct more "
+"elaborate programs you need to create a holder widget like Gtk.Grid inside "
 "the window, and then add all the other widgets to it."
 msgstr ""
 
-#: C/helloWorld.js.page:81(p)
-msgid "Here's what the completed program looks like."
-msgstr "El programa completo se parece a esto."
+#: C/helloWorld.js.page:113(title)
+msgid "helloWorld.js"
+msgstr "helloWorld.js"
+
+#: C/helloWorld.js.page:114(p)
+msgid "The complete file:"
+msgstr ""
 
-#: C/helloWorld.js.page:112(title)
-msgid "Running the application from Terminal"
+#: C/helloWorld.js.page:118(title)
+#, fuzzy
+#| msgid "Running the application from Terminal"
+msgid "Running the application from terminal"
 msgstr "Ejecutar la aplicaciÃn desde la terminal"
 
-#: C/helloWorld.js.page:113(p)
+#: C/helloWorld.js.page:119(p)
+#, fuzzy
+#| msgid ""
+#| "To run this application, first save it as helloWorld.js. Then open "
+#| "Terminal, go to the folder where your application is stored and run"
 msgid ""
 "To run this application, first save it as helloWorld.js. Then open Terminal, "
-"go to the folder where your application is stored and run"
+"go to the folder where your application is stored and run:"
 msgstr ""
 "Para ejecutar esta aplicaciÃn ,primero guÃrdela como helloWorld.js. Luego, "
 "abra una terminal, vaya a la carpeta donde està la aplicaciÃn y ejecute"
 
-#: C/helloWorld.js.page:113(input)
-msgid "chmod +x helloWorld.js"
-msgstr "chmod +x helloWorld.js"
+#: C/helloWorld.js.page:120(input)
+#| msgid "helloWorld.js"
+msgid "gjs helloWorld.js"
+msgstr "gjs helloWorld.js"
 
-#: C/helloWorld.js.page:114(p)
-msgid "This makes your script executable. After that, run"
-msgstr "Esto hace que su script sea ejecutable. DespuÃs de esto, ejecute"
-
-#: C/helloWorld.js.page:114(input)
-msgid "GJS_PATH=`pwd` gjs helloWorld.js"
-msgstr "GJS_PATH=`pwd` gjs helloWorld.js"
+#: C/helloWorld.js.page:126(title)
+msgid "The <file>.desktop.in</file> file"
+msgstr ""
 
-#. When image changes, this message will be marked fuzzy or untranslated for you.
-#. It doesn't matter what you translate it to: it's not used at all.
-#: C/guitar-tuner.vala.page:42(None) C/guitar-tuner.py.page:38(None)
-#: C/guitar-tuner.js.page:35(None) C/guitar-tuner.cpp.page:37(None)
-#: C/guitar-tuner.c.page:38(None)
-msgid "@@image: 'media/guitar-tuner.png'; md5=35e615e0f5e293671d00c5c414ac2f6b"
+#: C/helloWorld.js.page:127(p)
+#, fuzzy
+#| msgid ""
+#| "Running applications from the Terminal is useful at the beginning of the "
+#| "application making process. To have a fully working <link href=\"http://";
+#| "library.gnome.org/admin/system-admin-guide/stable/mimetypes-9.html.en"
+#| "\">application integration</link> in GNOME 3 requires a desktop launcher. "
+#| "For this you need to create a <file>.desktop</file> file. The .desktop "
+#| "file describes the application name, the used icon and various "
+#| "integration bits. A deeper insight to <file>.desktop</file> file can be "
+#| "found <link href=\"http://developer.gnome.org/desktop-entry-spec/\";>here</"
+#| "link>."
+msgid ""
+"Running applications from the Terminal is useful at the beginning of the "
+"application making process. To have fully working <link href=\"http://";
+"library.gnome.org/admin/system-admin-guide/stable/mimetypes-9.html.en"
+"\">application integration</link> in GNOME 3 requires a desktop launcher. "
+"For this you need to create a <file>.desktop</file> file. The <file>."
+"desktop</file> file describes the application name, the used icon and "
+"various integration bits. A deeper insight into the <file>.desktop</file> "
+"file can be found <link href=\"http://developer.gnome.org/desktop-entry-spec/";
+"\">here</link>. The <file>.desktop.in</file> file will create the <file>."
+"desktop</file>."
 msgstr ""
-"@@image: 'media/guitar-tuner.png'; md5=35e615e0f5e293671d00c5c414ac2f6b"
+"Ejecutar aplicaciones desde la terminal es Ãtil al principio del proceso de "
+"crear la aplicaciÃn. Para tener una <link href=\"http://library.gnome.org/";
+"admin/system-admin-guide/stable/mimetypes-9.html.en\">integraciÃn con la "
+"aplicaciÃn</link> completa en GNOME 3, se necesita un lanzador en el "
+"escritorio. Para esto, necesita crear un archivo <file>.desktop</file>. El "
+"archivo Â.desktop describe el nombre de la aplicaciÃn, el icono que usa y "
+"varios campos de integraciÃn. Puede encontrar una descripciÃn de los "
+"archivos <file>.desktop</file> <link href=\"http://developer.gnome.org/";
+"desktop-entry-spec/\">aquÃ</link>."
 
-#. When image changes, this message will be marked fuzzy or untranslated for you.
-#. It doesn't matter what you translate it to: it's not used at all.
-#: C/guitar-tuner.vala.page:95(None) C/guitar-tuner.py.page:89(None)
-#: C/guitar-tuner.cpp.page:88(None) C/guitar-tuner.c.page:93(None)
+#: C/helloWorld.js.page:130(p)
 msgid ""
-"@@image: 'media/guitar-tuner-glade.png'; md5=f6606525443ab2160f53a87a454364d0"
+"Before continuing, resave <file>helloWorld.js</file> as <file>helloWorld</"
+"file>. Then run this in the command line:"
 msgstr ""
-"@@image: 'media/guitar-tuner-glade.png'; md5=f6606525443ab2160f53a87a454364d0"
 
-#. When image changes, this message will be marked fuzzy or untranslated for you.
-#. It doesn't matter what you translate it to: it's not used at all.
-#: C/guitar-tuner.vala.page:129(None) C/guitar-tuner.py.page:132(None)
-#: C/guitar-tuner.js.page:41(None) C/guitar-tuner.cpp.page:117(None)
-#: C/guitar-tuner.c.page:138(None)
+#: C/helloWorld.js.page:131(input)
+#| msgid "chmod +x helloWorld.js"
+msgid "chmod +x helloWorld"
+msgstr "chmod +x helloWorld"
+
+#: C/helloWorld.js.page:134(p)
+#, fuzzy
+#| msgid ""
+#| "The example shows you the minimum requirements for a <code>.desktop</"
+#| "code> file."
 msgid ""
-"@@image: 'media/guitar-tuner-pipeline.png'; "
-"md5=5adc952909d92af5dae6954781b4ad5f"
+"The example shows you the minimum requirements for a <code>.desktop.in</"
+"code> file."
 msgstr ""
-"@@image: 'media/guitar-tuner-pipeline.png'; "
-"md5=5adc952909d92af5dae6954781b4ad5f"
+"El ejemplo muestra los requerimientos mÃnimos de un archivo <code>.desktop</"
+"code>."
 
-#: C/guitar-tuner.vala.page:9(desc)
+#: C/helloWorld.js.page:137(p)
+#, fuzzy
+#| msgid "Now let's go through some parts of the <code>.desktop</code> file."
+msgid "Now let's go through some parts of the <code>.desktop.in</code> file."
+msgstr "Ahora se verÃn algunas partes del archivo <code>.desktop</code>."
+
+#: C/helloWorld.js.page:139(p)
+#, fuzzy
+#| msgid "Run the application"
+msgid "The application name."
+msgstr "Ejecutar la aplicaciÃn"
+
+#: C/helloWorld.js.page:140(title)
+msgid "Comment"
+msgstr ""
+
+#: C/helloWorld.js.page:140(p)
+#, fuzzy
+#| msgid "Designing the application"
+msgid "A short description of the application."
+msgstr "DiseÃar la aplicaciÃn"
+
+#: C/helloWorld.js.page:141(title)
+msgid "Exec"
+msgstr ""
+
+#: C/helloWorld.js.page:141(p)
+#, fuzzy
+#| msgid ""
+#| "Line 6: Specifies a command to execute when you choose the item from the "
+#| "menu. In this example exec just tells where to find the <code>helloworld."
+#| "js</code> file and the file takes care of the rest."
 msgid ""
-"Use <link href=\"http://developer.gnome.org/platform-overview/stable/gtk";
-"\">Gtk+</link> and <link href=\"http://developer.gnome.org/platform-overview/";
-"stable/gstreamer\">GStreamer</link> to build a simple guitar tuner "
-"application for GNOME. Shows off how to use the interface designer."
+"Specifies a command to execute when you choose the application from the "
+"menu. In this example exec just tells where to find the <file>helloWorld</"
+"file> file and the file takes care of the rest."
 msgstr ""
-"Usar <link href=\"http://developer.gnome.org/platform-overview/stable/gtk";
-"\">GTK+</link> y <link href=\"http://developer.gnome.org/platform-overview/";
-"stable/gstreamer\">GStreamer</link> para construir un sencillo afinador de "
-"guitarra para GNOME. Muestra cÃmo usar el diseÃador de interfaces."
+"LÃnea 6: especifica un comando que ejecutar cuando se elige el elemento en "
+"el menÃ. En este ejemplo, Âexec sÃlo indica dÃnde encontrar el archivo "
+"<code>helloworld.js</code> y el archivo se hace cargo del resto."
 
-#: C/guitar-tuner.vala.page:26(title) C/guitar-tuner.py.page:22(title)
-#: C/guitar-tuner.js.page:18(title)
-msgid "2 Guitar Tuner"
-msgstr "2. Afinador de guitarra"
+#: C/helloWorld.js.page:142(title)
+msgid "Terminal"
+msgstr "Terminal"
 
-#: C/guitar-tuner.vala.page:29(p)
+#: C/helloWorld.js.page:142(p)
+#, fuzzy
+#| msgid ""
+#| "Line 8: Specifies whether the command in the Exec key runs in a terminal "
+#| "window."
 msgid ""
-"In this tutorial you will create an application which plays tones that you "
-"can use to tune a guitar. You will learn how to:"
+"Specifies whether the command in the Exec key runs in a terminal window."
 msgstr ""
-"En este tutorial se va a hacer un programa que reproduce tonos que puede "
-"usar para afinar su guitarra. Aprenderà a:"
+"LÃnea 8: especifica si el comando del campo ÂExec se ejecuta en una ventana "
+"de la terminal."
 
-#: C/guitar-tuner.vala.page:31(p)
+#: C/helloWorld.js.page:145(p)
+#, fuzzy
+#| msgid ""
+#| "To put your application to the right category you need to add the "
+#| "necessary categories to the Categories line. More information on the "
+#| "different categories can be found in the <link href=\"http://standards.";
+#| "freedesktop.org/menu-spec/latest/apa.html\">menu spec</link>."
 msgid ""
-"Set up a basic project using the <link xref=\"getting-ready\">Anjuta IDE</"
-"link>."
+"To put your application into the appropriate category, you need to add the "
+"necessary categories to the Categories line. More information on the "
+"different categories can be found in the <link href=\"http://standards.";
+"freedesktop.org/menu-spec/latest/apa.html\">menu specification</link>."
 msgstr ""
-"Configurar un proyecto bÃsico usando el <link xref=\"getting-ready\">EID "
-"Anjuta</link>."
+"Para incluir su aplicaciÃn en la categorÃa correcta, debe aÃadir las "
+"categorÃas necesarias a la lÃnea ÂCategoriesÂ. Puede encontrar mÃs "
+"informaciÃn sobre las distintas categorÃas en la <link href=\"http://";
+"standards.freedesktop.org/menu-spec/latest/apa.html\">especificaciÃn del "
+"menÃ</link>."
 
-#: C/guitar-tuner.vala.page:32(p)
-msgid "Create a simple GUI with <app>Anjuta</app>'s UI designer."
-msgstr "Crear una IGU sencilla con el diseÃador de IU de <app>Anjuta</app>."
+#: C/helloWorld.js.page:146(p)
+#, fuzzy
+#| msgid ""
+#| "In this example I used an existing icon. For a custom icon you need to "
+#| "have a .svg file of your icon, store it to /usr/share/icons/hicolor/"
+#| "scalable/apps. Write the name of your icon file to the .desktop file, on "
+#| "line 7. More information on icons in: <link href=\"http://library.gnome.";
+#| "org/admin/system-admin-guide/stable/themes-11.html.en\"> Installing Icons "
+#| "for Themes </link>, <link href=\"https://live.gnome.org/GnomeGoals/AppIcon";
+#| "\">Installing Icons for Themes</link> and <link href=\"http://freedesktop.";
+#| "org/wiki/Specifications/icon-theme-spec\">on freedesktop.org: "
+#| "Specifications/icon-theme-spec</link>."
+msgid ""
+"In this example we use an existing icon. For a custom icon you need to have "
+"a .svg file of your icon, stored in <file>/usr/share/icons/hicolor/scalable/"
+"apps</file>. Write the name of your icon file to the .desktop.in file, on "
+"line 7. More information on icons in: <link href=\"http://library.gnome.org/";
+"admin/system-admin-guide/stable/themes-11.html.en\"> Installing Icons for "
+"Themes </link>, <link href=\"https://live.gnome.org/GnomeGoals/AppIcon";
+"\">Installing Icons for Themes</link> and <link href=\"http://freedesktop.";
+"org/wiki/Specifications/icon-theme-spec\">on freedesktop.org: Specifications/"
+"icon-theme-spec</link>."
+msgstr ""
+"En este ejemplo se ha usado un icono existente. Para usar un icono "
+"personalizado, necesita un archivo .svg con su icono y guardarlo en /usr/"
+"share/icons/hicolor/scalable/apps. Escriba el nombre del archivo del icono "
+"en el archivo .desktop, en la lÃnea 7. Puede obtener mÃs informaciÃn sobre "
+"los iconos en <link href=\"http://library.gnome.org/admin/system-admin-guide/";
+"stable/themes-11.html.en\">Instalar iconos para temas</link>, <link href="
+"\"https://live.gnome.org/GnomeGoals/AppIcon\";>Instalar iconos para temas</"
+"link> y <link href=\"http://freedesktop.org/wiki/Specifications/icon-theme-";
+"spec\">en freedesktop.org: Specifications/icon-theme-spec</link>."
 
-#: C/guitar-tuner.vala.page:33(p)
+#: C/helloWorld.js.page:149(title)
+msgid "The build system"
+msgstr ""
+
+#: C/helloWorld.js.page:150(p)
 msgid ""
-"Use the <link href=\"http://developer.gnome.org/platform-overview/stable/";
-"gstreamer\">GStreamer</link> library to play sounds."
+"To make your application truly a part of the GNOME 3 system you need to "
+"install it with the help of autotools. The autotools build will install all "
+"the necessary files to all the right places."
 msgstr ""
-"Usar la biblioteca <link href=\"http://developer.gnome.org/platform-overview/";
-"stable/gstreamer\">GStreamer</link> para reproducir sonidos."
+"Para que su aplicaciÃn forme parte realmente del sistema GNOME 3 debe "
+"instalarla con la ayuda de autotools. La construcciÃn autotools instalarà "
+"todos los archivos necesarios en las ubicaciones correctas."
 
-#: C/guitar-tuner.vala.page:45(title)
-msgid "Create a project in <app>Anjuta</app>"
-msgstr "Crear un proyecto en <app>Anjuta</app>"
+#: C/helloWorld.js.page:151(p)
+msgid "For this you need to have the following files:"
+msgstr "Para esto deberà tener los siguientes archivos:"
 
-#: C/guitar-tuner.vala.page:52(p)
+#: C/helloWorld.js.page:157(p)
+#, fuzzy
+#| msgid "After the autogen.sh file is ready and saved run"
+msgid "After the <file>autogen.sh</file> file is ready and saved, run:"
+msgstr "Una vez que està listo el archivo autogen.sh, guÃrdelo y ejecute"
+
+#: C/helloWorld.js.page:158(input)
+msgid "chmod +x autogen.sh"
+msgstr "chmod +x autogen.sh"
+
+#: C/helloWorld.js.page:172(title)
+msgid "README"
+msgstr "README"
+
+#: C/helloWorld.js.page:173(p)
+#, fuzzy
+#| msgid "README: Information user should read first."
+msgid "Information users should read first. This file can be blank."
+msgstr "README: informaciÃn que los usuarios deben leer primero"
+
+#: C/helloWorld.js.page:175(p)
 msgid ""
-"Click on the <gui>Vala</gui> tab and select <gui>Gtk+ (Simple)</gui>. Click "
-"<gui>Continue</gui>, and fill out your details on the next few pages. Use "
-"<file>guitar-tuner</file> as project name and directory."
+"When you have the <file>helloWorld</file>, <file>helloWorld.desktop.in</"
+"file>, <file>Makefile.am</file>, <file>configure.ac</file> and <file>autogen."
+"sh</file> files with correct information and rights, the <file>README</file> "
+"file can include the following instructions:"
 msgstr ""
-"Pulse en la pestaÃa <gui>Vala</gui> y seleccione <gui>GTK+ (simple)</gui>. "
-"Pulse <gui>Continuar</gui>, y rellene los detalles en las siguientes "
-"pÃginas. Use <file>afinador-guitarra</file> como nombre del proyecto y de la "
-"carpeta."
 
-#: C/guitar-tuner.vala.page:55(p)
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/hellognome.js.page:64(None)
+#| msgid ""
+#| "@@image: 'media/switchanimals.png'; md5=513ae15dcf68e15eef30b76420b8c714"
 msgid ""
-"Make sure that <gui>Configure external packages</gui> is switched <gui>ON</"
-"gui>. On the next page, select <link href=\"http://valadoc.org/gstreamer-";
-"0.10/index.htm\"><em>gstreamer-0.10</em></link> from the list to include the "
-"GStreamer library in your project. Click <gui>Continue</gui>"
+"@@image: 'media/hellognomewebapp.png'; md5=948efb6148ede3bc6b47b4b0bbe4a74f"
 msgstr ""
-"AsegÃrese de que <gui>Configurar paquetes externos</gui> està <gui>activada</"
-"gui>. En la siguiente pÃgina, seleccione <link href=\"http://valadoc.org/";
-"gstreamer-0.10/index.htm\"><em>gstreamer-0.10</em></link> de la lista para "
-"incluir la biblioteca GStreamer en su proyecto. Pulse <gui>Continuar</gui>"
+"@@image: 'media/hellognomewebapp.png'; md5=948efb6148ede3bc6b47b4b0bbe4a74f"
 
-#: C/guitar-tuner.vala.page:59(p)
-msgid ""
-"Click <gui>Apply</gui> and the project will be created for you. From the "
-"<gui>Project</gui> or <gui>Files</gui> tab, open <file>src/guitar_tuner."
-"vala</file> by double-clicking on it. You should see some code which starts "
-"with the lines:"
+#: C/hellognome.js.page:16(desc)
+#, fuzzy
+#| msgid "A first Gtk application"
+msgid "Your first GNOME application!"
+msgstr "Una primera aplicaciÃn en GTK"
+
+#: C/hellognome.js.page:19(title)
+msgid "1. Hello, GNOME!"
 msgstr ""
-"Pulse <gui>Aplicar</gui> y se crearà el proyecto. Abra <file>src/"
-"guitar_tuner.vala</file> desde las pestaÃas <gui>Proyecto</gui> o "
-"<gui>Archivo</gui> pulsando dos veces sobre Ãl. DeberÃa ver algo de cÃdigo "
-"que comience con las lÃneas:"
 
-#: C/guitar-tuner.vala.page:69(p)
+#: C/hellognome.js.page:21(p)
 msgid ""
-"The code loads an (empty) window from the user interface description file "
-"and displays it. More details are given below; you may choose to skip this "
-"list if you understand the basics:"
+"This tutorial will show you how to write your first GNOME application in "
+"JavaScript. You will use JavaScript to write for GNOME the same way you "
+"would for the web. Afterwards, you will learn how to use \"native\" widgets, "
+"to write applications that look and feel like other GNOME apps."
 msgstr ""
-"El cÃdigo carga una ventana (vacÃa) desde el archivo de descripciÃn de "
-"interfaz de usuario y la muestra. Se ofrecen mÃs detalles a continuaciÃn; "
-"omita esta lista si entiende los conceptos bÃsicos:"
 
-#: C/guitar-tuner.vala.page:76(p)
+#: C/hellognome.js.page:22(p)
 msgid ""
-"The constructor of the <code>Main</code> class creates a new window by "
-"opening a GtkBuilder file (<file>src/guitar-tuner.ui</file>, defined a few "
-"lines above), connecting its signals and then displaying it in a window. "
-"This GtkBuilder file contains a description of a user interface and all of "
-"its elements. You can use Anjuta's editor to design GtkBuilder user "
-"interfaces."
+"Have you gotten GNOME installed on your computer, and <link xref=\"set-up-"
+"gedit.js\">gedit</link> set up to write code with? You'll want to do these "
+"things first."
 msgstr ""
-"El constructor de la clase <code>Main</code> crea una ventana nueva abriendo "
-"un archivo de GtkBuilder (<file>src/guitar-tuner.ui</file>, definido unas "
-"pocas lÃneas mÃs arriba), conectando sus seÃales y mostrÃndolo en una "
-"ventana. El archivo de GtkBuilder contiene una descripciÃn de una interfaz "
-"de usuario y de todos sus elementos. Puede usar el editor Anjuta para "
-"diseÃar interfaces de usuario con GtkBuilder."
 
-#: C/guitar-tuner.vala.page:78(p)
+#: C/hellognome.js.page:28(title)
+#, fuzzy
+#| msgid "A button that links to a web page"
+msgid "Let's start with a web page"
+msgstr "Un botÃn que enlaza con una pÃgina web"
+
+#: C/hellognome.js.page:30(p)
 msgid ""
-"Connecting signals is how you define what happens when you push a button, or "
-"when some other event happens. Here, the <code>on_destroy</code> function is "
-"called (and quits the app) when you close the window."
+"Here's some basic HTML, CSS, and JavaScript code. Does this look familiar?"
 msgstr ""
-"Conectar seÃales es como se define lo que pasa cuando pulsa un botÃn, o "
-"cuando ocurre algÃn otro evento. AquÃ, se llama a la funciÃn "
-"<code>on_destroy</code> (y se sale de la aplicaciÃn) cuando cierra la "
-"ventana."
 
-#: C/guitar-tuner.vala.page:82(p)
+#: C/hellognome.js.page:62(p)
 msgid ""
-"The static <code>main</code> function is run by default when you start a "
-"Vala application. It calls a few functions which create the Main class, set "
-"up and then run the application. The <code>Gtk.main</code> function starts "
-"the GTK main loop, which runs the user interface and starts listening for "
-"events (like clicks and key presses)."
+"Let's save this as <file>hellognome.html</file>, and see what it looks like "
+"when we run it!"
 msgstr ""
-"La funciÃn estÃtica <code>main</code> se ejecuta de manera predeterminada "
-"cuando inicia una aplicaciÃn en Vala. Llama a algunas funciones que crean la "
-"clase ÂMain y configuran y ejecutan la aplicaciÃn. La funciÃn <code>Gtk."
-"main</code> inicia el bucle principal de GTK+, que ejecuta la interfaz de "
-"usuario y empieza a escuchar eventos (como pulsaciones del ratÃn y del "
-"teclado)."
 
-#: C/guitar-tuner.vala.page:86(p)
+#: C/hellognome.js.page:66(p)
 msgid ""
-"This code is ready to be used, so you can compile it by clicking "
-"<guiseq><gui>Build</gui><gui>Build Project</gui></guiseq> (or press "
-"<keyseq><key>Shift</key><key>F7</key></keyseq>). When you do this, a dialog "
-"will appear. Change the <gui>Configuration</gui> to <gui>Default</gui> and "
-"then click <gui>Execute</gui> to configure the build directory. You only "
-"need to do this once, for the first build."
+"You <em>can</em> run the above code by opening <file>hellognome.html</file> "
+"in a web browser. But here, we're going to create a GNOME application that "
+"runs our web app inside of it, just like you see in the screenshot. You'll "
+"be able to resize and maximize the window, and click the X in the corner to "
+"close it, just like you'd expect from any other GNOME app. The difference is "
+"that this one will run our web code inside of it."
+msgstr ""
+
+#: C/hellognome.js.page:67(p)
+msgid ""
+"The best part? We're going to continue to use JavaScript, to write all the "
+"parts that make our app work with GNOME. Let's look at the code, and see how "
+"it's done!"
+msgstr ""
+
+#: C/hellognome.js.page:71(title)
+#, fuzzy
+#| msgid "Creating the main window for the application"
+msgid "Creating a GNOME window to frame our web app"
+msgstr "Crear la ventana principal de la aplicaciÃn"
+
+#: C/hellognome.js.page:73(p)
+msgid ""
+"First, we need to tell GNOME that this is a JavaScript application, which "
+"uses gjs. Gjs is GNOME's way of turning your JavaScript code into "
+"instructions it understands, so this line always has to go at the start of "
+"your applications."
+msgstr ""
+
+#: C/hellognome.js.page:77(p)
+msgid "After that, we need to tell GNOME which libraries we want to import."
+msgstr ""
+
+#: C/hellognome.js.page:84(p)
+msgid ""
+"Just like how add-on libraries like jQuery let us do extra things with "
+"JavaScript, each of these libraries gives us new capabilities for our GNOME "
+"apps:"
+msgstr ""
+
+#: C/hellognome.js.page:86(p)
+msgid ""
+"<file>Gtk</file> and <file>Lang</file> are basic parts of any GNOME "
+"application, which let you create windows and widgets and tie them together."
+msgstr ""
+
+#: C/hellognome.js.page:87(p)
+msgid ""
+"<file>GLib</file> is a helper library, which lets us do things like tell "
+"GNOME where the <file>hellognome.html</file> file we created is."
+msgstr ""
+
+#: C/hellognome.js.page:88(p)
+msgid ""
+"And <file>Webkit</file> is a web rendering engine, which we'll use to "
+"basically create a browser window to open our HTML file with."
+msgstr ""
+
+#: C/hellognome.js.page:91(p)
+#, fuzzy
+#| msgid "Creating the application window"
+msgid "Now we create the application itself:"
+msgstr "Crear la ventana de la aplicaciÃn"
+
+#: C/hellognome.js.page:96(p)
+msgid ""
+"This will look familiar to you if you've worked with object-oriented "
+"JavaScript before. That's right; our whole application is a class called "
+"HelloGNOME. And as you can see, we've given it a property that says what its "
+"name is."
+msgstr ""
+
+#: C/hellognome.js.page:118(p)
+msgid ""
+"Here's some code you will more or less copy-and-paste for every JavaScript "
+"application you build. It creates a new Application, and then binds its "
+"activate and startup signals to functions that make the window show itself "
+"and build its user interface, respectively."
+msgstr ""
+
+#: C/hellognome.js.page:119(p)
+msgid ""
+"What does that mean? Well, everything in a GNOME application sends out a "
+"signal when something important happens. A button might send out the clicked "
+"signal when you click on it, for instance. Our job is to connect the signals "
+"to functions which handle them, and make the things that we want to have "
+"happen occur. We do this using each object's connect method, which takes two "
+"arguments: The signal we want to handle, and the Lang.bind function, which "
+"we have to use to tell connect which function we want to have handle the "
+"signal."
+msgstr ""
+
+#: C/hellognome.js.page:120(p)
+msgid ""
+"In this case, we want _onActivate to handle the activate signal, and "
+"_onStartup to handle the startup signal. _onActivate just tells the window "
+"to present itself; so basically, whenever you <keyseq><key>Alt</"
+"key><key>Tab</key></keyseq> to the application it appears, like you would "
+"expect it to. _onStartup calls _buildUI, which is the function that creates "
+"our user interface and is the next part that we will look at."
+msgstr ""
+
+#: C/hellognome.js.page:121(p)
+msgid ""
+"When you copy and paste the above code for your own applications, be sure to "
+"change the name to a unique one each time."
+msgstr ""
+
+#: C/hellognome.js.page:125(title)
+msgid "Designing our window's UI"
+msgstr ""
+
+#: C/hellognome.js.page:126(p)
+msgid ""
+"In the _buildUI function, we're going to tell GNOME about our window and the "
+"things inside it, one at a time. After that, we're going to connect "
+"everything together and put it all on display."
+msgstr ""
+
+#: C/hellognome.js.page:141(p)
+msgid ""
+"The first object we create is an ApplicationWindow. It needs a title to go "
+"in the title bar, and its application property needs to be the application "
+"that we created, above. Beyond that, there are various ways of customizing "
+"how it looks, which the <link xref=\"GtkApplicationWindow.js"
+"\">ApplicationWindow</link> reference page will go into more detail about. "
+"As you can see here, we gave it a default height and width (measured in "
+"pixels), and told GNOME we want our window to appear in the center of the "
+"screen."
+msgstr ""
+
+#: C/hellognome.js.page:150(p)
+msgid ""
+"Remember how we imported Webkit right at the start? Here we're creating a "
+"new instance of a Webkit class called a WebView, which is more or less a "
+"browser window you can put inside of your app. After that, we then give it "
+"the URI that we want it to load when the application starts up."
+msgstr ""
+
+#: C/hellognome.js.page:151(p)
+msgid ""
+"We <em>could</em> just give it a web URI, like <link href=\"http://gnome.org";
+"\">http://gnome.org</link>. Instead, here we use a couple of GLib helper "
+"functions to tell the WebView where our <file>hellognome.html</file> file "
+"is. GLib.get_current_dir returns the directory that our app's running in, "
+"and GLib.filename_to_uri turns our file's path and filename into a URI that "
+"the WebView's load_uri function understands. (filename_to_uri's second "
+"parameter should be null unless you know what it's used for and have a "
+"reason for changing it.)"
+msgstr ""
+
+#: C/hellognome.js.page:162(p)
+msgid ""
+"Each window can hold one, and only one, widget. Normally, we'd use a "
+"container widget like a <link xref=\"grid.js\">Grid</link> to put multiple "
+"widgets into, then use the window's add function to add the Grid to it. "
+"Here, we just need the WebView, so that's all we add to the window. After "
+"that, as the last part of the _buildUI function that creates our window, we "
+"tell the window to show itself and its contents."
+msgstr ""
+
+#: C/hellognome.js.page:168(p)
+msgid ""
+"Finally, we create a new instance of our HelloGNOME class, and tell GNOME to "
+"run it."
+msgstr ""
+
+#: C/hellognome.js.page:172(title)
+#, fuzzy
+#| msgid "Run the application"
+msgid "Running your GNOME application"
+msgstr "Ejecutar la aplicaciÃn"
+
+#: C/hellognome.js.page:174(p)
+msgid ""
+"Now that we've created our first GNOME application, it's time to test it "
+"out! You don't need to compile your app or install any special software for "
+"this; GNOME has gjs built in, to let it run GNOME Shell. Just save "
+"<file>hellognome.html</file> and our actual application, <file>hellognome."
+"js</file>, to a directory you can get to with the terminal. (They usually "
+"open onto your home directory, the one that's called by your username.) "
+"After that, open a terminal, go there, and type:"
+msgstr ""
+
+#: C/hellognome.js.page:175(screen)
+#, no-wrap
+msgid " <output style=\"prompt\">$ </output>gjs hellognome.js "
+msgstr ""
+
+#: C/hellognome.js.page:176(p)
+msgid ""
+"You should see more or less the same screenshot as before, with a button "
+"that you can click to make a short message appear."
+msgstr ""
+
+#: C/hellognome.js.page:179(p)
+msgid "You can use the terminal command"
+msgstr ""
+
+#: C/hellognome.js.page:180(screen)
+#, no-wrap
+msgid " <output style=\"prompt\">$ </output>cd <var>(directory name)</var> "
+msgstr ""
+
+#: C/hellognome.js.page:181(p)
+msgid ""
+"to navigate between directories inside the Terminal, in order to get to "
+"where you saved the files. There is also an extension for Nautilus, GNOME's "
+"file manager, which lets you right-click anywhere inside it to open a "
+"terminal window right there. Check the app you use to install new software "
+"(like Add/Remove Programs or the Software Center) for it."
+msgstr ""
+
+#: C/hellognome.js.page:186(title) C/03_getting_the_signal.js.page:339(title)
+#: C/02_welcome_to_the_grid.js.page:256(title)
+msgid "What's next?"
+msgstr ""
+
+#: C/hellognome.js.page:188(p)
+msgid ""
+"<link xref=\"02_welcome_to_the_grid.js\">Continue on to the next tutorial</"
+"link> to learn how to build \"native\" GNOME applications that look and feel "
+"like the others, instead of a webview with HTML code inside. Or take a look "
+"at some <link xref=\"beginner.js#samples\">code samples,</link> if you'd "
+"like to see example code for each Gtk widget."
+msgstr ""
+
+#: C/hellognome.js.page:189(p)
+msgid ""
+"Finally, if you want to just build GNOME applications using JavaScript "
+"libraries designed for the web, you can basically stop here and go do that! "
+"Take a look at the <link xref=\"scrolledwindow.js\">ScrolledWindow</link> "
+"code sample if you'd like to see how to make a WebView widget that can "
+"scroll to show parts of a larger web page, and check out <link xref="
+"\"beginner.js#tutorials\">the later tutorials</link> if you'd like to see "
+"how to create a .desktop file for your application, which will let it appear "
+"in your desktop's Activities menu with all your other apps."
+msgstr ""
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/guitar-tuner.vala.page:42(None) C/guitar-tuner.py.page:39(None)
+#: C/guitar-tuner.js.page:36(None) C/guitar-tuner.cpp.page:37(None)
+#: C/guitar-tuner.c.page:39(None)
+msgid "@@image: 'media/guitar-tuner.png'; md5=35e615e0f5e293671d00c5c414ac2f6b"
+msgstr ""
+"@@image: 'media/guitar-tuner.png'; md5=35e615e0f5e293671d00c5c414ac2f6b"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/guitar-tuner.vala.page:95(None) C/guitar-tuner.py.page:90(None)
+#: C/guitar-tuner.cpp.page:88(None) C/guitar-tuner.c.page:94(None)
+msgid ""
+"@@image: 'media/guitar-tuner-glade.png'; md5=f6606525443ab2160f53a87a454364d0"
+msgstr ""
+"@@image: 'media/guitar-tuner-glade.png'; md5=f6606525443ab2160f53a87a454364d0"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/guitar-tuner.vala.page:129(None) C/guitar-tuner.py.page:133(None)
+#: C/guitar-tuner.js.page:42(None) C/guitar-tuner.cpp.page:117(None)
+#: C/guitar-tuner.c.page:139(None)
+msgid ""
+"@@image: 'media/guitar-tuner-pipeline.png'; "
+"md5=5adc952909d92af5dae6954781b4ad5f"
+msgstr ""
+"@@image: 'media/guitar-tuner-pipeline.png'; "
+"md5=5adc952909d92af5dae6954781b4ad5f"
+
+#: C/guitar-tuner.vala.page:9(desc)
+msgid ""
+"Use <link href=\"http://developer.gnome.org/platform-overview/stable/gtk";
+"\">Gtk+</link> and <link href=\"http://developer.gnome.org/platform-overview/";
+"stable/gstreamer\">GStreamer</link> to build a simple guitar tuner "
+"application for GNOME. Shows off how to use the interface designer."
+msgstr ""
+"Usar <link href=\"http://developer.gnome.org/platform-overview/stable/gtk";
+"\">GTK+</link> y <link href=\"http://developer.gnome.org/platform-overview/";
+"stable/gstreamer\">GStreamer</link> para construir un sencillo afinador de "
+"guitarra para GNOME. Muestra cÃmo usar el diseÃador de interfaces."
+
+#: C/guitar-tuner.vala.page:26(title) C/guitar-tuner.py.page:23(title)
+#: C/guitar-tuner.js.page:19(title)
+msgid "2 Guitar Tuner"
+msgstr "2. Afinador de guitarra"
+
+#: C/guitar-tuner.vala.page:29(p)
+msgid ""
+"In this tutorial you will create an application which plays tones that you "
+"can use to tune a guitar. You will learn how to:"
+msgstr ""
+"En este tutorial se va a hacer un programa que reproduce tonos que puede "
+"usar para afinar su guitarra. Aprenderà a:"
+
+#: C/guitar-tuner.vala.page:31(p)
+msgid ""
+"Set up a basic project using the <link xref=\"getting-ready\">Anjuta IDE</"
+"link>."
+msgstr ""
+"Configurar un proyecto bÃsico usando el <link xref=\"getting-ready\">EID "
+"Anjuta</link>."
+
+#: C/guitar-tuner.vala.page:32(p)
+msgid "Create a simple GUI with <app>Anjuta</app>'s UI designer."
+msgstr "Crear una IGU sencilla con el diseÃador de IU de <app>Anjuta</app>."
+
+#: C/guitar-tuner.vala.page:33(p)
+msgid ""
+"Use the <link href=\"http://developer.gnome.org/platform-overview/stable/";
+"gstreamer\">GStreamer</link> library to play sounds."
+msgstr ""
+"Usar la biblioteca <link href=\"http://developer.gnome.org/platform-overview/";
+"stable/gstreamer\">GStreamer</link> para reproducir sonidos."
+
+#: C/guitar-tuner.vala.page:45(title)
+msgid "Create a project in <app>Anjuta</app>"
+msgstr "Crear un proyecto en <app>Anjuta</app>"
+
+#: C/guitar-tuner.vala.page:52(p)
+msgid ""
+"Click on the <gui>Vala</gui> tab and select <gui>Gtk+ (Simple)</gui>. Click "
+"<gui>Continue</gui>, and fill out your details on the next few pages. Use "
+"<file>guitar-tuner</file> as project name and directory."
+msgstr ""
+"Pulse en la pestaÃa <gui>Vala</gui> y seleccione <gui>GTK+ (simple)</gui>. "
+"Pulse <gui>Continuar</gui>, y rellene los detalles en las siguientes "
+"pÃginas. Use <file>afinador-guitarra</file> como nombre del proyecto y de la "
+"carpeta."
+
+#: C/guitar-tuner.vala.page:55(p)
+msgid ""
+"Make sure that <gui>Configure external packages</gui> is switched <gui>ON</"
+"gui>. On the next page, select <link href=\"http://valadoc.org/";
+"gstreamer-0.10/index.htm\"><em>gstreamer-0.10</em></link> from the list to "
+"include the GStreamer library in your project. Click <gui>Continue</gui>"
+msgstr ""
+"AsegÃrese de que <gui>Configurar paquetes externos</gui> està <gui>activada</"
+"gui>. En la siguiente pÃgina, seleccione <link href=\"http://valadoc.org/";
+"gstreamer-0.10/index.htm\"><em>gstreamer-0.10</em></link> de la lista para "
+"incluir la biblioteca GStreamer en su proyecto. Pulse <gui>Continuar</gui>"
+
+#: C/guitar-tuner.vala.page:59(p)
+msgid ""
+"Click <gui>Apply</gui> and the project will be created for you. From the "
+"<gui>Project</gui> or <gui>Files</gui> tab, open <file>src/guitar_tuner."
+"vala</file> by double-clicking on it. You should see some code which starts "
+"with the lines:"
+msgstr ""
+"Pulse <gui>Aplicar</gui> y se crearà el proyecto. Abra <file>src/"
+"guitar_tuner.vala</file> desde las pestaÃas <gui>Proyecto</gui> o "
+"<gui>Archivo</gui> pulsando dos veces sobre Ãl. DeberÃa ver algo de cÃdigo "
+"que comience con las lÃneas:"
+
+#: C/guitar-tuner.vala.page:69(p)
+msgid ""
+"The code loads an (empty) window from the user interface description file "
+"and displays it. More details are given below; you may choose to skip this "
+"list if you understand the basics:"
+msgstr ""
+"El cÃdigo carga una ventana (vacÃa) desde el archivo de descripciÃn de "
+"interfaz de usuario y la muestra. Se ofrecen mÃs detalles a continuaciÃn; "
+"omita esta lista si entiende los conceptos bÃsicos:"
+
+#: C/guitar-tuner.vala.page:76(p)
+msgid ""
+"The constructor of the <code>Main</code> class creates a new window by "
+"opening a GtkBuilder file (<file>src/guitar-tuner.ui</file>, defined a few "
+"lines above), connecting its signals and then displaying it in a window. "
+"This GtkBuilder file contains a description of a user interface and all of "
+"its elements. You can use Anjuta's editor to design GtkBuilder user "
+"interfaces."
+msgstr ""
+"El constructor de la clase <code>Main</code> crea una ventana nueva abriendo "
+"un archivo de GtkBuilder (<file>src/guitar-tuner.ui</file>, definido unas "
+"pocas lÃneas mÃs arriba), conectando sus seÃales y mostrÃndolo en una "
+"ventana. El archivo de GtkBuilder contiene una descripciÃn de una interfaz "
+"de usuario y de todos sus elementos. Puede usar el editor Anjuta para "
+"diseÃar interfaces de usuario con GtkBuilder."
+
+#: C/guitar-tuner.vala.page:78(p)
+msgid ""
+"Connecting signals is how you define what happens when you push a button, or "
+"when some other event happens. Here, the <code>on_destroy</code> function is "
+"called (and quits the app) when you close the window."
+msgstr ""
+"Conectar seÃales es como se define lo que pasa cuando pulsa un botÃn, o "
+"cuando ocurre algÃn otro evento. AquÃ, se llama a la funciÃn "
+"<code>on_destroy</code> (y se sale de la aplicaciÃn) cuando cierra la "
+"ventana."
+
+#: C/guitar-tuner.vala.page:82(p)
+msgid ""
+"The static <code>main</code> function is run by default when you start a "
+"Vala application. It calls a few functions which create the Main class, set "
+"up and then run the application. The <code>Gtk.main</code> function starts "
+"the GTK main loop, which runs the user interface and starts listening for "
+"events (like clicks and key presses)."
+msgstr ""
+"La funciÃn estÃtica <code>main</code> se ejecuta de manera predeterminada "
+"cuando inicia una aplicaciÃn en Vala. Llama a algunas funciones que crean la "
+"clase ÂMain y configuran y ejecutan la aplicaciÃn. La funciÃn <code>Gtk."
+"main</code> inicia el bucle principal de GTK+, que ejecuta la interfaz de "
+"usuario y empieza a escuchar eventos (como pulsaciones del ratÃn y del "
+"teclado)."
+
+#: C/guitar-tuner.vala.page:86(p)
+msgid ""
+"This code is ready to be used, so you can compile it by clicking "
+"<guiseq><gui>Build</gui><gui>Build Project</gui></guiseq> (or press "
+"<keyseq><key>Shift</key><key>F7</key></keyseq>). When you do this, a dialog "
+"will appear. Change the <gui>Configuration</gui> to <gui>Default</gui> and "
+"then click <gui>Execute</gui> to configure the build directory. You only "
+"need to do this once, for the first build."
 msgstr ""
 "Este cÃdigo està listo para usarse, por lo que puede compilarlo pulsando "
 "<guiseq><gui>Construir</gui><gui>Construir proyecto</gui></guiseq> (o "
@@ -11022,8 +12839,8 @@ msgstr ""
 "carpeta de construcciÃn. SÃlo tendrà que hacer esto una vez, para la primera "
 "construcciÃn."
 
-#: C/guitar-tuner.vala.page:90(title) C/guitar-tuner.py.page:84(title)
-#: C/guitar-tuner.cpp.page:83(title) C/guitar-tuner.c.page:88(title)
+#: C/guitar-tuner.vala.page:90(title) C/guitar-tuner.py.page:85(title)
+#: C/guitar-tuner.cpp.page:83(title) C/guitar-tuner.c.page:89(title)
 msgid "Create the user interface"
 msgstr "Crear la interfaz de usuario"
 
@@ -11122,8 +12939,8 @@ msgstr ""
 "<code>main_on_button_clicked</code> en la columna <gui>Manejador</gui> y "
 "pulse <key>Intro</key>."
 
-#: C/guitar-tuner.vala.page:116(p) C/guitar-tuner.py.page:106(p)
-#: C/guitar-tuner.c.page:110(p)
+#: C/guitar-tuner.vala.page:116(p) C/guitar-tuner.py.page:107(p)
+#: C/guitar-tuner.c.page:111(p)
 msgid ""
 "Repeat the above steps for the other buttons, adding the next 5 strings with "
 "the names <em>A</em>, <em>D</em>, <em>G</em>, <em>B</em>, and <em>e</em>."
@@ -11132,8 +12949,8 @@ msgstr ""
 "cuerdas restantes con los nombres <em>A</em>, <em>D</em>, <em>G</em>, <em>B</"
 "em>, y <em>e</em>."
 
-#: C/guitar-tuner.vala.page:119(p) C/guitar-tuner.py.page:109(p)
-#: C/guitar-tuner.c.page:113(p)
+#: C/guitar-tuner.vala.page:119(p) C/guitar-tuner.py.page:110(p)
+#: C/guitar-tuner.c.page:114(p)
 msgid ""
 "Save the UI design (by clicking <guiseq><gui>File</gui><gui>Save</gui></"
 "guiseq>) and keep it open."
@@ -11141,9 +12958,9 @@ msgstr ""
 "Guarde el diseÃo de la IU (pulsando <guiseq><gui>Archivo</gui><gui>Guardar</"
 "gui></guiseq>) y dÃjelo abierto."
 
-#: C/guitar-tuner.vala.page:125(title) C/guitar-tuner.py.page:128(title)
-#: C/guitar-tuner.js.page:23(link) C/guitar-tuner.js.page:37(title)
-#: C/guitar-tuner.cpp.page:112(title) C/guitar-tuner.c.page:134(title)
+#: C/guitar-tuner.vala.page:125(title) C/guitar-tuner.py.page:129(title)
+#: C/guitar-tuner.js.page:24(link) C/guitar-tuner.js.page:38(title)
+#: C/guitar-tuner.cpp.page:112(title) C/guitar-tuner.c.page:135(title)
 msgid "GStreamer pipelines"
 msgstr "TuberÃas de Gstreamer"
 
@@ -11179,9 +12996,9 @@ msgstr ""
 "imagen, un vÃdeo o un archivo de mÃsica, y la salida puede ser un widget o "
 "la tarjeta de sonido."
 
-#: C/guitar-tuner.vala.page:128(p) C/guitar-tuner.py.page:131(p)
-#: C/guitar-tuner.js.page:40(p) C/guitar-tuner.cpp.page:116(p)
-#: C/guitar-tuner.c.page:137(p)
+#: C/guitar-tuner.vala.page:128(p) C/guitar-tuner.py.page:132(p)
+#: C/guitar-tuner.js.page:41(p) C/guitar-tuner.cpp.page:116(p)
+#: C/guitar-tuner.c.page:138(p)
 msgid ""
 "Between source and sink, you can apply various filters and converters to "
 "handle effects, format conversions and so on. Each element of the pipeline "
@@ -11192,14 +13009,14 @@ msgstr ""
 "tuberÃa tiene propiedades que se pueden usar para cambiar este "
 "comportamiento."
 
-#: C/guitar-tuner.vala.page:130(p) C/guitar-tuner.py.page:133(p)
-#: C/guitar-tuner.js.page:42(p) C/guitar-tuner.cpp.page:118(p)
-#: C/guitar-tuner.c.page:139(p)
+#: C/guitar-tuner.vala.page:130(p) C/guitar-tuner.py.page:134(p)
+#: C/guitar-tuner.js.page:43(p) C/guitar-tuner.cpp.page:118(p)
+#: C/guitar-tuner.c.page:140(p)
 msgid "An example GStreamer pipeline."
 msgstr "Un ejemplo de tuberÃa de GStreamer."
 
-#: C/guitar-tuner.vala.page:135(title) C/guitar-tuner.py.page:138(title)
-#: C/guitar-tuner.c.page:144(title)
+#: C/guitar-tuner.vala.page:135(title) C/guitar-tuner.py.page:139(title)
+#: C/guitar-tuner.c.page:145(title)
 msgid "Set up the pipeline"
 msgstr "Configurar la tuberÃa"
 
@@ -11252,8 +13069,8 @@ msgstr ""
 "gstreamer-0.10/Gst.Pipeline.html\">elemento de tuberÃa</link> (que se usarà "
 "como contenedor de los otros dos elementos). Son variables de clase, por lo "
 "que se definen fuera del mÃtodo. A la tuberÃa se le asigna el nombre ÂnoteÂ; "
-"la fuente se llama Âsource y se asocia a la fuente <code>audiotestsrc</code> "
-"y el sumidero se llama Âoutput y se asocia con el sumidero "
+"la fuente se llama Âsource y se asocia a la fuente <code>audiotestsrc</"
+"code> y el sumidero se llama Âoutput y se asocia con el sumidero "
 "<code>autoaudiosink</code> (la salida de la tarjeta de sonido "
 "predeterminada)."
 
@@ -11294,11 +13111,11 @@ msgid ""
 "Next, <link href=\"http://valadoc.org/gstreamer-0.10/Gst.Element.link.html";
 "\"><code>sink.link</code></link> is used to connect the elements together, "
 "so the output of source (a tone) goes into the input of sink (which is then "
-"output to the sound card). <link href=\"http://www.valadoc.org/gstreamer-";
-"0.10/Gst.Element.set_state.html\"><code>pipeline.set_state</code></link> is "
-"then used to start playback, by setting the <link href=\"http://www.valadoc.";
-"org/gstreamer-0.10/Gst.State.html\">state of the pipeline</link> to playing "
-"(<code>Gst.State.PLAYING</code>)."
+"output to the sound card). <link href=\"http://www.valadoc.org/";
+"gstreamer-0.10/Gst.Element.set_state.html\"><code>pipeline.set_state</code></"
+"link> is then used to start playback, by setting the <link href=\"http://www.";
+"valadoc.org/gstreamer-0.10/Gst.State.html\">state of the pipeline</link> to "
+"playing (<code>Gst.State.PLAYING</code>)."
 msgstr ""
 "Ahora, el cÃdigo <link href=\"http://valadoc.org/gstreamer-0.10/Gst.Element.";
 "link.html\"><code>sink.link</code></link> se usa para conectar los elementos "
@@ -11328,7 +13145,7 @@ msgstr ""
 "mismo del tiempo de expiraciÃn, ya que de otro modo, seguirÃa llamÃndose "
 "cada 200ms,"
 
-#: C/guitar-tuner.vala.page:197(title) C/guitar-tuner.c.page:119(title)
+#: C/guitar-tuner.vala.page:197(title) C/guitar-tuner.c.page:120(title)
 msgid "Creating the signal handler"
 msgstr "Crear el manejador de seÃales"
 
@@ -11428,7 +13245,7 @@ msgstr ""
 "ya està funcionando."
 
 #: C/guitar-tuner.vala.page:249(p) C/guitar-tuner.cpp.page:251(p)
-#: C/guitar-tuner.c.page:252(p)
+#: C/guitar-tuner.c.page:253(p)
 msgid ""
 "If you haven't already done so, choose the <file>Debug/src/guitar-tuner</"
 "file> application in the dialog that appears. Finally, hit <gui>Run</gui> "
@@ -11458,20 +13275,20 @@ msgstr ""
 "\">Tutorial de Vala</link> y la <link href=\"http://valadoc.org/";
 "\">documentaciÃn de la API de Vala</link>"
 
-#: C/guitar-tuner.vala.page:268(p) C/guitar-tuner.py.page:237(p)
-#: C/guitar-tuner.cpp.page:272(p) C/guitar-tuner.c.page:265(p)
+#: C/guitar-tuner.vala.page:268(p) C/guitar-tuner.py.page:238(p)
+#: C/guitar-tuner.cpp.page:272(p) C/guitar-tuner.c.page:266(p)
 msgid "Have the program automatically cycle through the notes."
 msgstr "Hacer que el programa recorra las notas automÃticamente."
 
-#: C/guitar-tuner.vala.page:271(p) C/guitar-tuner.py.page:240(p)
-#: C/guitar-tuner.cpp.page:275(p) C/guitar-tuner.c.page:268(p)
+#: C/guitar-tuner.vala.page:271(p) C/guitar-tuner.py.page:241(p)
+#: C/guitar-tuner.cpp.page:275(p) C/guitar-tuner.c.page:269(p)
 msgid "Make the program play recordings of real guitar strings being plucked."
 msgstr ""
 "Hacer que el programa reproduzca grabaciones de cuerdas de guitarras que se "
 "estÃn afinando."
 
-#: C/guitar-tuner.vala.page:272(p) C/guitar-tuner.py.page:241(p)
-#: C/guitar-tuner.cpp.page:276(p) C/guitar-tuner.c.page:269(p)
+#: C/guitar-tuner.vala.page:272(p) C/guitar-tuner.py.page:242(p)
+#: C/guitar-tuner.cpp.page:276(p) C/guitar-tuner.c.page:270(p)
 msgid ""
 "To do this, you would need to set up a more complicated GStreamer pipeline "
 "which allows you to load and play back music files. You'll have to choose "
@@ -11487,8 +13304,8 @@ msgstr ""
 "en el formato del archivo de sus sonidos grabados; los MP3 usan elementos "
 "diferentes de los de los archivos Ogg Vorbis, por ejemplo."
 
-#: C/guitar-tuner.vala.page:273(p) C/guitar-tuner.py.page:242(p)
-#: C/guitar-tuner.cpp.page:277(p) C/guitar-tuner.c.page:270(p)
+#: C/guitar-tuner.vala.page:273(p) C/guitar-tuner.py.page:243(p)
+#: C/guitar-tuner.cpp.page:277(p) C/guitar-tuner.c.page:271(p)
 msgid ""
 "You might need to connect the elements in more complicated ways too. This "
 "could involve using <link href=\"http://gstreamer.freedesktop.org/data/doc/";
@@ -11506,13 +13323,13 @@ msgstr ""
 "section-intro-basics-pads.html\">interfaces</link>. Es posible que encuentre "
 "Ãtil el comando <cmd>gst-inspect</cmd>."
 
-#: C/guitar-tuner.vala.page:276(p) C/guitar-tuner.py.page:245(p)
-#: C/guitar-tuner.cpp.page:280(p) C/guitar-tuner.c.page:273(p)
+#: C/guitar-tuner.vala.page:276(p) C/guitar-tuner.py.page:246(p)
+#: C/guitar-tuner.cpp.page:280(p) C/guitar-tuner.c.page:274(p)
 msgid "Automatically analyze notes that the user plays."
 msgstr "Analizar automÃticamente las notas que toca el mÃsico."
 
-#: C/guitar-tuner.vala.page:277(p) C/guitar-tuner.py.page:246(p)
-#: C/guitar-tuner.cpp.page:281(p) C/guitar-tuner.c.page:274(p)
+#: C/guitar-tuner.vala.page:277(p) C/guitar-tuner.py.page:247(p)
+#: C/guitar-tuner.cpp.page:281(p) C/guitar-tuner.c.page:275(p)
 msgid ""
 "You could connect a microphone and record sounds from it using an <link href="
 "\"http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good-";
@@ -11530,7 +13347,13 @@ msgstr ""
 "plugins-good-plugins-plugin-spectrum.html\">anÃlisis de espectro</link> le "
 "permita saber quà notas se estÃn reproduciendo?"
 
-#: C/guitar-tuner.py.page:9(desc) C/guitar-tuner.c.page:9(desc)
+#: C/guitar-tuner.py.page:7(title)
+#, fuzzy
+#| msgid "Guitar Tuner"
+msgid "Guitar Tuner (Python)"
+msgstr "Afinador de guitarra"
+
+#: C/guitar-tuner.py.page:10(desc) C/guitar-tuner.c.page:10(desc)
 msgid ""
 "Use Gtk+ and GStreamer to build a simple guitar tuner application for GNOME. "
 "Shows off how to use the interface designer."
@@ -11538,8 +13361,8 @@ msgstr ""
 "Usar GTK+ y GStreamer para construir un sencillo afinador de guitarra para "
 "GNOME. Muestra cÃmo usar el diseÃador de interfaces."
 
-#: C/guitar-tuner.py.page:25(p) C/guitar-tuner.cpp.page:24(p)
-#: C/guitar-tuner.c.page:25(p)
+#: C/guitar-tuner.py.page:26(p) C/guitar-tuner.cpp.page:24(p)
+#: C/guitar-tuner.c.page:26(p)
 msgid ""
 "In this tutorial, we're going to make a program which plays tones that you "
 "can use to tune a guitar. You will learn how to:"
@@ -11547,26 +13370,26 @@ msgstr ""
 "En este tutorial se va a hacer un programa que reproduce tonos que puede "
 "usar para afinar su guitarra. Aprenderà a:"
 
-#: C/guitar-tuner.py.page:27(p) C/guitar-tuner.cpp.page:26(p)
-#: C/guitar-tuner.c.page:27(p)
+#: C/guitar-tuner.py.page:28(p) C/guitar-tuner.cpp.page:26(p)
+#: C/guitar-tuner.c.page:28(p)
 msgid "Set up a basic project in Anjuta"
 msgstr "Configurar un proyecto bÃsico en Anjuta"
 
-#: C/guitar-tuner.py.page:28(p) C/guitar-tuner.cpp.page:27(p)
-#: C/guitar-tuner.c.page:28(p)
+#: C/guitar-tuner.py.page:29(p) C/guitar-tuner.cpp.page:27(p)
+#: C/guitar-tuner.c.page:29(p)
 msgid "Create a simple GUI with Anjuta's UI designer"
 msgstr "Crear una IGU sencilla con el diseÃador IU de Anjuta"
 
-#: C/guitar-tuner.py.page:29(p) C/guitar-tuner.cpp.page:28(p)
-#: C/guitar-tuner.c.page:29(p)
+#: C/guitar-tuner.py.page:30(p) C/guitar-tuner.cpp.page:28(p)
+#: C/guitar-tuner.c.page:30(p)
 msgid "Use GStreamer to play sounds"
 msgstr "Usar GStreamer para reproducir sonidos"
 
-#: C/guitar-tuner.py.page:34(p)
+#: C/guitar-tuner.py.page:35(p)
 msgid "Basic knowledge of the Python programming language"
 msgstr "Conocimiento baÌsico del lenguaje de programacioÌn Python"
 
-#: C/guitar-tuner.py.page:48(p)
+#: C/guitar-tuner.py.page:49(p)
 msgid ""
 "Choose <gui>PyGTK (automake)</gui> from the <gui>Python</gui> tab, click "
 "<gui>Continue</gui>, and fill out your details on the next few pages. Use "
@@ -11577,7 +13400,7 @@ msgstr ""
 "pÃginas. Use <file>afinador-guiterra</file> como nombre del proyecto y de la "
 "carpeta."
 
-#: C/guitar-tuner.py.page:51(p)
+#: C/guitar-tuner.py.page:52(p)
 msgid ""
 "Click <gui>Apply</gui> and the project will be created for you. Open "
 "<file>src/guitar_tuner.py</file> from the <gui>Project</gui> or <gui>File</"
@@ -11587,11 +13410,11 @@ msgstr ""
 "guitarra.py</file> desde las pestanÌas <gui>Proyecto</gui> o <gui>Archivo</"
 "gui>. DeberiÌa ver algo de coÌdigo que comience con las liÌneas:"
 
-#: C/guitar-tuner.py.page:60(title)
+#: C/guitar-tuner.py.page:61(title)
 msgid "Run the code for the first time"
 msgstr "Ejecutar el cÃdigo por primera vez"
 
-#: C/guitar-tuner.py.page:61(p)
+#: C/guitar-tuner.py.page:62(p)
 msgid ""
 "Most of the code in the file is template code. It loads an (empty) window "
 "from the user interface description file and shows it. More details are "
@@ -11602,7 +13425,7 @@ msgstr ""
 "muestra. Se ofrecen mÃs detalles a continuaciÃn; omita esta lista si "
 "entiende los conceptos bÃsicos:"
 
-#: C/guitar-tuner.py.page:65(p)
+#: C/guitar-tuner.py.page:66(p)
 msgid ""
 "The <code>import</code> lines at the top include the tell Python to load the "
 "user interface and system libraries needed."
@@ -11610,7 +13433,7 @@ msgstr ""
 "Las lÃneas <code>import</code> en la parte superior indican a Python que "
 "cargue la interfaz de usuario y las bibliotecas del sistema necesarias."
 
-#: C/guitar-tuner.py.page:69(p)
+#: C/guitar-tuner.py.page:70(p)
 msgid ""
 "A class is declared that will be the main class for our application. In the "
 "<code>__init__</code> method the main window is loaded from the GtkBuilder "
@@ -11621,7 +13444,7 @@ msgstr ""
 "archivo de GtkBuilder (<file>src/guitar-tuner.ui</file>) y se conectan las "
 "seÃales."
 
-#: C/guitar-tuner.py.page:72(p)
+#: C/guitar-tuner.py.page:73(p)
 msgid ""
 "Connecting signals is how you define what happens when you push a button, or "
 "when some other event happens. Here, the <code>destroy</code> method is "
@@ -11631,7 +13454,7 @@ msgstr ""
 "cuando ocurre algÃn otro evento. AquÃ, se llama al mÃtodo <code>destroy</"
 "code> (y se sale de la aplicaciÃn) cuando cierra la ventana."
 
-#: C/guitar-tuner.py.page:75(p)
+#: C/guitar-tuner.py.page:76(p)
 msgid ""
 "The <code>main</code> function is run by default when you start a Python "
 "application. It just creates an instance of the main class and starts the "
@@ -11641,7 +13464,7 @@ msgstr ""
 "inicia una aplicaciÃn Python. Simplemente crea una instancia de la clase "
 "principal e inicia el bucle principal para mostrar la ventana."
 
-#: C/guitar-tuner.py.page:80(p)
+#: C/guitar-tuner.py.page:81(p)
 msgid ""
 "This code is ready to be used, so you can run it by clicking "
 "<guiseq><gui>Run</gui><gui>Execute</gui></guiseq>."
@@ -11649,7 +13472,7 @@ msgstr ""
 "Este cÃdigo està listo para usarse, por lo que puede ejecutarlo pulsando "
 "<guiseq><gui>Ejecutar</gui><gui>Ejecutar</gui></guiseq>."
 
-#: C/guitar-tuner.py.page:85(p)
+#: C/guitar-tuner.py.page:86(p)
 msgid ""
 "A description of the user interface (UI) is contained in the GtkBuilder "
 "file. To edit the user interface, open <file>src/guitar_tuner.ui</file>. "
@@ -11663,8 +13486,8 @@ msgstr ""
 "en el centro; los widgets y sus propiedades estÃn a la derecha, y la paleta "
 "de los widgets disponibles està a la izquierda."
 
-#: C/guitar-tuner.py.page:87(p) C/guitar-tuner.cpp.page:86(p)
-#: C/guitar-tuner.c.page:91(p)
+#: C/guitar-tuner.py.page:88(p) C/guitar-tuner.cpp.page:86(p)
+#: C/guitar-tuner.c.page:92(p)
 msgid ""
 "The layout of every UI in GTK+ is organized using boxes and tables. Let's "
 "use a vertical <gui>GtkButtonBox</gui> here to assign six <gui>GtkButtons</"
@@ -11674,8 +13497,8 @@ msgstr ""
 "Aquà se usarà una <gui>GtkButtonBox</gui> vertical para asignar seis "
 "<gui>GtkButtons</gui>, uno para cada una de las cuerdas de la guitarra."
 
-#: C/guitar-tuner.py.page:93(p) C/guitar-tuner.cpp.page:92(p)
-#: C/guitar-tuner.c.page:97(p)
+#: C/guitar-tuner.py.page:94(p) C/guitar-tuner.cpp.page:92(p)
+#: C/guitar-tuner.c.page:98(p)
 msgid ""
 "Select a <gui>GtkButtonBox</gui> from the <gui>Container</gui> section of "
 "the <gui>Palette</gui> on the right and put it into the window. In the "
@@ -11687,8 +13510,8 @@ msgstr ""
 "de <gui>Propiedades</gui>, establezca el nÃmero de elementos a Â6Â (para las "
 "seis cuerdas) y la orientaciÃn a ÂverticalÂ."
 
-#: C/guitar-tuner.py.page:97(p) C/guitar-tuner.cpp.page:96(p)
-#: C/guitar-tuner.c.page:101(p)
+#: C/guitar-tuner.py.page:98(p) C/guitar-tuner.cpp.page:96(p)
+#: C/guitar-tuner.c.page:102(p)
 msgid ""
 "Now, choose a <gui>GtkButton</gui> from the palette and put it into the "
 "first part of the box."
@@ -11696,7 +13519,7 @@ msgstr ""
 "Ahora, elija un <gui>GtkButton</gui> de la paleta y pÃngalo en la primera "
 "parte de la caja."
 
-#: C/guitar-tuner.py.page:100(p) C/guitar-tuner.c.page:104(p)
+#: C/guitar-tuner.py.page:101(p) C/guitar-tuner.c.page:105(p)
 msgid ""
 "While the button is still selected, change the <gui>Label</gui> property in "
 "the <gui>Widgets</gui> tab to <gui>E</gui>. This will be the low E string."
@@ -11705,7 +13528,7 @@ msgstr ""
 "en la pestaÃa <gui>Widgets</gui> a <gui>E</gui>. Esta serà la cuerda Mi "
 "grave."
 
-#: C/guitar-tuner.py.page:103(p) C/guitar-tuner.c.page:107(p)
+#: C/guitar-tuner.py.page:104(p) C/guitar-tuner.c.page:108(p)
 msgid ""
 "Switch to the <gui>Signals</gui> tab (inside the <gui>Widgets</gui> tab) and "
 "look for the <code>clicked</code> signal of the button. You can use this to "
@@ -11720,11 +13543,11 @@ msgstr ""
 "<code>on_button_clicked</code> en la columna <gui>Manejador</gui> y pulse "
 "<key>Intro</key>."
 
-#: C/guitar-tuner.py.page:115(title)
+#: C/guitar-tuner.py.page:116(title)
 msgid "Write the signal handler"
 msgstr "Escribir el manejador de senÌales"
 
-#: C/guitar-tuner.py.page:116(p) C/guitar-tuner.c.page:120(p)
+#: C/guitar-tuner.py.page:117(p) C/guitar-tuner.c.page:121(p)
 msgid ""
 "In the UI designer, you made it so that all of the buttons will call the "
 "same function, <gui>on_button_clicked</gui>, when they are clicked. We need "
@@ -11734,7 +13557,7 @@ msgstr ""
 "misma funciÃn, <gui>on_button_clicked</gui>, cuando se pulsan. Se debe "
 "aÃadir esta funciÃn al archivo de cÃdigo fuente."
 
-#: C/guitar-tuner.py.page:117(p)
+#: C/guitar-tuner.py.page:118(p)
 msgid ""
 "To do this, open <file>guitar_tuner.py</file> while the user interface file "
 "is still open. Switch to the <gui>Signals</gui> tab, which you already used "
@@ -11749,7 +13572,7 @@ msgstr ""
 "cÃdigo fuente, dentro de la clase principal. Se aÃadirà el siguiente cÃdigo "
 "a su archivo de cÃdigo fuente:"
 
-#: C/guitar-tuner.py.page:123(p)
+#: C/guitar-tuner.py.page:124(p)
 msgid ""
 "This signal handler has two arguments: the usual Python class pointer, and "
 "the <code>Gtk.Button</code> that called the function."
@@ -11757,7 +13580,7 @@ msgstr ""
 "Este manejador de la seÃal tiene dos argumentos: el puntero de clase Python "
 "habitual y el <code>Gtk.Button</code> que llamà a la funciÃn."
 
-#: C/guitar-tuner.py.page:124(p) C/guitar-tuner.c.page:130(p)
+#: C/guitar-tuner.py.page:125(p) C/guitar-tuner.c.page:131(p)
 msgid ""
 "For now, we'll leave the signal handler empty while we work on writing the "
 "code to produce sounds."
@@ -11765,8 +13588,8 @@ msgstr ""
 "Por ahora, se dejarà el manejador de la seÃal vacÃo mientras se escribe el "
 "cÃdigo para producir sonidos."
 
-#: C/guitar-tuner.py.page:129(p) C/guitar-tuner.js.page:38(p)
-#: C/guitar-tuner.c.page:135(p)
+#: C/guitar-tuner.py.page:130(p) C/guitar-tuner.js.page:39(p)
+#: C/guitar-tuner.c.page:136(p)
 msgid ""
 "GStreamer is GNOME's multimedia framework â you can use it for playing, "
 "recording, and processing video, audio, webcam streams and the like. Here, "
@@ -11776,8 +13599,8 @@ msgstr ""
 "reproducir, grabar y procesar vÃdeo, sonido, flujos de la cÃmara web y "
 "similares. En este caso, se usarà para generar tonos de frecuencia Ãnica."
 
-#: C/guitar-tuner.py.page:130(p) C/guitar-tuner.js.page:39(p)
-#: C/guitar-tuner.cpp.page:115(p) C/guitar-tuner.c.page:136(p)
+#: C/guitar-tuner.py.page:131(p) C/guitar-tuner.js.page:40(p)
+#: C/guitar-tuner.cpp.page:115(p) C/guitar-tuner.c.page:137(p)
 msgid ""
 "Conceptually, GStreamer works as follows: You create a <em>pipeline</em> "
 "containing several processing elements going from the <em>source</em> to the "
@@ -11790,8 +13613,8 @@ msgstr ""
 "por ejemplo, un archivo de imagen, un vÃdeo o un archivo de mÃsica, y la "
 "salida puede ser un widget o la tarjeta de sonido."
 
-#: C/guitar-tuner.py.page:139(p) C/guitar-tuner.cpp.page:129(p)
-#: C/guitar-tuner.c.page:145(p)
+#: C/guitar-tuner.py.page:140(p) C/guitar-tuner.cpp.page:129(p)
+#: C/guitar-tuner.c.page:146(p)
 msgid ""
 "In this simple example we will use a tone generator source called "
 "<code>audiotestsrc</code> and send the output to the default system sound "
@@ -11805,7 +13628,7 @@ msgstr ""
 "configurar la frecuencia del generador de tonos; esto es accesible a travÃs "
 "de la propiedad <code>freq</code> de <code>audiotestsrc</code>."
 
-#: C/guitar-tuner.py.page:141(p)
+#: C/guitar-tuner.py.page:142(p)
 msgid ""
 "Change the import line in <file>guitar_tuner.py</file>, just at the "
 "beginning to :"
@@ -11813,7 +13636,7 @@ msgstr ""
 "Cambie la lÃnea de importaciÃn en <file>afinador_guitarra.py</file>, justo "
 "al principio, por:"
 
-#: C/guitar-tuner.py.page:143(p)
+#: C/guitar-tuner.py.page:144(p)
 msgid ""
 "The <code>Gst</code> includes the GStreamer library. You also need to "
 "initialise GStreamer properly which is done in the <code>main()</code> "
@@ -11824,7 +13647,7 @@ msgstr ""
 "<code>main()</code> con esta llamada aÃadida encima de la lÃnea <code>app = "
 "GUI()</code>:"
 
-#: C/guitar-tuner.py.page:147(p)
+#: C/guitar-tuner.py.page:148(p)
 msgid ""
 "Then, copy the following function into the class in <file>guitar_tuner.py</"
 "file> somewhere:"
@@ -11832,7 +13655,7 @@ msgstr ""
 "DespuÃs, copie la siguiente funciÃn en la de <file>guitar_tuner.py</file>, "
 "en cualquier sitio:"
 
-#: C/guitar-tuner.py.page:163(p)
+#: C/guitar-tuner.py.page:164(p)
 msgid ""
 "The first three lines create source and sink GStreamer elements and a "
 "pipeline element (which will be used as a container for the other two "
@@ -11848,7 +13671,7 @@ msgstr ""
 "sumidero se llama Âoutput y se asocia con el sumidero <code>autoaudiosink</"
 "code> (la salida de la tarjeta de sonido predeterminada)."
 
-#: C/guitar-tuner.py.page:166(p)
+#: C/guitar-tuner.py.page:167(p)
 msgid ""
 "The call to <code>source.set_property</code> sets the <code>freq</code> "
 "property of the source element to <code>frequency</code>, which was passed "
@@ -11862,7 +13685,7 @@ msgstr ""
 "frecuencia de la nota en Hercios; maÌs adelante se definiraÌn algunas "
 "frecuencias uÌtiles."
 
-#: C/guitar-tuner.py.page:169(p)
+#: C/guitar-tuner.py.page:170(p)
 msgid ""
 "The next two lines call <code>pipeline.add</code>, putting the source and "
 "sink into the pipeline. The pipeline can contain multiple other GStreamer "
@@ -11874,7 +13697,7 @@ msgstr ""
 "elementos de GStreamer. En general, puede aÃadir tantos elementos como "
 "quiera a una tuberÃa llamando al mÃtodo <code>add</code> repetidamente."
 
-#: C/guitar-tuner.py.page:172(p)
+#: C/guitar-tuner.py.page:173(p)
 msgid ""
 "Next <code>pipeline.set_state</code> is used to start playback, by setting "
 "the state of the pipeline to playing (<code>Gst.State.PLAYING</code>)."
@@ -11883,11 +13706,11 @@ msgstr ""
 "reproducciÃn, estableciendo el estado de la tuberÃa a Âplaying (<code>Gst."
 "State.PLAYING</code>)."
 
-#: C/guitar-tuner.py.page:179(title) C/guitar-tuner.c.page:194(title)
+#: C/guitar-tuner.py.page:180(title) C/guitar-tuner.c.page:195(title)
 msgid "Stopping playback"
 msgstr "Detener la reproduccioÌn"
 
-#: C/guitar-tuner.py.page:180(p)
+#: C/guitar-tuner.py.page:181(p)
 msgid ""
 "We don't want to play an annoying tone forever, so the last thing "
 "<code>play_sound</code> does is to call <code>GObject.timeout_add</code>. "
@@ -11903,7 +13726,7 @@ msgstr ""
 "<code>pipeline_stop</code>, y se queda llamando a <code>pipeline_stop</code> "
 "hasta que devuelve <code>False</code>."
 
-#: C/guitar-tuner.py.page:181(p)
+#: C/guitar-tuner.py.page:182(p)
 msgid ""
 "Now, we'll write the <code>pipeline_stop</code> function which is called by "
 "<code>GObject.timeout_add</code>. Insert the following code <em>above</em> "
@@ -11913,7 +13736,7 @@ msgstr ""
 "llamada por <code>GObject.timeout_add</code>. Inserte el coÌdigo siguiente "
 "<em>encima</em> de la funcioÌn <code>play_sound</code>:"
 
-#: C/guitar-tuner.py.page:187(p)
+#: C/guitar-tuner.py.page:188(p)
 msgid ""
 "You need to define the <code>LENGTH</code> constant inside the class, so add "
 "this code at the beginning of the main class:"
@@ -11921,7 +13744,7 @@ msgstr ""
 "Necesita definir la constante <code>LENGTH</code> dentro de la clase, por lo "
 "que debe aÃadir este cÃdigo al principio de la clase principal:"
 
-#: C/guitar-tuner.py.page:192(p)
+#: C/guitar-tuner.py.page:193(p)
 msgid ""
 "The call to <code>pipeline.set_state</code> pauses the playback of the "
 "pipeline."
@@ -11929,11 +13752,11 @@ msgstr ""
 "La llamada a <code>pipeline.set_state</code> pausa la reproducciÃn de la "
 "tuberÃa"
 
-#: C/guitar-tuner.py.page:196(title) C/guitar-tuner.c.page:212(title)
+#: C/guitar-tuner.py.page:197(title) C/guitar-tuner.c.page:213(title)
 msgid "Define the tones"
 msgstr "Definir los tonos"
 
-#: C/guitar-tuner.py.page:197(p)
+#: C/guitar-tuner.py.page:198(p)
 msgid ""
 "We want to play the correct sound when the user clicks a button. First of "
 "all, we need to know the frequencies for the six guitar strings, which are "
@@ -11946,7 +13769,7 @@ msgstr ""
 "un diccionario, por lo que se pueden mapear fÃcilmente con los nombres de "
 "las cuerdas:"
 
-#: C/guitar-tuner.py.page:210(p) C/guitar-tuner.c.page:222(p)
+#: C/guitar-tuner.py.page:211(p) C/guitar-tuner.c.page:223(p)
 msgid ""
 "Now to flesh out the signal handler that we defined earlier, "
 "<code>on_button_clicked</code>. We could have connected every button to a "
@@ -11960,7 +13783,7 @@ msgstr ""
 "cÃdigo. En su lugar, se puede usar la etiqueta del botÃn para saber cuÃl de "
 "ellos se ha pulsado:"
 
-#: C/guitar-tuner.py.page:218(p)
+#: C/guitar-tuner.py.page:219(p)
 msgid ""
 "The button that was clicked is passed as an argument (<code>button</code>) "
 "to <code>on_button_clicked</code>. We can get the label of that button by "
@@ -11972,7 +13795,7 @@ msgstr ""
 "usando <code>button.get_child</code>, y obteniendo entonces el texto de esa "
 "etiqueta usando <code>label.get_label</code>."
 
-#: C/guitar-tuner.py.page:219(p)
+#: C/guitar-tuner.py.page:220(p)
 msgid ""
 "The label text is then used as a key for the dictionary and "
 "<code>play_sound</code> is called with the frequency appropriate for that "
@@ -11982,7 +13805,7 @@ msgstr ""
 "<code>play_sound</code> con la frecuencia correspondiente a esa nota. Esto "
 "reproduce el tono; el afinador de guitarra ya està funcionando."
 
-#: C/guitar-tuner.py.page:224(p)
+#: C/guitar-tuner.py.page:225(p)
 msgid ""
 "All of the code should now be ready to go. Click <guiseq><gui>Run</"
 "gui><gui>Execute</gui></guiseq> to start the application. Enjoy!"
@@ -11991,7 +13814,7 @@ msgstr ""
 "<guiseq><gui>Ejecutar</gui><gui>Ejecutar</gui></guiseq> para iniciar la "
 "aplicaciÃn y disfrute."
 
-#: C/guitar-tuner.py.page:229(p)
+#: C/guitar-tuner.py.page:230(p)
 msgid ""
 "If you run into problems with the tutorial, compare your code with this "
 "<link href=\"guitar-tuner/guitar-tuner.py\">reference code</link>."
@@ -11999,14 +13822,20 @@ msgstr ""
 "Si tiene problemas con este tutorial, compare su coÌdigo con este <link href="
 "\"guitar-tuner/guitar-tuner.py\">coÌdigo de referencia</link>."
 
-#: C/guitar-tuner.js.page:15(desc)
+#: C/guitar-tuner.js.page:6(title)
+#, fuzzy
+#| msgid "Guitar Tuner"
+msgid "Guitar Tuner (JavaScript)"
+msgstr "Afinador de guitarra"
+
+#: C/guitar-tuner.js.page:16(desc)
 msgid ""
 "Use Gtk+ and GStreamer to build a simple guitar tuner application for GNOME."
 msgstr ""
 "Usar GTK+ y GStreamer para construir un sencillo afinador de guitarra para "
 "GNOME."
 
-#: C/guitar-tuner.js.page:21(p)
+#: C/guitar-tuner.js.page:22(p)
 msgid ""
 "In this tutorial we'll construct a small application, Guitar Tuner, using "
 "JavaScript and GTK+ and GStreamer. To do and run all the code examples "
@@ -12018,23 +13847,27 @@ msgstr ""
 "ejecutar los ejemplos, necesitarà un editor en el que escribir el cÃdigo, "
 "una terminal y GNOME 3 o superior instalado en su equipo."
 
-#: C/guitar-tuner.js.page:27(link) C/guitar-tuner.js.page:76(title)
+#: C/guitar-tuner.js.page:28(link) C/guitar-tuner.js.page:77(title)
 msgid "Buttons for the tunes"
 msgstr "Botones para los tonos"
 
-#: C/guitar-tuner.js.page:28(link) C/guitar-tuner.js.page:101(title)
+#: C/guitar-tuner.js.page:29(link) C/guitar-tuner.js.page:102(title)
 msgid "Making the sounds with GStreamer"
 msgstr "Crear sonidos con GStreamer"
 
-#: C/guitar-tuner.js.page:29(link) C/guitar-tuner.js.page:125(title)
+#: C/guitar-tuner.js.page:30(link) C/guitar-tuner.js.page:126(title)
 msgid "Connecting buttons to playSound"
 msgstr "Conectar los botones a playSound"
 
-#: C/guitar-tuner.js.page:30(link) C/guitar-tuner.js.page:148(title)
+#: C/guitar-tuner.js.page:31(link) C/guitar-tuner.js.page:149(title)
 msgid "The whole program"
 msgstr "El programa completo"
 
-#: C/guitar-tuner.js.page:49(p)
+#: C/guitar-tuner.js.page:32(link) C/guitar-tuner.js.page:229(title)
+msgid "Running the application form Terminal"
+msgstr "Ejecutar la aplicaciÃn desde la terminal"
+
+#: C/guitar-tuner.js.page:50(p)
 msgid ""
 "This line tells how to run the script. It needs to be the first line of the "
 "code and it needs to be executable. To get the execution rights go to "
@@ -12051,7 +13884,7 @@ msgstr ""
 "cÃdigo y elija ÂPropiedadesÂ, pulse en la pestaÃa ÂPermisos y marque la "
 "casilla para permitir ejecutar el archivo como un programa."
 
-#: C/guitar-tuner.js.page:59(p)
+#: C/guitar-tuner.js.page:60(p)
 msgid ""
 "In order to have a working program we need to import a few GObject "
 "Introspection -libraries to our use. For working UI, we need Gtk and for "
@@ -12066,7 +13899,7 @@ msgstr ""
 "se importa el constructor Mainloop para gestionar el tiempo de espera que "
 "usar para los tonos de afinaciÃn."
 
-#: C/guitar-tuner.js.page:73(p)
+#: C/guitar-tuner.js.page:74(p)
 msgid ""
 "Importing Gtk and Gst is not enough, we need to initialize them in order to "
 "get them working. When Gtk and Gst are up and running we need to create the "
@@ -12081,7 +13914,7 @@ msgstr ""
 "necesario decirle que se muestre y se debe ejecutar el cÃdigo con la funciÃn "
 "Gtk.main()."
 
-#: C/guitar-tuner.js.page:97(p)
+#: C/guitar-tuner.js.page:98(p)
 msgid ""
 "Because Gtk.Window can only contain a single widget, we need to create "
 "something under it to be able to add all the necessary buttons inside it. In "
@@ -12097,7 +13930,7 @@ msgstr ""
 "aÃadirlos a la Buttonbox, que se debe aÃadir a la Gtk.Window, y se mostrarà "
 "todo el contenido de la Buttonbox."
 
-#: C/guitar-tuner.js.page:98(p)
+#: C/guitar-tuner.js.page:99(p)
 msgid ""
 "After this stage you should have a window appearing to your screen showing 6 "
 "buttons. Right now the buttons don't do anything and we shall address that "
@@ -12109,7 +13942,7 @@ msgstr ""
 "poder conectar las seÃales de los botones a algo, es necesario codificar eso "
 "primero."
 
-#: C/guitar-tuner.js.page:121(p)
+#: C/guitar-tuner.js.page:122(p)
 msgid ""
 "The first thing we need to do is decide what tunes we want to make when we "
 "push a button. The frequencies list takes care of that. After that we get to "
@@ -12131,7 +13964,7 @@ msgstr ""
 "indica que la reproduzca. El Ãltimo paso es usar la constante Mainloop para "
 "hacer que la tuberÃa se pare despuÃs de 500ms."
 
-#: C/guitar-tuner.js.page:122(p)
+#: C/guitar-tuner.js.page:123(p)
 msgid ""
 "Now we have the method of playing a tune when clicking a button. Next well "
 "make the conncetions between pushing a button and playing the correct sound "
@@ -12141,7 +13974,7 @@ msgstr ""
 "botÃn. Lo siguiente es hacer las conexiones para que al pulsar un botÃn se "
 "reproduzca el sonido correcto para ese botÃn."
 
-#: C/guitar-tuner.js.page:145(p)
+#: C/guitar-tuner.js.page:146(p)
 msgid ""
 "The method of connecting button clicks to playSound with the correct tune is "
 "by using the connect method of the button widget. So we choose a button to "
@@ -12152,7 +13985,7 @@ msgid ""
 "should be associated to the button."
 msgstr ""
 
-#: C/guitar-tuner.js.page:149(p)
+#: C/guitar-tuner.js.page:150(p)
 msgid ""
 "So this is what all the parts combined looks like. When running this code, "
 "you should be able to tune your guitar(if you have correctly calibrated "
@@ -12162,7 +13995,7 @@ msgstr ""
 "deberÃa poder afinar su guitarra (si tiene sus altavoces calibrados "
 "correctamente)."
 
-#: C/guitar-tuner.js.page:229(p)
+#: C/guitar-tuner.js.page:230(p)
 msgid ""
 "To run this application open Terminal, go to the folder where your "
 "application is stored and then run"
@@ -12170,11 +14003,11 @@ msgstr ""
 "Para ejecutar esta aplicaciÃn ,abra una terminal, vaya a la carpeta donde "
 "està la aplicaciÃn y ejecute"
 
-#: C/guitar-tuner.js.page:229(input)
+#: C/guitar-tuner.js.page:230(input)
 msgid "GJS_PATH=`pwd` gjs guitarTuner.js"
 msgstr "GJS_PATH=`pwd` gjs guitarTuner.js"
 
-#: C/guitar-tuner.js.page:234(p)
+#: C/guitar-tuner.js.page:235(p)
 msgid ""
 "If you run into problems with the tutorial, compare your code with this "
 "<link href=\"guitar-tuner/guitar-tuner.js\">reference code</link>."
@@ -12190,7 +14023,7 @@ msgstr ""
 "Usar GTKmm y GStreamermm para construir un sencillo afinador de guitarra "
 "para GNOME. Muestra coÌmo usar el disenÌador de interfaces."
 
-#: C/guitar-tuner.cpp.page:21(title) C/guitar-tuner.c.page:22(title)
+#: C/guitar-tuner.cpp.page:21(title) C/guitar-tuner.c.page:23(title)
 msgid "Guitar Tuner"
 msgstr "Afinador de guitarra"
 
@@ -12266,7 +14099,7 @@ msgstr ""
 "GTKmm, que ejecuta la interfaz de usuario y empieza a escuchar eventos (como "
 "pulsaciones del ratÃn y del teclado)."
 
-#: C/guitar-tuner.cpp.page:84(p) C/guitar-tuner.c.page:89(p)
+#: C/guitar-tuner.cpp.page:84(p) C/guitar-tuner.c.page:90(p)
 msgid ""
 "A description of the user interface (UI) is contained in the GtkBuilder "
 "file. To edit the user interface, open <file>src/guitar_tuner.ui</file>. "
@@ -12546,11 +14379,17 @@ msgstr ""
 "href=\"http://library.gnome.org/devel/gstreamermm/\";>documentaciÃn de "
 "referencia de GStreamermm</link>."
 
-#: C/guitar-tuner.c.page:34(p)
+#: C/guitar-tuner.c.page:7(title)
+#, fuzzy
+#| msgid "Guitar Tuner"
+msgid "Guitar Tuner (C)"
+msgstr "Afinador de guitarra"
+
+#: C/guitar-tuner.c.page:35(p)
 msgid "Basic knowledge of the C programming language"
 msgstr "Conocimiento bÃsico del lenguaje de programaciÃn C"
 
-#: C/guitar-tuner.c.page:48(p)
+#: C/guitar-tuner.c.page:49(p)
 msgid ""
 "Choose <gui>Gtk+ (Simple)</gui> from the <gui>C</gui> tab, click "
 "<gui>Continue</gui>, and fill out your details on the next few pages. Use "
@@ -12560,7 +14399,7 @@ msgstr ""
 "<gui>Continuar</gui>, y rellene los detalles en las siguientes pÃginas. Use "
 "<file>afinador-guitarra</file> como nombre del proyecto y de la carpeta."
 
-#: C/guitar-tuner.c.page:51(p)
+#: C/guitar-tuner.c.page:52(p)
 msgid ""
 "Make sure that <gui>Configure external packages</gui> is switched <gui>ON</"
 "gui>. On the next page, select <em>gstreamer-0.10</em> from the list to "
@@ -12570,7 +14409,7 @@ msgstr ""
 "gui>. En la siguiente pÃgina, seleccione <em>gstreamer-0.10</em> de la lista "
 "para incluir la biblioteca GStreamer en su proyecto."
 
-#: C/guitar-tuner.c.page:65(p)
+#: C/guitar-tuner.c.page:66(p)
 msgid ""
 "C is a rather verbose language, so don't be surprised that the file contains "
 "quite a lot of code. Most of it is template code. It loads an (empty) window "
@@ -12583,7 +14422,7 @@ msgstr ""
 "usuario y la muestra. A continuaciÃn se ofrecen mÃs detalles; omita esta "
 "lista si entiende los conceptos bÃsicos:"
 
-#: C/guitar-tuner.c.page:72(p)
+#: C/guitar-tuner.c.page:73(p)
 msgid ""
 "The <code>create_window</code> function creates a new window by opening a "
 "GtkBuilder file (<file>src/guitar-tuner.ui</file>, defined a few lines "
@@ -12598,7 +14437,7 @@ msgstr ""
 "de todos sus elementos. Puede usar el editor Anjuta para diseÃar interfaces "
 "de usuario con GtkBuilder."
 
-#: C/guitar-tuner.c.page:121(p)
+#: C/guitar-tuner.c.page:122(p)
 msgid ""
 "To do this, open <file>main.c</file> while the user interface file is still "
 "open. Switch to the <gui>Signals</gui> tab, which you already used to set "
@@ -12613,7 +14452,7 @@ msgstr ""
 "fuente, fuera de cualquier funciÃn. Se aÃadirà el siguiente cÃdigo a su "
 "archivo de cÃdigo fuente:"
 
-#: C/guitar-tuner.c.page:129(p)
+#: C/guitar-tuner.c.page:130(p)
 msgid ""
 "This signal handler has two arguments: a pointer to the <code>GtkWidget</"
 "code> that called the function (in our case, always a <code>GtkButton</"
@@ -12631,7 +14470,7 @@ msgstr ""
 "pasar un puntero a una estructura de datos a la que puede necesitar acceder "
 "dentro del manejador de la seÃal.)"
 
-#: C/guitar-tuner.c.page:147(p)
+#: C/guitar-tuner.c.page:148(p)
 msgid ""
 "Insert the following line into <file>main.c</file>, just below the <code><!"
 "[CDATA[#include <gtk/gtk.h>]]></code> line:"
@@ -12639,7 +14478,7 @@ msgstr ""
 "Inserte la siguiente lÃnea en <file>main.c</file>, justo a continuaciÃn de "
 "la lÃnea <code><![CDATA[#include <gtk/gtk.h>]]></code>:"
 
-#: C/guitar-tuner.c.page:149(p)
+#: C/guitar-tuner.c.page:150(p)
 msgid ""
 "This includes the GStreamer library. You also need to add a line to "
 "initialize GStreamer; put the following code on the line above the "
@@ -12649,7 +14488,7 @@ msgstr ""
 "inicializar GStreamer; ponga la siguiente lÃnea de cÃdigo antes de la "
 "llamada <code>gtk_init</code> en la funciÃn <code>main</code>:"
 
-#: C/guitar-tuner.c.page:151(p)
+#: C/guitar-tuner.c.page:152(p)
 msgid ""
 "Then, copy the following function into <file>main.c</file> above the empty "
 "<code>on_button_clicked</code> function:"
@@ -12657,7 +14496,7 @@ msgstr ""
 "DespuÃs, copie la siguiente funciÃn en <file>main.c</file> encima de la "
 "funciÃn <code>on_button_clicked</code> vacÃa:"
 
-#: C/guitar-tuner.c.page:178(p)
+#: C/guitar-tuner.c.page:179(p)
 msgid ""
 "The first five lines create source and sink GStreamer elements "
 "(<code>GstElement</code>), and a pipeline element (which will be used as a "
@@ -12674,7 +14513,7 @@ msgstr ""
 "sumidero <code>autoaudiosink</code> (la salida de la tarjeta de sonido "
 "predeterminada)."
 
-#: C/guitar-tuner.c.page:181(p)
+#: C/guitar-tuner.c.page:182(p)
 msgid ""
 "The call to <code>g_object_set</code> sets the <code>freq</code> property of "
 "the source element to <code>frequency</code>, which is passed as an argument "
@@ -12686,7 +14525,7 @@ msgstr ""
 "argumento a la funciÃn <code>play_sound</code>. Esto sÃlo es la frecuencia "
 "de la nota en Hercios; mÃs adelante se definirÃn algunas frecuencias Ãtiles."
 
-#: C/guitar-tuner.c.page:184(p)
+#: C/guitar-tuner.c.page:185(p)
 msgid ""
 "<code>gst_bin_add_many</code> puts the source and sink into the pipeline. "
 "The pipeline is a <code>GstBin</code>, which is just an element that can "
@@ -12700,7 +14539,7 @@ msgstr ""
 "elementos como quiera a una tuberÃa aÃadiendo mÃs argumentos a "
 "<code>gst_bin_add_many</code>."
 
-#: C/guitar-tuner.c.page:187(p)
+#: C/guitar-tuner.c.page:188(p)
 msgid ""
 "Next, <code>gst_element_link</code> is used to connect the elements "
 "together, so the output of <code>source</code> (a tone) goes into the input "
@@ -12716,7 +14555,7 @@ msgstr ""
 "reproducciÃn, configurando el estado de la tuberÃa a reproduciendo "
 "(<code>GST_STATE_PLAYING</code>)."
 
-#: C/guitar-tuner.c.page:195(p)
+#: C/guitar-tuner.c.page:196(p)
 msgid ""
 "We don't want to play an annoying tone forever, so the last thing "
 "<code>play_sound</code> does is to call <code>g_timeout_add</code>. This "
@@ -12732,7 +14571,7 @@ msgstr ""
 "<code>pipeline_stop</code>, y se queda llamando a <code>pipeline_stop</code> "
 "hasta que devuelve <code>FALSE</code>."
 
-#: C/guitar-tuner.c.page:196(p)
+#: C/guitar-tuner.c.page:197(p)
 msgid ""
 "Now, we'll write the <code>pipeline_stop</code> function which is called by "
 "<code>g_timeout_add</code>. Insert the following code <em>above</em> the "
@@ -12742,7 +14581,7 @@ msgstr ""
 "llamada por <code>g_timeout_add</code>. Inserte el cÃdigo siguiente "
 "<em>encima</em> de la funciÃn <code>play_sound</code>:"
 
-#: C/guitar-tuner.c.page:208(p)
+#: C/guitar-tuner.c.page:209(p)
 msgid ""
 "The call to <code>gst_element_set_state</code> pauses the playback of the "
 "pipeline and <code>g_object_unref</code> unreferences the pipeline, "
@@ -12752,7 +14591,7 @@ msgstr ""
 "tuberÃa y <code>g_object_unref</code> desreferencia la tuberÃa, la destruye "
 "y libera su memoria."
 
-#: C/guitar-tuner.c.page:213(p)
+#: C/guitar-tuner.c.page:214(p)
 msgid ""
 "We want to play the correct sound when the user clicks a button. First of "
 "all, we need to know the frequencies for the six guitar strings, which are "
@@ -12763,7 +14602,7 @@ msgstr ""
 "guitarra, que estÃn definidas (al principio de <file>main.c</file>) de la "
 "siguiente manera:"
 
-#: C/guitar-tuner.c.page:245(p)
+#: C/guitar-tuner.c.page:246(p)
 msgid ""
 "A pointer to the <code>GtkButton</code> that was clicked is passed as an "
 "argument (<code>button</code>) to <code>on_button_clicked</code>. We can get "
@@ -12775,7 +14614,7 @@ msgstr ""
 "obtener la etiqueta de este botÃn usando <code>gtk_bin_get_child</code> y "
 "obteniendo el texto de la etiqueta usando <code>gtk_label_get_label</code>."
 
-#: C/guitar-tuner.c.page:246(p)
+#: C/guitar-tuner.c.page:247(p)
 msgid ""
 "The label text is then compared to the notes that we have using "
 "<code>g_str_equal</code>, and <code>play_sound</code> is called with the "
@@ -12787,7 +14626,7 @@ msgstr ""
 "frecuencia correspondiente a cada nota. Esto reproduce el tono; el afinador "
 "de guitarra ya està funcionando."
 
-#: C/guitar-tuner.c.page:257(p)
+#: C/guitar-tuner.c.page:258(p)
 msgid ""
 "If you run into problems with the tutorial, compare your code with this "
 "<link href=\"guitar-tuner/guitar-tuner.c\">reference code</link>."
@@ -12795,63 +14634,158 @@ msgstr ""
 "Si tiene problemas con este tutorial, compare su coÌdigo con este <link href="
 "\"guitar-tuner/guitar-tuner.c\">coÌdigo de referencia</link>."
 
-#: C/GtkApplicationWindow.vala.page:16(desc)
-#: C/GtkApplicationWindow.py.page:21(desc)
-#: C/GtkApplicationWindow.js.page:16(desc)
+#: C/GtkApplicationWindow.vala.page:7(title)
+#, fuzzy
+#| msgid "ApplicationWindow"
+msgid "ApplicationWindow (Vala)"
+msgstr "ApplicationWindow"
+
+#: C/GtkApplicationWindow.vala.page:17(desc)
+#: C/GtkApplicationWindow.py.page:22(desc)
+#: C/GtkApplicationWindow.js.page:17(desc)
 msgid "GtkWindow subclass with GtkApplication support"
 msgstr "Subclase GtkWindow con soporte de GtkApplication"
 
-#: C/GtkApplicationWindow.vala.page:19(title)
-#: C/GtkApplicationWindow.py.page:24(title)
-#: C/GtkApplicationWindow.js.page:19(title)
-#: C/GtkApplicationWindow.c.page:19(title)
+#: C/GtkApplicationWindow.vala.page:20(title)
+#: C/GtkApplicationWindow.py.page:25(title)
+#: C/GtkApplicationWindow.js.page:20(title)
+#: C/GtkApplicationWindow.c.page:20(title)
 msgid "ApplicationWindow"
 msgstr "ApplicationWindow"
 
-#: C/GtkApplicationWindow.vala.page:21(p) C/GtkApplicationWindow.py.page:26(p)
+#: C/GtkApplicationWindow.vala.page:22(p) C/GtkApplicationWindow.py.page:27(p)
 msgid "The simplest GtkApplication Window which can support Menus."
 msgstr "La ventana de GtkApplication mÃs sencilla que puede soportar menÃs."
 
-#: C/GtkApplicationWindow.py.page:37(title)
+#: C/GtkApplicationWindow.py.page:7(title)
+#, fuzzy
+#| msgid "ApplicationWindow"
+msgid "ApplicationWindow (Python)"
+msgstr "ApplicationWindow"
+
+#: C/GtkApplicationWindow.py.page:38(title)
 msgid "Useful methods for a Gtk.ApplicationWindow widget"
 msgstr "MÃtodos Ãtiles para un widget ÂGtk.ApplicationWindowÂ"
 
-#: C/GtkApplicationWindow.js.page:21(p)
+#: C/GtkApplicationWindow.js.page:7(title)
+#, fuzzy
+#| msgid "ApplicationWindow"
+msgid "ApplicationWindow (JavaScript)"
+msgstr "ApplicationWindow"
+
+#: C/GtkApplicationWindow.js.page:22(p)
 msgid "A simple GtkApplicationWindow which can support Menus."
 msgstr "Una GtkApplicationWindow sencilla que soporta menÃs."
 
-#: C/GtkApplicationWindow.c.page:16(desc)
+#: C/GtkApplicationWindow.c.page:7(title)
+#, fuzzy
+#| msgid "ApplicationWindow"
+msgid "ApplicationWindow (C)"
+msgstr "ApplicationWindow"
+
+#: C/GtkApplicationWindow.c.page:17(desc)
 msgid "A toplevel window which can contain other widgets, and support GMenu"
 msgstr ""
 "Una ventana de nivel superior que puede contener otros widgets, y que "
 "soporta GMenu"
 
-#: C/GtkApplicationWindow.c.page:21(p)
+#: C/GtkApplicationWindow.c.page:22(p)
 msgid "A minimal GtkApplication with a GtkApplicationWindow"
 msgstr "Una GtkApplication con una GtkApplicationWindow"
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/grid.vala.page:22(None) C/grid.py.page:22(None) C/grid.js.page:24(None)
-#: C/grid.c.page:21(None)
+#: C/grid.vala.page:23(None) C/grid.js.page:25(None) C/grid.c.page:22(None)
 msgid "@@image: 'media/grid.png'; md5=27d45da115401127456a3b854dcfc5be"
 msgstr "@@image: 'media/grid.png'; md5=27d45da115401127456a3b854dcfc5be"
 
-#: C/grid.vala.page:18(desc) C/grid.py.page:17(desc) C/grid.js.page:20(desc)
-#: C/grid.c.page:16(desc)
+#: C/grid.vala.page:7(title)
+msgid "Grid (Vala)"
+msgstr ""
+
+#: C/grid.vala.page:19(desc) C/grid.py.page:24(desc) C/grid.js.page:21(desc)
+#: C/grid.c.page:17(desc)
 msgid "Pack widgets in rows and columns"
 msgstr "Empaquetar widgets en filas y columnas"
 
-#: C/grid.vala.page:21(title) C/grid.py.page:20(title)
-#: C/grid.js.page:23(title)
+#: C/grid.vala.page:22(title)
 msgid "Grid widget"
 msgstr "Widget de rejilla"
 
-#: C/grid.vala.page:23(p) C/grid.py.page:23(p) C/grid.c.page:22(p)
+#: C/grid.vala.page:24(p) C/grid.c.page:23(p)
 msgid "A button widget connected to a progress bar."
 msgstr "Un widget de botÃn conectado a una barra de progreso."
 
-#: C/grid.js.page:25(p)
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/grid.py.page:29(None)
+#| msgid "@@image: 'media/grid.png'; md5=27d45da115401127456a3b854dcfc5be"
+msgid "@@image: 'media/grid_simple.png'; md5=c806f2e69b30373d4d2e08b41d6cc1f6"
+msgstr "@@image: 'media/grid_simple.png'; md5=c806f2e69b30373d4d2e08b41d6cc1f6"
+
+#: C/grid.py.page:7(title)
+#, fuzzy
+#| msgid "Python"
+msgid "Grid (Python)"
+msgstr "Python"
+
+#: C/grid.py.page:30(p)
+msgid "Some labels in a grid."
+msgstr ""
+
+#: C/grid.py.page:40(title)
+#, fuzzy
+#| msgid "Useful methods for a Window widget"
+msgid "Useful methods for a Grid widget"
+msgstr "MÃtodos Ãtiles para un widget ÂWindowÂ"
+
+#: C/grid.py.page:43(p)
+msgid ""
+"To attach a widget <code>child</code> in position <code>left, top</code> in "
+"a slot of given <code>width, height</code> use <code>attach(child, top, "
+"left, width, height)</code>. If a widget <code>sibling</code> is already in "
+"place, we can also use <code>attach_next_to(child, sibling, side, width, "
+"height)</code>, where <code>side</code> is one of <code>Gtk.PositionType."
+"LEFT, Gtk.PositionType.RIGHT, Gtk.PositionType.TOP, Gtk.PositionType.BOTTOM</"
+"code>."
+msgstr ""
+
+#: C/grid.py.page:44(p)
+msgid ""
+"<code>insert_row(position)</code> and <code>insert_column(position)</code> "
+"do exactly what they say; children which are attached at or below this "
+"position are moved one row down, and children which span across this "
+"position are grown to span the new row. <code>insert_next_to(sibling, side)</"
+"code> inserts a row or column at the specified position. The new row or "
+"column is placed next to <code>sibling</code>, on the side determined by "
+"<code>side</code>; if side is <code>Gtk.PositionType.TOP</code> or <code>Gtk."
+"PositionType.BOTTOM</code>, a row is inserted, if side is <code>Gtk."
+"PositionType.LEFT</code> of <code>Gtk.PositionType.RIGHT</code>, a column is "
+"inserted."
+msgstr ""
+
+#: C/grid.py.page:45(p)
+msgid ""
+"<code>set_row_homogeneous(True)</code> and <code>set_column_homogeneous(True)"
+"</code> ensure that (respectively) every row or every column has the same "
+"width or height."
+msgstr ""
+
+#: C/grid.py.page:46(p)
+msgid ""
+"<code>set_row_spacing(spacing)</code> and <code>set_column_spacing(spacing)</"
+"code> force a spacing between (respectively) rows or columns. The value of "
+"<code>spacing</code> can be between <code>0</code>, which is the default "
+"value, and <code>32767</code>"
+msgstr ""
+
+#: C/grid.js.page:7(title)
+#, fuzzy
+#| msgid "JavaScript"
+msgid "Grid (JavaScript)"
+msgstr "JavaScript"
+
+#: C/grid.js.page:26(p)
 msgid ""
 "A button widget connected to a progress bar, inside of a grid which handles "
 "the layout."
@@ -12859,90 +14793,261 @@ msgstr ""
 "Un widget de botÃn conectado a una barra de progreso., dentro de una rejilla "
 "que gestiona la distribuciÃn."
 
-#: C/grid.c.page:19(title)
-msgid "Grid Widget"
-msgstr "Widget de rejilla"
+#: C/grid.c.page:7(title)
+msgid "Grid (C)"
+msgstr ""
 
-#: C/grid.c.page:33(link) C/button.py.page:51(link) C/button.c.page:34(link)
+#: C/grid.c.page:34(link) C/buttonbox.py.page:49(link)
+#: C/button.py.page:52(link) C/button.c.page:35(link)
 msgid "GtkButton"
 msgstr "GtkButton"
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/gmenu.vala.page:26(None)
+#: C/gmenu.vala.page:27(None)
 msgid "@@image: 'media/gmenu.vala.png'; md5=7a9f381fc3ed5bf8d1c50d2acb095400"
 msgstr "@@image: 'media/gmenu.vala.png'; md5=7a9f381fc3ed5bf8d1c50d2acb095400"
 
-#: C/gmenu.vala.page:12(name) C/aboutdialog.vala.page:13(name)
+#: C/gmenu.vala.page:7(title)
+msgid "GMenu (Vala)"
+msgstr "GMenu (Vala)"
+
+#: C/gmenu.vala.page:13(name) C/aboutdialog.vala.page:14(name)
 msgid "Ryan Lortie"
 msgstr "Ryan Lortie"
 
-#: C/gmenu.vala.page:13(email) C/aboutdialog.vala.page:14(email)
+#: C/gmenu.vala.page:14(email) C/aboutdialog.vala.page:15(email)
 msgid "desrt desrt ca"
 msgstr "desrt desrt ca"
 
-#: C/gmenu.vala.page:22(desc) C/gmenu.py.page:16(desc)
-#: C/gmenu.js.page:16(desc) C/gmenu.c.page:16(desc)
+#: C/gmenu.vala.page:23(desc) C/gmenu.js.page:17(desc) C/gmenu.c.page:17(desc)
 msgid "A simple implementation of GMenuModel"
 msgstr "Una implementaciÃn sencilla del GMenuModel"
 
-#: C/gmenu.vala.page:28(em)
+#: C/gmenu.vala.page:29(em)
 msgid "You need to be running Gtk+-3.4 or later for this to work"
 msgstr "Necesita ejecutar GTK+-3.4 o superior para que funcione"
 
-#: C/gmenu.vala.page:31(p)
+#: C/gmenu.vala.page:32(p)
 msgid ""
 "This program will not compile with the quit action connected until <link "
 "href=\"https://bugzilla.gnome.org/show_bug.cgi?id=674090\";>Bug #674090</"
 "link> is fixed. Therefore, the problematic line has been commented out."
 msgstr ""
 "Este programa no compilarà con la opciÃn de Âsalir conectada hasta que se "
-"resuelva el <link href=\"https://bugzilla.gnome.org/show_bug.cgi?id=674090";
-"\">error n 674090</link>. Por lo tanto, esa lÃnea se ha comentado"
+"resuelva el <link href=\"https://bugzilla.gnome.org/show_bug.cgi?";
+"id=674090\">error n 674090</link>. Por lo tanto, esa lÃnea se ha comentado"
 
-#: C/gmenu.vala.page:33(p) C/gmenu.py.page:21(p) C/gmenu.js.page:21(p)
-#: C/gmenu.c.page:21(p)
+#: C/gmenu.vala.page:34(p) C/gmenu.py.page:28(p) C/gmenu.js.page:22(p)
+#: C/gmenu.c.page:22(p)
 msgid "A GtkApplication with a simple GMenu and SimpleActions"
 msgstr "Una GtkApplication con un GMenu sencillo y SimpleActions"
 
-#: C/gmenu.vala.page:42(link)
+#: C/gmenu.vala.page:43(link)
 msgid "Menu"
 msgstr "MenuÌ"
 
-#: C/gmenu.vala.page:43(link)
+#: C/gmenu.vala.page:44(link)
 msgid "append"
 msgstr "append"
 
-#: C/gmenu.vala.page:44(link)
+#: C/gmenu.vala.page:45(link)
 msgid "SimpleAction"
 msgstr "SimpleAction"
 
-#: C/gmenu.vala.page:45(link)
+#: C/gmenu.vala.page:46(link)
 msgid "add_action"
 msgstr "add_action"
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/gmenu.py.page:20(None)
+#: C/gmenu.py.page:27(None)
 msgid "@@image: 'media/gmenu.py.png'; md5=52c68b34d5d566f37e9f803dedb6353a"
 msgstr "@@image: 'media/gmenu.py.png'; md5=52c68b34d5d566f37e9f803dedb6353a"
 
-#: C/gmenu.py.page:22(em) C/gmenu.c.page:22(em) C/aboutdialog.vala.page:30(em)
+#: C/gmenu.py.page:7(title)
+#, fuzzy
+#| msgid "Python"
+msgid "GMenu (Python)"
+msgstr "Python"
+
+#: C/gmenu.py.page:23(desc)
+#, fuzzy
+#| msgid "A simple implementation of GMenuModel"
+msgid "A simple implementation of GMenu"
+msgstr "Una implementaciÃn sencilla del GMenuModel"
+
+#: C/gmenu.py.page:29(em) C/gmenu.c.page:23(em) C/aboutdialog.vala.page:31(em)
+#: C/aboutdialog.c.page:26(em)
 msgid "You need to be running Gtk3.4 or later for this to work"
 msgstr "Necesita ejecutar GTK+-3.4 o superior para que funcione"
 
+#: C/gmenu.py.page:40(title)
+#, fuzzy
+#| msgid "Useful methods for a Gtk.ApplicationWindow widget"
+msgid "Useful methods for a GSimpleAction and a GMenu"
+msgstr "MÃtodos Ãtiles para un widget ÂGtk.ApplicationWindowÂ"
+
+#: C/gmenu.py.page:42(p)
+#, fuzzy
+#| msgid "Useful methods for a Scale widget"
+msgid "Useful methods for a GSimpleAction:"
+msgstr "MeÌtodos uÌtiles para un widget ÂScaleÂ"
+
+#: C/gmenu.py.page:44(p)
+msgid ""
+"To create a new action that is <em>stateless</em>, that is, an action that "
+"do not retain or depend on a state given by the action itself, use"
+msgstr ""
+
+#: C/gmenu.py.page:45(code)
+#, no-wrap
+msgid ""
+"\n"
+"action = Gio.SimpleAction.new(\"name\", parameter_type)"
+msgstr ""
+"\n"
+"action = Gio.SimpleAction.new(\"name\", parameter_type)"
+
+#: C/gmenu.py.page:47(p)
+msgid ""
+"where <code>\"name\"</code> is the name of the action and "
+"<code>parameter_type</code> is the type of the parameters that the action "
+"receives when being activated. This can be <code>None</code>, or <code>GLib."
+"VariantType.new('s')</code> if the parameter is of type <code>str</code>, or "
+"instead of <code>'s'</code> a character as described <link href=\"http://";
+"developer.gnome.org/glib/unstable/glib-GVariantType.html\">here</link>. To "
+"create a new <em>stateful</em> (i.e. not stateless) action, use"
+msgstr ""
+
+#: C/gmenu.py.page:48(code)
+#, no-wrap
+msgid ""
+"\n"
+"action = Gio.SimpleAction.new_stateful(\"name\", parameter_type, initial_state)"
+msgstr ""
+
+#: C/gmenu.py.page:50(p)
+msgid ""
+"where <code>initial_state</code> is defined as a GVariant - for instance "
+"<code>Glib.Variant.new_string('start')</code>; for a list of possiblities "
+"see <link href=\"http://developer.gnome.org/glib/unstable/glib-GVariant.html";
+"\">here</link>."
+msgstr ""
+
+#: C/gmenu.py.page:51(p)
+msgid ""
+"<code>set_enabled(True)</code> sets the action as enabled; an action must be "
+"enabled in order to be activated or in order to have its state changed from "
+"outside callers. This should only be called by the implementor of the "
+"action. Users of the action should not attempt to modify its enabled flag."
+msgstr ""
+
+#: C/gmenu.py.page:52(p)
+msgid ""
+"<code>set_state(state)</code>, where <code>state</code> is a GVariant, sets "
+"the state of the action, updating the 'state' property to the given value. "
+"This should only be called by the implementor of the action; users of the "
+"action should instead call <code>change_state(state)</code> (where "
+"<code>state</code> is as above) to request the change."
+msgstr ""
+
+#: C/gmenu.py.page:55(p)
+#, fuzzy
+#| msgid "Useful methods for a Scale widget"
+msgid "Useful methods for a GMenu:"
+msgstr "MeÌtodos uÌtiles para un widget ÂScaleÂ"
+
+#: C/gmenu.py.page:57(p)
+msgid ""
+"To insert an item in the menu in position <code>position</code>, use "
+"<code>insert(position, label, detailed_action)</code>, where <code>label</"
+"code> is the label that will appear in the menu and <code>detailed_action</"
+"code> is a string composed of the name of the action to which we prepend the "
+"prefix <code>app.</code>. A more detailed discussion of this can be found in "
+"<link xref=\"menubar.py#win-app\"/>."
+msgstr ""
+
+#: C/gmenu.py.page:58(p)
+msgid ""
+"To append or prepend an item in the menu use respectively <code>append"
+"(label, detailed_action)</code> and <code>prepend(label, detailed_action)</"
+"code>."
+msgstr ""
+
+#: C/gmenu.py.page:59(p)
+msgid ""
+"Another way of adding items to the menu is to create them as "
+"<code>GMenuItem</code>s and use <code>insert_item(position, item)</code>, "
+"<code>append_item(item)</code>, or <code>prepend_item(item)</code>; so for "
+"instance we might have:"
+msgstr ""
+
+#: C/gmenu.py.page:60(code)
+#, no-wrap
+msgid ""
+"\n"
+"about = Gio.MenuItem.new(\"About\", \"app.about\")\n"
+"menu.append_item(about)"
+msgstr ""
+"\n"
+"about = Gio.MenuItem.new(\"About\", \"app.about\")\n"
+"menu.append_item(about)"
+
+#: C/gmenu.py.page:64(p)
+msgid ""
+"We can also add a whole subsection in a menu using <code>insert_section"
+"(position, label, section)</code>, <code>append_section(label, section)</"
+"code>, or <code>prepend_section(label, section)</code>, where <code>label</"
+"code> is the title of the subsection."
+msgstr ""
+
+#: C/gmenu.py.page:65(p)
+msgid ""
+"To add a submenu that will expand and collapse, use <code>insert_submenu"
+"(position, label, section)</code>, <code>append_submenu(label, section)</"
+"code>, or <code>prepend_submenu(label, section)</code>, where <code>label</"
+"code> is the title of the subsection."
+msgstr ""
+
+#: C/gmenu.py.page:66(p)
+msgid "To remove an item from the menu, use <code>remove(postion)</code>."
+msgstr ""
+
+#: C/gmenu.py.page:67(p)
+msgid "To set a label for the menu, use <code>set_label(label)</code>."
+msgstr ""
+
+#: C/gmenu.py.page:78(link)
+msgid "GVariantType"
+msgstr "GVariantType"
+
+#: C/gmenu.py.page:79(link)
+msgid "GVariant"
+msgstr "GVariant"
+
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/gmenu.js.page:20(None)
+#: C/gmenu.js.page:21(None)
 msgid "@@image: 'media/gmenu.js.png'; md5=16b8bee122197771ec8498dac42f196b"
 msgstr "@@image: 'media/gmenu.js.png'; md5=16b8bee122197771ec8498dac42f196b"
 
+#: C/gmenu.js.page:7(title)
+#| msgid "JavaScript"
+msgid "GMenu (JavaScript)"
+msgstr "GMenu (JavaScript)"
+
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/gmenu.c.page:20(None)
+#: C/gmenu.c.page:21(None)
 msgid "@@image: 'media/gmenu.c.png'; md5=f305fc3cae8d16d72b734ee53b559e33"
 msgstr "@@image: 'media/gmenu.c.png'; md5=f305fc3cae8d16d72b734ee53b559e33"
 
+#: C/gmenu.c.page:7(title)
+#| msgid "GMenu"
+msgid "GMenu (C)"
+msgstr "GMenu (C)"
+
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
 #: C/getting-ready.page:39(None)
@@ -13062,72 +15167,78 @@ msgstr ""
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/fontchooserwidget.py.page:22(None)
-#| msgid ""
-#| "@@image: 'media/colorbutton.png'; md5=904539d26fe367bf99f9a0961cfc9a03"
+#: C/fontchooserwidget.py.page:23(None)
 msgid ""
 "@@image: 'media/fontchooserwidget.png'; md5=9161245e307b432ae1313e9a9941edae"
 msgstr ""
 "@@image: 'media/fontchooserwidget.png'; md5=9161245e307b432ae1313e9a9941edae"
 
-#: C/fontchooserwidget.py.page:17(desc)
-#| msgid "A widget used to choose from a list of items"
+#: C/fontchooserwidget.py.page:7(title)
+#, fuzzy
+#| msgid "FontChooserWidget"
+msgid "FontChooserWidget (Python)"
+msgstr "FontChooserWidget"
+
+#: C/fontchooserwidget.py.page:18(desc)
 msgid "A widget to choose a font"
 msgstr "Un widget para elegir la tipografÃa"
 
-#: C/fontchooserwidget.py.page:20(title)
+#: C/fontchooserwidget.py.page:21(title)
 msgid "FontChooserWidget"
 msgstr "FontChooserWidget"
 
-#: C/fontchooserwidget.py.page:23(p)
-#| msgid "A button widget connected to a simple callback function."
+#: C/fontchooserwidget.py.page:24(p)
 msgid "A FontChooserWidget with a callback function."
 msgstr "Un FontChooserWidget con una funciÃn de retorno de llamada."
 
-#: C/fontchooserwidget.py.page:32(title)
-#| msgid "Useful methods for an Entry widget"
+#: C/fontchooserwidget.py.page:33(title)
 msgid "Useful methods for a FontChooserWidget"
 msgstr "MÃtodos Ãtiles para un ÂFontChooserWidgetÂ"
 
-#: C/fontchooserwidget.py.page:35(p)
+#: C/fontchooserwidget.py.page:36(p)
 msgid ""
 "To set the font which is initially selected, use <code>set_font(font)</code> "
 "(where <code>font</code> is the font name) or <code>set_font_desc(font)</"
 "code> (where <code>font</code> is the PangoFontDescription)."
 msgstr ""
 
-#: C/fontchooserwidget.py.page:36(p)
+#: C/fontchooserwidget.py.page:37(p)
 msgid ""
 "To get the selected font use <code>get_font()</code> or <code>get_font_desc()"
 "</code>."
 msgstr ""
 
-#: C/fontchooserwidget.py.page:37(p)
+#: C/fontchooserwidget.py.page:38(p)
 msgid ""
 "To change the text which is shown in the preview area, use "
 "<code>set_preview_text()</code>."
 msgstr ""
 
-#: C/fontchooserwidget.py.page:44(link)
-#| msgid "GtkColorChooser"
+#: C/fontchooserwidget.py.page:45(link)
 msgid "GtkFontChooserWidget"
 msgstr "GtkFontChooserWidget"
 
-#: C/filechooserdialog.vala.page:19(desc)
+#: C/filechooserdialog.vala.page:7(title)
+#, fuzzy
+#| msgid "FileChooserDialog"
+msgid "FileChooserDialog (Vala)"
+msgstr "FileChooserDialog"
+
+#: C/filechooserdialog.vala.page:20(desc)
 msgid "A dialog suitable for \"Open\" and \"Save\" commands."
 msgstr ""
 
-#: C/filechooserdialog.vala.page:22(title)
-#: C/filechooserdialog.vala.page:39(link)
-#| msgid "MessageDialog"
+#: C/filechooserdialog.vala.page:23(title)
+#: C/filechooserdialog.vala.page:40(link)
+#: C/filechooserdialog.py.page:23(title)
 msgid "FileChooserDialog"
 msgstr "FileChooserDialog"
 
-#: C/filechooserdialog.vala.page:24(title)
+#: C/filechooserdialog.vala.page:25(title)
 msgid "Overview of the example"
 msgstr ""
 
-#: C/filechooserdialog.vala.page:25(p)
+#: C/filechooserdialog.vala.page:26(p)
 msgid ""
 "This example demonstrates how the FileChooserDialog can be used. It is "
 "incorporated into a very simple text editor application. All the <link xref="
@@ -13137,57 +15248,238 @@ msgid ""
 "then imported into the application using Gtk.Builder."
 msgstr ""
 
-#: C/filechooserdialog.vala.page:27(title)
+#: C/filechooserdialog.vala.page:28(title)
 msgid "XML UI file which creates the app-menu"
 msgstr ""
 
-#: C/filechooserdialog.vala.page:30(title)
-#| msgid "Sample Vala code"
+#: C/filechooserdialog.vala.page:31(title)
 msgid "Vala Code"
 msgstr "CÃdigo en Vala"
 
-#: C/filechooserdialog.vala.page:38(link)
-#| msgid "GtkColorChooser"
+#: C/filechooserdialog.vala.page:39(link)
 msgid "FileChooser"
 msgstr "FileChooser"
 
-#: C/filechooserdialog.vala.page:41(link)
+#: C/filechooserdialog.vala.page:42(link)
 msgid "GLib.ActionEntry"
 msgstr "GLib.ActionEntry"
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/entry.vala.page:20(None) C/entry.py.page:25(None)
-#: C/entry.js.page:20(None) C/entry.c.page:21(None)
+#: C/filechooserdialog.py.page:24(None)
+#| msgid "@@image: 'media/image.png'; md5=9416aa74d9d6a857783f7a36338e7a02"
+msgid ""
+"@@image: 'media/filechooserdialog_save.png'; "
+"md5=3a7a3b71b9d3a36066857843b68ff27f"
+msgstr ""
+"@@image: 'media/filechooserdialog_save.png'; "
+"md5=3a7a3b71b9d3a36066857843b68ff27f"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/filechooserdialog.py.page:26(None)
+#| msgid ""
+#| "@@image: 'media/fontchooserwidget.png'; "
+#| "md5=9161245e307b432ae1313e9a9941edae"
+msgid ""
+"@@image: 'media/filechooserdialog_menu.png'; "
+"md5=8a75f04127a70eba0ed68a9eb1d3bbca"
+msgstr ""
+"@@image: 'media/filechooserdialog_menu.png'; "
+"md5=8a75f04127a70eba0ed68a9eb1d3bbca"
+
+#: C/filechooserdialog.py.page:7(title)
+#, fuzzy
+#| msgid "FileChooserDialog"
+msgid "FileChooserDialog (Python)"
+msgstr "FileChooserDialog"
+
+#: C/filechooserdialog.py.page:20(desc)
+msgid "A dialog suitable for \"Open\" and \"Save\" commands"
+msgstr ""
+
+#: C/filechooserdialog.py.page:25(p)
+msgid ""
+"This FileChooserDialog saves a text document, which can be opened or written "
+"from scratch in a TextView (see below)."
+msgstr ""
+
+#: C/filechooserdialog.py.page:27(p)
+msgid "It is also possible to call a FileChooserDialog to open a new document."
+msgstr ""
+
+#: C/filechooserdialog.py.page:32(title)
+#, fuzzy
+#| msgid "Code used to generate this example"
+msgid "Steps to recreate the example"
+msgstr "CÃdigo usado para generar este ejemplo"
+
+#: C/filechooserdialog.py.page:34(p)
+msgid ""
+"Create a file .ui to describe an app-menu with items \"New\", \"Open\", "
+"\"Save\", \"Save as\", and \"Quit\". This can be done with Glade or in a "
+"text editor. See <link xref=\"#xml\"/>"
+msgstr ""
+
+#: C/filechooserdialog.py.page:35(p)
+msgid ""
+"Create a Python program for a Gtk.TextView with a Gtk.Buffer <code>self."
+"buffer</code>, and a <code>self.file</code> which will be a Gio.File and we "
+"set initially as <code>None</code>."
+msgstr ""
+
+#: C/filechooserdialog.py.page:36(p)
+msgid ""
+"In this program, create also the actions corresponding to the items in the "
+"app-menu, connect them to callback functions, and import the menu in the "
+"<code>do_startup()</code> method with a Gtk.Builder."
+msgstr ""
+
+#: C/filechooserdialog.py.page:37(p)
+msgid ""
+"\"New\" and \"Quit\" actions and callback functions are quite "
+"straightforward, see <link xref=\"#code\"/>."
+msgstr ""
+
+#: C/filechooserdialog.py.page:38(p)
+msgid ""
+"\"Open\" callback should create and open a Gtk.FileChooserDialog for \"Open"
+"\", connected with another callback function for each of the two \"Open\" "
+"and \"Cancel\" buttons of the FileChooserDialog."
+msgstr ""
+
+#: C/filechooserdialog.py.page:39(p)
+msgid ""
+"\"Save as\" works basically as \"Open\", but the callback function of the "
+"\"Save\" button depends on a more complex method <code>save_to_file()</code>."
+msgstr ""
+
+#: C/filechooserdialog.py.page:40(p)
+msgid ""
+"\"Save\" can be reduced to the case where the file is <code>None</code>, "
+"that is the case where <code>self.file</code> is a new file, which in turn "
+"is the case \"Save as\"; and to the case where the file is not <code>None</"
+"code>, which in turn is reduced to <code>save_to_file()</code>."
+msgstr ""
+
+#: C/filechooserdialog.py.page:41(p)
+msgid ""
+"Finally, the method <code>save_to_file()</code>: see <link xref=\"#code\"/>, "
+"lines 146 - 175."
+msgstr ""
+
+#: C/filechooserdialog.py.page:46(title)
+msgid "XML file which creates the app-menu"
+msgstr ""
+
+#: C/filechooserdialog.py.page:56(title)
+#, fuzzy
+#| msgid "Useful methods for a FontChooserWidget"
+msgid "Useful methods for a FileChooserDialog"
+msgstr "MÃtodos Ãtiles para un ÂFontChooserWidgetÂ"
+
+#: C/filechooserdialog.py.page:57(p)
+msgid ""
+"Note that the action of the FileChooserDialog can be one of the following: "
+"<code>Gtk.FileChooserAction.OPEN</code> (the file chooser will only let the "
+"user pick an existing file) <code>Gtk.FileChooserAction.SAVE</code> (the "
+"file chooser will let the user pick an existing file, or type in a new "
+"filename), <code>Gtk.FileChooserAction.SELECT_FOLDER</code> (the file "
+"chooser will let the user pick an existing folder), <code>Gtk."
+"FileChooserAction.CREATE_FOLDER</code> (the file chooser will let the user "
+"name an existing or new folder)."
+msgstr ""
+
+#: C/filechooserdialog.py.page:58(p)
+msgid "Besides the methods used in the <link xref=\"#code\"/>, we have:"
+msgstr ""
+
+#: C/filechooserdialog.py.page:60(p)
+msgid ""
+"<code>set_show_hidden(True)</code> is used to display hidden files and "
+"folders."
+msgstr ""
+
+#: C/filechooserdialog.py.page:61(p)
+msgid ""
+"<code>set_select_multiple(True)</code> sets that multiple files can be "
+"selected. This is only relevant if the mode is <code>Gtk.FileChooserAction."
+"OPEN</code> or <code>Gtk.FileChooserAction.SELECT_FOLDER</code>."
+msgstr ""
+
+#: C/filechooserdialog.py.page:62(p)
+msgid ""
+"In a \"Save as\" dialog, <code>set_current_name(current_name)</code> sets "
+"<code>current_name</code> in the file selector, as if entered by the user; "
+"<code>current_name</code> can be something like <em>Untitled.txt</em>. This "
+"method should not be used except in a \"Save as\" dialog."
+msgstr ""
+
+#: C/filechooserdialog.py.page:63(p)
+msgid ""
+"The default current folder is \"recent items\". To set another folder use "
+"<code>set_current_folder_uri(uri)</code>; but note you should use this "
+"method and cause the file chooser to show a specific folder only when you "
+"are doing a \"Save as\" command and you already have a file saved somewhere."
+msgstr ""
+
+#: C/filechooserdialog.py.page:71(link)
+#| msgid "FileChooserDialog"
+msgid "GtkFileChooserDialog"
+msgstr "GtkFileChooserDialog"
+
+#: C/filechooserdialog.py.page:72(link)
+#| msgid "FileChooser"
+msgid "GtkFileChooser"
+msgstr "GtkFileChooser"
+
+#: C/filechooserdialog.py.page:77(link)
+msgid "GFile"
+msgstr "GFile"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/entry.vala.page:21(None) C/entry.py.page:26(None)
+#: C/entry.js.page:21(None) C/entry.c.page:22(None)
 msgid "@@image: 'media/entry.png'; md5=8a828cffdcbaa4bad83342e109f28cc8"
 msgstr "@@image: 'media/entry.png'; md5=8a828cffdcbaa4bad83342e109f28cc8"
 
-#: C/entry.vala.page:16(desc) C/entry.py.page:21(desc) C/entry.c.page:16(desc)
+#: C/entry.vala.page:7(title)
+msgid "Entry (Vala)"
+msgstr ""
+
+#: C/entry.vala.page:17(desc) C/entry.py.page:22(desc) C/entry.c.page:17(desc)
 msgid "A single line text entry field"
 msgstr "Un campo de entrada de texto de una sola lÃnea"
 
-#: C/entry.vala.page:19(title) C/entry.py.page:24(title)
-#: C/entry.js.page:19(title) C/entry.c.page:19(title)
+#: C/entry.vala.page:20(title) C/entry.py.page:25(title)
+#: C/entry.js.page:20(title) C/entry.c.page:20(title)
 msgid "Entry"
 msgstr "Entry"
 
-#: C/entry.vala.page:21(p) C/entry.c.page:22(p)
+#: C/entry.vala.page:22(p) C/entry.c.page:23(p)
 msgid "This application greets you in the terminal."
 msgstr "Esta aplicaciÃn le saluda en la terminal."
 
-#: C/entry.vala.page:28(link) C/entry.js.page:30(link)
+#: C/entry.vala.page:29(link) C/entry.js.page:31(link)
 msgid "Gtk.Entry"
 msgstr "Gtk.Entry"
 
-#: C/entry.py.page:26(p)
+#: C/entry.py.page:7(title)
+#, fuzzy
+#| msgid "Python"
+msgid "Entry (Python)"
+msgstr "Python"
+
+#: C/entry.py.page:27(p)
 msgid "This application greets you in the terminal with the name you provide."
 msgstr "Esta aplicaciÃn le saluda en la terminal con el nombre que le indique."
 
-#: C/entry.py.page:36(title)
+#: C/entry.py.page:37(title)
 msgid "Useful methods for an Entry widget"
 msgstr "MÃtodos Ãtiles para un widget ÂEntryÂ"
 
-#: C/entry.py.page:37(p)
+#: C/entry.py.page:38(p)
 msgid ""
 "For an explanation of signals and callback functions, see <link xref="
 "\"signals-callbacks.py\">this page</link>. Some of the signals that a Gtk."
@@ -13206,29 +15498,29 @@ msgid ""
 "used to add items to it)."
 msgstr ""
 
-#: C/entry.py.page:39(p)
+#: C/entry.py.page:40(p)
 msgid ""
 "<code>get_buffer()</code> and <code>set_buffer(buffer)</code>, where "
 "<code>buffer</code> is a Gtk.EntryBuffer object, can be used to get and set "
 "the buffer for the entry."
 msgstr ""
 
-#: C/entry.py.page:40(p)
+#: C/entry.py.page:41(p)
 msgid ""
 "<code>get_text()</code> and <code>set_text(\"some text\")</code> can be used "
 "to get and set the content for the entry."
 msgstr ""
 
-#: C/entry.py.page:41(p)
+#: C/entry.py.page:42(p)
 msgid "<code>get_text_length()</code> is self-explanatory."
 msgstr ""
 
-#: C/entry.py.page:42(p)
+#: C/entry.py.page:43(p)
 msgid ""
 "<code>get_text_area()</code> gets the area where the entry's text is drawn."
 msgstr ""
 
-#: C/entry.py.page:43(p)
+#: C/entry.py.page:44(p)
 msgid ""
 "If we set <code>set_visibility(False)</code> the characters in the entry are "
 "displayed as the invisible char. This is the best available in the current "
@@ -13237,14 +15529,14 @@ msgid ""
 "<code>unset_invisbile_char()</code>."
 msgstr ""
 
-#: C/entry.py.page:44(p)
+#: C/entry.py.page:45(p)
 msgid ""
 "<code>set_max_length(int)</code>, where <code>int</code> is an integer, "
 "truncates every entry longer than <code>int</code> to have the desired "
 "maximum length."
 msgstr ""
 
-#: C/entry.py.page:45(p)
+#: C/entry.py.page:46(p)
 msgid ""
 "By default, if you press the Entry key the Gtk.Entry emits the signal <code>"
 "\"activate\"</code>. If you would like to activate the default widget for "
@@ -13252,37 +15544,37 @@ msgid ""
 "use <code>set_activates_default(True)</code>."
 msgstr ""
 
-#: C/entry.py.page:46(p)
+#: C/entry.py.page:47(p)
 msgid "To set a frame around the entry: <code>set_has_frame(True)</code>."
 msgstr ""
 
-#: C/entry.py.page:47(p)
+#: C/entry.py.page:48(p)
 msgid ""
 "<code>set_placeholder_text(\"some text\")</code> sets the text to be "
 "displayed in the entry when it is empty and unfocused."
 msgstr ""
 
-#: C/entry.py.page:48(p)
+#: C/entry.py.page:49(p)
 msgid ""
 "<code>set_overwrite_mode(True)</code> and <code>set_overwrite_mode(False)</"
 "code> are self-explanatory."
 msgstr ""
 
-#: C/entry.py.page:49(p)
+#: C/entry.py.page:50(p)
 msgid ""
 "If we have <code>set_editable(False)</code> the user cannot edit the text in "
 "the widget."
 msgstr ""
 
-#: C/entry.py.page:50(p)
+#: C/entry.py.page:51(p)
 msgid ""
 "<code>set_completion(completion)</code>, where <code>completion</code> is a "
-"<link href=\"http://developer.gnome.org/gtk3/3.4/GtkEntryCompletion.html";
+"<link href=\"http://developer.gnome.org/gtk3/unstable/GtkEntryCompletion.html";
 "\"><code>Gtk.EntryCompletion</code></link>, sets completion - or disables it "
 "if <code>completion</code> is <code>None</code>."
 msgstr ""
 
-#: C/entry.py.page:51(p)
+#: C/entry.py.page:52(p)
 msgid ""
 "An Entry widget can display progress or activity information behind the "
 "text. We use <code>set_progress_fraction(fraction)</code>, where "
@@ -13298,7 +15590,7 @@ msgid ""
 "<code>set_progress_pulse_step()</code>)."
 msgstr ""
 
-#: C/entry.py.page:52(p)
+#: C/entry.py.page:53(p)
 msgid ""
 "An Entry widget can also show icons. These icons can be activatable by "
 "clicking, can be set up as drag source and can have tooltips. To add an "
@@ -13313,18 +15605,31 @@ msgid ""
 "Pango markup language\")</code>."
 msgstr ""
 
-#: C/entry.py.page:60(link) C/entry.c.page:32(link)
+#: C/entry.py.page:61(link) C/entry.c.page:33(link)
+#: C/buttonbox.py.page:50(link)
 msgid "GtkEntry"
 msgstr "GtkEntry"
 
-#: C/entry.js.page:16(desc)
+#: C/entry.js.page:7(title)
+#, fuzzy
+#| msgid "JavaScript"
+msgid "Entry (JavaScript)"
+msgstr "JavaScript"
+
+#: C/entry.js.page:17(desc)
 msgid "A single-line text entry field"
 msgstr "Un campo de entrada de texto de una sola lÃnea"
 
-#: C/entry.js.page:21(p)
+#: C/entry.js.page:22(p)
 msgid "This application greets you by name through a pop-up window."
 msgstr "Esta aplicaciÃn le saluda por su nombre con una ventana emergente."
 
+#: C/entry.c.page:7(title)
+#, fuzzy
+#| msgid "Entry"
+msgid "Entry (C)"
+msgstr "Entry"
+
 #: C/documentation.page:19(title)
 msgid "Help develop"
 msgstr "Ayudar al desarrollo"
@@ -13349,73 +15654,90 @@ msgstr ""
 "Si quiere <link href=\"https://live.gnome.org/DocumentationProject/Tasks/";
 "DeveloperDocs\">contribuir al desarrollo de los <app>Tutoriales del "
 "desarrollador de GNOME</app></link>, puede ponerse en contacto con los "
-"desarrolladores usando <link href=\"https://cbe005.chat.mibbit.com/?url=irc%";
-"3A%2F%2Firc.gnome.org%2Fdocs\">irc</link>, o mediante la <link href=\"http://";
-"mail.gnome.org/mailman/listinfo/gnome-doc-devel-list\">lista decorreo</link>."
+"desarrolladores usando <link href=\"https://cbe005.chat.mibbit.com/?url=irc";
+"%3A%2F%2Firc.gnome.org%2Fdocs\">irc</link>, o mediante la <link href="
+"\"http://mail.gnome.org/mailman/listinfo/gnome-doc-devel-list\";>lista "
+"decorreo</link>."
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/dialog.vala.page:20(None) C/dialog.py.page:21(None)
-#: C/dialog.js.page:20(None) C/dialog.c.page:23(None)
+#: C/dialog.vala.page:21(None) C/dialog.py.page:22(None)
+#: C/dialog.js.page:21(None) C/dialog.c.page:24(None)
 msgid "@@image: 'media/dialog.png'; md5=c90a33386a600e892fe623d4072c8c38"
 msgstr "@@image: 'media/dialog.png'; md5=c90a33386a600e892fe623d4072c8c38"
 
-#: C/dialog.vala.page:16(desc) C/dialog.py.page:17(desc)
-#: C/dialog.js.page:16(desc) C/dialog.c.page:18(desc)
+#: C/dialog.vala.page:7(title)
+#, fuzzy
+#| msgid "Dialog"
+msgid "Dialog (Vala)"
+msgstr "DiaÌlogo"
+
+#: C/dialog.vala.page:17(desc) C/dialog.py.page:18(desc)
+#: C/dialog.js.page:17(desc) C/dialog.c.page:19(desc)
 msgid "A popup window"
 msgstr "Una ventana emergente"
 
-#: C/dialog.vala.page:19(title) C/dialog.py.page:20(title)
-#: C/dialog.js.page:19(title) C/dialog.c.page:21(title)
+#: C/dialog.vala.page:20(title) C/dialog.py.page:21(title)
+#: C/dialog.js.page:20(title) C/dialog.c.page:22(title)
 msgid "Dialog"
 msgstr "DiaÌlogo"
 
-#: C/dialog.vala.page:21(p)
+#: C/dialog.vala.page:22(p)
 msgid "A dialog with the response signal hooked up to a callback function."
 msgstr ""
 "Un diÃlogo con la seÃal de respuesta enlazada a una funciÃn de retorno de "
 "llamada."
 
-#: C/dialog.vala.page:30(link) C/dialog.js.page:30(link)
+#: C/dialog.vala.page:31(link) C/dialog.js.page:31(link)
 msgid "Gtk.Dialog"
 msgstr "Gtk.Dialog"
 
-#: C/dialog.vala.page:31(link)
+#: C/dialog.vala.page:32(link)
 msgid "Gtk.Dialog.with_buttons"
 msgstr "Gtk.Dialog.with_buttons"
 
-#: C/dialog.vala.page:33(link)
+#: C/dialog.vala.page:34(link)
 msgid "get_content_area"
 msgstr "get_content_area"
 
-#: C/dialog.py.page:22(p)
+#: C/dialog.py.page:7(title)
+msgid "Dialog (Python)"
+msgstr ""
+
+#: C/dialog.py.page:23(p)
 msgid "A dialog with the response signal connected to a callback function."
 msgstr ""
 "Un diÃlogo con la seÃal de respuesta conectada a una funciÃn de retorno de "
 "llamada."
 
-#: C/dialog.py.page:34(title)
+#: C/dialog.py.page:35(title)
 msgid "Useful methods for a Dialog widget"
 msgstr "MeÌtodos uÌtiles para un widget ÂDialogÂ"
 
-#: C/dialog.py.page:37(p)
+#: C/dialog.py.page:38(p)
 msgid ""
 "Instead of <code>set_modal(True)</code> we could have <code>set_modal(False)"
 "</code> followed by <code>set_destroy_with_parent(True)</code> that would "
 "destroy the dialog window if the main window is closed."
 msgstr ""
 
-#: C/dialog.py.page:38(p)
+#: C/dialog.py.page:39(p)
 msgid ""
 "<code>add_button(button_text=\"The Answer\", response_id=42)</code>, where "
 "<code>42</code> is any integer, is an alternative to <code>add_button"
 "(button_text=\"text\", response_id=Gtk.ResponseType.RESPONSE)</code>, where "
 "<code>RESPONSE</code> could be one of <code>OK, CANCEL, CLOSE, YES, NO, "
-"APPLY, HELP</code>, which in turn correspond to the integers <code>-5, -"
-"6,..., -11</code>."
+"APPLY, HELP</code>, which in turn correspond to the integers <code>-5, "
+"-6,..., -11</code>."
 msgstr ""
 
-#: C/dialog.js.page:21(p)
+#: C/dialog.js.page:7(title)
+#, fuzzy
+#| msgid "JavaScript"
+msgid "Dialog (JavaScript)"
+msgstr "JavaScript"
+
+#: C/dialog.js.page:22(p)
 msgid ""
 "A customizable popup window, which has a content area and an action area. "
 "This example dialog's content area contains a short message, and its action "
@@ -13425,135 +15747,16 @@ msgstr ""
 "Ãrea de acciÃn. Esta Ãrea de contenido del diÃlogo de ejemplo contiene un "
 "mensaje, y su Ãrea de acciÃn contiene un botÃn que cierra el diÃlogo."
 
-#: C/dialog.c.page:24(p)
+#: C/dialog.c.page:7(title)
+#, fuzzy
+#| msgid "Dialog"
+msgid "Dialog (C)"
+msgstr "DiaÌlogo"
+
+#: C/dialog.c.page:25(p)
 msgid "A dialog window that pops up when a button is pressed."
 msgstr "Una ventana de diÃlogo que aparece cuando se pulsa un botÃn"
 
-#: C/desktop.js.page:15(desc)
-msgid "A desktop file for the hello world application"
-msgstr "Un archivo Â.desktop para la aplicaciÃn ÂHola mundoÂ"
-
-#: C/desktop.js.page:18(title)
-msgid "helloWorld.desktop"
-msgstr "helloWorld.desktop"
-
-#: C/desktop.js.page:19(p)
-msgid ""
-"Running applications from the Terminal is useful at the beginning of the "
-"application making process. To have a fully working <link href=\"http://";
-"library.gnome.org/admin/system-admin-guide/stable/mimetypes-9.html.en"
-"\">application integration</link> in GNOME 3 requires a desktop launcher. "
-"For this you need to create a <file>.desktop</file> file. The .desktop file "
-"describes the application name, the used icon and various integration bits. "
-"A deeper insight to <file>.desktop</file> file can be found <link href="
-"\"http://developer.gnome.org/desktop-entry-spec/\";>here</link>."
-msgstr ""
-"Ejecutar aplicaciones desde la terminal es Ãtil al principio del proceso de "
-"crear la aplicaciÃn. Para tener una <link href=\"http://library.gnome.org/";
-"admin/system-admin-guide/stable/mimetypes-9.html.en\">integraciÃn con la "
-"aplicaciÃn</link> completa en GNOME 3, se necesita un lanzador en el "
-"escritorio. Para esto, necesita crear un archivo <file>.desktop</file>. El "
-"archivo Â.desktop describe el nombre de la aplicaciÃn, el icono que usa y "
-"varios campos de integraciÃn. Puede encontrar una descripciÃn de los "
-"archivos <file>.desktop</file> <link href=\"http://developer.gnome.org/";
-"desktop-entry-spec/\">aquÃ</link>."
-
-#: C/desktop.js.page:20(p)
-msgid ""
-"The example shows you the minimum requirements for a <code>.desktop</code> "
-"file."
-msgstr ""
-"El ejemplo muestra los requerimientos mÃnimos de un archivo <code>.desktop</"
-"code>."
-
-#: C/desktop.js.page:33(p)
-msgid "Now let's go through some parts of the <code>.desktop</code> file."
-msgstr "Ahora se verÃn algunas partes del archivo <code>.desktop</code>."
-
-#: C/desktop.js.page:35(p)
-msgid "Line 4: Name of the application"
-msgstr "LÃnea 4: nombre de la aplicaciÃn"
-
-#: C/desktop.js.page:36(p)
-msgid "Line 5: Specifies a short description of the item"
-msgstr "LÃnea 5: especifica una breve descripciÃn del elemento"
-
-#: C/desktop.js.page:37(p)
-msgid ""
-"Line 6: Specifies a command to execute when you choose the item from the "
-"menu. In this example exec just tells where to find the <code>helloworld.js</"
-"code> file and the file takes care of the rest."
-msgstr ""
-"LÃnea 6: especifica un comando que ejecutar cuando se elige el elemento en "
-"el menÃ. En este ejemplo, Âexec sÃlo indica dÃnde encontrar el archivo "
-"<code>helloworld.js</code> y el archivo se hace cargo del resto."
-
-#: C/desktop.js.page:38(p)
-msgid ""
-"Line 8: Specifies whether the command in the Exec key runs in a terminal "
-"window."
-msgstr ""
-"LÃnea 8: especifica si el comando del campo ÂExec se ejecuta en una ventana "
-"de la terminal."
-
-#: C/desktop.js.page:40(p)
-msgid ""
-"If you want your <code>.desktop</code> file to exist as a part of the "
-"system, copy your <code>.desktop</code> file to this directory: ~/.local/"
-"share/applications"
-msgstr ""
-"Si quiere que su archivo <code>.desktop</code> forme parte del sistema, "
-"copie su archivo <code>.desktop</code> a la carpeta ~/.local/share/"
-"applications."
-
-#: C/desktop.js.page:41(p)
-msgid ""
-"To put your application to the right category you need to add the necessary "
-"categories to the Categories line. More information on the different "
-"categories can be found in the <link href=\"http://standards.freedesktop.org/";
-"menu-spec/latest/apa.html\">menu spec</link>."
-msgstr ""
-"Para incluir su aplicaciÃn en la categorÃa correcta, debe aÃadir las "
-"categorÃas necesarias a la lÃnea ÂCategoriesÂ. Puede encontrar mÃs "
-"informaciÃn sobre las distintas categorÃas en la <link href=\"http://";
-"standards.freedesktop.org/menu-spec/latest/apa.html\">especificaciÃn del "
-"menÃ</link>."
-
-#: C/desktop.js.page:42(p)
-msgid ""
-"In this example I used an existing icon. For a custom icon you need to have "
-"a .svg file of your icon, store it to /usr/share/icons/hicolor/scalable/"
-"apps. Write the name of your icon file to the .desktop file, on line 7. More "
-"information on icons in: <link href=\"http://library.gnome.org/admin/system-";
-"admin-guide/stable/themes-11.html.en\"> Installing Icons for Themes </link>, "
-"<link href=\"https://live.gnome.org/GnomeGoals/AppIcon\";>Installing Icons "
-"for Themes</link> and <link href=\"http://freedesktop.org/wiki/";
-"Specifications/icon-theme-spec\">on freedesktop.org: Specifications/icon-"
-"theme-spec</link>."
-msgstr ""
-"En este ejemplo se ha usado un icono existente. Para usar un icono "
-"personalizado, necesita un archivo .svg con su icono y guardarlo en /usr/"
-"share/icons/hicolor/scalable/apps. Escriba el nombre del archivo del icono "
-"en el archivo .desktop, en la lÃnea 7. Puede obtener mÃs informaciÃn sobre "
-"los iconos en <link href=\"http://library.gnome.org/admin/system-admin-guide/";
-"stable/themes-11.html.en\">Instalar iconos para temas</link>, <link href="
-"\"https://live.gnome.org/GnomeGoals/AppIcon\";>Instalar iconos para temas</"
-"link> y <link href=\"http://freedesktop.org/wiki/Specifications/icon-theme-";
-"spec\">en freedesktop.org: Specifications/icon-theme-spec</link>."
-
-#: C/desktop.js.page:43(p)
-msgid ""
-"After you have finished writing the .desktop file you must change it's "
-"permissions to allow executing file as program. To do that, go to the folder "
-"containing the .desktop file. Right click the .desktop file, choose "
-"properties and tab permissions and place a check on the box after Execute:"
-msgstr ""
-"Cuando termine de escribir el archivo .desktop, debe cambiarle los permisos "
-"para permitir ejecutar el archivo como un programa. Para hacerlo, vaya a la "
-"carpeta que contiene el archivo .desktop, pulse con el botÃn derecho sobre "
-"el archivo, elija ÂPropiedadesÂ, pestaÃa ÂPermisos y marque la casilla "
-"ÂEjecutarÂ:"
-
 #: C/cpp.page:6(title)
 msgid "C++"
 msgstr "C++"
@@ -13564,7 +15767,7 @@ msgstr "Demostraciones de la plataforma en C++"
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/combobox_multicolumn.py.page:21(None)
+#: C/combobox_multicolumn.py.page:22(None) C/combobox.js.page:25(None)
 msgid ""
 "@@image: 'media/combobox_multicolumn.png'; "
 "md5=43f16648fb11ebc7d2f70825ed0f63b3"
@@ -13572,70 +15775,267 @@ msgstr ""
 "@@image: 'media/combobox_multicolumn.png'; "
 "md5=43f16648fb11ebc7d2f70825ed0f63b3"
 
-#: C/combobox_multicolumn.py.page:17(desc) C/combobox.vala.page:16(desc)
-#: C/combobox.py.page:16(desc)
+#: C/combobox_multicolumn.py.page:7(title) C/combobox.py.page:7(title)
+#, fuzzy
+#| msgid "ComboBox"
+msgid "ComboBox (Python)"
+msgstr "ComboBox"
+
+#: C/combobox_multicolumn.py.page:18(desc) C/combobox.vala.page:17(desc)
+#: C/combobox.py.page:17(desc)
 msgid "A widget used to choose from a list of items"
 msgstr "Un widget usado para elegir de una lista de elementos"
 
-#: C/combobox_multicolumn.py.page:20(title) C/combobox.vala.page:19(title)
-#: C/combobox.py.page:19(title)
+#: C/combobox_multicolumn.py.page:21(title) C/combobox.vala.page:20(title)
+#: C/combobox.py.page:20(title) C/combobox.js.page:24(title)
 msgid "ComboBox"
 msgstr "ComboBox"
 
-#: C/combobox_multicolumn.py.page:22(p) C/combobox.py.page:21(p)
+#: C/combobox_multicolumn.py.page:23(p) C/combobox.py.page:22(p)
 msgid "This ComboBox prints to the terminal your selection when you change it."
 msgstr ""
 "Esta ComboBox imprime su selecciÃn en la terminal cuando cambia la cambia."
 
-#: C/combobox_multicolumn.py.page:33(title) C/combobox.py.page:31(title)
-#| msgid "Useful methods for a Button widget"
+#: C/combobox_multicolumn.py.page:34(title) C/combobox.py.page:32(title)
 msgid "Useful methods for a ComboBox widget"
 msgstr "MÃtodos Ãtiles para un widget ÂComboBoxÂ"
 
-#: C/combobox_multicolumn.py.page:34(p) C/combobox.py.page:32(p)
+#: C/combobox_multicolumn.py.page:35(p) C/combobox.py.page:33(p)
 msgid ""
 "The ComboBox widget is designed around a <em>Model/View/Controller</em> "
 "design. For more information, and for a list of useful methods for ComboBox "
 "and TreeModel, see <link xref=\"model-view-controller.py\">here</link>."
 msgstr ""
 
-#: C/combobox_multicolumn.py.page:45(link)
+#: C/combobox_multicolumn.py.page:46(link)
 msgid "GtkCellRendererPixbuf"
 msgstr "GtkCellRendererPixbuf"
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/combobox.vala.page:20(None) C/combobox.py.page:20(None)
-#: C/comboboxtext.js.page:22(None)
+#: C/combobox.vala.page:21(None) C/combobox.py.page:21(None)
+#: C/comboboxtext.js.page:23(None)
 msgid "@@image: 'media/combobox.png'; md5=ab9e91bc1a58fe866cb00dd52159251d"
 msgstr "@@image: 'media/combobox.png'; md5=ab9e91bc1a58fe866cb00dd52159251d"
 
-#: C/combobox.vala.page:21(p)
+#: C/combobox.vala.page:7(title)
+#, fuzzy
+#| msgid "ComboBox"
+msgid "ComboBox (Vala)"
+msgstr "ComboBox"
+
+#: C/combobox.vala.page:22(p)
 msgid "This ComboBox prints to the terminal when you change your selection."
 msgstr "Este ComboBox imprime en la terminal cuando cambia su selecciÃn."
 
-#: C/combobox.vala.page:29(link)
+#: C/combobox.vala.page:30(link) C/combobox.js.page:241(link)
 msgid "Gtk.ComboBox"
 msgstr "Gtk.ComboBox"
 
-#: C/combobox.vala.page:31(link)
+#: C/combobox.vala.page:32(link)
 msgid "set_attributes"
 msgstr "set_attributes"
 
-#: C/combobox.py.page:42(link)
+#: C/combobox.py.page:43(link)
 msgid "GtkCellLayout"
 msgstr "GtkCellLayout"
 
-#: C/comboboxtext.js.page:18(desc)
+#: C/combobox.js.page:7(title)
+#, fuzzy
+#| msgid "JavaScript"
+msgid "ComboBox (JavaScript)"
+msgstr "JavaScript"
+
+#: C/combobox.js.page:21(desc)
+msgid "A customizable drop-down menu"
+msgstr ""
+
+#: C/combobox.js.page:26(p)
+msgid ""
+"A ComboBox is an extremely customizable drop-down menu. It holds the "
+"equivalent of a <link xref=\"treeview_simple_liststore.js\">TreeView</link> "
+"widget that appears when you click on it, complete with a ListStore "
+"(basically a spreadsheet) that says what's in the rows and columns. In this "
+"example, our ListStore has the name of each option in one column, and the "
+"name of a stock icon in the other, which the ComboBox then turns into an "
+"icon for each option."
+msgstr ""
+
+#: C/combobox.js.page:27(p)
+msgid ""
+"You select a whole horizontal row at a time, so the icons aren't treated as "
+"separate options. They and the text beside them make up each option you can "
+"click on."
+msgstr ""
+
+#: C/combobox.js.page:28(p)
+msgid ""
+"Working with a ListStore can be time-consuming. If you just want a simple "
+"text-only drop-down menu, take a look at the <link xref=\"comboboxtext.js"
+"\">ComboBoxText.</link> It doesn't take as much time to set up, and is "
+"easier to work with."
+msgstr ""
+
+#: C/combobox.js.page:69(p)
+msgid ""
+"All the code for this sample goes in the ComboBoxExample class. The above "
+"code creates a <link href=\"http://www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/";
+"Gtk.Application.html\">Gtk.Application</link> for our widgets and window to "
+"go in."
+msgstr ""
+
+#: C/combobox.js.page:94(p)
+msgid ""
+"This ListStore works like the one used in the <link xref="
+"\"treeview_simple_liststore.js\">TreeView</link> example. We're giving it "
+"two columns, both strings, because one of them will contain the names of "
+"<link href=\"http://developer.gnome.org/gtk/2.24/gtk-Stock-Items.html#GTK-";
+"STOCK-ABOUT:CAPS\">stock Gtk icons.</link>"
+msgstr ""
+
+#: C/combobox.js.page:95(p)
+msgid ""
+"If we'd wanted to use our own icons that weren't already built in to GNOME, "
+"we'd have needed to use the <file>gtk.gdk.Pixbuf</file> type instead. Here "
+"are a few other types you can use:"
+msgstr ""
+
+#: C/combobox.js.page:119(p)
+msgid ""
+"Here we create an array of the text options and their corresponding icons, "
+"then put them into the ListStore in much the same way we would for a <link "
+"xref=\"treeview_simple_liststore.js\">TreeView's</link> ListStore. We only "
+"want to put an icon in if there's actually an icon in the options array, so "
+"we make sure to check for that first."
+msgstr ""
+
+#: C/combobox.js.page:120(p)
+msgid ""
+"\"Select\" isn't really an option so much as an invitation to click on our "
+"ComboBox, so it doesn't need an icon."
+msgstr ""
+
+#: C/combobox.js.page:124(title)
+#, fuzzy
+#| msgid "Creating the ComboBoxText"
+msgid "Creating the ComboBox"
+msgstr "Crear el ComboBoxText"
+
+#: C/combobox.js.page:130(p)
+msgid ""
+"Each ComboBox has an underlying \"model\" it takes all its options from. You "
+"can use a TreeStore if you want to have a ComboBox with branching options. "
+"In this case, we're just using the ListStore we already created."
+msgstr ""
+
+#: C/combobox.js.page:144(p)
+msgid ""
+"This part, again, works much like creating CellRenderers and packing them "
+"into the columns of a <link xref=\"treeview_simple_liststore.js\">TreeView.</"
+"link> The biggest difference is that we don't need to create the ComboBox's "
+"columns as separate objects. We just pack the CellRenderers into it in the "
+"order we want them to show up, then tell them to pull information from the "
+"ListStore (and what type of information we want them to expect)."
+msgstr ""
+
+#: C/combobox.js.page:145(p)
+msgid ""
+"We use a CellRendererText to show the text, and a CellRendererPixbuf to show "
+"the icons. We can store the names of the icons' stock types as strings, but "
+"when we display them we need a CellRenderer that's designed for pictures."
+msgstr ""
+
+#: C/combobox.js.page:146(p)
+msgid ""
+"Just like with a TreeView, the \"model\" (in this case a ListStore) and the "
+"\"view\" (in this case our ComboBox) are separate. Because of that, we can "
+"do things like have the columns in one order in the ListStore, and then pack "
+"the CellRenderers that correspond to those columns into the ComboBox in a "
+"different order. We can even create a TreeView or other widget that shows "
+"the information in the ListStore in a different way, without it affecting "
+"our ComboBox."
+msgstr ""
+
+#: C/combobox.js.page:155(p)
+msgid ""
+"We want the \"Select\" text to be the part people see at first, that gets "
+"them to click on the ComboBox. So we set it to be the active entry. We also "
+"connect the ComboBox's <file>changed</file> signal to a callback function, "
+"so that any time someone clicks on a new option something happens. In this "
+"case, we're just going to show a popup with a little haiku."
+msgstr ""
+
+#: C/combobox.js.page:165(p)
+msgid ""
+"Finally, we add the ComboBox to the window, and tell the window to show "
+"itself and everything inside it."
+msgstr ""
+
+#: C/combobox.js.page:179(p)
+msgid ""
+"We're going to create a pop-up <link xref=\"messagedialog.js\">MessageDialog,"
+"</link> which shows you a silly haiku based on which distro you select. "
+"First, we create the array of haiku to use. Since the first string in our "
+"ComboBox is just the \"Select\" message, we make the first string in our "
+"array blank."
+msgstr ""
+
+#: C/combobox.js.page:203(p)
+msgid ""
+"Before showing a MessageDialog, we first test to make sure you didn't choose "
+"the \"Select\" message. After that, we set its text to be the haiku in the "
+"array that corresponds to the active entry in our ComboBoxText. We do that "
+"using the <file>get_active</file> method, which returns the number ID of "
+"your selection."
+msgstr ""
+
+#: C/combobox.js.page:204(p) C/comboboxtext.js.page:147(p)
+msgid ""
+"Other methods you can use include <file>get_active_id,</file> which returns "
+"the text ID assigned by <file>append,</file> and <file>get_active_text,</"
+"file> which returns the full text of the string you selected."
+msgstr ""
+
+#: C/combobox.js.page:205(p) C/comboboxtext.js.page:148(p)
+msgid ""
+"After we create the MessageDialog, we connect its response signal to the "
+"_onDialogResponse function, then tell it to show itself."
+msgstr ""
+
+#: C/combobox.js.page:216(p) C/comboboxtext.js.page:159(p)
+msgid ""
+"Since the only button the MessageDialog has is an OK button, we don't need "
+"to test its response_id to see which button was clicked. All we do here is "
+"destroy the popup."
+msgstr ""
+
+#: C/combobox.js.page:223(p)
+msgid ""
+"Finally, we create a new instance of the finished ComboBoxExample class, and "
+"set the application running."
+msgstr ""
+
+#: C/combobox.js.page:239(link)
+#, fuzzy
+#| msgid "GtkCellRendererPixbuf"
+msgid "Gtk.CellRendererPixbuf"
+msgstr "GtkCellRendererPixbuf"
+
+#: C/comboboxtext.js.page:7(title)
+#, fuzzy
+#| msgid "ComboBoxText"
+msgid "ComboBoxText (JavaScript)"
+msgstr "ComboBoxText"
+
+#: C/comboboxtext.js.page:19(desc)
 msgid "A text-only drop-down menu"
 msgstr ""
 
-#: C/comboboxtext.js.page:21(title)
-#| msgid "ComboBox"
+#: C/comboboxtext.js.page:22(title)
 msgid "ComboBoxText"
 msgstr "ComboBoxText"
 
-#: C/comboboxtext.js.page:23(p)
+#: C/comboboxtext.js.page:24(p)
 msgid ""
 "A ComboBox is a drop-down menu. The difference between a <link xref="
 "\"combobox.js\">ComboBox</link> and a ComboBoxText is that a ComboBoxText "
@@ -13644,19 +16044,18 @@ msgid ""
 "options, or pictures to go alongside each choice."
 msgstr ""
 
-#: C/comboboxtext.js.page:24(p)
+#: C/comboboxtext.js.page:25(p)
 msgid ""
 "Unless you need the added features of a full ComboBox, or are comfortable "
 "working with ListStores and TreeStores, you may find it a lot simpler to use "
 "a ComboBoxText whenever possible."
 msgstr ""
 
-#: C/comboboxtext.js.page:81(title)
-#| msgid "Creating the buttons"
+#: C/comboboxtext.js.page:82(title)
 msgid "Creating the ComboBoxText"
 msgstr "Crear el ComboBoxText"
 
-#: C/comboboxtext.js.page:95(p)
+#: C/comboboxtext.js.page:96(p)
 msgid ""
 "After we create the ComboBoxText, we use its <file>append_text</file> method "
 "to add text strings to it. Like the entries in an array, they each have a "
@@ -13665,7 +16064,7 @@ msgid ""
 "them in order, like we did here."
 msgstr ""
 
-#: C/comboboxtext.js.page:96(p)
+#: C/comboboxtext.js.page:97(p)
 msgid ""
 "After we populate the ComboBoxText, we set its first entry to be active, so "
 "that we'll see the \"Select distribution\" line before we click on it. Then "
@@ -13674,7 +16073,7 @@ msgid ""
 "menu."
 msgstr ""
 
-#: C/comboboxtext.js.page:97(p)
+#: C/comboboxtext.js.page:98(p)
 msgid ""
 "If you'd like to add an entry to a ComboBoxText, you can use the "
 "<file>insert_text</file> method. And if you'd rather use a text string as an "
@@ -13683,13 +16082,13 @@ msgid ""
 "tutorial for the details of how to use them."
 msgstr ""
 
-#: C/comboboxtext.js.page:107(p)
+#: C/comboboxtext.js.page:108(p)
 msgid ""
 "Finally, we add the ComboBoxText to the window, and tell the window to show "
 "itself and the widget inside it."
 msgstr ""
 
-#: C/comboboxtext.js.page:121(p)
+#: C/comboboxtext.js.page:122(p)
 msgid ""
 "We're going to create a pop-up <link xref=\"messagedialog.js\">MessageDialog,"
 "</link> which shows you a message based on which distro you select. First, "
@@ -13698,7 +16097,7 @@ msgid ""
 "string in our array blank."
 msgstr ""
 
-#: C/comboboxtext.js.page:145(p)
+#: C/comboboxtext.js.page:146(p)
 msgid ""
 "Before showing a MessageDialog, we first test to make sure you didn't choose "
 "the \"Select distribution\" message. After that, we set its text to be the "
@@ -13707,64 +16106,55 @@ msgid ""
 "number ID of your selection."
 msgstr ""
 
-#: C/comboboxtext.js.page:146(p)
-msgid ""
-"Other methods you can use include <file>get_active_id,</file> which returns "
-"the text ID assigned by <file>append,</file> and <file>get_active_text,</"
-"file> which returns the full text of the string you selected."
-msgstr ""
-
-#: C/comboboxtext.js.page:147(p)
-msgid ""
-"After we create the MessageDialog, we connect its response signal to the "
-"_onDialogResponse function, then tell it to show itself."
-msgstr ""
-
-#: C/comboboxtext.js.page:158(p)
-msgid ""
-"Since the only button the MessageDialog has is an OK button, we don't need "
-"to test its response_id to see which button was clicked. All we do here is "
-"destroy the popup."
-msgstr ""
-
-#: C/comboboxtext.js.page:165(p)
+#: C/comboboxtext.js.page:166(p)
 msgid ""
 "Finally, we create a new instance of the finished ComboBoxTextExample class, "
 "and set the application running."
 msgstr ""
 
-#: C/comboboxtext.js.page:181(link)
-#| msgid "Gtk.ComboBox"
+#: C/comboboxtext.js.page:182(link)
 msgid "Gtk.ComboBoxText"
 msgstr "Gtk.ComboBoxText"
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/colorbutton.vala.page:22(None) C/colorbutton.py.page:20(None)
+#: C/colorbutton.vala.page:23(None) C/colorbutton.py.page:21(None)
 msgid "@@image: 'media/colorbutton.png'; md5=904539d26fe367bf99f9a0961cfc9a03"
 msgstr "@@image: 'media/colorbutton.png'; md5=904539d26fe367bf99f9a0961cfc9a03"
 
-#: C/colorbutton.vala.page:18(desc) C/colorbutton.py.page:16(desc)
+#: C/colorbutton.vala.page:7(title)
+#, fuzzy
+#| msgid "ColorButton"
+msgid "ColorButton (Vala)"
+msgstr "ColorButton"
+
+#: C/colorbutton.vala.page:19(desc) C/colorbutton.py.page:17(desc)
 msgid "A button to launch a color selection dialog"
 msgstr "Un botÃn para mostrar el diÃlogo de selecciÃn de color"
 
-#: C/colorbutton.vala.page:21(title) C/colorbutton.py.page:19(title)
+#: C/colorbutton.vala.page:22(title) C/colorbutton.py.page:20(title)
 msgid "ColorButton"
 msgstr "ColorButton"
 
-#: C/colorbutton.vala.page:23(p)
+#: C/colorbutton.vala.page:24(p)
 msgid "RGB values of the selected color are shown in the label."
 msgstr "Los valores RGB del color seleccionado se muestran en la etiqueta."
 
-#: C/colorbutton.vala.page:30(link)
+#: C/colorbutton.vala.page:31(link)
 msgid "Gtk.ColorButton"
 msgstr "Gtk.ColorButton"
 
-#: C/colorbutton.vala.page:31(link)
+#: C/colorbutton.vala.page:32(link)
 msgid "Gdk.RGBA"
 msgstr "Gdk.RGBA"
 
-#: C/colorbutton.py.page:21(p)
+#: C/colorbutton.py.page:7(title)
+#, fuzzy
+#| msgid "ColorButton"
+msgid "ColorButton (Python)"
+msgstr "ColorButton"
+
+#: C/colorbutton.py.page:22(p)
 msgid ""
 "This ColorButton launches a color selection dialog and prints in the "
 "terminal the RGB values of the color selected."
@@ -13772,79 +16162,110 @@ msgstr ""
 "Este ColorButton muestra un diÃlogo de selecciÃn de color e imprime por la "
 "terminal los valores RGB del color seleccionado."
 
-#: C/colorbutton.py.page:28(link)
+#: C/colorbutton.py.page:32(title)
+#, fuzzy
+#| msgid "Useful methods for a Button widget"
+msgid "Useful methods for a ColorButton widget"
+msgstr "MÃtodos Ãtiles para un widget ÂButtonÂ"
+
+#: C/colorbutton.py.page:33(p)
+msgid ""
+"<code>set_color(color)</code>, where the <code>color</code> is defined as in "
+"the example, sets the color of the ColorButton, which by default is black. "
+"<code>get_color()</code> returns the color."
+msgstr ""
+
+#: C/colorbutton.py.page:40(link)
 msgid "GtkColorButton"
 msgstr "GtkColorButton"
 
-#: C/colorbutton.py.page:29(link)
+#: C/colorbutton.py.page:41(link)
 msgid "GtkColorChooser"
 msgstr "GtkColorChooser"
 
-#: C/colorbutton.py.page:30(link)
+#: C/colorbutton.py.page:42(link)
 msgid "RGBA Colors"
 msgstr "Colores RGBA"
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/checkbutton.vala.page:20(None) C/checkbutton.py.page:21(None)
-#: C/checkbutton.js.page:20(None) C/checkbutton.c.page:20(None)
+#: C/checkbutton.vala.page:21(None) C/checkbutton.py.page:22(None)
+#: C/checkbutton.js.page:21(None) C/checkbutton.c.page:21(None)
 msgid "@@image: 'media/checkbutton.png'; md5=7921a6812c87dd2b3781f4fad241e858"
 msgstr "@@image: 'media/checkbutton.png'; md5=7921a6812c87dd2b3781f4fad241e858"
 
-#: C/checkbutton.vala.page:16(desc)
+#: C/checkbutton.vala.page:7(title)
+#, fuzzy
+#| msgid "CheckButton"
+msgid "CheckButton (Vala)"
+msgstr "CheckButton"
+
+#: C/checkbutton.vala.page:17(desc)
 msgid "Create widgets with a disrete toggle button"
 msgstr "Crear widgets con un botÃn conmutador discreto"
 
-#: C/checkbutton.vala.page:19(title) C/checkbutton.py.page:20(title)
-#: C/checkbutton.js.page:19(title) C/checkbutton.c.page:19(title)
+#: C/checkbutton.vala.page:20(title) C/checkbutton.py.page:21(title)
+#: C/checkbutton.js.page:20(title) C/checkbutton.c.page:20(title)
 msgid "CheckButton"
 msgstr "CheckButton"
 
-#: C/checkbutton.vala.page:21(p) C/checkbutton.py.page:22(p)
-#: C/checkbutton.c.page:21(p)
+#: C/checkbutton.vala.page:22(p) C/checkbutton.py.page:23(p)
+#: C/checkbutton.c.page:22(p)
 msgid "This CheckButton toggles the title."
 msgstr "Este CheckButton cambia el tiÌtulo."
 
-#: C/checkbutton.vala.page:28(link) C/checkbutton.js.page:138(link)
+#: C/checkbutton.vala.page:29(link) C/checkbutton.js.page:139(link)
 msgid "Gtk.CheckButton"
 msgstr "Gtk.CheckButton"
 
-#: C/checkbutton.py.page:17(desc)
+#: C/checkbutton.py.page:7(title)
+#, fuzzy
+#| msgid "CheckButton"
+msgid "CheckButton (Python)"
+msgstr "CheckButton"
+
+#: C/checkbutton.py.page:18(desc)
 msgid "A toggle button in a window"
 msgstr "Un botÃn conmutador en una ventana"
 
-#: C/checkbutton.py.page:31(p)
+#: C/checkbutton.py.page:32(p)
 msgid ""
 "We could also create the CheckButton with <code>button = Gtk.CheckButton."
 "new_with_label(\"Show Title\")</code>."
 msgstr ""
 
-#: C/checkbutton.py.page:36(title)
+#: C/checkbutton.py.page:37(title)
 msgid "Useful methods for a CheckButton widget"
 msgstr "MÃtodos Ãtiles para un widget ÂCheckButtonÂ"
 
-#: C/checkbutton.py.page:48(link) C/checkbutton.c.page:28(link)
+#: C/checkbutton.py.page:49(link) C/checkbutton.c.page:29(link)
 msgid "GtkCheckButton"
 msgstr "GtkCheckButton"
 
-#: C/checkbutton.js.page:16(desc)
+#: C/checkbutton.js.page:7(title)
+#, fuzzy
+#| msgid "CheckButton"
+msgid "CheckButton (JavaScript)"
+msgstr "CheckButton"
+
+#: C/checkbutton.js.page:17(desc)
 msgid "A box which can be checked or unchecked"
 msgstr "Una casilla que puede estar marcada o desmarcada"
 
-#: C/checkbutton.js.page:21(p)
+#: C/checkbutton.js.page:22(p)
 msgid ""
 "This application has a CheckButton. Whether the box is checked dictates "
 "whether the window's title bar shows anything."
 msgstr ""
 
-#: C/checkbutton.js.page:22(p)
+#: C/checkbutton.js.page:23(p)
 msgid ""
 "A CheckButton sends the \"toggled\" signal when it's checked or unchecked. "
 "While it's checked, the \"active\" property is true. While it's not, \"active"
 "\" tests as false."
 msgstr ""
 
-#: C/checkbutton.js.page:65(p)
+#: C/checkbutton.js.page:66(p)
 msgid ""
 "All the code for this sample goes in the CheckButtonExample class. The above "
 "code creates a <link href=\"http://www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/";
@@ -13852,7 +16273,7 @@ msgid ""
 "go in."
 msgstr ""
 
-#: C/checkbutton.js.page:79(p)
+#: C/checkbutton.js.page:80(p)
 msgid ""
 "The _buildUI function is where we put all the code to create the "
 "application's user interface. The first step is creating a new <link href="
@@ -13860,11 +16281,11 @@ msgid ""
 "widgets into."
 msgstr ""
 
-#: C/checkbutton.js.page:83(title)
+#: C/checkbutton.js.page:84(title)
 msgid "Creating the checkbutton"
 msgstr "Crear la casilla"
 
-#: C/checkbutton.js.page:95(p)
+#: C/checkbutton.js.page:96(p)
 msgid ""
 "This code creates the checkbutton itself. The label next to the checkbutton "
 "is created by giving the checkbutton the \"label\" property and assigning a "
@@ -13874,17 +16295,17 @@ msgid ""
 "call the ._toggledCB function."
 msgstr ""
 
-#: C/checkbutton.js.page:101(p)
+#: C/checkbutton.js.page:102(p)
 msgid ""
 "This code finishes up creating the UI, by telling the window to show itself "
 "and all child widgets (which is just the checkbutton in this case)."
 msgstr ""
 
-#: C/checkbutton.js.page:105(title)
+#: C/checkbutton.js.page:106(title)
 msgid "Function which handles the checkbutton's toggling"
 msgstr ""
 
-#: C/checkbutton.js.page:119(p)
+#: C/checkbutton.js.page:120(p)
 msgid ""
 "If the checkbutton is toggled from on to off, we want the window title to "
 "disappear. If it's toggled from off to on, we want it to reappear. We can "
@@ -13893,17 +16314,23 @@ msgid ""
 "checkbutton's get_active() method will work for this."
 msgstr ""
 
-#: C/checkbutton.js.page:125(p)
+#: C/checkbutton.js.page:126(p)
 msgid ""
 "Finally, we create a new instance of the finished CheckButtonExample class, "
 "and set the application running."
 msgstr ""
 
-#: C/checkbutton.c.page:12(email)
+#: C/checkbutton.c.page:7(title)
+#, fuzzy
+#| msgid "CheckButton"
+msgid "CheckButton (C)"
+msgstr "CheckButton"
+
+#: C/checkbutton.c.page:13(email)
 msgid "tiffany antpoolski gmail com"
 msgstr "tiffany antpoolski gmail com"
 
-#: C/checkbutton.c.page:16(desc)
+#: C/checkbutton.c.page:17(desc)
 msgid "Create widgets with a discrete ToggleButton"
 msgstr "Crear widgets con un botÃn ToggleButton discreto"
 
@@ -13917,25 +16344,113 @@ msgstr "Tutoriales, ejemplos de coÌdigo y demostraciones de la plataforma en C"
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/button.vala.page:22(None) C/button.py.page:22(None)
-#: C/button.js.page:20(None) C/button.c.page:23(None)
+#: C/buttonbox.py.page:23(None)
+#| msgid "@@image: 'media/toolbar.png'; md5=f0350855eedf6343952b72d6d906f738"
+msgid ""
+"@@image: 'media/buttonbox_calculator.png'; "
+"md5=ce0de08b7ac66f517290e33e6d33d508"
+msgstr ""
+"@@image: 'media/buttonbox_calculator.png'; "
+"md5=ce0de08b7ac66f517290e33e6d33d508"
+
+#: C/buttonbox.py.page:7(title)
+msgid "ButtonBox (Python)"
+msgstr ""
+
+#: C/buttonbox.py.page:18(desc)
+msgid "A container for arranging buttons"
+msgstr ""
+
+#: C/buttonbox.py.page:21(title)
+#, fuzzy
+#| msgid "Button"
+msgid "ButtonBox"
+msgstr "Button"
+
+#: C/buttonbox.py.page:24(p)
+msgid "A calculator - the buttons are enclosed in horizontal ButtonBoxes."
+msgstr ""
+
+#: C/buttonbox.py.page:34(title)
+#, fuzzy
+#| msgid "Useful methods for a Button widget"
+msgid "Uselful methods for a ButtonBox widget"
+msgstr "MÃtodos Ãtiles para un widget ÂButtonÂ"
+
+#: C/buttonbox.py.page:36(p)
+msgid ""
+"The layout of the ButtonBox are set with <code>set_layout(layout)</code>, "
+"where <code>layout</code> can be <code>Gtk.ButtonBoxStyle.SPREAD</code> "
+"(buttons are evenly spread across the box), <code>Gtk.ButtonBoxStyle.EDGE</"
+"code> (buttons are placed at the edges of the box), <code>Gtk.ButtonBoxStyle."
+"START</code> (buttons are grouped towards the start of the box), <code>Gtk."
+"ButtonBoxStyle.END</code> (buttons are grouped towards the end of the box), "
+"<code>Gtk.ButtonBoxStyle.CENTER</code> (buttons are centered in the box)."
+msgstr ""
+
+#: C/buttonbox.py.page:37(p)
+msgid ""
+"<code>set_child_secondary(button, is_secondary)</code> sets whether "
+"<code>button</code> should appear in a secondary group of children. A "
+"typical use of a secondary child is the help button in a dialog. This group "
+"appears after the other children if the style is <code>START</code>, "
+"<code>SPREAD</code> or <code>EDGE</code>, and before the other children if "
+"the style is <code>END</code>. If the style is <code>START</code> or "
+"<code>END</code>, then the secondary children are aligned at the other end "
+"of the button box from the main children. For the other styles, they appear "
+"immediately next to the main children."
+msgstr ""
+
+#: C/buttonbox.py.page:38(p)
+msgid ""
+"<code>set_child_non_homogeneous(button, is_non_homogeneous)</code> sets "
+"whether the child is exempted from homogeous sizing. Default value is "
+"<code>False</code>."
+msgstr ""
+
+#: C/buttonbox.py.page:39(p)
+msgid ""
+"<code>set_spacing(spacing)</code> sets the spacing, in pixels, between the "
+"buttons of the box."
+msgstr ""
+
+#: C/buttonbox.py.page:47(link)
+#| msgid "GtkButton"
+msgid "GtkButtonBox"
+msgstr "GtkButtonBox"
+
+#: C/buttonbox.py.page:48(link)
+#| msgid "GtkButton"
+msgid "GtkBox"
+msgstr "GtkBox"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/button.vala.page:23(None) C/button.py.page:23(None)
+#: C/button.js.page:21(None) C/button.c.page:24(None)
 msgid "@@image: 'media/button.png'; md5=8d69efbb3a0d3e043af6139b6492171c"
 msgstr "@@image: 'media/button.png'; md5=8d69efbb3a0d3e043af6139b6492171c"
 
-#: C/button.vala.page:17(desc) C/button.py.page:17(desc)
-#: C/button.c.page:18(desc)
+#: C/button.vala.page:7(title)
+#, fuzzy
+#| msgid "Button"
+msgid "Button (Vala)"
+msgstr "Button"
+
+#: C/button.vala.page:18(desc) C/button.py.page:18(desc)
+#: C/button.c.page:19(desc)
 msgid "A button widget which emits a signal when clicked"
 msgstr "Un widget de botÃn que emite una seÃal cuando se pulsa sobre Ãl"
 
-#: C/button.vala.page:20(title) C/button.py.page:20(title)
+#: C/button.vala.page:21(title)
 msgid "Button widget"
 msgstr "Widget de botÃn"
 
-#: C/button.vala.page:23(p) C/button.py.page:23(p)
+#: C/button.vala.page:24(p) C/button.py.page:24(p)
 msgid "A button widget connected to a simple callback function."
 msgstr "Un widget de botÃn conectado a una funciÃn de retorno de llamada."
 
-#: C/button.vala.page:27(p)
+#: C/button.vala.page:28(p)
 msgid ""
 "In this sample we used the following: <link href=\"http://www.valadoc.org/gtk";
 "+-3.0/Gtk.Button.html\">Gtk.Button</link>"
@@ -13943,37 +16458,46 @@ msgstr ""
 "En este ejemplo se usa el siguiente widget: <link href=\"http://www.valadoc.";
 "org/gtk+-3.0/Gtk.Button.html\">Gtk.Button</link>"
 
-#: C/button.py.page:32(title)
+#: C/button.py.page:7(title)
+msgid "Button (Python)"
+msgstr ""
+
+#: C/button.py.page:21(title) C/button.js.page:20(title)
+#: C/button.c.page:22(title)
+msgid "Button"
+msgstr "Button"
+
+#: C/button.py.page:33(title)
 msgid "Useful methods for a Button widget"
 msgstr "MÃtodos Ãtiles para un widget ÂButtonÂ"
 
-#: C/button.py.page:34(p)
+#: C/button.py.page:35(p)
 msgid ""
 "<code>button = Gtk.Button(label=\"Click me\")</code> could also be used "
 "create a button and set the text directly. For a general discussion of this, "
 "see <link xref=\"properties.py\">here</link>."
 msgstr ""
 
-#: C/button.py.page:36(p)
+#: C/button.py.page:37(p)
 msgid ""
 "<code>set_relief(Gtk.ReliefStyle.NONE)</code> sets to none the relief style "
 "of the edges of the Gtk.Button - as opposed to <code>Gtk.ReliefStyle.NORMAL</"
 "code>."
 msgstr ""
 
-#: C/button.py.page:37(p)
+#: C/button.py.page:38(p)
 msgid ""
-"If the label of the button is a <link href=\"http://developer.gnome.org/";
-"gtk3/3.4/gtk3-Stock-Items.html\">stock icon</link>, <code>set_use_stock(True)"
+"If the label of the button is a <link href=\"http://developer.gnome.org/gtk3/";
+"unstable/gtk3-Stock-Items.html\">stock icon</link>, <code>set_use_stock(True)"
 "</code> sets the label as the name of the corresponding stock icon."
 msgstr ""
 
-#: C/button.py.page:38(p)
+#: C/button.py.page:39(p)
 msgid ""
 "To set an image (e.g. a stock image) for the button <code>button</code>:"
 msgstr ""
 
-#: C/button.py.page:39(code)
+#: C/button.py.page:40(code)
 #, no-wrap
 msgid ""
 "\n"
@@ -13986,7 +16510,7 @@ msgstr ""
 "image.set_from_stock(Gtk.STOCK_ABOUT, Gtk.IconSize.BUTTON)\n"
 "button.set_image(image)"
 
-#: C/button.py.page:43(p)
+#: C/button.py.page:44(p)
 msgid ""
 "You should not set a label for the button after this, otherwise it will show "
 "the label and not the image."
@@ -13994,7 +16518,7 @@ msgstr ""
 "No debe establecer una etiqueta para el botÃn despuÃs de esto, ya que si lo "
 "hace mostrarà la etiqueta y no la imagen."
 
-#: C/button.py.page:44(p)
+#: C/button.py.page:45(p)
 msgid ""
 "If we use <code>set_focus_on_click(False)</code> the button will not grab "
 "focus when it is clicked by the mouse. This could be useful in places like "
@@ -14002,23 +16526,27 @@ msgid ""
 "the application."
 msgstr ""
 
-#: C/button.js.page:16(desc)
+#: C/button.js.page:7(title)
+#, fuzzy
+#| msgid "JavaScript"
+msgid "Button (JavaScript)"
+msgstr "JavaScript"
+
+#: C/button.js.page:17(desc)
 msgid "A button which can be connected to other widgets"
 msgstr "Un botÃn que puede estar conectado a otros widgets."
 
-#: C/button.js.page:19(title)
-msgid "Button"
-msgstr "Button"
-
-#: C/button.js.page:21(p)
+#: C/button.js.page:22(p)
 msgid "A button widget that changes its label when you click it."
 msgstr "Un widget que cambia su etiqueta cuando se pulsa sobre Ãl."
 
-#: C/button.c.page:21(title)
-msgid "Button Widget"
-msgstr "Widget de botÃn"
+#: C/button.c.page:7(title)
+#, fuzzy
+#| msgid "Button"
+msgid "Button (C)"
+msgstr "Button"
 
-#: C/button.c.page:24(p)
+#: C/button.c.page:25(p)
 msgid ""
 "A button widget connected to a callback function that reverses its label "
 "when clicked."
@@ -14026,7 +16554,7 @@ msgstr ""
 "Un widget de botÃn conectado a una funciÃn de retorno de llamada que "
 "invierte su etiqueta cuando se pulsa."
 
-#: C/button.c.page:35(link)
+#: C/button.c.page:36(link)
 msgid "Unicode Manipulation"
 msgstr "ManipulaciÃn de Unicode"
 
@@ -14120,8 +16648,13 @@ msgstr ""
 "medida que se trate. Gracias por ayudar a mejorar los <app>Tutoriales del "
 "desarrollador de GNOME</app>."
 
-#: C/beginner.vala.page:11(desc) C/beginner.py.page:11(desc)
-#: C/beginner.c.page:11(desc)
+#: C/beginner.vala.page:8(title)
+#, fuzzy
+#| msgid "0 Beginner's Tutorials"
+msgid "Beginner Tutorials (Vala)"
+msgstr "0. Tutoriales para principiantes"
+
+#: C/beginner.vala.page:12(desc) C/beginner.c.page:12(desc)
 msgid ""
 "A beginner's guide to GUI programming using GTK+, including code samples and "
 "practice exercises."
@@ -14129,12 +16662,11 @@ msgstr ""
 "Una guÃa de programaciÃn de interfaces usuario en GTK+ para principiantes, "
 "incluyendo ejemplos de cÃdigo y ejercicios prÃcticos."
 
-#: C/beginner.vala.page:18(title) C/beginner.py.page:18(title)
-#: C/beginner.c.page:19(title)
+#: C/beginner.vala.page:19(title) C/beginner.c.page:20(title)
 msgid "0 Beginner's Tutorials"
 msgstr "0. Tutoriales para principiantes"
 
-#: C/beginner.vala.page:20(p) C/beginner.py.page:22(p) C/beginner.c.page:21(p)
+#: C/beginner.vala.page:21(p) C/beginner.c.page:22(p)
 msgid ""
 "Although these tutorials are designed for beginners, we can't cover all the "
 "basics. Before attempting to follow these tutorials, you are expected to be "
@@ -14144,362 +16676,1257 @@ msgstr ""
 "cubrir todos los conceptos bÃsicos. Antes de intentar seguir estos "
 "tutoriales, debe estar familiarizado con los siguientes conceptos:"
 
-#: C/beginner.vala.page:22(p) C/beginner.py.page:24(p) C/beginner.c.page:23(p)
+#: C/beginner.vala.page:23(p) C/beginner.c.page:24(p)
 msgid "Object oriented programming"
 msgstr "ProgramaciÃn orientada a objetos"
 
-#: C/beginner.vala.page:23(p)
+#: C/beginner.vala.page:24(p)
 msgid "The Vala programming language:"
 msgstr "El lenguaje de programaciÃn Vala:"
 
-#: C/beginner.vala.page:25(link)
+#: C/beginner.vala.page:26(link)
 msgid "The Vala Tutorial"
 msgstr "El tutorial de Vala"
 
-#: C/beginner.vala.page:26(link)
+#: C/beginner.vala.page:27(link)
 msgid "Sample Vala code"
 msgstr "Ejemplo de cÃdigo en Vala"
 
-#: C/beginner.vala.page:31(p) C/beginner.py.page:28(p) C/beginner.c.page:28(p)
-msgid ""
-"By following these tutorials you will learn the basics of GUI programming "
-"using Gtk+."
-msgstr ""
-"Siguiendo estos tutoriales, aprenderà los conceptos bÃsico de la "
-"programaciÃn de interfaces de usuario usando GTK+."
-
-#: C/beginner.vala.page:35(title) C/beginner.py.page:32(title)
-#: C/beginner.js.page:36(title) C/beginner.c.page:32(title)
+#: C/beginner.vala.page:36(title) C/beginner.js.page:36(title)
+#: C/beginner.c.page:33(title)
 msgid "Tutorials"
 msgstr "Tutoriales"
 
-#: C/beginner.vala.page:39(title) C/beginner.py.page:36(title)
-#: C/beginner.js.page:40(title) C/beginner.c.page:36(title)
+#: C/beginner.vala.page:40(title) C/beginner.py.page:27(title)
+#: C/beginner.js.page:40(title) C/beginner.c.page:37(title)
 msgid "Code samples"
 msgstr "Ejemplos de cÃdigo"
 
-#: C/beginner.vala.page:40(p) C/beginner.py.page:38(p)
-#: C/beginner.js.page:42(p) C/beginner.c.page:37(p)
-msgid "To run the code samples:"
-msgstr "Para ejecutar los ejemplos de cÃdigo:"
-
-#: C/beginner.vala.page:44(p)
+#: C/beginner.vala.page:45(p)
 msgid "Copy and paste the code into <var>filename</var>.vala"
 msgstr "Copie y pegue el cÃdigo en <var>nombre_archivo</var>.vala"
 
-#: C/beginner.vala.page:45(p) C/beginner.py.page:43(p) C/beginner.c.page:42(p)
-#: C/beginner.c.page:55(p)
-msgid "In the terminal type:"
-msgstr "Escriba en la terminal:"
-
-#: C/beginner.vala.page:46(screen)
+#: C/beginner.vala.page:47(screen)
 #, no-wrap
 msgid "valac --pkg gtk+-3.0 <var>filename</var>.vala"
 msgstr "valac --pkg gtk+-3.0 <var>nombre_archivo</var>.vala"
 
-#: C/beginner.vala.page:47(screen) C/beginner.c.page:45(screen)
-#: C/beginner.c.page:59(screen)
+#: C/beginner.vala.page:48(screen) C/beginner.c.page:46(screen)
+#: C/beginner.c.page:60(screen)
 #, no-wrap
 msgid "./<var>filename</var>"
 msgstr "./<var>nombre_archivo</var>"
 
-#: C/beginner.vala.page:51(title) C/beginner.py.page:48(title)
-#: C/beginner.js.page:49(title) C/beginner.c.page:62(title)
+#: C/beginner.vala.page:52(title) C/beginner.py.page:29(title)
+#: C/beginner.js.page:49(title) C/beginner.c.page:63(title)
 msgid "Windows"
 msgstr "Ventanas"
 
-#: C/beginner.vala.page:54(title) C/beginner.py.page:51(title)
-#: C/beginner.js.page:51(title) C/beginner.c.page:65(title)
+#: C/beginner.vala.page:55(title) C/beginner.py.page:32(title)
+#: C/beginner.js.page:51(title) C/beginner.c.page:66(title)
 msgid "Display widgets"
 msgstr "Widgets de visualizaciÃn"
 
-#: C/beginner.vala.page:56(title) C/beginner.py.page:53(title)
-#: C/beginner.js.page:53(title) C/beginner.c.page:67(title)
+#: C/beginner.vala.page:57(title) C/beginner.py.page:34(title)
+#: C/beginner.js.page:53(title) C/beginner.c.page:68(title)
 msgid "Buttons and toggles"
 msgstr "Botones y casillas"
 
-#: C/beginner.vala.page:58(title) C/beginner.py.page:55(title)
-#: C/beginner.js.page:55(title) C/beginner.c.page:69(title)
+#: C/beginner.vala.page:59(title) C/beginner.py.page:36(title)
+#: C/beginner.js.page:55(title) C/beginner.c.page:70(title)
 msgid "Numeric and text data entry"
 msgstr "Entrada de daos numÃrica y de texto"
 
-#: C/beginner.vala.page:60(title) C/beginner.py.page:57(title)
-#: C/beginner.js.page:57(title) C/beginner.c.page:71(title)
+#: C/beginner.vala.page:61(title) C/beginner.py.page:38(title)
+#: C/beginner.js.page:57(title) C/beginner.c.page:72(title)
 msgid "Multiline text editor"
 msgstr "Editor de texto multilÃnea"
 
-#: C/beginner.vala.page:62(title) C/beginner.py.page:59(title)
-#: C/beginner.js.page:59(title) C/beginner.c.page:73(title)
-msgid "Menu, combo box and toolbar widgets"
-msgstr "Widgets de menÃ, caja combinada y barra de herramientas"
+#: C/beginner.vala.page:63(title) C/beginner.py.page:40(title)
+#: C/beginner.js.page:59(title) C/beginner.c.page:74(title)
+msgid "Menu, combo box and toolbar widgets"
+msgstr "Widgets de menÃ, caja combinada y barra de herramientas"
+
+#: C/beginner.vala.page:65(title) C/beginner.py.page:42(title)
+#: C/beginner.js.page:61(title) C/beginner.c.page:76(title)
+msgid "TreeView widget"
+msgstr "Widget TreeView"
+
+#: C/beginner.vala.page:67(title) C/beginner.py.page:44(title)
+#: C/beginner.js.page:63(title) C/beginner.c.page:78(title)
+msgid "Selectors"
+msgstr "Selectores"
+
+#: C/beginner.vala.page:68(title) C/beginner.py.page:45(title)
+#: C/beginner.js.page:64(title) C/beginner.c.page:79(title)
+msgid "File selectors"
+msgstr "Selectores de archivos"
+
+#: C/beginner.vala.page:70(title) C/beginner.py.page:47(title)
+#: C/beginner.js.page:66(title) C/beginner.c.page:81(title)
+msgid "Font selectors"
+msgstr "Selectores de tipografÃas"
+
+#: C/beginner.vala.page:72(title) C/beginner.py.page:49(title)
+#: C/beginner.js.page:68(title) C/beginner.c.page:83(title)
+msgid "Color Selectors"
+msgstr "Selectores de color"
+
+#: C/beginner.vala.page:75(title) C/beginner.py.page:52(title)
+#: C/beginner.js.page:71(title) C/beginner.c.page:86(title)
+msgid "Layout containers"
+msgstr "Contenedores de la distribuciÃn"
+
+#: C/beginner.vala.page:79(title) C/beginner.py.page:56(title)
+#: C/beginner.js.page:75(title) C/beginner.c.page:90(title)
+msgid "Scrolling"
+msgstr "Desplazamiento"
+
+#: C/beginner.vala.page:81(title) C/beginner.py.page:58(title)
+#: C/beginner.js.page:77(title) C/beginner.c.page:92(title)
+msgid "Miscellaneous"
+msgstr "Varios"
+
+#: C/beginner.py.page:8(title)
+msgid "Gtk Widget Sample Code and Tutorials (Python)"
+msgstr ""
+
+#: C/beginner.py.page:12(desc)
+#, fuzzy
+#| msgid ""
+#| "A beginner's guide to GUI programming using GTK+, including code samples "
+#| "and practice exercises."
+msgid ""
+"A guide to GUI programming using GTK+, including code samples and practice "
+"exercises."
+msgstr ""
+"Una guÃa de programaciÃn de interfaces usuario en GTK+ para principiantes, "
+"incluyendo ejemplos de cÃdigo y ejercicios prÃcticos."
+
+#: C/beginner.py.page:19(title)
+msgid "Gtk Widget Sample Code and Tutorials"
+msgstr ""
+
+#: C/beginner.py.page:21(p)
+msgid ""
+"If you are a beginner and you would like a tutorial to guide you step by "
+"step in an exploration of what you can do with GTK+ 3, you should go to the "
+"<link xref=\"tutorial.py\"/> page. If you are looking for a specific widget, "
+"you can find it in the sections below."
+msgstr ""
+
+#: C/beginner.js.page:15(desc)
+#, fuzzy
+#| msgid ""
+#| "A beginner's guide to GUI programming using GTK+, including code samples "
+#| "and practice exercises."
+msgid ""
+"A beginner's guide to writing GNOME applications in JavaScript, including "
+"code samples and practice exercises."
+msgstr ""
+"Una guÃa de programaciÃn de interfaces usuario en GTK+ para principiantes, "
+"incluyendo ejemplos de cÃdigo y ejercicios prÃcticos."
+
+#: C/beginner.js.page:18(title)
+msgid "0 Beginner's tutorials and samples"
+msgstr "0. Tutoriales para principiantes y ejemplos"
+
+#: C/beginner.js.page:20(p)
+msgid ""
+"JavaScript is one of the most popular programming languages on the web. It's "
+"not just for the web, though. If you have even a basic understanding of "
+"JavaScript, you can write full-fledged applications for GNOME. <link href="
+"\"https://live.gnome.org/GnomeDocuments\";>GNOME Documents</link> is written "
+"in JavaScript, and so is <link href=\"https://live.gnome.org/GnomeShell/Tour";
+"\">GNOME Shell,</link> the most basic part of GNOME."
+msgstr ""
+
+#: C/beginner.js.page:21(p)
+msgid ""
+"GNOME Shell is what you see when you click on \"Activities\" in the top-left "
+"corner of your screen. It also controls the clock and the rest of the top "
+"panel. Besides showing how you to write GNOME applications, these tutorials "
+"will also show you how to use JavaScript to write GNOME Shell extensions, "
+"which give it new features or change the way it does things."
+msgstr ""
+
+#: C/beginner.js.page:25(title)
+#, fuzzy
+#| msgid "Getting started"
+msgid "Getting Started"
+msgstr "Inicio"
+
+#: C/beginner.js.page:26(p)
+msgid ""
+"These tutorials are designed for people who already know how to write in "
+"JavaScript, and who have GNOME installed on their computers already, but who "
+"are new to developing GNOME applications. If you don't already know "
+"JavaScript, or if you need help getting GNOME set up, take a look at these "
+"resources first:"
+msgstr ""
+
+#: C/beginner.js.page:28(p)
+msgid ""
+"<link href=\"http://eloquentjavascript.net/contents.html\";>Eloquent "
+"JavaScript</link> is a free, Creative Commons-licensed book, which explains "
+"the basics of JavaScript programming. Since you won't be writing JavaScript "
+"for the web, you only need to read up to chapter 10 or so."
+msgstr ""
+
+#: C/beginner.js.page:29(p)
+msgid ""
+"<link href=\"http://www.gnome.org/getting-gnome/\";>Download GNOME</link> as "
+"part of a distribution, like Fedora, openSUSE, or Ubuntu. Each distribution "
+"has its own instructions for how to get GNOME."
+msgstr ""
+
+#: C/beginner.js.page:30(p)
+msgid ""
+"<link xref=\"set-up-gedit.js\">Set up gedit</link> for writing applications. "
+"GNOME's text editor, gedit, is sometimes just called \"text editor.\""
+msgstr ""
+
+#: C/beginner.js.page:41(p)
+msgid ""
+"These samples show how to use widgets in your GNOME applications. Each one "
+"demonstrates a complete application which showcases the featured widget. At "
+"the end of each sample, you will find links to more detailed reference "
+"material."
+msgstr ""
+
+#: C/beginner.js.page:44(p)
+msgid "Copy and paste the code into <var>filename</var>.js"
+msgstr "Copie y pegue el cÃdigo en <var>nombre_archivo</var>.js"
+
+#: C/beginner.js.page:45(p)
+msgid "In the terminal, type:"
+msgstr "Escriba en la terminal:"
+
+#: C/beginner.js.page:46(screen)
+#, no-wrap
+msgid "gjs <var>filename</var>.js"
+msgstr "gjs <var>nombre_archivo</var>.js"
+
+#: C/beginner.c.page:8(title)
+#, fuzzy
+#| msgid "0 Beginner's Tutorials"
+msgid "Beginner's Tutorials (C)"
+msgstr "0. Tutoriales para principiantes"
+
+#: C/beginner.c.page:25(p)
+msgid "The C programming language"
+msgstr "El lenguaje de programaciÃn C:"
+
+#: C/beginner.c.page:42(p)
+msgid "Copy and paste the code into <var>filename</var>.c"
+msgstr "Copie y pegue el cÃdigo en <var>nombre_archivo</var>.c"
+
+#: C/beginner.c.page:44(screen)
+#, no-wrap
+msgid "gcc <var>filename</var>.c `pkg-config --cflags --libs gtk+-3.0` -o <var>filename</var>\n"
+msgstr "gcc <var>nombre_archivo</var>.c `pkg-config --cflags --libs gtk+-3.0` -o <var>nombre_archivo</var>\n"
+
+#: C/beginner.c.page:50(p)
+msgid ""
+"For more information about compiling Gtk+ programs see <link href=\"http://";
+"developer.gnome.org/gtk3/3.4/gtk-compiling.html\">Compiling Gtk+ "
+"Applications on UNIX</link>."
+msgstr ""
+"Para obtener mÃs informaciÃn sobre cÃmo compilar programas en GTK+, consulte "
+"<link href=\"http://developer.gnome.org/gtk3/3.4/gtk-compiling.html";
+"\">Compilar aplicaciones GTK+ en UNIX</link>."
+
+#: C/beginner.c.page:54(p)
+msgid "You can also use the Vala compiler to compile these samples:"
+msgstr "TambiÃn puede usar el compilador de Vala para compilar estos ejemplos:"
+
+#: C/beginner.c.page:57(screen)
+#, no-wrap
+msgid "valac --pkg gtk+-3.0 <var>filename</var>.c"
+msgstr "valac --pkg gtk+-3.0 <var>nombre_archivo</var>.c"
+
+#: C/beginner.c.page:59(p)
+msgid "To run:"
+msgstr "Para ejecutarlos:"
+
+#: C/audio-player.vala.page:9(desc)
+msgid "Coming soon..."
+msgstr "PrÃximamente..."
+
+#: C/audio-player.vala.page:18(title)
+msgid "3 Audio Player"
+msgstr "3. Reproductor de sonido"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/aboutdialog.vala.page:29(None) C/aboutdialog.py.page:22(None)
+#: C/aboutdialog.js.page:20(None) C/aboutdialog.c.page:24(None)
+msgid ""
+"@@image: 'media/aboutdialog_GMenu.png'; md5=a36117a559fa98e25e2f6b3db593639f"
+msgstr ""
+"@@image: 'media/aboutdialog_GMenu.png'; md5=a36117a559fa98e25e2f6b3db593639f"
+
+#: C/aboutdialog.vala.page:7(title)
+#| msgid "AboutDialog"
+msgid "AboutDialog (Vala)"
+msgstr "AboutDialog (Vala)"
+
+#: C/aboutdialog.vala.page:25(desc) C/aboutdialog.js.page:16(desc)
+#: C/aboutdialog.c.page:19(desc)
+msgid "Display information about an application"
+msgstr "Mostrar informacioÌn acerca de una aplicacioÌn"
+
+#: C/aboutdialog.vala.page:28(title) C/aboutdialog.py.page:21(title)
+#: C/aboutdialog.js.page:19(title) C/aboutdialog.c.page:22(title)
+msgid "AboutDialog"
+msgstr "AboutDialog"
+
+#: C/aboutdialog.vala.page:30(p) C/aboutdialog.c.page:25(p)
+msgid "An AboutDialog example using Gtk.ApplicationWindow and Menu"
+msgstr "Un ejemplo de AboutDialog usando Gtk.ApplicationWindow y Menu"
+
+#: C/aboutdialog.vala.page:40(link)
+msgid "set_default_size"
+msgstr "set_default_size"
+
+#: C/aboutdialog.py.page:7(title)
+#| msgid "AboutDialog"
+msgid "AboutDialog (Python)"
+msgstr "AboutDialog (Python)"
+
+#: C/aboutdialog.py.page:18(desc)
+msgid "A window that displays information about an application"
+msgstr "Una ventana que muestra informacioÌn acerca de una aplicacioÌn"
+
+#: C/aboutdialog.py.page:23(p)
+msgid ""
+"An AboutDialog example using Gtk.ApplicationWindow and Menu (the \"about\" "
+"is displayed if \"About\" in the menu is selected)."
+msgstr ""
+"Un ejemplo de AboutDialog usando Gtk.ApplicationWindow y Menu (el diÃlogo se "
+"muestra al pulsar el elemento de menà ÂAcerca deÂ)."
+
+#: C/aboutdialog.py.page:35(title)
+msgid "Useful methods for an AboutDialog widget"
+msgstr "MeÌtodos uÌtiles para un widget ÂAboutDialogÂ"
+
+#: C/aboutdialog.py.page:45(link) C/aboutdialog.c.page:36(link)
+msgid "GtkAboutDialog"
+msgstr "GtkAboutDialog"
+
+#: C/aboutdialog.js.page:6(title)
+#| msgid "AboutDialog"
+msgid "AboutDialog (JavaScript)"
+msgstr "AboutDialog (JavaScript)"
+
+#: C/aboutdialog.js.page:21(p)
+msgid ""
+"A modal dialog window which shows information about an application and its "
+"creators. This one is triggered by clicking \"About\" in the application's "
+"menu, which is normally a good place to put it."
+msgstr ""
+"Una ventana de diÃlogo modal que muestra informaciÃn sobre una aplicaciÃn Se "
+"muestra al pulsar el elemento de menà ÂAcerca de en la aplicaciÃn, que es "
+"normalmente un buen sitio para ponerla."
+
+#: C/aboutdialog.js.page:30(link)
+msgid "Gtk.AboutDialog"
+msgstr "Gtk.AboutDialog"
+
+#: C/aboutdialog.c.page:7(title)
+#| msgid "AboutDialog"
+msgid "AboutDialog (C)"
+msgstr "AboutDialog (C)"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/03_getting_the_signal.js.page:36(None)
+#: C/03_getting_the_signal.js.page:352(None)
+#| msgid "@@image: 'media/scale.png'; md5=462c52a53b773cb9e8c62c646bf88452"
+msgid ""
+"@@image: 'media/03_jssignal_01.png'; md5=8d6ecab185f4af4534cc255d62b58b8e"
+msgstr ""
+"@@image: 'media/03_jssignal_01.png'; md5=8d6ecab185f4af4534cc255d62b58b8e"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/03_getting_the_signal.js.page:156(None)
+#: C/03_getting_the_signal.js.page:358(None)
+#| msgid "@@image: 'media/scale2.png'; md5=ae2ba0a6675f3d9cdcd961cdf32f1a5c"
+msgid ""
+"@@image: 'media/03_jssignal_02.png'; md5=ba941390fbafc4a0f653c8f70bca92c0"
+msgstr ""
+"@@image: 'media/03_jssignal_02.png'; md5=ba941390fbafc4a0f653c8f70bca92c0"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/03_getting_the_signal.js.page:160(None)
+msgid "@@image: 'media/03_jssignal_02b.png'; md5=THIS FILE DOESN'T EXIST"
+msgstr "@@image: 'media/03_jssignal_02b.png'; md5=THIS FILE DOESN'T EXIST"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/03_getting_the_signal.js.page:232(None)
+#: C/03_getting_the_signal.js.page:364(None)
+#| msgid "@@image: 'media/scale2.png'; md5=ae2ba0a6675f3d9cdcd961cdf32f1a5c"
+msgid ""
+"@@image: 'media/03_jssignal_03.png'; md5=49ecf251b0bf57543c8d79a77b6f306d"
+msgstr ""
+"@@image: 'media/03_jssignal_03.png'; md5=49ecf251b0bf57543c8d79a77b6f306d"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/03_getting_the_signal.js.page:303(None)
+#: C/03_getting_the_signal.js.page:370(None)
+#| msgid "@@image: 'media/scale.png'; md5=462c52a53b773cb9e8c62c646bf88452"
+msgid ""
+"@@image: 'media/03_jssignal_04.png'; md5=dfc5221ca15ca9fba7d3c76a73804e2d"
+msgstr ""
+"@@image: 'media/03_jssignal_04.png'; md5=dfc5221ca15ca9fba7d3c76a73804e2d"
+
+#: C/03_getting_the_signal.js.page:20(desc)
+#, fuzzy
+#| msgid "A button widget that changes its label when you click it."
+msgid "Create Buttons and other widgets that do things when you click on them."
+msgstr "Un widget que cambia su etiqueta cuando se pulsa sobre Ãl."
+
+#: C/03_getting_the_signal.js.page:23(title)
+#, fuzzy
+#| msgid "Connecting the signals"
+msgid "3. Getting the Signal"
+msgstr "Conectar las seÃales"
+
+#: C/03_getting_the_signal.js.page:25(p)
+msgid ""
+"In the last tutorial, we learned how to create widgets like Labels, Images, "
+"and Buttons. Here, we'll learn how to make Buttons and other input widgets "
+"actually do things, by writing functions which handle the signals they send "
+"when they are clicked on or interacted with."
+msgstr ""
+
+#: C/03_getting_the_signal.js.page:31(title)
+#, fuzzy
+#| msgid "A basic \"hello, world\" application"
+msgid "A basic application"
+msgstr "Una aplicaciÃn ÂHola mundo bÃsica"
+
+#: C/03_getting_the_signal.js.page:32(p)
+msgid ""
+"In GNOME, widgets that you can interact with, like Buttons and Switches, "
+"send out signals when they are clicked on or activated. A Button, for "
+"instance, sends out the \"clicked\" signal when somebody clicks on it. When "
+"this happens, GNOME looks for the part in your code that says what to do."
+msgstr ""
+
+#: C/03_getting_the_signal.js.page:33(p)
+msgid ""
+"How do we write that code? By connecting that Button's \"clicked\" signal to "
+"a callback function, which is a function you write just to handle that "
+"signal. So whenever it gives off that signal, the function connected to that "
+"signal is run."
+msgstr ""
+
+#: C/03_getting_the_signal.js.page:34(p)
+msgid "Here is an extremely basic example:"
+msgstr ""
+
+#: C/03_getting_the_signal.js.page:38(p)
+msgid ""
+"This ApplicationWindow has a Button and a Label inside it, arranged in a "
+"Grid. Whenever the Button is clicked, a variable that holds the number of "
+"cookies is increased by 1, and the Label that shows how many cookies there "
+"are is updated."
+msgstr ""
+
+#: C/03_getting_the_signal.js.page:39(p)
+msgid ""
+"The cookies in this example are not the same as the cookies that you get "
+"from websites, which store your login information and may keep track of "
+"which sites you've visited. They're just imaginary treats. You may bake some "
+"real ones if you like."
+msgstr ""
+
+#: C/03_getting_the_signal.js.page:40(p)
+msgid ""
+"Here is the basic, boilerplate code that goes at the start of the "
+"application, before we start creating the window and widgets. Besides the "
+"application having a unique name, the biggest change from the usual "
+"boilerplate is that we create a global variable right near the beginning, to "
+"hold the number of cookies."
+msgstr ""
+
+#: C/03_getting_the_signal.js.page:72(p)
+msgid ""
+"Take a look at the part that uses our application's connect method and Lang."
+"bind, to connect its activate and startup signals to the functions that "
+"present the window and build the UI. We're going to do the same thing with "
+"our Button when we get to it, except that we're going to connect its "
+"\"clicked\" signal instead."
+msgstr ""
+
+#: C/03_getting_the_signal.js.page:76(title)
+#, fuzzy
+#| msgid "Creating the buttons"
+msgid "Click the button"
+msgstr "Crear los botones"
+
+#: C/03_getting_the_signal.js.page:78(p)
+msgid ""
+"As usual, we'll put all the code to create our Button and other widgets "
+"inside the _buildUI function, which is called when the application starts up."
+msgstr ""
+
+#: C/03_getting_the_signal.js.page:84(p)
+msgid "First, we create the window itself:"
+msgstr ""
+
+#: C/03_getting_the_signal.js.page:94(p)
+msgid ""
+"Note that we've set its default_height and default_width properties. These "
+"let us control how tall and wide the ApplicationWindow will be, in pixels."
+msgstr ""
+
+#: C/03_getting_the_signal.js.page:95(p)
+msgid ""
+"Next, we'll create the Label that shows us the number of cookies. We can use "
+"the cookies variable as part of the Label's label property."
+msgstr ""
+
+#: C/03_getting_the_signal.js.page:102(p)
+msgid ""
+"Now we'll create the Button. We set its label property to show the text that "
+"we want on the Button, and we connect its \"clicked\" signal to a function "
+"called _getACookie, which we'll write after we're done building our "
+"application's UI."
+msgstr ""
+
+#: C/03_getting_the_signal.js.page:110(p)
+msgid ""
+"Finally, we create a Grid, attach the Label and Button to it, add it to the "
+"window and tell the window to show itself and its contents. That's all we "
+"need inside the _buildUI function, so we close it with a bracket, as well as "
+"a comma that tells GNOME to go on to the next function. Note that even "
+"though we wrote the code for the Label first, we can still attach it to the "
+"Grid in a way that will put it on the bottom."
+msgstr ""
+
+#: C/03_getting_the_signal.js.page:130(p)
+msgid ""
+"Now, we write the _getACookie function. Whenever our Button sends out its "
+"\"clicked\" signal, the code in this function will run. In this case, all it "
+"does is increase the number of cookies by 1, and update the Label to show "
+"the new number of cookies. We do this using the Label's set_label method."
+msgstr ""
+
+#: C/03_getting_the_signal.js.page:131(p)
+msgid ""
+"Many widgets have the same properties and methods. Both Labels and Buttons, "
+"for instance, have a label property that says what text is inside them, and "
+"get_label and set_label methods that let you check what that text is and "
+"change it, respectively. So if you learn how one widget works, you'll also "
+"know how others like it work."
+msgstr ""
+
+#: C/03_getting_the_signal.js.page:144(p)
+msgid ""
+"Finally, we run the application, using the same kind of code as in our last "
+"tutorial."
+msgstr ""
+
+#: C/03_getting_the_signal.js.page:153(title)
+#, fuzzy
+#| msgid "Creating the switches"
+msgid "Flip the switch"
+msgstr "Crear los interruptores"
+
+#: C/03_getting_the_signal.js.page:154(p)
+msgid ""
+"Buttons aren't the only input widgets in our Gtk+ toolbox. We can also use "
+"switches, like the one in this example. Switches don't have a label "
+"property, so we have to create a separate Label that says what it does to go "
+"next to it."
+msgstr ""
+
+#: C/03_getting_the_signal.js.page:158(p)
+msgid ""
+"A Switch has two positions, Off and On. When a Switch is turned on, its text "
+"and background color change, so you can tell which position it's in."
+msgstr ""
+
+#: C/03_getting_the_signal.js.page:162(p)
+msgid ""
+"You may have seen Switches like these in GNOME's accessibility menu, which "
+"let you turn features like large text and the on-screen keyboard on and off. "
+"In this case, the Switch controls our imaginary cookie dispenser. If the "
+"Switch is turned on, you can get cookies by clicking the \"Get a cookie\" "
+"Button. If it's turned off, clicking the Button won't do anything."
+msgstr ""
+
+#: C/03_getting_the_signal.js.page:163(p)
+msgid ""
+"You can get to the accessibility menu by clicking on the outline of a human, "
+"near your name in the upper-right corner of the screen."
+msgstr ""
+
+#: C/03_getting_the_signal.js.page:164(p)
+msgid "Here's how we create the Switch:"
+msgstr ""
+
+#: C/03_getting_the_signal.js.page:170(p)
+msgid ""
+"We don't actually need to connect the Switch to anything. All we need to do "
+"is write an if statement in our _getACookie function, to check to see if the "
+"Switch is turned on. If we wanted to make something happen as soon as you "
+"flip the Switch, though, we would connect its notify::active signal, like so:"
+msgstr ""
+
+#: C/03_getting_the_signal.js.page:176(p)
+msgid ""
+"A Switch is set to the off position by default. If we wanted the Switch to "
+"start out turned on, we would set the value of its active property to true "
+"when we create it."
+msgstr ""
+
+#: C/03_getting_the_signal.js.page:181(p)
+msgid ""
+"Let's just create it normally, though, and then create the Label that goes "
+"with it. We want the Switch and the Label to be kept right next to each "
+"other, so we'll create a Grid just for them, then put that Grid in our "
+"larger Grid that holds all the widgets inside it. Here's what the code looks "
+"like to create all that:"
+msgstr ""
+
+#: C/03_getting_the_signal.js.page:200(p)
+msgid "And now we arrange everything in the larger Grid like so."
+msgstr ""
+
+#: C/03_getting_the_signal.js.page:208(p)
+msgid ""
+"Now we change the _getACookie function so that it checks to see if the "
+"cookie dispenser is turned on. We do that by using the Switch's get_active "
+"method. It returns true if the Switch is turned on, and false if the Switch "
+"is turned off."
+msgstr ""
+
+#: C/03_getting_the_signal.js.page:209(p)
+msgid ""
+"When a method is used in an if statement like this, the code inside the if "
+"statement is executed if the method returns true."
+msgstr ""
+
+#: C/03_getting_the_signal.js.page:228(title)
+#, fuzzy
+#| msgid "Creating the radiobuttons"
+msgid "Tuning the radio"
+msgstr "Crear los botones de radio"
+
+#: C/03_getting_the_signal.js.page:230(p)
+msgid ""
+"Another type of input widget we can use is called the RadioButton. You "
+"create them in groups, and then only one RadioButton in a group can be "
+"selected at a time. They're called RadioButtons because they work like the "
+"channel preset button in old-style car radios. The radio could only be tuned "
+"to one station at a time, so whenever you pressed one button in, another "
+"would pop back out."
+msgstr ""
+
+#: C/03_getting_the_signal.js.page:234(p)
+msgid ""
+"First off, let's change our ApplicationWindow's name and increase its "
+"border_width property, so that our widgets aren't packed in too tightly. The "
+"border_width is the number of pixels between any widget and the edge of the "
+"window."
+msgstr ""
+
+#: C/03_getting_the_signal.js.page:246(p)
+msgid ""
+"After that, we create the RadioButtons. Remember how they're created in "
+"groups? The way we do that, is we set each new RadioButton's group property "
+"to the name of another RadioButton."
+msgstr ""
+
+#: C/03_getting_the_signal.js.page:256(p)
+msgid ""
+"Next, we create a Grid for the RadioButtons. Remember, we don't have to "
+"arrange things in Grids in the same order that we create them in."
+msgstr ""
+
+#: C/03_getting_the_signal.js.page:265(p)
+msgid ""
+"Normally, the RadioButton that's selected by default is the one that's the "
+"name of the group. We want the first \"Not cookie\" button to be selected by "
+"default, though, so we use its set_active method."
+msgstr ""
+
+#: C/03_getting_the_signal.js.page:266(p)
+msgid "We could also set its active property to true when we create it."
+msgstr ""
+
+#: C/03_getting_the_signal.js.page:272(p)
+msgid "Now we arrange everything in our main Grid like usual ..."
+msgstr ""
+
+#: C/03_getting_the_signal.js.page:280(p)
+msgid ""
+"And then we change our _getACookie function to test to see if the cookie "
+"button is the one that's selected."
+msgstr ""
+
+#: C/03_getting_the_signal.js.page:299(title)
+msgid "Can you spell \"cookie\"?"
+msgstr ""
+
+#: C/03_getting_the_signal.js.page:301(p)
+msgid ""
+"The last input widget we're going to cover is the Entry widget, which is "
+"used for single-line text entry."
+msgstr ""
+
+#: C/03_getting_the_signal.js.page:302(p)
+msgid ""
+"If you need to be able to enter in a whole paragraph or more, like if you "
+"are building a text editor, you'll want to look at the much more "
+"customizable <link xref=\"textview.js\">TextView</link> widget."
+msgstr ""
+
+#: C/03_getting_the_signal.js.page:305(p)
+msgid "After we change the window's name, we create the Entry widget."
+msgstr ""
+
+#: C/03_getting_the_signal.js.page:311(p)
+msgid "Next, we arrange everything in the Grid ..."
+msgstr ""
+
+#: C/03_getting_the_signal.js.page:319(p)
+msgid ""
+"And now we modify _getACookie's if statement again, using the Entry's "
+"get_text method to retrieve the text that you entered into it and see if you "
+"spelled \"cookie\" right. We don't care whether you capitalize \"cookie\" or "
+"not, so we use JavaScript's built-in toLowerCase method to change the "
+"Entry's text to all lower case inside the if statement."
+msgstr ""
+
+#: C/03_getting_the_signal.js.page:320(p)
+msgid ""
+"An Entry widget doesn't have a label property, which is a set text string "
+"that the user can't change. (You can't normally change the label on a "
+"Button, for instance.) Instead, it has a text property, which changes to "
+"match what the user types in."
+msgstr ""
+
+#: C/03_getting_the_signal.js.page:340(p)
+msgid ""
+"<link xref=\"04_popup_dialog_boxes.js\">Click here</link> to go on to the "
+"next tutorial. Or keep reading, if you'd like to see the complete code for "
+"each version of our cookie maker application."
+msgstr ""
+
+#: C/03_getting_the_signal.js.page:341(p)
+msgid ""
+"The main JavaScript tutorials page has <link xref=\"beginner.js#buttons"
+"\">more detailed code samples</link> for each input widget, including "
+"several not covered here."
+msgstr ""
+
+#: C/03_getting_the_signal.js.page:346(title)
+#, fuzzy
+#| msgid "Complete code sample"
+msgid "Complete code samples"
+msgstr "CÃdigo de ejemplo completo"
+
+#: C/03_getting_the_signal.js.page:351(title)
+#, fuzzy
+#| msgid "Code samples"
+msgid "Code sample with Button"
+msgstr "Ejemplos de cÃdigo"
+
+#: C/03_getting_the_signal.js.page:357(title)
+#, fuzzy
+#| msgid "Code samples"
+msgid "Code sample with Switch"
+msgstr "Ejemplos de cÃdigo"
+
+#: C/03_getting_the_signal.js.page:363(title)
+#, fuzzy
+#| msgid "Creating the radiobuttons"
+msgid "Code sample with RadioButton"
+msgstr "Crear los botones de radio"
+
+#: C/03_getting_the_signal.js.page:369(title)
+#, fuzzy
+#| msgid "Code samples"
+msgid "Code sample with Entry"
+msgstr "Ejemplos de cÃdigo"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/02_welcome_to_the_grid.js.page:94(None)
+#| msgid "@@image: 'media/grid.png'; md5=27d45da115401127456a3b854dcfc5be"
+msgid "@@image: 'media/02_jsgrid_01.png'; md5=3fdc22d361cf801f71557fdc76ae5b49"
+msgstr ""
+"@@image: 'media/02_jsgrid_01.png'; md5=3fdc22d361cf801f71557fdc76ae5b49"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/02_welcome_to_the_grid.js.page:149(None)
+#| msgid "@@image: 'media/grid.png'; md5=27d45da115401127456a3b854dcfc5be"
+msgid "@@image: 'media/02_jsgrid_02.png'; md5=07db86b0043ba5c3c24a90d7322bd81e"
+msgstr ""
+"@@image: 'media/02_jsgrid_02.png'; md5=07db86b0043ba5c3c24a90d7322bd81e"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/02_welcome_to_the_grid.js.page:166(None)
+#| msgid "@@image: 'media/switch_on.png'; md5=95e8769f758c2d95ace0fa8ecf30b29d"
+msgid "@@image: 'media/02_jsgrid_03.png'; md5=817351e73c687d47253c56ed06b6629f"
+msgstr ""
+"@@image: 'media/02_jsgrid_03.png'; md5=817351e73c687d47253c56ed06b6629f"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/02_welcome_to_the_grid.js.page:196(None)
+#| msgid "@@image: 'media/glade_ui.png'; md5=baea74fe213bc12ea934f64f6977215a"
+msgid "@@image: 'media/02_jsgrid_04.png'; md5=eeaead27cee2851877fc3cfe66177f07"
+msgstr ""
+"@@image: 'media/02_jsgrid_04.png'; md5=eeaead27cee2851877fc3cfe66177f07"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/02_welcome_to_the_grid.js.page:205(None)
+#| msgid "@@image: 'media/grid.png'; md5=27d45da115401127456a3b854dcfc5be"
+msgid "@@image: 'media/02_jsgrid_05.png'; md5=a3ad12f432d5977fc1f66302ad5b7498"
+msgstr ""
+"@@image: 'media/02_jsgrid_05.png'; md5=a3ad12f432d5977fc1f66302ad5b7498"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/02_welcome_to_the_grid.js.page:216(None)
+#| msgid "@@image: 'media/grid.png'; md5=27d45da115401127456a3b854dcfc5be"
+msgid "@@image: 'media/02_jsgrid_06.png'; md5=450e48dbf6b8f5ce1c208e4812e1714b"
+msgstr ""
+"@@image: 'media/02_jsgrid_06.png'; md5=450e48dbf6b8f5ce1c208e4812e1714b"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/02_welcome_to_the_grid.js.page:226(None)
+#| msgid "@@image: 'media/window.png'; md5=eb0cde3530978619c25bddfaeb453345"
+msgid "@@image: 'media/02_jsgrid_07.png'; md5=0b304d70728903fbb2601d55bf00fdb9"
+msgstr ""
+"@@image: 'media/02_jsgrid_07.png'; md5=0b304d70728903fbb2601d55bf00fdb9"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/02_welcome_to_the_grid.js.page:248(None)
+#| msgid "@@image: 'media/grid.png'; md5=27d45da115401127456a3b854dcfc5be"
+msgid "@@image: 'media/02_jsgrid_08.png'; md5=78890beb47bd11360154b8ca4d50d1ff"
+msgstr ""
+"@@image: 'media/02_jsgrid_08.png'; md5=78890beb47bd11360154b8ca4d50d1ff"
+
+#: C/02_welcome_to_the_grid.js.page:19(desc)
+msgid "Learn how to lay out UI components, like Images and Labels."
+msgstr ""
+
+#: C/02_welcome_to_the_grid.js.page:22(title)
+msgid "2. Welcome to the Grid"
+msgstr ""
+
+#: C/02_welcome_to_the_grid.js.page:24(p)
+msgid ""
+"This tutorial will show you how to create basic widgets, or parts of the "
+"GNOME user interface, like Images and Labels. You'll then learn how to "
+"arrange them all in a Grid, which lets you put widgets exactly where you "
+"want them."
+msgstr ""
+
+#: C/02_welcome_to_the_grid.js.page:25(p)
+msgid ""
+"Have you taken <link xref=\"hellognome.js\">the first tutorial in this "
+"series</link> already? You'll want to do so before continuing."
+msgstr ""
+
+#: C/02_welcome_to_the_grid.js.page:31(title)
+msgid "Going native"
+msgstr ""
+
+#: C/02_welcome_to_the_grid.js.page:33(p)
+msgid ""
+"In the last tutorial, we created what was basically a GNOME window frame for "
+"a web app. All the GNOME-specific code we needed to learn revolved around "
+"putting the WebView -- the widget containing our application -- into an "
+"ApplicationWindow, and telling it to display. The application itself was "
+"written in HTML and JavaScript, just like most pages on the web."
+msgstr ""
+
+#: C/02_welcome_to_the_grid.js.page:34(p)
+msgid ""
+"This time, we're going to use only native GNOME widgets. A widget is just a "
+"thing, like a checkbox or picture, and GNOME has a wide variety of them to "
+"choose from. We call them \"native\" widgets to distinguish them from things "
+"like the button and header in the web app we wrote. Because instead of using "
+"web code, these are going to be 100 percent GNOME, using Gtk+."
+msgstr ""
+
+#: C/02_welcome_to_the_grid.js.page:35(p)
+msgid ""
+"Gtk+ stands for \"GIMP Toolkit.\" It's like a toolbox of widgets that you "
+"can reach into, while building your applications. It was originally written "
+"for <link href=\"http://www.gimp.org/\";>the GIMP,</link> which is a free "
+"software image editor."
+msgstr ""
+
+#: C/02_welcome_to_the_grid.js.page:39(title)
+#, fuzzy
+#| msgid "Setting up our image actors"
+msgid "Setting up our application"
+msgstr "Configurar los actores de imagen"
+
+#: C/02_welcome_to_the_grid.js.page:41(p)
+msgid ""
+"Before we dig out any widgets from the Gtk+ toolbox, we first need to write "
+"the basic boilerplate code that our application requires."
+msgstr ""
+
+#: C/02_welcome_to_the_grid.js.page:48(p)
+msgid ""
+"This part always goes at the start of your code. Depending on what you'll be "
+"doing with it, you may want to declare more imports here. What we're writing "
+"today is pretty basic, so these are all we need; Gtk for the widgets, and "
+"Lang so we can use Lang.bind to connect our application's activate and "
+"startup signals to the requisite functions."
+msgstr ""
+
+#: C/02_welcome_to_the_grid.js.page:49(p)
+msgid "Speaking of which:"
+msgstr ""
+
+#: C/02_welcome_to_the_grid.js.page:73(p)
+msgid ""
+"This is the start of the application itself, and the _init function which "
+"creates it. It tells _buildUI to create an ApplicationWindow, which we're "
+"going to call _window, and it tells our window to present itself whenever "
+"needed."
+msgstr ""
+
+#: C/02_welcome_to_the_grid.js.page:74(p)
+msgid ""
+"This part, again, is pretty much copy-and-paste, but you always want to give "
+"your application a unique name."
+msgstr ""
+
+#: C/02_welcome_to_the_grid.js.page:87(p)
+msgid ""
+"Finally, we start off the _buildUI function by creating a new "
+"ApplicationWindow. We specify that it goes with this application, that it "
+"should appear in the center of the screen, and that there should be at least "
+"10 pixels between the outside edge and any widgets inside of it. We also "
+"give it a title, which will appear at the top of the window."
+msgstr ""
+
+#: C/02_welcome_to_the_grid.js.page:91(title)
+#, fuzzy
+#| msgid "Reacting to the clicks"
+msgid "Reaching into the Gtk+ toolbox"
+msgstr "Reaccionar a las pulsaciones"
 
-#: C/beginner.vala.page:64(title) C/beginner.py.page:61(title)
-#: C/beginner.js.page:61(title) C/beginner.c.page:75(title)
-msgid "TreeView widget"
-msgstr "Widget TreeView"
+#: C/02_welcome_to_the_grid.js.page:92(p)
+msgid ""
+"What widgets should we use? Well, let's say we want to write an application "
+"that looks like this:"
+msgstr ""
 
-#: C/beginner.vala.page:66(title) C/beginner.py.page:63(title)
-#: C/beginner.js.page:63(title) C/beginner.c.page:77(title)
-msgid "Selectors"
-msgstr "Selectores"
+#: C/02_welcome_to_the_grid.js.page:96(p)
+msgid ""
+"We're going to need, at the very least, a picture and a text label to go "
+"with it. Let's start with the picture:"
+msgstr ""
 
-#: C/beginner.vala.page:67(title) C/beginner.py.page:64(title)
-#: C/beginner.js.page:64(title) C/beginner.c.page:78(title)
-msgid "File selectors"
-msgstr "Selectores de archivos"
+#: C/02_welcome_to_the_grid.js.page:102(p)
+msgid ""
+"You can download the image file used in this example <link href=\"https://";
+"live.gnome.org/TarynFox?action=AttachFile&amp;do=get&amp;target=gnome-image."
+"png\">here.</link> Be sure to put it in the same directory as the code "
+"you're writing."
+msgstr ""
 
-#: C/beginner.vala.page:69(title) C/beginner.py.page:66(title)
-#: C/beginner.js.page:66(title) C/beginner.c.page:80(title)
-msgid "Font selectors"
-msgstr "Selectores de tipografÃas"
+#: C/02_welcome_to_the_grid.js.page:108(p)
+msgid ""
+"That code adds in the label beneath. You can see how we create widgets, "
+"here; each one is a part of Gtk, and we can give it properties that "
+"customize how it behaves. In this case, we set the Image's file property to "
+"be the filename of the picture we want, and the Label's label property to be "
+"the sentence that we want beneath the picture."
+msgstr ""
 
-#: C/beginner.vala.page:71(title) C/beginner.py.page:68(title)
-#: C/beginner.js.page:68(title) C/beginner.c.page:82(title)
-msgid "Color Selectors"
-msgstr "Selectores de color"
+#: C/02_welcome_to_the_grid.js.page:109(p)
+msgid ""
+"Yes, it sounds redundant for a Label to have a label property, but it's not. "
+"Other widgets that contain text have a label property, so it's "
+"<em>consistent</em> for the Label widget to have one too."
+msgstr ""
 
-#: C/beginner.vala.page:74(title) C/beginner.py.page:71(title)
-#: C/beginner.js.page:71(title) C/beginner.c.page:85(title)
-msgid "Layout containers"
-msgstr "Contenedores de la distribuciÃn"
+#: C/02_welcome_to_the_grid.js.page:110(p)
+msgid ""
+"We can't just add these widgets to our window in order, though, the same way "
+"HTML elements appear in the order you write them. That's because an "
+"ApplicationWindow can only contain one widget."
+msgstr ""
 
-#: C/beginner.vala.page:76(title) C/beginner.py.page:73(title)
-#: C/beginner.js.page:73(title) C/beginner.c.page:87(title)
-msgid "Ornaments"
-msgstr "Adornos"
+#: C/02_welcome_to_the_grid.js.page:111(p)
+msgid ""
+"How do we get around that? By making that one widget a container widget, "
+"which can hold more than one widget and organize them inside it. Behold: The "
+"Grid."
+msgstr ""
 
-#: C/beginner.vala.page:78(title) C/beginner.py.page:75(title)
-#: C/beginner.js.page:75(title) C/beginner.c.page:89(title)
-msgid "Scrolling"
-msgstr "Desplazamiento"
+#: C/02_welcome_to_the_grid.js.page:117(p)
+msgid ""
+"We're not giving it any properties yet. Those will come later, as we learn "
+"how to use the Grid's powers. First, let's attach the Image and Label we "
+"made to our Grid."
+msgstr ""
 
-#: C/beginner.vala.page:80(title) C/beginner.py.page:77(title)
-#: C/beginner.js.page:77(title) C/beginner.c.page:91(title)
-msgid "Miscellaneous"
-msgstr "Varios"
+#: C/02_welcome_to_the_grid.js.page:124(p)
+msgid ""
+"This code looks awfully complicated, but it's not. Here's what those numbers "
+"mean:"
+msgstr ""
 
-#: C/beginner.py.page:20(p)
+#: C/02_welcome_to_the_grid.js.page:126(p)
 msgid ""
-"If you have never programmed before, or are not familiar with the concepts "
-"of object oriented programming, you may need to learn a few basics first. "
-"The book <link href=\"http://learnpythonthehardway.org/book/\";>Learn Python "
-"the Hard Way</link> may be a better place for you to start. Once you master "
-"the basics, be sure to come back and check out these tutorials."
+"The <em>first</em> number is what left-to-right position to put things in, "
+"starting from 0. Any widget that uses a 0 here goes all the way to the left."
 msgstr ""
-"Si nunca antes ha programad, o no està familiarizado con los conceptos de la "
-"programaciÃn orientada a objetos, puede necesitar aprender primero unos "
-"conceptos bÃsicos. El libro <link href=\"http://learnpythonthehardway.org/";
-"book/\">Learn Python the Hard Way</link> puede ser un buen comienzo. Una vez "
-"que domine los conceptos bÃsicos, vuelva y revise estos tutoriales."
 
-#: C/beginner.py.page:25(p)
-msgid "The Python programming language."
-msgstr "El lenguaje de programaciÃn Python:"
+#: C/02_welcome_to_the_grid.js.page:127(p)
+msgid ""
+"The <em>second</em> number is what top-to-botton position to put a given "
+"widget in, starting from 0. The Label goes beneath the Image, so we give the "
+"Image a 0 and the Label a 1 here."
+msgstr ""
 
-#: C/beginner.py.page:42(p)
-msgid "Copy and paste the code into <var>filename</var>.py"
-msgstr "Copie y pegue el cÃdigo en <var>nombre_archivo</var>.py"
+#: C/02_welcome_to_the_grid.js.page:128(p)
+msgid ""
+"The <em>third</em> and <em>fourth</em> numbers are how many columns and rows "
+"a widget should take up. We'll see how these work in a minute."
+msgstr ""
 
-#: C/beginner.py.page:44(screen)
-#, no-wrap
-msgid "python <var>filename</var>.py"
-msgstr "python <var>nombre_archivo</var>.py"
+#: C/02_welcome_to_the_grid.js.page:145(p)
+msgid ""
+"Now that we've created the Grid and attached all our widgets to it, we add "
+"it to the window and tell the window to show itself, as the last part of the "
+"_buildUI function. As always, to finish up we create a new instance of the "
+"application's class and tell it to run."
+msgstr ""
 
-#: C/beginner.js.page:15(desc)
+#: C/02_welcome_to_the_grid.js.page:146(p)
 #, fuzzy
 #| msgid ""
-#| "A beginner's guide to GUI programming using GTK+, including code samples "
-#| "and practice exercises."
+#| "To run this application, first save it as helloWorld.js. Then open "
+#| "Terminal, go to the folder where your application is stored and run"
 msgid ""
-"A beginner's guide to writing GNOME applications in JavaScript, including "
-"code samples and practice exercises."
+"Save your application as welcome_to_the_grid.js. Then, to run your "
+"application just open a terminal, go to the directory where your application "
+"is at, and type"
 msgstr ""
-"Una guÃa de programaciÃn de interfaces usuario en GTK+ para principiantes, "
-"incluyendo ejemplos de cÃdigo y ejercicios prÃcticos."
-
-#: C/beginner.js.page:18(title)
-msgid "0 Beginner's tutorials and samples"
-msgstr "0. Tutoriales para principiantes y ejemplos"
+"Para ejecutar esta aplicaciÃn ,primero guÃrdela como helloWorld.js. Luego, "
+"abra una terminal, vaya a la carpeta donde està la aplicaciÃn y ejecute"
 
-#: C/beginner.js.page:20(p)
-msgid ""
-"JavaScript is one of the most popular programming languages on the web. It's "
-"not just for the web, though. If you have even a basic understanding of "
-"JavaScript, you can write full-fledged applications for GNOME. <link href="
-"\"https://live.gnome.org/GnomeDocuments\";>GNOME Documents</link> is written "
-"in JavaScript, and so is <link href=\"https://live.gnome.org/GnomeShell/Tour";
-"\">GNOME Shell,</link> the most basic part of GNOME."
+#: C/02_welcome_to_the_grid.js.page:147(screen)
+#, no-wrap
+msgid " <output style=\"prompt\">$ </output>gjs welcome_to_the_grid.js "
 msgstr ""
 
-#: C/beginner.js.page:21(p)
+#: C/02_welcome_to_the_grid.js.page:151(p)
 msgid ""
-"GNOME Shell is what you see when you click on \"Activities\" in the top-left "
-"corner of your screen. It also controls the clock and the rest of the top "
-"panel. Besides showing how you to write GNOME applications, these tutorials "
-"will also show you how to use JavaScript to write GNOME Shell extensions, "
-"which give it new features or change the way it does things."
+"There we go! But wait. That doesn't look right. Why is the Label crammed up "
+"next to the Image like that? That doesn't look as nice, and it makes it "
+"harder to read. What can we do about this?"
 msgstr ""
 
-#: C/beginner.js.page:25(title)
+#: C/02_welcome_to_the_grid.js.page:155(title)
 #, fuzzy
-#| msgid "Getting started"
-msgid "Getting Started"
-msgstr "Inicio"
+#| msgid "Creating the switches"
+msgid "Tweaking the Grid"
+msgstr "Crear los interruptores"
 
-#: C/beginner.js.page:26(p)
+#: C/02_welcome_to_the_grid.js.page:157(p)
 msgid ""
-"These tutorials are designed for people who already know how to write in "
-"JavaScript, and who have GNOME installed on their computers already, but who "
-"are new to developing GNOME applications. If you don't already know "
-"JavaScript, or if you need help getting GNOME set up, take a look at these "
-"resources first:"
+"One thing we can do, is we can give the Label a margin_top property when we "
+"create it. This works sort of like setting a margin for an HTML element "
+"using inline CSS styling."
 msgstr ""
 
-#: C/beginner.js.page:28(p)
+#: C/02_welcome_to_the_grid.js.page:165(p)
 msgid ""
-"<link href=\"http://eloquentjavascript.net/contents.html\";>Eloquent "
-"JavaScript</link> is a free, Creative Commons-licensed book, which explains "
-"the basics of JavaScript programming. Since you won't be writing JavaScript "
-"for the web, you only need to read up to chapter 10 or so."
+"Of course, if we do that then if we replace the Label with something else -- "
+"or add in another widget -- then we have to repeat the margin_top on it too. "
+"Otherwise we end up with something like this:"
 msgstr ""
 
-#: C/beginner.js.page:29(p)
+#: C/02_welcome_to_the_grid.js.page:168(p)
 msgid ""
-"<link href=\"http://www.gnome.org/getting-gnome/\";>Download GNOME</link> as "
-"part of a distribution, like Fedora, openSUSE, or Ubuntu. Each distribution "
-"has its own instructions for how to get GNOME."
+"We could give the Image a margin_bottom property, but that won't work when "
+"the new Label is in a separate column. So how about we try this instead:"
 msgstr ""
 
-#: C/beginner.js.page:30(p)
+#: C/02_welcome_to_the_grid.js.page:175(p)
 msgid ""
-"<link xref=\"set-up-gedit.js\">Set up gedit</link> for writing applications. "
-"GNOME's text editor, gedit, is sometimes just called \"text editor.\""
+"That makes it so that there are always 20 pixels of space in between each "
+"horizontal row."
 msgstr ""
 
-#: C/beginner.js.page:41(p)
+#: C/02_welcome_to_the_grid.js.page:176(p)
 msgid ""
-"These samples show how to use widgets in your GNOME applications. Each one "
-"demonstrates a complete application which showcases the featured widget. At "
-"the end of each sample, you will find links to more detailed reference "
-"material."
+"Yes, you can also set the column_spacing property on a Grid, or the "
+"margin_left and margin_right properties on any widget. Try them out, if you "
+"like!"
 msgstr ""
 
-#: C/beginner.js.page:44(p)
-msgid "Copy and paste the code into <var>filename</var>.js"
-msgstr "Copie y pegue el cÃdigo en <var>nombre_archivo</var>.js"
-
-#: C/beginner.js.page:45(p)
-msgid "In the terminal, type:"
-msgstr "Escriba en la terminal:"
+#: C/02_welcome_to_the_grid.js.page:180(title)
+msgid "Adding more widgets"
+msgstr ""
 
-#: C/beginner.js.page:46(screen)
-#, no-wrap
-msgid "gjs <var>filename</var>.js"
-msgstr "gjs <var>nombre_archivo</var>.js"
+#: C/02_welcome_to_the_grid.js.page:182(p)
+msgid ""
+"If we did want to add a second Label, how would we do it so that it actually "
+"looked like it belonged there? One way is to center the Image on top, so "
+"that it's above both Labels instead of just the one on the left. That's "
+"where those other numbers in the Grid's attach method come in:"
+msgstr ""
 
-#: C/beginner.c.page:24(p)
-msgid "The C programming language"
-msgstr "El lenguaje de programaciÃn C:"
+#: C/02_welcome_to_the_grid.js.page:194(p)
+msgid ""
+"After we create the second Label, we attach it to the Grid to the right of "
+"the first Label. Remember, the first two numbers count columns and rows from "
+"left to right and top to bottom, starting with 0. So if the first Label is "
+"in column 0 and row 1, we can put the second in column 1 and row 1 to put it "
+"to the right of the first Label."
+msgstr ""
 
-#: C/beginner.c.page:41(p)
-msgid "Copy and paste the code into <var>filename</var>.c"
-msgstr "Copie y pegue el cÃdigo en <var>nombre_archivo</var>.c"
+#: C/02_welcome_to_the_grid.js.page:195(p)
+msgid ""
+"Note the number 2 in the attach statement for the Image. That's what does "
+"the trick here. That number is how many columns the Image spans, remember? "
+"So when we put it together, we get something like this:"
+msgstr ""
 
-#: C/beginner.c.page:43(screen)
-#, no-wrap
-msgid "gcc <var>filename</var>.c `pkg-config --cflags --libs gtk+-3.0` -o <var>filename</var>\n"
-msgstr "gcc <var>nombre_archivo</var>.c `pkg-config --cflags --libs gtk+-3.0` -o <var>nombre_archivo</var>\n"
+#: C/02_welcome_to_the_grid.js.page:198(p)
+msgid "There are two things you should take note of, here."
+msgstr ""
 
-#: C/beginner.c.page:49(p)
+#: C/02_welcome_to_the_grid.js.page:200(p)
 msgid ""
-"For more information about compiling Gtk+ programs see <link href=\"http://";
-"developer.gnome.org/gtk3/3.4/gtk-compiling.html\">Compiling Gtk+ "
-"Applications on UNIX</link>."
+"Setting the Image to span two columns doesn't stretch the picture itself "
+"horizontally. Instead, it stretches the invisible box taken up by the Image "
+"widget to fill both columns, then places the Image in the center of that box."
 msgstr ""
-"Para obtener mÃs informaciÃn sobre cÃmo compilar programas en GTK+, consulte "
-"<link href=\"http://developer.gnome.org/gtk3/3.4/gtk-compiling.html";
-"\">Compilar aplicaciones GTK+ en UNIX</link>."
-
-#: C/beginner.c.page:53(p)
-msgid "You can also use the Vala compiler to compile these samples:"
-msgstr "TambiÃn puede usar el compilador de Vala para compilar estos ejemplos:"
 
-#: C/beginner.c.page:56(screen)
-#, no-wrap
-msgid "valac --pkg gtk+-3.0 <var>filename</var>.c"
-msgstr "valac --pkg gtk+-3.0 <var>nombre_archivo</var>.c"
+#: C/02_welcome_to_the_grid.js.page:201(p)
+msgid ""
+"Even though we've set the Grid's row_spacing and the ApplicationWindow's "
+"border_width properties, we haven't yet set anything that puts a border in "
+"between the two Labels. They were separate earlier when the Image was in "
+"only one column, but now that it spans both GNOME doesn't see a reason to "
+"keep them apart."
+msgstr ""
 
-#: C/beginner.c.page:58(p)
-msgid "To run:"
-msgstr "Para ejecutarlos:"
+#: C/02_welcome_to_the_grid.js.page:204(p)
+msgid ""
+"There are at least three ways we can get around that last one. First, we can "
+"set a margin_left or margin_right on one of the Labels:"
+msgstr ""
 
-#: C/audio-player.vala.page:9(desc)
-msgid "Coming soon..."
-msgstr "PrÃximamente..."
+#: C/02_welcome_to_the_grid.js.page:207(p)
+msgid "Second, we can set the Grid's column_homogenous property to true."
+msgstr ""
 
-#: C/audio-player.vala.page:18(title)
-msgid "3 Audio Player"
-msgstr "3. Reproductor de sonido"
+#: C/02_welcome_to_the_grid.js.page:215(p)
+#, fuzzy
+#| msgid "Weatherapp.js file looks like this:"
+msgid "That makes it look something like this:"
+msgstr "El archivo Weatherapp.js se parece a esto:"
 
-#. When image changes, this message will be marked fuzzy or untranslated for you.
-#. It doesn't matter what you translate it to: it's not used at all.
-#: C/aboutdialog.vala.page:28(None) C/aboutdialog.py.page:21(None)
-#: C/aboutdialog.js.page:19(None)
+#: C/02_welcome_to_the_grid.js.page:218(p)
 msgid ""
-"@@image: 'media/aboutdialog_GMenu.png'; md5=a36117a559fa98e25e2f6b3db593639f"
+"And third, we can set the Grid's column_spacing property, the same way we "
+"set its row_spacing."
 msgstr ""
-"@@image: 'media/aboutdialog_GMenu.png'; md5=a36117a559fa98e25e2f6b3db593639f"
 
-#: C/aboutdialog.vala.page:24(desc) C/aboutdialog.js.page:15(desc)
-msgid "Display information about an application"
-msgstr "Mostrar informacioÌn acerca de una aplicacioÌn"
+#: C/02_welcome_to_the_grid.js.page:225(p)
+#, fuzzy
+#| msgid "Weatherapp.js file looks like this:"
+msgid "That makes it look like this:"
+msgstr "El archivo Weatherapp.js se parece a esto:"
 
-#: C/aboutdialog.vala.page:27(title) C/aboutdialog.py.page:20(title)
-#: C/aboutdialog.js.page:18(title)
-msgid "AboutDialog"
-msgstr "AboutDialog"
+#: C/02_welcome_to_the_grid.js.page:230(title)
+#, fuzzy
+#| msgid "Loading the images"
+msgid "Using stock images"
+msgstr "Cargar las imÃgenes"
 
-#: C/aboutdialog.vala.page:29(p)
-msgid "An AboutDialog example using Gtk.ApplicationWindow and Menu"
-msgstr "Un ejemplo de AboutDialog usando Gtk.ApplicationWindow y Menu"
+#: C/02_welcome_to_the_grid.js.page:232(p)
+msgid ""
+"GNOME has a lot of stock images on hand already, that we can use if we don't "
+"feel like creating our own or if we want a universally-recognized icon. "
+"Here's how we create a stock image, compared to how we create a normal one:"
+msgstr ""
 
-#: C/aboutdialog.vala.page:39(link)
-msgid "set_default_size"
-msgstr "set_default_size"
+#: C/02_welcome_to_the_grid.js.page:240(p)
+msgid ""
+"After that, we attach it to the Grid to the left of the first Label. (We "
+"aren't using the second one for this example.)"
+msgstr ""
 
-#: C/aboutdialog.py.page:17(desc)
-msgid "A window that displays information about an application"
-msgstr "Una ventana que muestra informacioÌn acerca de una aplicacioÌn"
+#: C/02_welcome_to_the_grid.js.page:247(p)
+msgid "That gives us this, when we run it:"
+msgstr ""
 
-#: C/aboutdialog.py.page:22(p)
+#: C/02_welcome_to_the_grid.js.page:250(p)
 msgid ""
-"An AboutDialog example using Gtk.ApplicationWindow and Menu (the \"about\" "
-"is displayed if \"About\" in the menu is selected)."
+"That's what the stock \"About\" icon looks like. You can see a list of all "
+"the stock items starting with gtk-about in <link href=\"http://developer.";
+"gnome.org/gtk/2.24/gtk-Stock-Items.html#GTK-STOCK-ABOUT:CAPS\">GNOME's "
+"developer documentation.</link> It was written for C programmers, but you "
+"don't need to know C to use it; just look at the part in quotation marks, "
+"like \"gtk-about\", and copy that part to use the icon next to it."
 msgstr ""
-"Un ejemplo de AboutDialog usando Gtk.ApplicationWindow y Menu (el diÃlogo se "
-"muestra al pulsar el elemento de menà ÂAcerca deÂ)."
 
-#: C/aboutdialog.py.page:34(title)
-msgid "Useful methods for an AboutDialog widget"
-msgstr "MeÌtodos uÌtiles para un widget ÂAboutDialogÂ"
+#: C/02_welcome_to_the_grid.js.page:251(p)
+msgid ""
+"We put single quotes around 'gtk-about' here because, unlike text strings "
+"that have double quotes around them, that part will never need to be "
+"translated into another language. In fact, if it <em>were</em> translated "
+"it'd break the icon, because its name is still \"gtk-about\" no matter which "
+"language you speak."
+msgstr ""
 
-#: C/aboutdialog.py.page:44(link)
-msgid "GtkAboutDialog"
-msgstr "GtkAboutDialog"
+#: C/02_welcome_to_the_grid.js.page:257(p)
+msgid ""
+"Before we go on to the next tutorial, let's try something a little different:"
+msgstr ""
 
-#: C/aboutdialog.js.page:20(p)
+#: C/02_welcome_to_the_grid.js.page:269(p)
 msgid ""
-"A modal dialog window which shows information about an application and its "
-"creators. This one is triggered by clicking \"About\" in the application's "
-"menu, which is normally a good place to put it."
+"That's right, we turned the Label into a Button just by changing the name! "
+"If you run the application and click on it, though, you'll find that it "
+"doesn't do anything. How do we make our Button do something? That's what "
+"we'll find out, in <link xref=\"getting_the_signal.js\">our next tutorial.</"
+"link>"
 msgstr ""
-"Una ventana de diÃlogo modal que muestra informaciÃn sobre una aplicaciÃn Se "
-"muestra al pulsar el elemento de menà ÂAcerca de en la aplicaciÃn, que es "
-"normalmente un buen sitio para ponerla."
 
-#: C/aboutdialog.js.page:29(link)
-msgid "Gtk.AboutDialog"
-msgstr "Gtk.AboutDialog"
+#: C/02_welcome_to_the_grid.js.page:270(p)
+msgid ""
+"If you like, feel free to spend some time experimenting with Grids, Labels, "
+"and Images, including stock images."
+msgstr ""
+
+#: C/02_welcome_to_the_grid.js.page:271(p)
+msgid ""
+"One trick you can use to make more complex layouts is to nest Grids inside "
+"of each other. This lets you group together related widgets, and rearrange "
+"them easily. Take a look at the <link xref=\"radiobutton.js\">RadioButton</"
+"link> code sample if you'd like to see how this is done."
+msgstr ""
 
 #. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2
 #: C/index.page:0(None)
@@ -14508,6 +17935,132 @@ msgstr ""
 "Daniel Mustieles <daniel mustieles gmail com>, 2011-2012\n"
 "Jorge GonzÃlez <jorgegonz svn gnome org>, 2011"
 
+#~ msgid "Toolbar widget"
+#~ msgstr "Widget de barra de herramientas"
+
+#~ msgid "Togglebutton"
+#~ msgstr "Togglebutton"
+
+#~ msgid "LinkButton Widget"
+#~ msgstr "Widget LinkButton"
+
+#~ msgid "Autotools files for your Hello World application"
+#~ msgstr "Archivos de Autotools para su aplicaciÃn ÂHolaMundoÂ"
+
+#~ msgid "autogen.sh file will install"
+#~ msgstr "el archivo autogen.sh instalarÃ"
+
+#~ msgid "to give the file the necessary rights to install."
+#~ msgstr "para darle al archivos los permisos necesarios para ejecutarse."
+
+#~ msgid ""
+#~ "When you have all the 3 files with correct information and rights run "
+#~ "these commands in terminal:"
+#~ msgstr ""
+#~ "Cuando tenga la informaciÃn y los permisos correctos en los 3 archivos, "
+#~ "ejecute estos comandos en una terminal:"
+
+#~ msgid "./autogen.sh"
+#~ msgstr "./autogen.sh"
+
+#~ msgid "./configure --prefix=/usr/local"
+#~ msgstr "./configure --prefix=/usr/local"
+
+#~ msgid "sudo make install"
+#~ msgstr "sudo make install"
+
+#~ msgid ""
+#~ "In this tutorial we'll construct a small application, Hello World, using "
+#~ "JavaScript and GTK+. To write and run all the code examples yourself, you "
+#~ "need an editor to write code in, Terminal, and GNOME 3 or higher "
+#~ "installed into your computer. In this tutorial we'll go through the "
+#~ "following parts:"
+#~ msgstr ""
+#~ "En este tutorial se construirà una pequeÃa aplicaciÃn, ÂHola mundoÂ, "
+#~ "usando JavaScript y GTK+. Para escribirla y poder ejecutar el cÃdigo, "
+#~ "necesitarà un editor en el que escribir el cÃdigo, una terminal y GNOME 3 "
+#~ "o superior instalado en su equipo. Este tutorial consta de las siguientes "
+#~ "partes."
+
+#~ msgid "After taking this tutorial, you should see this on your screen:"
+#~ msgstr "DespuÃs de seguir este tutorial, deberÃa ver esto en su pantalla:"
+
+#~ msgid ""
+#~ "This needs to be the first line of your script, because it tells GNOME "
+#~ "that we'll be using Gjs -- the JavaScript bindings for GNOME -- in order "
+#~ "to run it."
+#~ msgstr ""
+#~ "Esto se debe hacer en la primera lÃnea del script, ya que indica a GNOME "
+#~ "que se està usando Gjs (las vinculaciones de JavaScript para GNOME) para "
+#~ "que puede ejecutarlo."
+
+#~ msgid ""
+#~ "The next thing we need to do for our application is connect the close "
+#~ "button that's automatically generated along with the window to the close "
+#~ "functionality. That happens with the method connect(). When the close "
+#~ "button is pressed it gives out the signal \"destroy\", so in this part "
+#~ "we're connecting the \"destroy\" signal to function(){Gtk.main_quit()}, "
+#~ "which does the actual closing."
+#~ msgstr ""
+#~ "Lo siguiente que se debe hacer en la aplicaciÃn es conectar el botÃn "
+#~ "ÂCerrar que se genera automÃticamente junto con la ventana con la "
+#~ "funcionalidad de cerrar. Esto se hace con el mÃtodo Âconnect()Â. Cuando "
+#~ "se pulsa el botÃn, emite la seÃal ÂdestroyÂ, por lo que en esta parte se "
+#~ "conectarà la seÃal Âdestroy a Âfunction(){Gtk.main_quit()}Â, que es la "
+#~ "que cierra la ventana."
+
+#~ msgid "Here's what the completed program looks like."
+#~ msgstr "El programa completo se parece a esto."
+
+#~ msgid "This makes your script executable. After that, run"
+#~ msgstr "Esto hace que su script sea ejecutable. DespuÃs de esto, ejecute"
+
+#~ msgid "GJS_PATH=`pwd` gjs helloWorld.js"
+#~ msgstr "GJS_PATH=`pwd` gjs helloWorld.js"
+
+#~ msgid "Grid Widget"
+#~ msgstr "Widget de rejilla"
+
+#~ msgid "A desktop file for the hello world application"
+#~ msgstr "Un archivo Â.desktop para la aplicaciÃn ÂHola mundoÂ"
+
+#~ msgid "helloWorld.desktop"
+#~ msgstr "helloWorld.desktop"
+
+#~ msgid "Line 4: Name of the application"
+#~ msgstr "LÃnea 4: nombre de la aplicaciÃn"
+
+#~ msgid "Line 5: Specifies a short description of the item"
+#~ msgstr "LÃnea 5: especifica una breve descripciÃn del elemento"
+
+#~ msgid ""
+#~ "If you want your <code>.desktop</code> file to exist as a part of the "
+#~ "system, copy your <code>.desktop</code> file to this directory: ~/.local/"
+#~ "share/applications"
+#~ msgstr ""
+#~ "Si quiere que su archivo <code>.desktop</code> forme parte del sistema, "
+#~ "copie su archivo <code>.desktop</code> a la carpeta ~/.local/share/"
+#~ "applications."
+
+#~ msgid ""
+#~ "After you have finished writing the .desktop file you must change it's "
+#~ "permissions to allow executing file as program. To do that, go to the "
+#~ "folder containing the .desktop file. Right click the .desktop file, "
+#~ "choose properties and tab permissions and place a check on the box after "
+#~ "Execute:"
+#~ msgstr ""
+#~ "Cuando termine de escribir el archivo .desktop, debe cambiarle los "
+#~ "permisos para permitir ejecutar el archivo como un programa. Para "
+#~ "hacerlo, vaya a la carpeta que contiene el archivo .desktop, pulse con el "
+#~ "botÃn derecho sobre el archivo, elija ÂPropiedadesÂ, pestaÃa ÂPermisos y "
+#~ "marque la casilla ÂEjecutarÂ:"
+
+#~ msgid "Button Widget"
+#~ msgstr "Widget de botÃn"
+
+#~ msgid "The Python programming language."
+#~ msgstr "El lenguaje de programaciÃn Python:"
+
 #~ msgid ""
 #~ "A generic example is: <code>handler_id = widget.connect(\"event\", "
 #~ "callback, data)</code>."
@@ -14576,20 +18129,20 @@ msgstr ""
 #~ "In this sample we use the following widgets: <link href=\"http://www.";
 #~ "roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.Window.html\">Gtk.Window</link>, "
 #~ "<link href=\"http://www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.Grid.html";
-#~ "\">Gtk.Grid</link>, <link href=\"http://www.roojs.com/seed/gir-1.2-gtk-";
-#~ "3.0/gjs/Gtk.Toolbar.html\">Gtk.Toolbar</link>, <link href=\"http://www.";
-#~ "roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.ToolButton.html\">Gtk.ToolButton</"
-#~ "link>, <link href=\"http://www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.";
-#~ "Dialog.html\">Gtk.Dialog</link>."
+#~ "\">Gtk.Grid</link>, <link href=\"http://www.roojs.com/seed/gir-1.2-";
+#~ "gtk-3.0/gjs/Gtk.Toolbar.html\">Gtk.Toolbar</link>, <link href=\"http://";
+#~ "www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.ToolButton.html\">Gtk."
+#~ "ToolButton</link>, <link href=\"http://www.roojs.com/seed/gir-1.2-gtk-3.0/";
+#~ "gjs/Gtk.Dialog.html\">Gtk.Dialog</link>."
 #~ msgstr ""
 #~ "En este ejemplo se usan los siguientes widgets: <link href=\"http://www.";
 #~ "roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.Window.html\">Gtk.Window</link>, "
 #~ "<link href=\"http://www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.Grid.html";
-#~ "\">Gtk.Grid</link>, <link href=\"http://www.roojs.com/seed/gir-1.2-gtk-";
-#~ "3.0/gjs/Gtk.Toolbar.html\">Gtk.Toolbar</link>, <link href=\"http://www.";
-#~ "roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.ToolButton.html\">Gtk.ToolButton</"
-#~ "link>, <link href=\"http://www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.";
-#~ "Dialog.html\">Gtk.Dialog</link>."
+#~ "\">Gtk.Grid</link>, <link href=\"http://www.roojs.com/seed/gir-1.2-";
+#~ "gtk-3.0/gjs/Gtk.Toolbar.html\">Gtk.Toolbar</link>, <link href=\"http://";
+#~ "www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.ToolButton.html\">Gtk."
+#~ "ToolButton</link>, <link href=\"http://www.roojs.com/seed/gir-1.2-gtk-3.0/";
+#~ "gjs/Gtk.Dialog.html\">Gtk.Dialog</link>."
 
 #~ msgid ""
 #~ "@@image: 'media/grid_with_entry.png'; md5=331ecfe7088f492f099d253d19984d73"
@@ -14613,19 +18166,19 @@ msgstr ""
 #~ "In this sample we use the following widgets: <link href=\"http://www.";
 #~ "roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.Window.html\">Gtk.Window</link>, "
 #~ "<link href=\"http://www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.Grid.html";
-#~ "\">Gtk.Grid</link>, <link href=\"http://www.roojs.com/seed/gir-1.2-gtk-";
-#~ "3.0/gjs/Gtk.Entry.html\">Gtk.Entry</link>, <link href=\"http://www.roojs.";
-#~ "com/seed/gir-1.2-gtk-3.0/gjs/Gtk.Label.html\">Gtk.Label</link>, <link "
-#~ "href=\"http://www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.Button.html";
+#~ "\">Gtk.Grid</link>, <link href=\"http://www.roojs.com/seed/gir-1.2-";
+#~ "gtk-3.0/gjs/Gtk.Entry.html\">Gtk.Entry</link>, <link href=\"http://www.";
+#~ "roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.Label.html\">Gtk.Label</link>, "
+#~ "<link href=\"http://www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.Button.html";
 #~ "\">Gtk.Button</link>."
 #~ msgstr ""
 #~ "En este ejemplo de usan los siguientes widgets: <link href=\"http://www.";
 #~ "roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.Window.html\">Gtk.Window</link>, "
 #~ "<link href=\"http://www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.Grid.html";
-#~ "\">Gtk.Grid</link>, <link href=\"http://www.roojs.com/seed/gir-1.2-gtk-";
-#~ "3.0/gjs/Gtk.Entry.html\">Gtk.Entry</link>, <link href=\"http://www.roojs.";
-#~ "com/seed/gir-1.2-gtk-3.0/gjs/Gtk.Label.html\">Gtk.Label</link>, <link "
-#~ "href=\"http://www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.Button.html";
+#~ "\">Gtk.Grid</link>, <link href=\"http://www.roojs.com/seed/gir-1.2-";
+#~ "gtk-3.0/gjs/Gtk.Entry.html\">Gtk.Entry</link>, <link href=\"http://www.";
+#~ "roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.Label.html\">Gtk.Label</link>, "
+#~ "<link href=\"http://www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.Button.html";
 #~ "\">Gtk.Button</link>."
 
 #~ msgid ""
@@ -14846,21 +18399,21 @@ msgstr ""
 #~ "argumento del mÃtodo Âadd_button()Â es un valor para identificar el botÃn "
 #~ "pulsado. Aquà tambiÃn se usan valores predefinidos, proporcionados por "
 #~ "GTKmm. Las dos lÃneas siguientes restringen el diÃlogo ÂAbrir para que "
-#~ "sÃlo muestre los archivos que se pueden abrir con ÂGtk::imageÂ. Primero se "
-#~ "crea un filtro de objetos; luego se aÃaden al filtro todos los tipos de "
-#~ "archivos soportados por Gdk::Pixbuf (que incluye la mayorÃa de formatos "
-#~ "de imagen como PNG y JPG). Por Ãltimo, se asocia este filtro con el "
-#~ "diÃlogo ÂAbrirÂ. Glib::RefPtr es un puntero inteligente usado aquà para "
-#~ "asegurarse de que el filtro se destruye cuando ya no se hace referencia a "
-#~ "Ãl. Âdialog.run muestra el diÃlogo ÂAbrirÂ. El diÃlogo esperarà a que el "
-#~ "usuario elija una imagen; cuando lo haga, Âdialog.run devolverà el valor "
-#~ "Gtk::RESPONSE_ACCEPT (devolverÃa Gtk::RESPONSE_CANCEL si el usuario "
-#~ "pulsara ÂCancelarÂ). La sentencia Âswitch comprueba esto. Se oculta el "
-#~ "diÃlogo ÂAbrir ya que no se necesita mÃs. El diÃlogo se ocultarÃa de "
-#~ "todos modos, ya que sÃlo es una variable local, y se destruye (y, por lo "
-#~ "tanto, se oculta) cuando termina su objetivo. Asumiendo que el usuario "
-#~ "pulsà ÂAbrirÂ, la siguiente lÃnea carga el archivo en la Gtk::Image y se "
-#~ "muestra."
+#~ "sÃlo muestre los archivos que se pueden abrir con ÂGtk::imageÂ. Primero "
+#~ "se crea un filtro de objetos; luego se aÃaden al filtro todos los tipos "
+#~ "de archivos soportados por Gdk::Pixbuf (que incluye la mayorÃa de "
+#~ "formatos de imagen como PNG y JPG). Por Ãltimo, se asocia este filtro con "
+#~ "el diÃlogo ÂAbrirÂ. Glib::RefPtr es un puntero inteligente usado aquà "
+#~ "para asegurarse de que el filtro se destruye cuando ya no se hace "
+#~ "referencia a Ãl. Âdialog.run muestra el diÃlogo ÂAbrirÂ. El diÃlogo "
+#~ "esperarà a que el usuario elija una imagen; cuando lo haga, Âdialog.run "
+#~ "devolverà el valor Gtk::RESPONSE_ACCEPT (devolverÃa Gtk::RESPONSE_CANCEL "
+#~ "si el usuario pulsara ÂCancelarÂ). La sentencia Âswitch comprueba esto. "
+#~ "Se oculta el diÃlogo ÂAbrir ya que no se necesita mÃs. El diÃlogo se "
+#~ "ocultarÃa de todos modos, ya que sÃlo es una variable local, y se "
+#~ "destruye (y, por lo tanto, se oculta) cuando termina su objetivo. "
+#~ "Asumiendo que el usuario pulsà ÂAbrirÂ, la siguiente lÃnea carga el "
+#~ "archivo en la Gtk::Image y se muestra."
 
 #~ msgid ""
 #~ "In order to have a working program we need to import a GObject "
@@ -14871,10 +18424,6 @@ msgstr ""
 #~ "introspecciÃn de GObject. Para que funcione la IU se necesita GTK+, que "
 #~ "se importa al inicio, por lo que està en uso en todos los sitios."
 
-#~ msgid "This a basic Hello World application done with JavaScript and GTK+."
-#~ msgstr ""
-#~ "Esto es una aplicaciÃn ÂHola mundo bÃsica hecha con JavaScript y GTK+."
-
 #~| msgid ""
 #~| "This is a very basic C++ code setting up gtkmm. More details are given "
 #~| "below; skip this list if you understand the basics:"



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