[gnome-devel-docs] Updated Spanish translation



commit 3301d8db99458bda84f7d3d85af67f2befa91808
Author: Daniel Mustieles <daniel mustieles gmail com>
Date:   Fri Jul 20 12:06:31 2012 +0200

    Updated Spanish translation

 platform-demos/es/es.po | 3466 ++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 2680 insertions(+), 786 deletions(-)
---
diff --git a/platform-demos/es/es.po b/platform-demos/es/es.po
index 74b299f..07cbead 100644
--- a/platform-demos/es/es.po
+++ b/platform-demos/es/es.po
@@ -8,20 +8,21 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: gnome-devel-docs.platform-demos.master\n"
-"POT-Creation-Date: 2012-06-25 12:51+0000\n"
-"PO-Revision-Date: 2012-06-26 21:06+0200\n"
+"POT-Creation-Date: 2012-07-20 00:40+0000\n"
+"PO-Revision-Date: 2012-07-20 11:58+0200\n"
 "Last-Translator: Daniel Mustieles <daniel mustieles gmail com>\n"
 "Language-Team: EspaÃol <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"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
 "X-Generator: Gtranslator 2.91.4\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:23(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)
@@ -39,15 +40,17 @@ msgstr "@@image: 'media/window.png'; md5=eb0cde3530978619c25bddfaeb453345"
 #: 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/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/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:17(name) C/gmenu.py.page:11(name)
-#: C/gmenu.js.page:11(name) C/gmenu.c.page:11(name) C/entry.vala.page:11(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)
@@ -67,23 +70,24 @@ msgstr "Tiffany Antopolski"
 #: 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/linkbutton.vala.page:12(email)
-#: C/label.vala.page:12(email) C/js.page:12(email) C/index.page:23(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/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:18(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/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/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)
 msgid "tiffany antopolski gmail com"
 msgstr "tiffany antopolski gmail com"
 
@@ -91,14 +95,18 @@ msgstr "tiffany antopolski gmail com"
 #: 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/weatherAutotools.js.page:12(years) C/weatherAppMain.js.page:12(years)
-#: C/weatherApp.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)
@@ -107,16 +115,19 @@ msgstr "tiffany antopolski gmail com"
 #: 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/signals-callbacks.py.page:20(years) C/separator.py.page:14(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/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/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/linkbutton.vala.page:13(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)
@@ -130,14 +141,16 @@ msgstr "tiffany antopolski gmail com"
 #: 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:13(years) C/gmenu.py.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/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/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)
@@ -170,59 +183,69 @@ 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:34(p)
+#: 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: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:40(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/switch.vala.page:30(p) C/switch.py.page:43(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/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/radiobutton.vala.page:27(p)
-#: C/radiobutton.py.page:46(p) C/radiobutton.c.page:28(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/linkbutton.vala.page:24(p)
-#: C/linkbutton.py.page:41(p) C/linkbutton.js.page:24(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:35(p) C/gmenu.py.page:26(p)
-#: C/gmenu.js.page:24(p) C/gmenu.c.page:26(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:25(p)
-#: C/combobox.vala.page:24(p) C/combobox.py.page:24(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:41(p)
-#: C/checkbutton.c.page:24(p) C/button.py.page:47(p) C/button.js.page:25(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)
 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/togglebutton.js.page:153(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/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:39(link) C/entry.js.page:28(link)
-#: C/dialog.js.page:28(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/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)
 msgid "Gtk.Application"
 msgstr "Gtk.Application"
 
@@ -258,39 +281,46 @@ msgstr "border_width"
 msgid "window_position"
 msgstr "window_position"
 
-#: C/window.py.page:16(name) C/treeview_simple_liststore.py.page:13(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/messagedialog.py.page:12(name)
+#: 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/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/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)
 msgid "Marta Maria Casetti"
 msgstr "Marta Maria Casetti"
 
-#: C/window.py.page:17(email) C/treeview_simple_liststore.py.page:14(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/messagedialog.py.page:13(email)
+#: 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/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/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)
 msgid "mmcasetti gmail com"
 msgstr "mmcasetti gmail com"
 
@@ -306,17 +336,22 @@ msgstr ""
 "Use una <link href=\"GtkApplicationWindow.py\">ventana de aplicaciÃn</link> "
 "si necesita soporte para GMenu."
 
-#: C/window.py.page:41(title) C/togglebutton.py.page:27(title)
-#: C/textview.py.page:41(title) C/switch.py.page:31(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:28(title)
-#: C/progressbar.py.page:36(title) C/messagedialog.py.page:27(title)
-#: C/linkbutton.py.page:26(title) C/label.py.page:32(title)
-#: C/image.py.page:30(title) C/GtkApplicationWindow.py.page:31(title)
-#: C/entry.py.page:31(title) C/dialog.py.page:27(title)
-#: C/checkbutton.py.page:25(title) C/button.py.page:26(title)
-#: C/aboutdialog.py.page:27(title)
+#: 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)
 msgid "Code used to generate this example"
 msgstr "CÃdigo usado para generar este ejemplo"
 
@@ -346,67 +381,80 @@ msgid ""
 "Gtk.WindowPosition.CENTER_ALWAYS, Gtk.WindowPosition.CENTER_ON_PARENT</code>."
 msgstr ""
 
-#: C/window.py.page:57(title) C/togglebutton.py.page:39(title)
-#: C/textview.py.page:91(title) C/switch.py.page:42(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:45(title)
-#: C/progressbar.py.page:51(title) C/messagedialog.py.page:52(title)
-#: C/linkbutton.py.page:40(title) C/label.py.page:84(title)
-#: C/image.py.page:96(title) C/GtkApplicationWindow.py.page:46(title)
-#: C/entry.py.page:57(title) C/dialog.py.page:43(title)
-#: C/checkbutton.py.page:40(title) C/button.py.page:46(title)
-#: C/aboutdialog.py.page:39(title)
+#: 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)
 msgid "API References"
 msgstr "Referencias de la API"
 
-#: C/window.py.page:61(link) C/window.c.page:38(link)
-#: C/togglebutton.c.page:34(link) C/switch.c.page:31(link)
-#: C/statusbar.c.page:34(link) C/spinner.c.page:31(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/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:43(link) C/button.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:39(link)
-#: C/togglebutton.c.page:35(link) C/switch.c.page:32(link)
-#: C/statusbar.c.page:35(link) C/spinner.c.page:32(link)
-#: C/separator.py.page:31(link) C/radiobutton.py.page:48(link)
-#: C/radiobutton.c.page:33(link) C/progressbar.c.page:32(link)
-#: C/messagedialog.py.page:59(link) C/linkbutton.py.page:43(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:50(link) C/button.c.page:33(link)
+#: 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)
 msgid "GtkWindow"
 msgstr "GtkWindow"
 
-#: C/window.js.page:11(name) C/togglebutton.js.page:11(name)
+#: 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/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/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)
 msgid "Taryn Fox"
 msgstr "Taryn Fox"
 
-#: C/window.js.page:12(email) C/togglebutton.js.page:12(email)
+#: 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/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/checkbutton.js.page:12(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)
 msgid "jewelfox fursona net"
 msgstr "jewelfox fursona net"
@@ -415,7 +463,7 @@ msgstr "jewelfox fursona net"
 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.c.page:24(p)
+#: C/window.js.page:24(p)
 msgid "A minimal GtkApplication"
 msgstr "Una GtkApplication mÃnima"
 
@@ -435,10 +483,14 @@ msgstr "En este ejemplo se usa lo siguiente:"
 msgid "Gtk.Window"
 msgstr "Gtk.Window"
 
-#: C/window.c.page:27(p)
+#: C/window.c.page:22(p)
+#, fuzzy
+#| msgid ""
+#| "Use <link xref=\"GtkApplicationWindow.c\">Application Window</link> if "
+#| "you need GMenu support."
 msgid ""
-"Use <link xref=\"GtkApplicationWindow.c\">Application Window</link> if you "
-"need GMenu support."
+"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."
@@ -744,12 +796,14 @@ 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/togglebutton.js.page:26(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/checkbutton.js.page:26(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)
 msgid "Libraries to import"
 msgstr "Bibliotecas que importar"
 
@@ -848,8 +902,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."
@@ -883,8 +937,8 @@ msgstr "EjecÃtela hasta que tenga listos todos los archivos de autotools:"
 #: 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:110(output)
-#: C/helloWorld.js.page:111(output) C/guitar-tuner.js.page:229(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)
 msgid "$"
 msgstr "$"
 
@@ -1019,9 +1073,9 @@ msgstr ""
 
 #: 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/index.page:19(years)
-#: C/entry.py.page:19(years) C/documentation.page:12(years)
-#: C/bug-filing.page:11(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)
 msgid "2011"
 msgstr "2011"
 
@@ -1094,6 +1148,90 @@ 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"
+msgid ""
+"@@image: 'media/treeview_treestore.png'; md5=5ca87bc4acd55c527b3fb5fd46779d85"
+msgstr ""
+"@@image: 'media/treeview_treestore.png'; md5=5ca87bc4acd55c527b3fb5fd46779d85"
+
+#: C/treeview_treestore.py.page:16(desc)
+msgid "A TreeView displaying a TreeStore (simpler example)"
+msgstr ""
+
+#: 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:21(p)
+msgid "This TreeView displays a TreeStore."
+msgstr ""
+
+#: 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"
+msgid "Useful methods for a TreeView widget"
+msgstr "MÃtodos Ãtiles para un widget ÂTextViewÂ"
+
+#: 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)
+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"
+
+#: 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/treeview_treestore.py.page:42(link)
+#: C/treeview_cellrenderertoggle.py.page:42(link)
+#| msgid "GtkTreeView"
+msgid "GtkTreeStore"
+msgstr "GtkTreeStore"
+
+#: 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"
+
+#: C/treeview_treestore.py.page:44(link)
+#: C/treeview_simple_liststore.py.page:46(link)
+#: C/treeview_cellrenderertoggle.py.page:45(link)
+#: C/treeview_advanced_liststore.py.page:48(link)
+#: C/model-view-controller.py.page:186(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)
 msgid ""
@@ -1104,7 +1242,6 @@ msgstr ""
 "md5=2dc501a2b95b094da985d37b66aee90c"
 
 #: C/treeview_simple_liststore.vala.page:18(desc)
-#: C/treeview_simple_liststore.py.page:18(desc)
 msgid "A widget can display any TreeModel implementation (lists and trees)"
 msgstr ""
 "Un widget puede mostrar cualquier implementaciÃn de TreeModel (listas y "
@@ -1112,11 +1249,11 @@ msgstr ""
 
 #: C/treeview_simple_liststore.vala.page:21(title)
 #: C/treeview_simple_liststore.py.page:21(title)
+#: C/treeview_advanced_liststore.py.page:22(title)
 msgid "Simple Treeview with ListStore"
 msgstr "Treeview sencillo con ListStore"
 
 #: C/treeview_simple_liststore.vala.page:23(p)
-#: C/treeview_simple_liststore.py.page:23(p)
 msgid ""
 "This TreeView displays a simple ListStore with the Selection \"changed\" "
 "signal connected."
@@ -1125,42 +1262,505 @@ msgstr ""
 "Âchanged conectada."
 
 #: C/treeview_simple_liststore.vala.page:30(link)
+#: C/treeview_simple_liststore.js.page:281(link)
 msgid "Gtk.TreeView"
 msgstr "Gtk.TreeView"
 
 #: C/treeview_simple_liststore.vala.page:31(link)
-#: C/combobox.vala.page:28(link)
+#: C/treeview_simple_liststore.js.page:278(link) C/combobox.vala.page:28(link)
 msgid "Gtk.ListStore"
 msgstr "Gtk.ListStore"
 
 #: C/treeview_simple_liststore.vala.page:32(link)
+#: C/treeview_simple_liststore.js.page:280(link)
 msgid "Gtk.TreeSelection"
 msgstr "Gtk.TreeSelection"
 
-#: C/treeview_simple_liststore.py.page:30(link)
-msgid "GtkTreeView"
-msgstr "GtkTreeView"
+#: C/treeview_simple_liststore.py.page:18(desc)
+msgid "A TreeView displaying a ListStore (simpler example)"
+msgstr ""
+
+#: 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."
+msgid ""
+"This TreeView displays a simple ListStore with the selection \"changed\" "
+"signal connected."
+msgstr ""
+"Este TreeView muestra un ListStore sencillo con la seÃal de selecciÃn "
+"Âchanged conectada."
 
-#: C/treeview_simple_liststore.py.page:31(link)
-#: C/combobox_multicolumn.py.page:30(link) C/combobox.py.page:29(link)
+#: 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)
 msgid "GtkListStore"
 msgstr "GtkListStore"
 
-#: C/treeview_simple_liststore.py.page:32(link)
-msgid "GtkTreeViewColumn"
-msgstr "GtkTreeViewColumn"
-
-#: C/treeview_simple_liststore.py.page:33(link)
-#: C/combobox_multicolumn.py.page:34(link) C/combobox.py.page:32(link)
+#: 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)
 msgid "pygobject - Python bindings for GObject Introspection"
 msgstr "pygobject: vinculaciones de Python para la introspecciÃn de GObject"
 
-#: C/treeview_simple_liststore.py.page:34(link)
+#: C/treeview_simple_liststore.py.page:48(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"
+msgid ""
+"@@image: 'media/treeview_simple_liststore_penguins.png'; "
+"md5=d750a0b9fddf8e508753cc639839871d"
+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"
+msgid "A widget that shows a separate list of items"
+msgstr "Un widget usado para elegir de una lista de elementos"
+
+#: C/treeview_simple_liststore.js.page:22(title)
+#| msgid "Simple Treeview with ListStore"
+msgid "TreeView with ListStore"
+msgstr "TreeView con ListStore"
+
+#: C/treeview_simple_liststore.js.page:24(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."
+msgstr ""
+
+#: C/treeview_simple_liststore.js.page:25(p)
+msgid ""
+"The TreeView is not just a single widget, but contains a number of smaller "
+"ones:"
+msgstr ""
+
+#: C/treeview_simple_liststore.js.page:27(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)
+msgid ""
+"CellRenderer widgets are \"packed\" into each TreeViewColumn, and contain "
+"the instructions for how to display each individual \"cell\", or item from "
+"the ListStore. There are multiple different types, including the "
+"CellRendererText used here and the CellRendererPixbuf, which displays a "
+"picture (\"pixel buffer\")."
+msgstr ""
+
+#: C/treeview_simple_liststore.js.page:30(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 "
+"the ListStore. Whenever you click on a name in the phonebook, for instance, "
+"we create a TreeIter pointing to the row that's selected, and then use that "
+"to tell the ListStore which entry we want the Label to show more information "
+"about."
+msgstr ""
+
+#: C/treeview_simple_liststore.js.page:31(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 "
+"to learn how it works and experiment with it, or try something easier first "
+"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)
+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)
+msgid "Creating the application window"
+msgstr "Crear la ventana de la aplicaciÃn"
+
+#: C/treeview_simple_liststore.js.page:74(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/";
+"Gtk.Application.html\">Gtk.Application</link> for our widgets and window to "
+"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)
+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="
+"\"GtkApplicationWindow.js\">Gtk.ApplicationWindow</link> to put all our "
+"widgets into."
+msgstr ""
+
+#: C/treeview_simple_liststore.js.page:92(title)
+#, fuzzy
+#| msgid "Creating the statusbar"
+msgid "Creating the ListStore"
+msgstr "Crear la barra de estado"
+
+#: C/treeview_simple_liststore.js.page:102(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 "
+"could have put the types all on one line, but here we are breaking them up "
+"to make it easier to read.)"
+msgstr ""
+
+#: C/treeview_simple_liststore.js.page:103(p)
+msgid "The GObject data types you can use include:"
+msgstr ""
+
+#: C/treeview_simple_liststore.js.page:105(p)
+msgid "<file>GObject.TYPE_BOOLEAN</file> -- True or false"
+msgstr ""
+
+#: C/treeview_simple_liststore.js.page:106(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)
+msgid "<file>GObject.TYPE_STRING</file> -- A string of letters and numbers"
+msgstr ""
+
+#: C/treeview_simple_liststore.js.page:108(p)
+msgid "<file>gtk.gdk.Pixbuf</file> -- A picture"
+msgstr ""
+
+#: C/treeview_simple_liststore.js.page:110(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)
+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)
+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)
+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 "
+"Label beneath it, for whichever row that you click on. That's because the "
+"TreeView and ListStore are two separate things, and a TreeView can show all "
+"or part of a ListStore, and display what's in it in different ways. You can "
+"even have multiple widgets show things from the same ListStore, like the "
+"Label in our example or even a second TreeView."
+msgstr ""
+
+#: C/treeview_simple_liststore.js.page:140(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 "
+"that points to the correct row, an array which says which columns we want to "
+"set, and an array which contains the data we want to put into those columns."
+msgstr ""
+
+#: C/treeview_simple_liststore.js.page:141(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 "
+"cursor. So by passing <file>this._listStore.append()</file> to the ListStore "
+"as a property, we're creating a new row and telling the <file>set</file> "
+"method which row to set data for at the same time."
+msgstr ""
+
+#: C/treeview_simple_liststore.js.page:146(title)
+#, fuzzy
+#| msgid "Creating the switches"
+msgid "Creating the TreeView"
+msgstr "Crear los interruptores"
+
+#: C/treeview_simple_liststore.js.page:153(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)
+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)
+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 "
+"used for all the entries in that column. Our normal CellRendererText just "
+"creates plain text, while our bold one uses heavier-weight text. We put it "
+"into the first name column, and tell the other two to use copies of the "
+"normal one. The \"true\" used as the second parameter for the "
+"<file>pack_start</file> method tells it to expand the cells when possible, "
+"instead of keeping them compact."
+msgstr ""
+
+#: C/treeview_simple_liststore.js.page:177(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 "
+"Pango constants, make sure to put the line <file>const Pango = imports.gi."
+"Pango;</file> at the beginning of your code like we did."
+msgstr ""
+
+#: C/treeview_simple_liststore.js.page:189(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 "
+"the model our TreeView is set to use; in this case, the ListStore with the "
+"phonebook."
+msgstr ""
+
+#: C/treeview_simple_liststore.js.page:191(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)
+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)
+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)
+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)
+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)
+#, 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)
+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 "
+"cursor that points at a particular row, except that the one it points to is "
+"the one that's visibly highlighted as selected."
+msgstr ""
+
+#: C/treeview_simple_liststore.js.page:212(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 "
+"its <file>changed</file> signal to the _onSelectionChanged function we "
+"wrote. This function changes the text displayed by the Label we just made."
+msgstr ""
+
+#: C/treeview_simple_liststore.js.page:229(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)
+#, 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)
+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 "
+"TreeSelection. It has to create a couple of other object references, but "
+"<file>iter</file> is the only one we need."
+msgstr ""
+
+#: C/treeview_simple_liststore.js.page:253(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 "
+"to fill in the data we want to put in it. Its parameters are a TreeIter "
+"pointing to the row we want to get data from, and the column."
+msgstr ""
+
+#: C/treeview_simple_liststore.js.page:254(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 "
+"strings that are too large to fit in the TreeView, and that we don't need to "
+"see at a glance."
+msgstr ""
+
+#: C/treeview_simple_liststore.js.page:261(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)
+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)
+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)
+msgid "Gtk.ApplicationWindow"
+msgstr "Gtk.ApplicationWindow"
+
+#: C/treeview_simple_liststore.js.page:277(link) C/combobox.vala.page:30(link)
+msgid "Gtk.CellRendererText"
+msgstr "Gtk.CellRendererText"
+
+#: C/treeview_simple_liststore.js.page:279(link)
+#| msgid "Gtk.TreeView"
+msgid "Gtk.TreeIter"
+msgstr "Gtk.TreeIter"
+
+#: C/treeview_simple_liststore.js.page:282(link)
+#| msgid "GtkTreeViewColumn"
+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"
+msgid ""
+"@@image: 'media/treeview_cellrenderertoggle.png'; "
+"md5=ade9b9437f8f83150acf37610dab834d"
+msgstr ""
+"@@image: 'media/treeview_cellrenderertoggle.png'; "
+"md5=ade9b9437f8f83150acf37610dab834d"
+
+#: C/treeview_cellrenderertoggle.py.page:16(desc)
+msgid ""
+"A TreeView displaying a TreeStore (more complex example, with "
+"CellRendererToggle)"
+msgstr ""
+
+#: C/treeview_cellrenderertoggle.py.page:21(p)
+#, fuzzy
+#| msgid ""
+#| "This TreeView displays a simple ListStore with the Selection \"changed\" "
+#| "signal connected."
+msgid ""
+"This TreeView displays a TreeStore with two columns, one of which is "
+"rendered as a toggle."
+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"
+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"
+msgid ""
+"@@image: 'media/treeview_advanced_liststore.png'; "
+"md5=102b512197fb9aa4ed9a16462f6af911"
+msgstr ""
+"@@image: 'media/treeview_advanced_liststore.png'; "
+"md5=102b512197fb9aa4ed9a16462f6af911"
+
+#: C/treeview_advanced_liststore.py.page:19(desc)
+msgid "A TreeView displaying a ListStore (more complex example)"
+msgstr ""
+
+#: C/treeview_advanced_liststore.py.page:37(p)
+msgid ""
+"For buttons and callbacks functions, see <link xref=\"signals-callbacks.py"
+"\">here</link>"
+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)
 msgid "@@image: 'media/toolbar.png'; md5=f0350855eedf6343952b72d6d906f738"
@@ -1528,7 +2128,7 @@ msgstr "GtkToolButton"
 msgid "GtkToolItem"
 msgstr "GtkToolItem"
 
-#: C/toolbar.py.page:34(link) C/combobox_multicolumn.py.page:33(link)
+#: C/toolbar.py.page:34(link) C/combobox_multicolumn.py.page:46(link)
 msgid "Stock Items"
 msgstr "Elementos del almacÃn"
 
@@ -1536,7 +2136,7 @@ msgstr "Elementos del almacÃn"
 msgid "GtkActionable"
 msgstr "GtkActionable"
 
-#: C/toolbar.py.page:36(link) C/togglebutton.py.page:43(link)
+#: C/toolbar.py.page:36(link) C/togglebutton.py.page:45(link)
 msgid "GtkWidget"
 msgstr "GtkWidget"
 
@@ -1587,24 +2187,23 @@ msgstr "Cuando este ToggleButton està activado, el indicador de progreso gira."
 msgid "Gtk.ToggleButton"
 msgstr "Gtk.ToggleButton"
 
-#: C/togglebutton.py.page:34(title)
-#| msgid "Useful methods for a Dialog widget"
+#: C/togglebutton.py.page:36(title)
 msgid "Useful methods for a ToggleButton widget"
 msgstr "MeÌtodos uÌtiles para un widget ÂToggleButtonÂ"
 
-#: C/togglebutton.py.page:35(p) C/radiobutton.py.page:34(p)
-#: C/messagedialog.py.page:35(p) C/dialog.py.page:35(p) C/button.py.page:31(p)
-#: C/aboutdialog.py.page:35(p)
+#: 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)
 msgid ""
 "For an explanation of signals and callback functions, see <link xref="
 "\"signals-callbacks.py\">this page</link>."
 msgstr ""
 
-#: C/togglebutton.py.page:42(link) C/checkbutton.py.page:45(link)
+#: C/togglebutton.py.page:44(link) C/checkbutton.py.page:47(link)
 msgid "GtkToggleButton"
 msgstr "GtkToggleButton"
 
-#: C/togglebutton.py.page:44(link) C/togglebutton.c.page:36(link)
+#: C/togglebutton.py.page:46(link) C/togglebutton.c.page:36(link)
 #: C/spinner.py.page:39(link) C/spinner.c.page:34(link)
 msgid "GtkSpinner"
 msgstr "GtkSpinner"
@@ -1630,23 +2229,6 @@ msgid ""
 "can connect to a function to do something."
 msgstr ""
 
-#: C/togglebutton.js.page:34(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/checkbutton.js.page:34(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/togglebutton.js.page:38(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/checkbutton.js.page:38(title)
-msgid "Creating the application window"
-msgstr "Crear la ventana de la aplicaciÃn"
-
 #: C/togglebutton.js.page:65(p) C/radiobutton.js.page:65(p)
 msgid ""
 "All the code for this sample goes in the RadioButtonExample class. The above "
@@ -1655,18 +2237,7 @@ msgid ""
 "go in."
 msgstr ""
 
-#: C/togglebutton.js.page:79(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)
-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="
-"\"GtkApplicationWindow.js\">Gtk.ApplicationWindow</link> to put all our "
-"widgets into."
-msgstr ""
-
 #: C/togglebutton.js.page:83(title)
-#| msgid "A bar of buttons and other widgets"
 msgid "Creating the ToggleButton and other widgets"
 msgstr "Crear el ÂToggleButton y otros widgets"
 
@@ -1715,39 +2286,10 @@ msgid ""
 "and set the application running."
 msgstr ""
 
-#: C/togglebutton.js.page:146(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/checkbutton.js.page:129(title)
-msgid "Complete code sample"
-msgstr "CÃdigo de ejemplo completo"
-
-#: C/togglebutton.js.page:151(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/checkbutton.js.page:134(title)
-msgid "In-depth documentation"
-msgstr "DocumentaciÃn en profundidad"
-
-#: C/togglebutton.js.page:154(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:40(link) C/entry.js.page:29(link)
-#: C/dialog.js.page:29(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.ApplicationWindow"
-msgstr "Gtk.ApplicationWindow"
-
-#: C/togglebutton.js.page:155(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: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)
 msgid "Gtk.Grid"
 msgstr "Gtk.Grid"
 
@@ -1756,21 +2298,24 @@ msgstr "Gtk.Grid"
 msgid "Gtk.Spinner"
 msgstr "Gtk.Spinner"
 
-#: C/togglebutton.c.page:15(name) C/switch.c.page:11(name)
-#: C/statusbar.c.page:15(name) C/spinner.c.page:12(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: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)
 msgid "Monica Kochofar"
 msgstr "Monica Kochofar"
 
-#: C/togglebutton.c.page:16(email) C/switch.c.page:12(email)
-#: C/statusbar.c.page:16(email) C/spinner.c.page:13(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: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)
 msgid "monicakochofar gmail com"
 msgstr "monicakochofar gmail com"
 
@@ -1782,38 +2327,40 @@ msgstr "Togglebutton"
 msgid "GtkTogglebutton"
 msgstr "GtkTogglebutton"
 
-#: C/togglebutton.c.page:38(link) C/switch.py.page:47(link)
+#: 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/separator.py.page:33(link) C/radiobutton.py.page:49(link)
-#: C/radiobutton.c.page:35(link) C/grid.c.page:34(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)
 msgid "@@image: 'media/textview.png'; md5=049e859ed1af2d7c93d8cb5cfd9f7792"
 msgstr "@@image: 'media/textview.png'; md5=049e859ed1af2d7c93d8cb5cfd9f7792"
 
-#: C/textview.vala.page:16(desc)
+#: C/textview.vala.page:16(desc) C/textview.c.page:16(desc)
 msgid "Widget which displays a GtkTextBuffer"
 msgstr "Un widget que muestra un GtkTextBuffer"
 
-#: C/textview.vala.page:19(title)
+#: C/textview.vala.page:19(title) C/textview.c.page:19(title)
 msgid "TextView widget"
 msgstr "Widget TextView"
 
-#: C/textview.vala.page:20(p) C/textview.py.page:30(p)
+#: C/textview.vala.page:20(p) C/textview.py.page:30(p) C/textview.c.page:20(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.vala.page:21(p) C/textview.c.page:21(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.vala.page:22(p) C/textview.c.page:22(p)
 msgid ""
 "If we write a long sentence, the text will wrap breaking lines between words."
 msgstr ""
@@ -1828,19 +2375,20 @@ msgstr ""
 "Si es escribe una palabra laaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarga, "
 "aparecerà una barra de desplazamiento horizontal."
 
-#: C/textview.vala.page:26(p)
+#: C/textview.vala.page:26(p) C/textview.c.page:26(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.vala.page:33(link) C/textview.js.page:255(link)
 msgid "Gtk.TextBuffer"
 msgstr "Gtk.TextBuffer"
 
-#: C/textview.vala.page:34(link)
+#: C/textview.vala.page:34(link) C/textview.js.page:256(link)
 msgid "Gtk.TextView"
 msgstr "Gtk.TextView"
 
-#: C/textview.vala.page:35(link) C/scrolledwindow.vala.page:29(link)
+#: C/textview.vala.page:35(link) C/textview.js.page:254(link)
+#: C/scrolledwindow.vala.page:29(link)
 msgid "Gtk.ScrolledWindow"
 msgstr "Gtk.ScrolledWindow"
 
@@ -1854,13 +2402,15 @@ 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/label.py.page:17(name) C/entry.py.page:17(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/label.py.page:18(email) C/entry.py.page:18(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"
 
@@ -1868,7 +2418,7 @@ msgstr "sebp k-d-w org"
 msgid "Widget that displays a GtkTextBuffer"
 msgstr "Un widget que muestra un GtkTextBuffer"
 
-#: C/textview.py.page:27(title)
+#: C/textview.py.page:27(title) C/textview.js.page:23(title)
 msgid "TextView"
 msgstr "TextView"
 
@@ -1897,7 +2447,6 @@ msgid "word, an horizontal scrollbar will appear."
 msgstr ", aparecerà una barra de desplazamiento horizontal."
 
 #: C/textview.py.page:47(title)
-#| msgid "Useful methods for a Window widget"
 msgid "Useful methods for a TextView widget"
 msgstr "MÃtodos Ãtiles para un widget ÂTextViewÂ"
 
@@ -1923,7 +2472,6 @@ msgid ""
 msgstr ""
 
 #: C/textview.py.page:50(p)
-#| msgid "Useful methods for a Window widget"
 msgid "Methods for a TextView widget:"
 msgstr "MÃtodos para un widget ÂTextViewÂ:"
 
@@ -1952,7 +2500,6 @@ msgid ""
 msgstr ""
 
 #: C/textview.py.page:56(p)
-#| msgid "Useful methods for a Window widget"
 msgid "Methods for a TextBuffer widget:"
 msgstr "MÃtodos para un widget ÂTextBufferÂ:"
 
@@ -2031,11 +2578,11 @@ msgid "The following are some of the common styles applied to text:"
 msgstr ""
 
 #: C/textview.py.page:71(p)
-msgid "Background colour (\"foreground\" property)"
+msgid "Background colour (\"background\" property)"
 msgstr ""
 
 #: C/textview.py.page:72(p)
-msgid "Foreground colour (\"background\" property)"
+msgid "Foreground colour (\"foreground\" property)"
 msgstr ""
 
 #: C/textview.py.page:73(p)
@@ -2073,7 +2620,6 @@ msgid ""
 msgstr ""
 
 #: C/textview.py.page:83(p)
-#| msgid "Useful methods for a Window widget"
 msgid "Methods for a TextIter widget"
 msgstr "MÃtodos para un widget ÂTextIterÂ"
 
@@ -2100,11 +2646,11 @@ msgid ""
 "<code>forward_search()</code>, but moving backwards."
 msgstr ""
 
-#: C/textview.py.page:94(link)
+#: C/textview.py.page:94(link) C/textview.c.page:37(link)
 msgid "GtkTextView"
 msgstr "GtkTextView"
 
-#: C/textview.py.page:95(link)
+#: C/textview.py.page:95(link) C/textview.c.page:36(link)
 msgid "GtkTextBuffer"
 msgstr "GtkTextBuffer"
 
@@ -2112,7 +2658,8 @@ msgstr "GtkTextBuffer"
 msgid "GtkTextTag"
 msgstr "GtkTextTag"
 
-#: C/textview.py.page:97(link) C/scrolledwindow.py.page:42(link)
+#: C/textview.py.page:97(link) C/textview.c.page:38(link)
+#: C/scrolledwindow.py.page:42(link)
 msgid "GtkScrolledWindow"
 msgstr "GtkScrolledWindow"
 
@@ -2123,6 +2670,206 @@ 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"
+msgid ""
+"@@image: 'media/textviewpenguinchat.png'; "
+"md5=0dd6f6aa44aaeab7901bd90162ed4c9a"
+msgstr ""
+"@@image: 'media/textviewpenguinchat.png'; "
+"md5=0dd6f6aa44aaeab7901bd90162ed4c9a"
+
+#: C/textview.js.page:20(desc)
+#, fuzzy
+#| msgid "Multiline text editor"
+msgid "A multiline text editor"
+msgstr "Editor de texto multilÃnea"
+
+#: C/textview.js.page:25(p)
+msgid ""
+"A TextView is really (or at least usually) a nested set of three objects."
+msgstr ""
+
+#: C/textview.js.page:27(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)
+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 "
+"and edit the text in the buffer. It automatically resizes itself depending "
+"on how much text there is."
+msgstr ""
+
+#: C/textview.js.page:29(p)
+msgid ""
+"Since the automatic resizing can make a TextView unwieldy, you normally "
+"place it inside of a <link xref=\"scrolledwindow.js\">ScrolledWindow.</link> "
+"Despite the name, it's not an actual window in terms of having a title bar "
+"and an X button; it's a widget you put on the application you're making, "
+"which acts like a window onto a more manageable chunk of a TextView. If the "
+"text in the buffer is too big to fit, scrollbars will appear."
+msgstr ""
+
+#: C/textview.js.page:31(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 "
+"you want to see what text someone typed in. This sample application lets you "
+"talk to a (make-believe) penguin, and checks the TextBuffer to see if you "
+"typed the word \"fish\" anywhere in it."
+msgstr ""
+
+#: C/textview.js.page:32(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 "
+"you'd like to play a (somewhat silly) GNOME game based on this premise, take "
+"a look at <link href=\"http://pingus.seul.org/\";>Pingus.</link>"
+msgstr ""
+
+#: C/textview.js.page:72(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/";
+"Gtk.Application.html\">Gtk.Application</link> for our widgets and window to "
+"go in."
+msgstr ""
+
+#: C/textview.js.page:90(title)
+#, fuzzy
+#| msgid "Creating the switches"
+msgid "Creating the TextView"
+msgstr "Crear los interruptores"
+
+#: C/textview.js.page:100(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 "
+"it to wrap by setting its wrap property to true, but we'll use a different "
+"method on the TextView itself that allows for more fine-grained control."
+msgstr ""
+
+#: C/textview.js.page:111(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 "
+"buffer. We also set it to be editable, since we want to be able to type new "
+"things in."
+msgstr ""
+
+#: C/textview.js.page:112(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";
+"\">WrapModes.</link> Gtk.WrapMode.CHAR, for instance, starts wrapping around "
+"in the middle of a word if you keep typing when it gets to the edge. Most "
+"people are probably used to Gtk.WrapMode.WORD, which will automatically put "
+"the word you're typing on the next line if it gets to be too long."
+msgstr ""
+
+#: C/textview.js.page:126(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 "
+"vertically. We also give it a nice-looking ETCHED_IN border. After that, we "
+"put our TextView inside, and tell the ScrolledWindow to give us a viewport "
+"onto it."
+msgstr ""
+
+#: C/textview.js.page:130(title) C/radiobutton.js.page:116(title)
+msgid "Creating the rest of the user interface"
+msgstr "Crear el resto de la interfaz de usuario"
+
+#: C/textview.js.page:142(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)
+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 "
+"the bottom. The Button has a margin on top, so that it isn't squished up "
+"against the ScrolledWindow."
+msgstr ""
+
+#: C/textview.js.page:172(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)
+#, 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)
+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 "
+"the penguin to respond to that. To do that, we use the JavaScript String "
+"object's match method on <file>this.buffer.text</file>, which returns the "
+"contents of our TextBuffer."
+msgstr ""
+
+#: C/textview.js.page:230(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. "
+"Then we return focus to our TextView, so that you can keep typing without "
+"having to click on it beforehand."
+msgstr ""
+
+#: C/textview.js.page:237(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)
+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)
+msgid "Gtk.Label"
+msgstr "Gtk.Label"
+
+#: C/textview.js.page:253(link) C/radiobutton.vala.page:31(link)
+#: C/radiobutton.js.page:279(link)
+msgid "Gtk.RadioButton"
+msgstr "Gtk.RadioButton"
+
+#: C/textview.c.page:23(p)
+#, fuzzy
+#| msgid ""
+#| "If we have a loooooooooooooooooooooooooooooooooooong word, a horizontal "
+#| "scrollbar will appear."
+msgid ""
+"If we have a loooooooooooooooooooooooooooooooooooong (that was long) word, "
+"a* horizontal scrollbar will appear."
+msgstr ""
+"Si es escribe una palabra laaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarga, "
+"aparecerà una barra de desplazamiento horizontal."
+
+#: C/textview.c.page:39(link)
+#| msgid "Layout containers"
+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)
 msgid "@@image: 'media/switch_off.png'; md5=211a2962708800697ad5373dcc86ad6d"
@@ -2157,32 +2904,30 @@ msgstr "Gtk.Switch"
 msgid "This Switch makes the title appears and disappear."
 msgstr "Este Switch hace que el tÃtulo aparezca y desaparezca."
 
-#: C/switch.py.page:37(title)
-#| msgid "Useful methods for a Window widget"
+#: C/switch.py.page:39(title)
 msgid "Useful methods for a Switch widget"
 msgstr "MÃtodos Ãtiles para un widget ÂSwitchÂ"
 
-#: C/switch.py.page:38(p) C/checkbutton.py.page:35(p)
+#: C/switch.py.page:40(p) C/checkbutton.py.page:37(p)
 msgid ""
 "For a discussion on signals and callback functions, see <link xref=\"signals-"
 "callbacks.py\">this page</link>."
 msgstr ""
 
-#: C/switch.py.page:45(link) C/switch.c.page:34(link)
+#: C/switch.py.page:47(link) C/switch.c.page:34(link)
 #: C/radiobutton.c.page:36(link)
 msgid "GtkSwitch"
 msgstr "GtkSwitch"
 
-#: C/switch.py.page:46(link) C/switch.c.page:33(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: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)
 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)
-#| msgid "@@image: 'media/switch_on.png'; md5=95e8769f758c2d95ace0fa8ecf30b29d"
 msgid ""
 "@@image: 'media/switchanimals.png'; md5=513ae15dcf68e15eef30b76420b8c714"
 msgstr ""
@@ -2267,7 +3012,6 @@ msgid ""
 msgstr ""
 
 #: C/switch.js.page:90(title)
-#| msgid "Creating the user interface"
 msgid "Creating the switches"
 msgstr "Crear los interruptores"
 
@@ -2323,7 +3067,6 @@ msgid ""
 msgstr ""
 
 #: C/switch.js.page:183(title)
-#| msgid "Creating the buttons"
 msgid "Creating the AboutDialog"
 msgstr "Crear el AboutDialog"
 
@@ -2353,7 +3096,7 @@ msgid ""
 msgstr ""
 
 #: C/switch.js.page:264(link) C/messagedialog.py.page:62(link)
-#: C/messagedialog.js.page:192(link) C/gmenu.vala.page:24(title)
+#: 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)
@@ -2369,17 +3112,9 @@ msgid "GSimpleAction"
 msgstr "GSimpleAction"
 
 #: C/switch.js.page:269(link)
-#| msgid "GtkImage"
 msgid "Gtk.Image"
 msgstr "Gtk.Image"
 
-#: 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)
-msgid "Gtk.Label"
-msgstr "Gtk.Label"
-
 #: C/switch.c.page:23(p)
 msgid "This switch toggles the title of the window."
 msgstr "Este Switch cambia el tÃtulo de la ventana."
@@ -2389,12 +3124,10 @@ 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)
-#| msgid "Selecting"
 msgid "Strings"
 msgstr "Cadenas"
 
 #: C/strings.py.page:29(title)
-#| msgid "Define the tones"
 msgid "Definitions"
 msgstr "Definiciones"
 
@@ -2440,7 +3173,6 @@ msgid ""
 msgstr ""
 
 #: C/strings.py.page:45(title)
-#| msgid "Starting the fun"
 msgid "Strings in Python"
 msgstr "Cadenas en Python"
 
@@ -2485,7 +3217,6 @@ msgid ""
 msgstr ""
 
 #: C/strings.py.page:86(p)
-#| msgid "Further reading"
 msgid "Furthermore:"
 msgstr "AdemÃs:"
 
@@ -2509,8 +3240,8 @@ msgid ""
 "since GTK+ does not fully integrate with <code>unicode</code> objects."
 msgstr ""
 
-#: C/strings.py.page:98(title)
-#| msgid "API References"
+#: 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)
 msgid "References"
 msgstr "Referencias"
 
@@ -2702,7 +3433,7 @@ msgstr ""
 
 #: C/statusbar.js.page:163(title)
 msgid "Functions for interacting with the statusbar"
-msgstr ""
+msgstr "Funciones para interactuar con la barra de estado"
 
 #: C/statusbar.js.page:204(p)
 msgid ""
@@ -2720,11 +3451,6 @@ msgid ""
 "and set the application running."
 msgstr ""
 
-#: C/statusbar.js.page:223(link) C/radiobutton.js.page:276(link)
-#: C/grid.js.page:34(link) C/button.js.page:31(link)
-msgid "Gtk.Button"
-msgstr "Gtk.Button"
-
 #: C/statusbar.js.page:224(link)
 msgid "Gtk.Frame"
 msgstr "Gtk.Frame"
@@ -2736,7 +3462,6 @@ 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)
-#| msgid "@@image: 'media/statusbar.png'; md5=eb1aca55315d6cda57b12a5f36058ba8"
 msgid "@@image: 'media/statusbar3.png'; md5=60c71604fb44656237ee66dfb39a8689"
 msgstr "@@image: 'media/statusbar3.png'; md5=60c71604fb44656237ee66dfb39a8689"
 
@@ -2748,13 +3473,12 @@ msgid ""
 msgstr ""
 
 #: C/statusbar.c.page:36(link)
-#| msgid "GtkStatusbar"
 msgid "GtkStatusBar"
 msgstr "GtkStatusBar"
 
-#: C/statusbar.c.page:37(link)
+#: C/statusbar.c.page:37(link) C/scale.c.page:37(link)
 msgid "String Utility Functions"
-msgstr ""
+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.
@@ -2808,6 +3532,7 @@ 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)
 msgid "@@image: 'media/spinbutton.png'; md5=993cbb7d9bd271a329727a926195712a"
 msgstr "@@image: 'media/spinbutton.png'; md5=993cbb7d9bd271a329727a926195712a"
 
@@ -2816,11 +3541,12 @@ 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.js.page:22(title) C/spinbutton.c.page:22(title)
 msgid "SpinButton"
 msgstr "SpinButton"
 
 #: C/spinbutton.vala.page:23(p) C/spinbutton.py.page:22(p)
+#: C/spinbutton.c.page:25(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 -/+."
 
@@ -2833,7 +3559,6 @@ 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)
-#| msgid "Useful methods for a Window widget"
 msgid "Useful methods for a SpinButton widget"
 msgstr "MÃtodos Ãtiles para un widget ÂSpinButtonÂ"
 
@@ -2876,19 +3601,18 @@ msgid ""
 "()</code>."
 msgstr ""
 
-#: C/spinbutton.py.page:46(link)
+#: C/spinbutton.py.page:46(link) C/spinbutton.c.page:35(link)
 msgid "GtkSpinButton"
 msgstr "GtkSpinButton"
 
-#: C/spinbutton.py.page:47(link) C/scale.py.page:55(link)
+#: C/spinbutton.py.page:47(link) C/spinbutton.c.page:37(link)
+#: C/scale.py.page:55(link) C/scale.c.page:36(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)
-#| msgid ""
-#| "@@image: 'media/spinbutton.png'; md5=993cbb7d9bd271a329727a926195712a"
 msgid ""
 "@@image: 'media/spinbuttonkittens.png'; md5=577cce8a902140aacbab73fe8a76a010"
 msgstr ""
@@ -2921,7 +3645,6 @@ msgid ""
 msgstr ""
 
 #: C/spinbutton.js.page:83(title)
-#| msgid "Creating the buttons"
 msgid "Creating the SpinButtons"
 msgstr "Crear los botones incrementales"
 
@@ -2966,7 +3689,6 @@ msgid ""
 msgstr ""
 
 #: C/spinbutton.js.page:116(title)
-#| msgid "Creating the statusbar"
 msgid "Creating the rest of the UI"
 msgstr "Crear el resto de la IU"
 
@@ -3020,6 +3742,11 @@ msgstr ""
 msgid "Gtk.Adjustment"
 msgstr "Gtk.Adjustment"
 
+#: C/spinbutton.c.page:19(desc)
+#| msgid "Retrieve an integer or floating point number."
+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)
 msgid "An explanation of signals and callbacks in GTK+."
 msgstr "Una explicaciÃn de seÃales y retornos de llamada en GTK+."
@@ -3028,7 +3755,12 @@ msgstr "Una explicaciÃn de seÃales y retornos de llamada en GTK+."
 msgid "Signals and callbacks"
 msgstr "SeÃales y retornos de llamada"
 
-#: C/signals-callbacks.py.page:26(p)
+#: C/signals-callbacks.py.page:29(title) C/properties.py.page:29(title)
+#: C/model-view-controller.py.page:29(title)
+msgid "Overview"
+msgstr "VisioÌn general"
+
+#: C/signals-callbacks.py.page:31(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. "
@@ -3036,7 +3768,7 @@ msgid ""
 "\"wakes up\" and delivers an event to GTK+."
 msgstr ""
 
-#: C/signals-callbacks.py.page:28(p)
+#: C/signals-callbacks.py.page:33(p)
 msgid ""
 "When widgets receive an event, they frequently emit one or more signals. "
 "Signals notify your program that \"something interesting happened\" by "
@@ -3046,28 +3778,26 @@ msgid ""
 "the main loop and await more user input."
 msgstr ""
 
-#: C/signals-callbacks.py.page:30(p)
+#: C/signals-callbacks.py.page:35(p)
 msgid ""
 "A generic example is: <code>handler_id = widget.connect(\"event\", callback, "
-"data)</code>."
-msgstr ""
-"Un ejemplo genÃrico es: <code>handler_id = widget.connect(\"event\", "
-"callback, data)</code>."
-
-#: C/signals-callbacks.py.page:32(p)
-msgid ""
-"Firstly, <code>widget</code> is an instance of a widget we created earlier. "
-"Next, the event we are interested in. Each widget has its own particular "
-"events which can occur. For instance, if you have a Gtk.Button you usually "
-"want to connect to the \"clicked\" event. This means that when the button is "
-"clicked, the signal is issued. Thirdly, the callback argument is the name of "
-"the callback function. It contains the code which runs when signals of the "
-"specified type are issued. Finally, the data argument includes any data "
-"which should be passed when the signal is issued. However, this argument is "
-"completely optional and can be left out if not required."
-msgstr ""
-
-#: C/signals-callbacks.py.page:34(p)
+"data)</code>. <code>widget</code> is an instance of a widget we created "
+"earlier. Next, the <code>event</code> we are interested in. Each widget has "
+"its own particular events which can occur. For instance, if you have a Gtk."
+"Button you usually want to connect to the \"clicked\" event: this means that "
+"when the button is clicked, the signal is issued. Another example is the "
+"<code>notify::property</code> signal: whenever a <link xref=\"properties.py"
+"\">property</link> is modified on a GObject, instead of just emitting the "
+"<code>notify</code> signal, GObject associates as a detail to this signal "
+"emission the name of the property modified. This allows clients who wish to "
+"be notified of changes to only one property to filter most events before "
+"receiving them. Thirdly, the callback argument is the name of the callback "
+"function, which contains the code which runs when signals of the specified "
+"type are issued. Finally, the optional data argument includes any data which "
+"should be passed when the signal is issued."
+msgstr ""
+
+#: C/signals-callbacks.py.page:37(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 "
@@ -3076,6 +3806,108 @@ msgid ""
 "to, as in <code>widget.disconnect(handler_id)</code>."
 msgstr ""
 
+#: C/signals-callbacks.py.page:44(p)
+#, fuzzy
+#| msgid ""
+#| "Some basic concepts of <link href=\"http://developer.gnome.org/gobject/";
+#| "stable/\">GObject</link> programming"
+msgid ""
+"<link href=\"http://developer.gnome.org/gobject/stable/signal.html";
+"\">Signals</link> in GObject documentation"
+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)
+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"
+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"
+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"
+msgid "@@image: 'media/gediteditor.png'; md5=50db1ee8f2c545744879ee9fba5b4b24"
+msgstr "@@image: 'media/gediteditor.png'; md5=50db1ee8f2c545744879ee9fba5b4b24"
+
+#: C/set-up-gedit.page:18(title)
+msgid "Set up gedit for JavaScript development"
+msgstr ""
+
+#: C/set-up-gedit.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)
+msgid "Making code clearer"
+msgstr "Simplificar el cÃdigo"
+
+#: C/set-up-gedit.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)
+msgid "Here are the options you want to make sure are turned on."
+msgstr ""
+
+#: C/set-up-gedit.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)
+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)
+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"
+msgid "Making editing easier"
+msgstr "Facilitar la ediciÃn"
+
+#: C/set-up-gedit.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)
+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 "
+"far as the last line was. This is extremely useful when writing JavaScript "
+"code, since it uses indentation to make it clearer which parts do what."
+msgstr ""
+
+#: C/set-up-gedit.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 "
+"<gui>Insert spaces instead of tabs.</gui>"
+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)
@@ -3119,7 +3951,6 @@ msgid "An image in a scrolled window."
 msgstr "Una imagen en una ventana con barras de desplazamiento."
 
 #: C/scrolledwindow.py.page:30(title)
-#| msgid "Useful methods for a Window widget"
 msgid "Useful methods for a ScrolledWindow widget"
 msgstr "MÃtodos Ãtiles para un widget ÂScrolledWindowÂ"
 
@@ -3171,16 +4002,16 @@ msgstr "GtkImage"
 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.vala.page:18(desc) C/scale.py.page:17(desc) C/scale.c.page:18(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.js.page:19(title) C/scale.c.page:21(title)
 msgid "Scale"
 msgstr "Escala"
 
-#: C/scale.vala.page:23(p) C/scale.py.page:22(p)
+#: C/scale.vala.page:23(p) C/scale.py.page:22(p) C/scale.c.page:24(p)
 msgid "Slide the scales!"
 msgstr "Desplace las escalas."
 
@@ -3197,7 +4028,6 @@ msgid "Gtk.Orientation"
 msgstr "Gtk.Orientation"
 
 #: C/scale.py.page:32(title)
-#| msgid "Useful methods for a Dialog widget"
 msgid "Useful methods for a Scale widget"
 msgstr "MeÌtodos uÌtiles para un widget ÂScaleÂ"
 
@@ -3276,15 +4106,13 @@ msgid ""
 "<code>digits</code> digits."
 msgstr ""
 
-#: C/scale.py.page:54(link)
+#: C/scale.py.page:54(link) C/scale.c.page:34(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)
-#| msgid ""
-#| "@@image: 'media/checkbutton.png'; md5=7921a6812c87dd2b3781f4fad241e858"
 msgid ""
 "@@image: 'media/scalepenguins.png'; md5=2dbe6a833fec86fde71a5ddb421e2cd5"
 msgstr ""
@@ -3322,19 +4150,18 @@ msgid ""
 msgstr ""
 
 #: C/scale.js.page:80(title)
-#| msgid "Creating the statusbar"
 msgid "Creating the scales"
 msgstr "Crear las escalas"
 
 #: C/scale.js.page:90(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)
@@ -3410,6 +4237,17 @@ 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"
+msgid "@@image: 'media/scale2.png'; md5=ae2ba0a6675f3d9cdcd961cdf32f1a5c"
+msgstr "@@image: 'media/scale2.png'; md5=ae2ba0a6675f3d9cdcd961cdf32f1a5c"
+
+#: C/scale.c.page:35(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)
 msgid ""
 "@@image: 'media/record-collection.png'; md5=2d645997687ed5aacd36aafafc16e072"
@@ -3724,8 +4562,8 @@ 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)
 msgid ""
@@ -4061,10 +4899,6 @@ msgstr "RadioButton"
 msgid "These RadioButtons report their activity in the terminal."
 msgstr "Estos RadioButton informan de su actividad en la terminal."
 
-#: C/radiobutton.vala.page:31(link) C/radiobutton.js.page:279(link)
-msgid "Gtk.RadioButton"
-msgstr "Gtk.RadioButton"
-
 #: C/radiobutton.py.page:20(desc)
 msgid "Mutually exclusive buttons."
 msgstr "Botones mutuamente excluyentes."
@@ -4074,18 +4908,17 @@ 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:33(title)
-#| msgid "Useful methods for a Window widget"
+#: C/radiobutton.py.page:35(title)
 msgid "Useful methods for a RadioButton widget"
 msgstr "MÃtodos Ãtiles para un widget ÂRadioButtonÂ"
 
-#: C/radiobutton.py.page:36(p)
+#: C/radiobutton.py.page:38(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:37(code)
+#: C/radiobutton.py.page:39(code)
 #, no-wrap
 msgid ""
 "\n"
@@ -4096,27 +4929,25 @@ msgstr ""
 "button1 = Gtk.RadioButton()\n"
 "button1.set_label(\"Button 1\")."
 
-#: C/radiobutton.py.page:40(p)
+#: C/radiobutton.py.page:42(p)
 msgid ""
 "For a general discussion of this, see <link xref=\"properties.py\">here</"
 "link>."
 msgstr ""
 
-#: C/radiobutton.py.page:41(p)
+#: C/radiobutton.py.page:43(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."
 msgstr ""
 
-#: C/radiobutton.py.page:50(link)
+#: C/radiobutton.py.page:52(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)
-#| msgid ""
-#| "@@image: 'media/radiobutton.png'; md5=d115460280d8e41493dd98054b5822a5"
 msgid ""
 "@@image: 'media/radiobuttontravel.png'; md5=0c5f01ee160bb42716ccf5dccbd080c0"
 msgstr ""
@@ -4145,7 +4976,6 @@ msgid ""
 msgstr ""
 
 #: C/radiobutton.js.page:81(title)
-#| msgid "Creating the buttons"
 msgid "Creating the radiobuttons"
 msgstr "Crear los botones de radio"
 
@@ -4181,11 +5011,6 @@ msgid ""
 "them all the same way."
 msgstr ""
 
-#: C/radiobutton.js.page:116(title)
-#| msgid "Creating the user interface"
-msgid "Creating the rest of the user interface"
-msgstr "Crear el resto de la interfaz de usuario"
-
 #: C/radiobutton.js.page:128(p)
 msgid ""
 "This code creates a <link xref=\"button.js\">Gtk.Button</link> and binds it "
@@ -4221,7 +5046,7 @@ msgid ""
 "the application is run."
 msgstr ""
 
-#: C/radiobutton.js.page:179(title)
+#: C/radiobutton.js.page:179(title) C/comboboxtext.js.page:111(title)
 msgid "Function which handles your selection"
 msgstr "FunciÃn que maneja su selecciÃn"
 
@@ -4249,7 +5074,6 @@ msgid ""
 msgstr ""
 
 #: C/radiobutton.c.page:18(desc)
-#| msgid "A choice from multiple checkbuttons."
 msgid "A choice from multiple checkbuttons"
 msgstr "Una elecciÃn desde varios ÂCheckButtonÂ."
 
@@ -4278,7 +5102,7 @@ msgstr ""
 msgid "Properties"
 msgstr "Propiedades"
 
-#: C/properties.py.page:26(p)
+#: C/properties.py.page:31(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 "
@@ -4289,7 +5113,7 @@ msgid ""
 "and an angle of 25 degrees, you can use:"
 msgstr ""
 
-#: C/properties.py.page:27(code)
+#: C/properties.py.page:32(code)
 #, no-wrap
 msgid ""
 "\n"
@@ -4298,11 +5122,11 @@ msgstr ""
 "\n"
 "label = Gtk.Label(label=\"Hello World\", angle=25, halign=Gtk.Align.END)"
 
-#: C/properties.py.page:30(p)
+#: C/properties.py.page:35(p)
 msgid "This is equivalent to:"
 msgstr "Esto es equivalente a:"
 
-#: C/properties.py.page:31(code)
+#: C/properties.py.page:36(code)
 #, no-wrap
 msgid ""
 "\n"
@@ -4317,7 +5141,7 @@ msgstr ""
 "label.set_angle(25)\n"
 "label.set_halign(Gtk.Align.END)"
 
-#: C/properties.py.page:37(p)
+#: C/properties.py.page:42(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 "
@@ -4326,11 +5150,15 @@ msgid ""
 "respectively."
 msgstr ""
 
+#: C/properties.py.page:48(p)
+msgid ""
+"<link href=\"http://python-gtk-3-tutorial.readthedocs.org/en/latest/basics.";
+"html\">Basics - Properties</link> in 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/progressbar.vala.page:20(None) C/progressbar.c.page:22(None)
-#| msgid ""
-#| "@@image: 'media/progressbar.ogv'; md5=36deab3dd4b5be968828fa2ef416d612"
 msgid ""
 "@@image: 'media/progressbar_fill.ogv'; md5=287763d1d3f4a328212ea2243910f5e4"
 msgstr ""
@@ -4415,7 +5243,6 @@ msgid "GLib"
 msgstr "GLib"
 
 #: C/progressbar.c.page:34(link)
-#| msgid "GLib.Timeout"
 msgid "G_Timeout"
 msgstr "G_Timeout"
 
@@ -5132,115 +5959,624 @@ 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>."
 
-#. 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/model-view-controller.py.page:11(desc)
+#: C/model-view-controller.py.page:24(title)
+msgid "The Model/View/Controller design"
+msgstr "El diseÃo modelo/vista/controlador"
+
+#: C/model-view-controller.py.page:31(p)
 msgid ""
-"@@image: 'media/messagedialog.png'; md5=1956288274018e2386d9cba96a2101de"
+"Both the <link xref=\"treeview_simple_liststore.py\">TreeView</link> and the "
+"<link xref=\"combobox.py\">ComboBox</link> widgets are built on the "
+"<em>Model/View/Controller</em> design. The <em>Model</em> (an implementation "
+"of <code>Gtk.TreeModel</code>, usually <code>Gtk.TreeStore</code> or "
+"<code>Gtk.ListStore</code>) stores the data; the <em>View</em> (e.g. "
+"<code>Gtk.TreeView</code>, <code>Gtk.ComboBox</code>, or <code>Gtk."
+"ComboBoxText</code>) gets change notifications and displays the content of "
+"the model. The <em>Controller</em>, finally, changes the state of the model "
+"(via some methods in the model's implementation - such as <code>append()</"
+"code> or <code>remove()</code>) and notifies the view of these changes (via "
+"signals like <code>\"changed\"</code>)."
 msgstr ""
-"@@image: 'media/messagedialog.png'; md5=1956288274018e2386d9cba96a2101de"
-
-#: C/messagedialog.vala.page:16(desc) C/messagedialog.py.page:17(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)
-msgid "MessageDialog"
-msgstr "MessageDialog"
-
-#: C/messagedialog.vala.page:21(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)
-msgid "Gtk.ResponseType"
-msgstr "Gtk.ResponseType"
 
-#: C/messagedialog.vala.page:30(link) C/messagedialog.js.page:196(link)
-#: C/entry.js.page:31(link)
-msgid "Gtk.MessageDialog"
-msgstr "Gtk.MessageDialog"
+#: C/model-view-controller.py.page:36(title)
+msgid "The Model"
+msgstr "El modelo"
 
-#: C/messagedialog.vala.page:31(link)
-msgid "Gtk.DialogFlags"
-msgstr "Gtk.DialogFlags"
+#: C/model-view-controller.py.page:38(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 "
+"data without children, whereas <code>Gtk.TreeStore</code> also contains rows "
+"of data, but each row may have child rows (which in turn can have child "
+"rows, and so on)."
+msgstr ""
 
-#: C/messagedialog.vala.page:32(link)
-msgid "Gtk.MessageType"
-msgstr "Gtk.MessageType"
+#: C/model-view-controller.py.page:40(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/messagedialog.vala.page:33(link)
-msgid "Gtk.ButtonsType"
-msgstr "Gtk.ButtonsType"
+#: C/model-view-controller.py.page:42(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 "
+"method <code>append()</code> returns a <code>Gtk.TreeIter</code> instance, "
+"which points to the location of the newly inserted row. You can also "
+"retrieve a <code>Gtk.TreeIter</code> by calling <code>get_iter()</code>."
+msgstr ""
 
-#: C/messagedialog.py.page:22(p)
+#: C/model-view-controller.py.page:44(p)
 msgid ""
-"A message dialog which prints messages on the terminal, depending on your "
-"choices."
+"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 "
+"access. In the case of <code>Gtk.TreeStore</code>, a path is a list of "
+"indexes or a string. The string form is a list of numbers separated by a "
+"colon. Each number refers to the offset at that level. Thus, the path <code>"
+"\"0\"</code> refers to the root node and the path <code>\"2:4\"</code> "
+"refers to the fifth child of the third node."
 msgstr ""
-"Un diÃlogo de mensajes que imprime mensajes en la terminal, segÃn su "
-"elecciÃn."
 
-#: C/messagedialog.py.page:34(title)
-msgid "Useful methods for a MessageDialog widget"
-msgstr "MÃtodos Ãtiles para un widget ÂMessageDialogÂ"
+#: C/model-view-controller.py.page:46(p)
+#| msgid "Useful methods for a ScrolledWindow widget"
+msgid "Useful methods for a <code>Gtk.TreeModel</code>:"
+msgstr "MÃtodos Ãtiles para un <code>Gtk.TreeModel</code>:"
 
-#: C/messagedialog.py.page:37(p)
+#: C/model-view-controller.py.page:48(p)
 msgid ""
-"In the constructor of MessageDialog we could set flags as <code>Gtk."
-"DialogFlags.DESTROY_WITH_PARENT</code> (to destroy the messagedialog window "
-"when its parent window is destroyed) or as <code>Gtk.DialogFlags.MODAL</"
-"code> (no interaction with other windows of the application)."
+"<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 "
+"of numbers, or a tuple. For example, the string <code>\"10:4:0\"</code> is "
+"equivalent to the tuple <code>(10, 4, 0)</code>, as both would create a path "
+"of depth 3 pointing to the 11th child of the root node, the 5th child of "
+"that 11th child, and the 1st child of that 5th child."
 msgstr ""
 
-#: C/messagedialog.py.page:38(p)
+#: C/model-view-controller.py.page:49(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."
-"MessageType.ERROR, Gtk.MessageType.OTHER</code> depending on what type of "
-"message we want."
+"<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/messagedialog.py.page:39(p)
+#: C/model-view-controller.py.page:50(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."
-"CANCEL, Gtk.ButtonsType.YES_NO, Gtk.ButtonsType.OK_CANCEL</code>, or any "
-"button using <code>add_button()</code> as in Gtk.Dialog."
+"<code>iter_has_child(treeiter)</code> returns <code>True</code> if "
+"<code>treeiter</code> has children, <code>False</code> otherwise."
 msgstr ""
 
-#: C/messagedialog.py.page:40(p)
+#: C/model-view-controller.py.page:51(p)
 msgid ""
-"We could substitute the default image of the MessageDialog with another "
-"image using"
+"<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/messagedialog.py.page:41(code)
-#, no-wrap
+#: C/model-view-controller.py.page:52(p)
 msgid ""
-"\n"
-"image = Gtk.Image()\n"
-"image.set_from_stock(Gtk.STOCK_CAPS_LOCK_WARNING, Gtk.IconSize.DIALOG)\n"
-"image.show()\n"
-"messagedialog.set_image(image)"
+"<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 ""
-"\n"
-"image = Gtk.Image()\n"
-"image.set_from_stock(Gtk.STOCK_CAPS_LOCK_WARNING, Gtk.IconSize.DIALOG)\n"
-"image.show()\n"
-"messagedialog.set_image(image)"
 
-#: C/messagedialog.py.page:46(p)
+#: C/model-view-controller.py.page:55(p)
+#| msgid "Useful methods for a LinkButton widget"
+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)
 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>."
+"<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> "
+"can also be omitted or <code>None</code>, and in that case an empty row will "
+"be appended. The method returns a <code>Gtk.TreeIter</code> pointing to the "
+"appended row."
 msgstr ""
 
-#: C/messagedialog.py.page:47(p)
+#: C/model-view-controller.py.page:58(p) C/model-view-controller.py.page:64(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 "
+"<code>False</code> if the iter is not. After being removed, <code>iter</"
+"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"
+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)
+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 "
+"<code>None</code>, then it will append the new row after the last child of "
+"parent, otherwise it will append a row to the top level; <code>row</code> "
+"can be a list of values for each column, or it can be omitted or <code>None</"
+"code>; in this latter case an empty row will be appended. The method returns "
+"a <code>Gtk.TreeIter</code> pointing to the appended row."
+msgstr ""
+
+#: C/model-view-controller.py.page:70(title)
+msgid "The View: the TreeView case"
+msgstr ""
+
+#: C/model-view-controller.py.page:72(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)
+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"
+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)
+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)
+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)
+msgid ""
+"<code>append_column(column)</code> appends <code>column</code> to the list "
+"of columns."
+msgstr ""
+
+#: C/model-view-controller.py.page:81(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"
+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)
+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)
+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>, "
+"then <code>renderer</code> is allocated no more space than it needs. Any "
+"unused space is divided evenly between cells for which expand is <code>True</"
+"code>."
+msgstr ""
+
+#: C/model-view-controller.py.page:88(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 "
+"<code>renderer</code> is allocated no more space than it needs. Any unused "
+"space is divided evenly between cells for which <code>expand</code> is "
+"<code>True</code>."
+msgstr ""
+
+#: C/model-view-controller.py.page:89(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)
+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)
+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)
+msgid "The View: the ComboBox case"
+msgstr ""
+
+#: C/model-view-controller.py.page:99(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</"
+"link>. For a list of textual choices, one can also use the simpler <code>Gtk."
+"ComboBoxText</code>. Both <code>Gtk.ComboBox</code> and <code>Gtk."
+"ComboBoxText</code> can contain an entry."
+msgstr ""
+
+#: C/model-view-controller.py.page:101(p)
+#| msgid "Useful methods for a RadioButton widget"
+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)
+msgid ""
+"The static method <code>new_with_entry()</code> creates a new empty "
+"<code>Gtk.ComboBox</code> with an entry; the static method "
+"<code>new_with_model(model)</code> creates a new one with the model "
+"initialized to <code>model</code>; and the static method "
+"<code>new_with_model_and_entry(model)</code> is a combination of the two."
+msgstr ""
+
+#: C/model-view-controller.py.page:104(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)
+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 "
+"any). If <code>model</code> is <code>None</code>, then it will unset the "
+"model. Note that this function does not clear the cell renderers."
+msgstr ""
+
+#: C/model-view-controller.py.page:106(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</"
+"code>. The column <code>text_column</code> in the model of this combo box "
+"must be of type <code>str</code> (this is only relevant if this combo box "
+"has been created with the âhas-entryâ property set to True)."
+msgstr ""
+
+#: C/model-view-controller.py.page:107(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"
+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)
+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)
+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)
+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 "
+"contains an entry, this function will return its contents (which will not "
+"necessarily be an item from the list)."
+msgstr ""
+
+#: C/model-view-controller.py.page:120(title)
+msgid "The View: the Cellrenderers"
+msgstr ""
+
+#: C/model-view-controller.py.page:122(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)
+msgid "Implementations of <code>Gtk.CellRenderer</code> and useful methods:"
+msgstr ""
+
+#: C/model-view-controller.py.page:126(p)
+msgid "<code>Gtk.CellRendererText</code> - renders text in a cell"
+msgstr ""
+
+#: C/model-view-controller.py.page:127(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)
+msgid ""
+"<code>set_active(setting)</code> - activates or deactivates a cell renderer"
+msgstr ""
+
+#: C/model-view-controller.py.page:130(p)
+msgid "<code>get_active()</code> - returns whether the cell renderer is active"
+msgstr ""
+
+#: C/model-view-controller.py.page:131(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-"
+"exclusive toggles); if <code>False</code>, it renders a check toggle (a "
+"standalone boolean option)"
+msgstr ""
+
+#: C/model-view-controller.py.page:132(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)
+msgid "<code>Gtk.CellRendererPixbuf</code> - renders an image in a cell"
+msgstr ""
+
+#: C/model-view-controller.py.page:136(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, "
+"<code>Gtk.CellRendererCombo</code> offers a <code>Gtk.ComboBox</code> widget "
+"to edit the text. It can be used with and without an associated Gtk.Entry "
+"widget, depending on the value of the âhas-entryâ property."
+msgstr ""
+
+#: C/model-view-controller.py.page:137(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)
+msgid ""
+"<code>Gtk.CellRendererSpinner</code> - renders a spinning animation in a cell"
+msgstr ""
+
+#: C/model-view-controller.py.page:139(p)
+msgid "<code>Gtk.CellRendererSpin</code> - renders a spin button in a cell"
+msgstr ""
+
+#: C/model-view-controller.py.page:140(p)
+msgid ""
+"<code>Gtk.CellRendererAccel</code> - renders a keyboard accelerator in a cell"
+msgstr ""
+
+#: C/model-view-controller.py.page:146(title)
+msgid "The Controller: the Selection"
+msgstr ""
+
+#: C/model-view-controller.py.page:148(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)
+#, no-wrap
+msgid ""
+"\n"
+"select = tree.get_selection()\n"
+"select.connect(\"changed\", on_tree_selection_changed)\n"
+msgstr ""
+"\n"
+"select = tree.get_selection()\n"
+"select.connect(\"changed\", on_tree_selection_changed)\n"
+
+#: C/model-view-controller.py.page:155(p)
+msgid "Then to retrieve data for the row selected:"
+msgstr ""
+
+#: C/model-view-controller.py.page:157(code)
+#, no-wrap
+msgid ""
+"\n"
+"def on_tree_selection_changed(selection):\n"
+"    model, treeiter = selection.get_selected()\n"
+"    if treeiter != None:\n"
+"        print \"You selected\", model[treeiter][0]\n"
+msgstr ""
+"\n"
+"def on_tree_selection_changed(selection):\n"
+"    model, treeiter = selection.get_selected()\n"
+"    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"
+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)
+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)
+msgid "<code>Gtk.SelectionMode.NONE</code> - no selection is possible"
+msgstr ""
+
+#: C/model-view-controller.py.page:170(p)
+msgid ""
+"<code>Gtk.SelectionMode.SINGLE</code> - zero or one element may be selected"
+msgstr ""
+
+#: C/model-view-controller.py.page:171(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 "
+"possible for no element to be selected. What is really enforced is that the "
+"user canât deselect a currently selected element except by selecting another "
+"element."
+msgstr ""
+
+#: C/model-view-controller.py.page:172(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 "
+"selected. The Ctrl key may be used to enlarge the selection, and Shift key "
+"to select between the focus and the child pointed to. Some widgets may also "
+"allow Click-drag to select a range of elements."
+msgstr ""
+
+#: C/model-view-controller.py.page:175(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 "
+"<code>Gtk.TreeIter</code> pointing to the currently selected row, or None if "
+"no rows are selected. The method does not work if the selection mode is set "
+"to <code>Gtk.SelectionMode.MULTIPLE</code>; in that case, use "
+"<code>get_selected_rows()</code> instead, which Returns a list of <code>Gtk."
+"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)
+msgid "GtkComboBox"
+msgstr "GtkComboBox"
+
+#: C/model-view-controller.py.page:188(link)
+#| msgid "GtkCellRendererText"
+msgid "GtkCellRenderer"
+msgstr "GtkCellRenderer"
+
+#: C/model-view-controller.py.page:189(link)
+msgid "The Python Gtk+ 3 Tutorial - Tree and List Widgets"
+msgstr ""
+
+#: C/model-view-controller.py.page:190(link)
+msgid "The Python Gtk+ 3 Tutorial - CellRenderers"
+msgstr ""
+
+#: C/model-view-controller.py.page:191(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)
+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)
+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)
+msgid "MessageDialog"
+msgstr "MessageDialog"
+
+#: C/messagedialog.vala.page:21(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)
+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)
+msgid "Gtk.MessageDialog"
+msgstr "Gtk.MessageDialog"
+
+#: C/messagedialog.vala.page:31(link)
+msgid "Gtk.DialogFlags"
+msgstr "Gtk.DialogFlags"
+
+#: C/messagedialog.vala.page:32(link)
+msgid "Gtk.MessageType"
+msgstr "Gtk.MessageType"
+
+#: C/messagedialog.vala.page:33(link)
+msgid "Gtk.ButtonsType"
+msgstr "Gtk.ButtonsType"
+
+#: C/messagedialog.py.page:22(p)
+msgid ""
+"A message dialog which prints messages on the terminal, depending on your "
+"choices."
+msgstr ""
+"Un diÃlogo de mensajes que imprime mensajes en la terminal, segÃn su "
+"elecciÃn."
+
+#: C/messagedialog.py.page:34(title)
+msgid "Useful methods for a MessageDialog widget"
+msgstr "MÃtodos Ãtiles para un widget ÂMessageDialogÂ"
+
+#: C/messagedialog.py.page:37(p)
+msgid ""
+"In the constructor of MessageDialog we could set flags as <code>Gtk."
+"DialogFlags.DESTROY_WITH_PARENT</code> (to destroy the messagedialog window "
+"when its parent window is destroyed) or as <code>Gtk.DialogFlags.MODAL</"
+"code> (no interaction with other windows of the application)."
+msgstr ""
+
+#: C/messagedialog.py.page:38(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."
+"MessageType.ERROR, Gtk.MessageType.OTHER</code> depending on what type of "
+"message we want."
+msgstr ""
+
+#: C/messagedialog.py.page:39(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."
+"CANCEL, Gtk.ButtonsType.YES_NO, Gtk.ButtonsType.OK_CANCEL</code>, or any "
+"button using <code>add_button()</code> as in Gtk.Dialog."
+msgstr ""
+
+#: C/messagedialog.py.page:40(p)
+msgid ""
+"We could substitute the default image of the MessageDialog with another "
+"image using"
+msgstr ""
+
+#: C/messagedialog.py.page:41(code)
+#, no-wrap
+msgid ""
+"\n"
+"image = Gtk.Image()\n"
+"image.set_from_stock(Gtk.STOCK_CAPS_LOCK_WARNING, Gtk.IconSize.DIALOG)\n"
+"image.show()\n"
+"messagedialog.set_image(image)"
+msgstr ""
+"\n"
+"image = Gtk.Image()\n"
+"image.set_from_stock(Gtk.STOCK_CAPS_LOCK_WARNING, Gtk.IconSize.DIALOG)\n"
+"image.show()\n"
+"messagedialog.set_image(image)"
+
+#: C/messagedialog.py.page:46(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>."
+msgstr ""
+
+#: C/messagedialog.py.page:47(p)
 msgid ""
 "<code>format_secondary_text(\"some secondary message\")</code> sets a "
 "secondary message. The primary text becomes bold."
@@ -5260,7 +6596,6 @@ msgid "GActionMap"
 msgstr "GActionMap"
 
 #: C/messagedialog.js.page:19(desc)
-#| msgid "A modal message window"
 msgid "A popup message attached to a window"
 msgstr "Una mensaje emergente acoplado a una ventana"
 
@@ -5283,7 +6618,7 @@ msgid ""
 "make popups appear with a basic message and buttons."
 msgstr ""
 
-#: C/messagedialog.js.page:68(p)
+#: C/messagedialog.js.page:68(p) C/comboboxtext.js.page:64(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/";
@@ -5298,7 +6633,6 @@ msgid ""
 msgstr ""
 
 #: C/messagedialog.js.page:94(title)
-#| msgid "Creating the application window"
 msgid "Creating the application's menu"
 msgstr "Crear el menà de la aplicaciÃn"
 
@@ -5312,7 +6646,6 @@ msgid ""
 msgstr ""
 
 #: C/messagedialog.js.page:124(title)
-#| msgid "Creating the statusbar"
 msgid "Creating the MessageDialog"
 msgstr "Crear el ÂMessageDialogÂ"
 
@@ -5331,7 +6664,6 @@ msgid "Here are some resources for making your own MessageDialogs:"
 msgstr ""
 
 #: C/messagedialog.js.page:143(link)
-#| msgid "A bar of buttons"
 msgid "List of button types"
 msgstr "Lista de tipos de botones"
 
@@ -5880,144 +7212,501 @@ msgstr ""
 "funciÃn <code>create_window</code>, en cualquier lugar despuÃs de que "
 "<code>view</code> se haya definido."
 
-#: C/message-board.c.page:325(p)
-msgid "g_base64_encode has bad args"
-msgstr "g_base64_encode tiene argumentos no vÃlidos"
+#: C/message-board.c.page:325(p)
+msgid "g_base64_encode has bad args"
+msgstr "g_base64_encode tiene argumentos no vÃlidos"
+
+#: C/message-board.c.page:337(p)
+msgid ""
+"Also, make sure to add variable declarations for <code>tmp</code> and "
+"<code>css</code> to the top of <code>create_window</code>."
+msgstr ""
+"AsegÃrese de aÃadir declaraciones de variables para <code>tmp</code> y "
+"<code>css</code> a la parte superior de <code>create_window</code>."
+
+#: C/message-board.c.page:340(code)
+#, no-wrap
+msgid ""
+"\n"
+"gchar *tmp, *css;\n"
+msgstr ""
+"\n"
+"gchar *tmp, *css;\n"
+
+#: C/message-board.c.page:344(p)
+msgid ""
+"A data URI starts with <sys>data:</sys> and some information about the "
+"content type and how the data is encoded. The actual data follows after a "
+"comma, in this case encoded in Base64. Unlike other URI schemes like "
+"<sys>http:</sys>, <sys>ftp:</sys>, and <sys>file:</sys>, the <sys>data:</"
+"sys> URI scheme doesn't specify where to find a file to load. Rather, it "
+"gives the entire contents of the file."
+msgstr ""
+"Un URI de datos empieza por <sys>data:</sys> y cierta informaciÃn sobre el "
+"tipo de contenido y cÃmo se codifican los datos. Los datos reales siguen "
+"despuÃs de una coma, en este caso, codificados en Base64. A diferencia de "
+"otros esquemas de URI como <sys>http:</sys>, <sys>ftp:</sys>, y <sys>file:</"
+"sys>, the <sys>data:</sys>, el esquema del URI no especifica dÃnde encontrar "
+"un archivo que cargar. En vez de eso, ofrece el contenido completo del "
+"archivo."
+
+#: C/message-board.c.page:351(p)
+msgid ""
+"The code above first encodes your CSS definitions in Base64, then combines "
+"that with a fixed string to create a data URI. The <code>g_strconcat</code> "
+"function can take any number of string arguments and concatenate them all "
+"together, so you have to pass <code>NULL</code> as the final argument so it "
+"knows when to stop. And don't forget to free those temporary strings after "
+"you set the stylesheet property."
+msgstr ""
+"El cÃdigo anterior primero codifica las definiciones CSS en Base64, y luego "
+"las combina con una cadena fija para crear una URI de datos. La funciÃn "
+"<code>g_strconcat</code> puede tomar cualquier nÃmero de argumentos de "
+"cadena y concatenarlos todos juntos, por lo que tiene que pasar <code>NULL</"
+"code> como argumento final para que sepa dÃnde parar. No olvide liberar esas "
+"cadenas temporales despuÃs de establecer la propiedad de la hoja de estilos."
+
+#: C/message-board.c.page:358(p)
+msgid ""
+"Build and run the program again. It should now work exactly the same as at "
+"the end of the last section, except the messages will be nicely styled with "
+"a border and a subtle background gradient."
+msgstr ""
+"Construya y ejecute el programa de nuevo. DeberÃa funcionar exactamente "
+"igual que al final de la Ãltima secciÃn, excepto que los mensajes tendrÃn "
+"estilos con un borde y un degradado de fondo sutil."
+
+#: C/message-board.c.page:364(title)
+msgid "Learn more"
+msgstr "Aprender mÃs"
+
+#: C/message-board.c.page:366(p)
+msgid ""
+"This tutorial showed you how to create a basic application using GTK+ and "
+"WebKit, including showing a document and manipulating its contents. To "
+"create a real application, you probably want to do a little bit more. Try "
+"adding features on your own. Here are a few ideas:"
+msgstr ""
+"Este tutorial le ha mostrado cÃmo crear una aplicaciÃn sencilla usando GTK+ "
+"y WebKit, incluyendo cÃmo mostrar un documento y manipular su contenido. "
+"Para crear una aplicaciÃn real, probablemente quiera hacer algo mÃs. Pruebe "
+"a aÃadir caracterÃsticas usted mismo. Aquà hay algunas ideas:"
+
+#: C/message-board.c.page:372(p)
+msgid ""
+"If you're comfortable with CSS, try changing the style of the message "
+"display. CSS is easy to get started with, but increasingly more powerful. "
+"There is a wealth of CSS tutorials on the Internet, and just about "
+"everything you can do on the web, you can do in this application."
+msgstr ""
+"Si se siente cÃmo usando CSS, pruebe a cambiar el estilo de la visualizaciÃn "
+"del mensaje. Es fÃcil iniciarse en CSS, pero cada vez es mÃs potente. Hay "
+"una gran cantidad de tutoriales de CSS en Internet, y casi todo lo que se "
+"puede hacer en una pÃgina web, se puede hacer en esta aplicaciÃn."
+
+#: C/message-board.c.page:378(p)
+msgid ""
+"Right now, you lose all your messages whenever you close the message board. "
+"Try saving the HTML contents after each post, and loading the saved file (if "
+"it exists) on startup."
+msgstr ""
+"Ahora mismo, todos los mensajes se pierden al cerras el cuadro de mensajes. "
+"Pruebe a guardar el contenido HTML despuÃs de cada envÃo, y a cargar el "
+"archivo guardado (si existe) al inicio."
+
+#: C/message-board.c.page:382(p)
+msgid "Link to method to get HTML from DOM and to GIO APIs."
+msgstr "Enlace al mÃtodo para obtener el HTML del DOM y de las API de GIO."
+
+#: C/message-board.c.page:386(p)
+msgid ""
+"If you keep your messages around for a long time, you'll start wondering "
+"when you posted them. Add a timestamp to each message when it's posted. "
+"You'll probably want to create some additional child <code>div</code> "
+"elements with different classes that you can style in the CSS."
+msgstr ""
+"Si guarda sus mensajes durante mucho tiempo, empezarà a preguntarse dÃnde "
+"los escribiÃ. AÃada una marca de tiempo a cada mensaje cuando se envÃa. "
+"Probablemente quiera crear algÃn elemento <code>div</code> hijo adicional "
+"con diferentes clases que puede modelar en el CSS."
+
+#: C/message-board.c.page:390(p)
+msgid "Link to strftime or something"
+msgstr "Enlace a strftime o algo"
+
+#: C/message-board.c.page:393(p)
+msgid ""
+"This program keeps messages around forever. Think about ways you could allow "
+"the user to delete messages. Perhaps you want messages to disappear "
+"automatically after they're too old, or after there are a certain number of "
+"messages before them. Or you could add a link in each message to delete it. "
+"You could even override the context menu when you right-click on a message. "
+"These features involve exploring WebKit's DOM API more."
+msgstr ""
+"Este programa guarda los mensajes para siempre. Piense alguna manera para "
+"que el usuario pueda borrar mensajes. Tal vez quiera que los mensajes "
+"desaparezca automÃticamente cuando son muy antiguos o despuÃs de que haya "
+"cierto nÃmero de mensajes por delante. O podrÃa aÃadir un enlace en cada "
+"mensaje para borrarlo. TambiÃn puede omitir el menà contextual cuando pulsa "
+"con el botÃn derecho sobe un mensaje. Esta caracterÃsticas implican explorar "
+"mÃs la API del DOM de WebKit."
+
+#. 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"
+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)
+#, 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)
+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 "
+"GtkMenuButton widget can hold any valid child widget. That is, it can hold "
+"almost any other standard GtkWidget. The most commonly used child is the "
+"provided GtkArrow."
+msgstr ""
+
+#: C/menubutton.js.page:25(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"
+
+#. 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"
+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"
+msgid ""
+"@@image: 'media/menubar_choices.png'; md5=47cdfa12caf85ba20dd3e835bd7f893f"
+msgstr ""
+"@@image: 'media/menubar_choices.png'; md5=47cdfa12caf85ba20dd3e835bd7f893f"
+
+#: C/menubar.vala.page:18(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
+#| msgid "Menu"
+msgid "MenuBar"
+msgstr "MenuÌ"
+
+#: C/menubar.vala.page:23(p)
+#| msgid "Toolbar created using Glade"
+msgid "A MenuBar created using XML and GtkBuilder."
+msgstr "Una barra de menà usando XML y GtkBuilder."
+
+#: C/menubar.vala.page:27(title)
+msgid "Create a MenuBar using XML"
+msgstr "Crear una barra de menà usando XML"
+
+#: C/menubar.vala.page:28(p)
+msgid "To create the menubar using XML:"
+msgstr "Para crear la barra de menà usando XML:"
+
+#: C/menubar.vala.page:30(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:"
+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)
+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>, "
+"<gui>Choices</gui> and <gui>Help</gui> submenus. We add the following XML "
+"code to the file:"
+msgstr ""
+
+#: C/menubar.vala.page:38(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)
+msgid "Add the MenuBar to the window using GtkBuilder"
+msgstr ""
+
+#: C/menubar.vala.page:43(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)
+msgid "Add items to the menus"
+msgstr ""
+
+#: C/menubar.vala.page:50(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 "
+"the <code>File</code> submenu with these items. The <file>menubar.ui</file> "
+"should look like this (lines 6 to 13 inclusive comprise the newly added "
+"section):"
+msgstr ""
+
+#: C/menubar.vala.page:78(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. We will hold off "
+"on adding items to the <link xref=\"menubar.vala#choices\">Choices submenu</"
+"link> until further in the tutorial."
+msgstr ""
+
+#: C/menubar.vala.page:80(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"
+msgid "Setup actions"
+msgstr "Configurar las acciones"
+
+#: C/menubar.vala.page:86(p)
+msgid "This is a three step process."
+msgstr ""
+
+#: C/menubar.vala.page:88(p)
+msgid ""
+"First we create the ActionEntry array in the MyApplication class. An "
+"ActionEntry consists of:"
+msgstr ""
+
+#: C/menubar.vala.page:91(p)
+msgid "the \"action name\" (mandatory)"
+msgstr ""
+
+#: C/menubar.vala.page:92(p)
+msgid ""
+"the callback function to connect to the \"activate\" signal of the action "
+"(if applicable)"
+msgstr ""
+
+#: C/menubar.vala.page:93(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)
+msgid "the initial state for this action (if applicable)"
+msgstr ""
+
+#: C/menubar.vala.page:95(p)
+msgid "the callback to connect to \"change-state\" signal (if applicable)"
+msgstr ""
 
-#: C/message-board.c.page:337(p)
+#: C/menubar.vala.page:97(code)
+#, no-wrap
 msgid ""
-"Also, make sure to add variable declarations for <code>tmp</code> and "
-"<code>css</code> to the top of <code>create_window</code>."
+"\n"
+"const ActionEntry[] actions = {\n"
+"    { \"new\", new_cb }, // {\"action name\", callback_function}\n"
+"    { \"quit\", quit_cb }\n"
+"};"
 msgstr ""
-"AsegÃrese de aÃadir declaraciones de variables para <code>tmp</code> y "
-"<code>css</code> a la parte superior de <code>create_window</code>."
+"\n"
+"const ActionEntry[] actions = {\n"
+"    { \"new\", new_cb }, // {\"action name\", callback_function}\n"
+"    { \"quit\", quit_cb }\n"
+"};"
 
-#: C/message-board.c.page:340(code)
+#: C/menubar.vala.page:104(p)
+msgid "Second, we create the callback functions the actions are connected to."
+msgstr ""
+
+#: C/menubar.vala.page:105(code)
 #, no-wrap
 msgid ""
 "\n"
-"gchar *tmp, *css;\n"
+"void new_cb (SimpleAction action, Variant? parameter) {\n"
+"    print (\"You clicked \\\"New\\\"\\n\");\n"
+"    //new MyWindow (this).show ();\n"
+"}\n"
+"\n"
+"void quit_cb (SimpleAction action, Variant? parameter) {\n"
+"    print (\"You clicked \\\"Quit\\\"\\n\");\n"
+"    //this.quit ();  **Bug #674090**\n"
+"}"
 msgstr ""
 "\n"
-"gchar *tmp, *css;\n"
+"void new_cb (SimpleAction action, Variant? parameter) {\n"
+"    print (\"You clicked \\\"New\\\"\\n\");\n"
+"    //new MyWindow (this).show ();\n"
+"}\n"
+"\n"
+"void quit_cb (SimpleAction action, Variant? parameter) {\n"
+"    print (\"You clicked \\\"Quit\\\"\\n\");\n"
+"    //this.quit ();  **Bug #674090**\n"
+"}"
 
-#: C/message-board.c.page:344(p)
+#: C/menubar.vala.page:116(p)
 msgid ""
-"A data URI starts with <sys>data:</sys> and some information about the "
-"content type and how the data is encoded. The actual data follows after a "
-"comma, in this case encoded in Base64. Unlike other URI schemes like "
-"<sys>http:</sys>, <sys>ftp:</sys>, and <sys>file:</sys>, the <sys>data:</"
-"sys> URI scheme doesn't specify where to find a file to load. Rather, it "
-"gives the entire contents of the file."
+"And lastly, we connect the menu items to the actions in the XML file by "
+"adding the \"action\" attribute:"
 msgstr ""
-"Un URI de datos empieza por <sys>data:</sys> y cierta informaciÃn sobre el "
-"tipo de contenido y cÃmo se codifican los datos. Los datos reales siguen "
-"despuÃs de una coma, en este caso, codificados en Base64. A diferencia de "
-"otros esquemas de URI como <sys>http:</sys>, <sys>ftp:</sys>, y <sys>file:</"
-"sys>, the <sys>data:</sys>, el esquema del URI no especifica dÃnde encontrar "
-"un archivo que cargar. En vez de eso, ofrece el contenido completo del "
-"archivo."
 
-#: C/message-board.c.page:351(p)
+#: C/menubar.vala.page:131(title)
+msgid "Choices submenu and items with state"
+msgstr ""
+
+#: C/menubar.vala.page:133(p)
 msgid ""
-"The code above first encodes your CSS definitions in Base64, then combines "
-"that with a fixed string to create a data URI. The <code>g_strconcat</code> "
-"function can take any number of string arguments and concatenate them all "
-"together, so you have to pass <code>NULL</code> as the final argument so it "
-"knows when to stop. And don't forget to free those temporary strings after "
-"you set the stylesheet property."
+"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 ""
-"El cÃdigo anterior primero codifica las definiciones CSS en Base64, y luego "
-"las combina con una cadena fija para crear una URI de datos. La funciÃn "
-"<code>g_strconcat</code> puede tomar cualquier nÃmero de argumentos de "
-"cadena y concatenarlos todos juntos, por lo que tiene que pasar <code>NULL</"
-"code> como argumento final para que sepa dÃnde parar. No olvide liberar esas "
-"cadenas temporales despuÃs de establecer la propiedad de la hoja de estilos."
 
-#: C/message-board.c.page:358(p)
+#: C/menubar.vala.page:137(title)
+#| msgid "ApplicationWindow"
+msgid "Actions: Application or Window?"
+msgstr "Acciones: ÂaplicaciÃn o ventana?"
+
+#: C/menubar.vala.page:138(p)
 msgid ""
-"Build and run the program again. It should now work exactly the same as at "
-"the end of the last section, except the messages will be nicely styled with "
-"a border and a subtle background gradient."
+"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 ""
-"Construya y ejecute el programa de nuevo. DeberÃa funcionar exactamente "
-"igual que al final de la Ãltima secciÃn, excepto que los mensajes tendrÃn "
-"estilos con un borde y un degradado de fondo sutil."
 
-#: C/message-board.c.page:364(title)
-msgid "Learn more"
-msgstr "Aprender mÃs"
+#: C/menubar.vala.page:141(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/message-board.c.page:366(p)
+#: C/menubar.vala.page:144(p)
 msgid ""
-"This tutorial showed you how to create a basic application using GTK+ and "
-"WebKit, including showing a document and manipulating its contents. To "
-"create a real application, you probably want to do a little bit more. Try "
-"adding features on your own. Here are a few ideas:"
+"The complete example files contain both application actions and window "
+"applications. The window actions are the ones usually included in the <link "
+"xref=\"gmenu.vala\">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 ""
-"Este tutorial le ha mostrado cÃmo crear una aplicaciÃn sencilla usando GTK+ "
-"y WebKit, incluyendo cÃmo mostrar un documento y manipular su contenido. "
-"Para crear una aplicaciÃn real, probablemente quiera hacer algo mÃs. Pruebe "
-"a aÃadir caracterÃsticas usted mismo. Aquà hay algunas ideas:"
 
-#: C/message-board.c.page:372(p)
+#: C/menubar.vala.page:152(title)
+msgid "Complete XML UI file for this example"
+msgstr ""
+
+#: C/menubar.vala.page:155(title)
+#| msgid "Complete code sample"
+msgid "Complete Vala file for this example"
+msgstr "Archivo de vala completo para este ejemplo"
+
+#: C/menubar.vala.page:159(title)
+msgid "Mnemonics"
+msgstr "MnemoÌnicos"
+
+#: C/menubar.vala.page:160(p)
 msgid ""
-"If you're comfortable with CSS, try changing the style of the message "
-"display. CSS is easy to get started with, but increasingly more powerful. "
-"There is a wealth of CSS tutorials on the Internet, and just about "
-"everything you can do on the web, you can do in this application."
+"Labels may contain mnemonics. Mnemonics are underlined characters in the "
+"label, used for keyboard navigation. Mnemonics are created by placing an "
+"underscore before the mnemonic character. For example \"_File\" instead of "
+"just \"File\" in the menubar.ui label attribute."
 msgstr ""
-"Si se siente cÃmo usando CSS, pruebe a cambiar el estilo de la visualizaciÃn "
-"del mensaje. Es fÃcil iniciarse en CSS, pero cada vez es mÃs potente. Hay "
-"una gran cantidad de tutoriales de CSS en Internet, y casi todo lo que se "
-"puede hacer en una pÃgina web, se puede hacer en esta aplicaciÃn."
 
-#: C/message-board.c.page:378(p)
+#: C/menubar.vala.page:161(p)
 msgid ""
-"Right now, you lose all your messages whenever you close the message board. "
-"Try saving the HTML contents after each post, and loading the saved file (if "
-"it exists) on startup."
+"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 ""
-"Ahora mismo, todos los mensajes se pierden al cerras el cuadro de mensajes. "
-"Pruebe a guardar el contenido HTML despuÃs de cada envÃo, y a cargar el "
-"archivo guardado (si existe) al inicio."
 
-#: C/message-board.c.page:382(p)
-msgid "Link to method to get HTML from DOM and to GIO APIs."
-msgstr "Enlace al mÃtodo para obtener el HTML del DOM y de las API de GIO."
+#: C/menubar.vala.page:165(title)
+#| msgid "Selectors"
+msgid "Accelerators"
+msgstr "Aceleradores"
 
-#: C/message-board.c.page:386(p)
+#: C/menubar.vala.page:166(p)
 msgid ""
-"If you keep your messages around for a long time, you'll start wondering "
-"when you posted them. Add a timestamp to each message when it's posted. "
-"You'll probably want to create some additional child <code>div</code> "
-"elements with different classes that you can style in the CSS."
+"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</"
+"key><key>Q</key></keyseq> or to save a file by pressing <keyseq><key>Ctrl</"
+"key><key>S</key></keyseq>. To add an accelerator to the UI definition, you "
+"simply need add an \"accel\" attribute to the item."
 msgstr ""
-"Si guarda sus mensajes durante mucho tiempo, empezarà a preguntarse dÃnde "
-"los escribiÃ. AÃada una marca de tiempo a cada mensaje cuando se envÃa. "
-"Probablemente quiera crear algÃn elemento <code>div</code> hijo adicional "
-"con diferentes clases que puede modelar en el CSS."
 
-#: C/message-board.c.page:390(p)
-msgid "Link to strftime or something"
-msgstr "Enlace a strftime o algo"
+#: C/menubar.vala.page:167(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."
+msgstr ""
 
-#: C/message-board.c.page:393(p)
+#: C/menubar.vala.page:177(title)
+msgid "Translatable strings"
+msgstr "Cadenas traducibles"
+
+#: C/menubar.vala.page:178(p)
 msgid ""
-"This program keeps messages around forever. Think about ways you could allow "
-"the user to delete messages. Perhaps you want messages to disappear "
-"automatically after they're too old, or after there are a certain number of "
-"messages before them. Or you could add a link in each message to delete it. "
-"You could even override the context menu when you right-click on a message. "
-"These features involve exploring WebKit's DOM API more."
+"Since GNOME applications are being translated into <link href=\"http://l10n.";
+"gnome.org/languages/\">many languages</link>, it is important that the "
+"strings in your application are translable. To make a label translatable, "
+"simple set <code>translatable=\"yes\"</code>:"
 msgstr ""
-"Este programa guarda los mensajes para siempre. Piense alguna manera para "
-"que el usuario pueda borrar mensajes. Tal vez quiera que los mensajes "
-"desaparezca automÃticamente cuando son muy antiguos o despuÃs de que haya "
-"cierto nÃmero de mensajes por delante. O podrÃa aÃadir un enlace en cada "
-"mensaje para borrarlo. TambiÃn puede omitir el menà contextual cuando pulsa "
-"con el botÃn derecho sobe un mensaje. Esta caracterÃsticas implican explorar "
-"mÃs la API del DOM de WebKit."
+
+#: C/menubar.vala.page:185(title) C/filechooserdialog.vala.page:33(title)
+#| msgid "In-depth documentation"
+msgid "Relevant API documentation"
+msgstr "DocumentaciÃn de la API relevante"
+
+#: C/menubar.vala.page:190(link)
+msgid "Glib.ActionEntry"
+msgstr "Glib.ActionEntry"
+
+#: C/menubar.vala.page:191(link) C/filechooserdialog.vala.page:40(link)
+#| msgid "Gtk.Widget"
+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"
 
 #. 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.
@@ -6183,10 +7872,10 @@ 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)
@@ -6344,32 +8033,31 @@ msgstr "Un botÃn asociado a un URL"
 msgid "A button that links to a web page."
 msgstr "Un botÃn que enlaza con una pÃgina web."
 
-#: C/linkbutton.py.page:32(title)
-#| msgid "Useful methods for a Window widget"
+#: C/linkbutton.py.page:34(title)
 msgid "Useful methods for a LinkButton widget"
 msgstr "MÃtodos Ãtiles para un widget ÂLinkButtonÂ"
 
-#: C/linkbutton.py.page:34(p)
+#: C/linkbutton.py.page:36(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:35(p)
+#: C/linkbutton.py.page:37(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:36(p)
+#: C/linkbutton.py.page:38(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:44(link) C/linkbutton.c.page:32(link)
+#: C/linkbutton.py.page:46(link) C/linkbutton.c.page:32(link)
 msgid "GtkLinkButton"
 msgstr "GtkLinkButton"
 
@@ -6477,7 +8165,6 @@ msgstr ""
 "        win.show_all()"
 
 #: C/label.py.page:67(title)
-#| msgid "Useful methods for a Dialog widget"
 msgid "Useful methods for a Label widget"
 msgstr "MeÌtodos uÌtiles para un widget ÂLabelÂ"
 
@@ -6628,8 +8315,8 @@ 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)
@@ -7568,9 +9255,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 ""
@@ -7581,8 +9268,7 @@ 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 ""
@@ -8771,24 +10457,20 @@ msgstr ""
 "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:44(link)
+#: C/GtkApplicationWindow.c.page:29(link) C/checkbutton.py.page:46(link)
 #: C/aboutdialog.py.page:45(link)
 msgid "GtkApplicationWindow"
 msgstr "GtkApplicationWindow"
 
 #: C/image.py.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 "
-#| "current directory for this code to work. Use your favorite picture!"
 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)
 msgid ""
@@ -9076,8 +10758,7 @@ msgid ""
 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)
 msgid ""
@@ -9098,20 +10779,19 @@ msgid ""
 "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."
+"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."
 
 #: 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Â."
+"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:76(p)
 msgid ""
@@ -9135,11 +10815,11 @@ msgstr ""
 msgid "Here's what the completed program looks like."
 msgstr "El programa completo se parece a esto."
 
-#: C/helloWorld.js.page:109(title)
+#: C/helloWorld.js.page:112(title)
 msgid "Running the application from Terminal"
 msgstr "Ejecutar la aplicaciÃn desde la terminal"
 
-#: C/helloWorld.js.page:110(p)
+#: C/helloWorld.js.page:113(p)
 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"
@@ -9147,15 +10827,15 @@ 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:110(input)
+#: C/helloWorld.js.page:113(input)
 msgid "chmod +x helloWorld.js"
 msgstr "chmod +x helloWorld.js"
 
-#: C/helloWorld.js.page:111(p)
+#: 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:111(input)
+#: C/helloWorld.js.page:114(input)
 msgid "GJS_PATH=`pwd` gjs helloWorld.js"
 msgstr "GJS_PATH=`pwd` gjs helloWorld.js"
 
@@ -9252,9 +10932,9 @@ msgstr ""
 #: 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>"
+"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/";
@@ -9572,8 +11252,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)."
 
@@ -9614,11 +11294,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 "
@@ -10464,12 +12144,12 @@ msgstr ""
 #: C/guitar-tuner.js.page:145(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 yelp-check validate "
-"*pagechoose a button to be connected and type E.connect(\"clicked\", function"
-"(){playSound(frequencies.E);}); The connect tells that when pushing E, "
-"something should happen. The \"clicked\" tells the type of something "
-"happening to E and then in the function(){}; we the playSound happen with "
-"the correct tune that should be associated to the button."
+"by using the connect method of the button widget. So we choose a button to "
+"be connected and type E.connect(\"clicked\", function(){playSound"
+"(frequencies.E);}); The connect tells that when pushing E, something should "
+"happen. The \"clicked\" tells the type of something happening to E and then "
+"in the function(){}; we the playSound happen with the correct tune that "
+"should be associated to the button."
 msgstr ""
 
 #: C/guitar-tuner.js.page:149(p)
@@ -11183,61 +12863,61 @@ msgstr ""
 msgid "Grid Widget"
 msgstr "Widget de rejilla"
 
-#: C/grid.c.page:33(link) C/button.py.page:49(link) C/button.c.page:34(link)
+#: C/grid.c.page:33(link) C/button.py.page:51(link) C/button.c.page:34(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:25(None)
+#: C/gmenu.vala.page:26(None)
 msgid "@@image: 'media/gmenu.vala.png'; md5=7a9f381fc3ed5bf8d1c50d2acb095400"
 msgstr "@@image: 'media/gmenu.vala.png'; md5=7a9f381fc3ed5bf8d1c50d2acb095400"
 
-#: C/gmenu.vala.page:11(name) C/aboutdialog.vala.page:13(name)
+#: C/gmenu.vala.page:12(name) C/aboutdialog.vala.page:13(name)
 msgid "Ryan Lortie"
 msgstr "Ryan Lortie"
 
-#: C/gmenu.vala.page:12(email) C/aboutdialog.vala.page:14(email)
+#: C/gmenu.vala.page:13(email) C/aboutdialog.vala.page:14(email)
 msgid "desrt desrt ca"
 msgstr "desrt desrt ca"
 
-#: C/gmenu.vala.page:21(desc) C/gmenu.py.page:16(desc)
+#: C/gmenu.vala.page:22(desc) C/gmenu.py.page:16(desc)
 #: C/gmenu.js.page:16(desc) C/gmenu.c.page:16(desc)
 msgid "A simple implementation of GMenuModel"
 msgstr "Una implementaciÃn sencilla del GMenuModel"
 
-#: C/gmenu.vala.page:27(em)
+#: C/gmenu.vala.page:28(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:30(p)
+#: C/gmenu.vala.page:31(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:32(p) C/gmenu.py.page:21(p) C/gmenu.js.page:21(p)
+#: C/gmenu.vala.page:33(p) C/gmenu.py.page:21(p) C/gmenu.js.page:21(p)
 #: C/gmenu.c.page:21(p)
 msgid "A GtkApplication with a simple GMenu and SimpleActions"
 msgstr "Una GtkApplication con un GMenu sencillo y SimpleActions"
 
-#: C/gmenu.vala.page:41(link)
+#: C/gmenu.vala.page:42(link)
 msgid "Menu"
 msgstr "MenuÌ"
 
-#: C/gmenu.vala.page:42(link)
+#: C/gmenu.vala.page:43(link)
 msgid "append"
 msgstr "append"
 
-#: C/gmenu.vala.page:43(link)
+#: C/gmenu.vala.page:44(link)
 msgid "SimpleAction"
 msgstr "SimpleAction"
 
-#: C/gmenu.vala.page:44(link)
+#: C/gmenu.vala.page:45(link)
 msgid "add_action"
 msgstr "add_action"
 
@@ -11382,6 +13062,101 @@ 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"
+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"
+msgid "A widget to choose a font"
+msgstr "Un widget para elegir la tipografÃa"
+
+#: C/fontchooserwidget.py.page:20(title)
+msgid "FontChooserWidget"
+msgstr "FontChooserWidget"
+
+#: C/fontchooserwidget.py.page:23(p)
+#| msgid "A button widget connected to a simple callback function."
+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"
+msgid "Useful methods for a FontChooserWidget"
+msgstr "MÃtodos Ãtiles para un ÂFontChooserWidgetÂ"
+
+#: C/fontchooserwidget.py.page:35(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)
+msgid ""
+"To get the selected font use <code>get_font()</code> or <code>get_font_desc()"
+"</code>."
+msgstr ""
+
+#: C/fontchooserwidget.py.page:37(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"
+msgid "GtkFontChooserWidget"
+msgstr "GtkFontChooserWidget"
+
+#: C/filechooserdialog.vala.page:19(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"
+msgid "FileChooserDialog"
+msgstr "FileChooserDialog"
+
+#: C/filechooserdialog.vala.page:24(title)
+msgid "Overview of the example"
+msgstr ""
+
+#: C/filechooserdialog.vala.page:25(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="
+"\"menubar.vala#win-app\">actions</link>, including the \"open\", \"save\" "
+"and \"save-as\" commands can be found in the <link xref=\"gmenu.vala\">app-"
+"menu</link>. Here, the app-menu is created using an XML UI file, which is "
+"then imported into the application using Gtk.Builder."
+msgstr ""
+
+#: C/filechooserdialog.vala.page:27(title)
+msgid "XML UI file which creates the app-menu"
+msgstr ""
+
+#: C/filechooserdialog.vala.page:30(title)
+#| msgid "Sample Vala code"
+msgid "Vala Code"
+msgstr "CÃdigo en Vala"
+
+#: C/filechooserdialog.vala.page:38(link)
+#| msgid "GtkColorChooser"
+msgid "FileChooser"
+msgstr "FileChooser"
+
+#: C/filechooserdialog.vala.page:41(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)
 msgid "@@image: 'media/entry.png'; md5=8a828cffdcbaa4bad83342e109f28cc8"
@@ -11409,7 +13184,6 @@ 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)
-#| msgid "Useful methods for a Window widget"
 msgid "Useful methods for an Entry widget"
 msgstr "MÃtodos Ãtiles para un widget ÂEntryÂ"
 
@@ -11575,10 +13349,9 @@ 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.
@@ -11616,7 +13389,6 @@ msgid "get_content_area"
 msgstr "get_content_area"
 
 #: C/dialog.py.page:22(p)
-#| msgid "A dialog with the response signal hooked up to a callback function."
 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 "
@@ -11639,8 +13411,8 @@ msgid ""
 "<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)
@@ -11815,21 +13587,26 @@ 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:29(link) C/combobox.py.page:28(link)
-msgid "GtkComboBox"
-msgstr "GtkComboBox"
+#: C/combobox_multicolumn.py.page:33(title) C/combobox.py.page:31(title)
+#| msgid "Useful methods for a Button widget"
+msgid "Useful methods for a ComboBox widget"
+msgstr "MÃtodos Ãtiles para un widget ÂComboBoxÂ"
 
-#: C/combobox_multicolumn.py.page:31(link) C/combobox.py.page:30(link)
-msgid "GtkCellRendererText"
-msgstr "GtkCellRendererText"
+#: C/combobox_multicolumn.py.page:34(p) C/combobox.py.page:32(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:32(link)
+#: C/combobox_multicolumn.py.page:45(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)
 msgid "@@image: 'media/combobox.png'; md5=ab9e91bc1a58fe866cb00dd52159251d"
 msgstr "@@image: 'media/combobox.png'; md5=ab9e91bc1a58fe866cb00dd52159251d"
 
@@ -11841,18 +13618,126 @@ msgstr "Este ComboBox imprime en la terminal cuando cambia su selecciÃn."
 msgid "Gtk.ComboBox"
 msgstr "Gtk.ComboBox"
 
-#: C/combobox.vala.page:30(link)
-msgid "Gtk.CellRendererText"
-msgstr "Gtk.CellRendererText"
-
 #: C/combobox.vala.page:31(link)
 msgid "set_attributes"
 msgstr "set_attributes"
 
-#: C/combobox.py.page:31(link)
+#: C/combobox.py.page:42(link)
 msgid "GtkCellLayout"
 msgstr "GtkCellLayout"
 
+#: C/comboboxtext.js.page:18(desc)
+msgid "A text-only drop-down menu"
+msgstr ""
+
+#: C/comboboxtext.js.page:21(title)
+#| msgid "ComboBox"
+msgid "ComboBoxText"
+msgstr "ComboBoxText"
+
+#: C/comboboxtext.js.page:23(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 "
+"just has basic text options, while a full ComboBox uses a ListStore or "
+"TreeStore (which are basically spreadsheets) to show things like branching "
+"options, or pictures to go alongside each choice."
+msgstr ""
+
+#: C/comboboxtext.js.page:24(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"
+msgid "Creating the ComboBoxText"
+msgstr "Crear el ComboBoxText"
+
+#: C/comboboxtext.js.page:95(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 "
+"number for an ID, starting with 0. To make things simpler, you can actually "
+"create an array for your ComboBoxText entries, then use a for loop to append "
+"them in order, like we did here."
+msgstr ""
+
+#: C/comboboxtext.js.page:96(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 "
+"we connect its <file>changed</file> signal to the _onComboChanged function, "
+"so that it's called whenever you make a new selection from the drop-down "
+"menu."
+msgstr ""
+
+#: C/comboboxtext.js.page:97(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 "
+"ID for each entry than rely on numbers alone, you can use the <file>append</"
+"file> and <file>insert</file> methods. See the links at the bottom of this "
+"tutorial for the details of how to use them."
+msgstr ""
+
+#: C/comboboxtext.js.page:107(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)
+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, "
+"we create the array of responses to use. Since the first string in our "
+"ComboBoxText is just the \"Select distribution\" message, we make the first "
+"string in our array blank."
+msgstr ""
+
+#: C/comboboxtext.js.page:145(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 "
+"entry 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/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)
+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"
+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)
@@ -11928,23 +13813,21 @@ msgstr "Gtk.CheckButton"
 msgid "A toggle button in a window"
 msgstr "Un botÃn conmutador en una ventana"
 
-#: C/checkbutton.py.page:29(p)
+#: C/checkbutton.py.page:31(p)
 msgid ""
 "We could also create the CheckButton with <code>button = Gtk.CheckButton."
 "new_with_label(\"Show Title\")</code>."
 msgstr ""
 
-#: C/checkbutton.py.page:34(title)
-#| msgid "Useful methods for a Window widget"
+#: C/checkbutton.py.page:36(title)
 msgid "Useful methods for a CheckButton widget"
 msgstr "MÃtodos Ãtiles para un widget ÂCheckButtonÂ"
 
-#: C/checkbutton.py.page:46(link) C/checkbutton.c.page:28(link)
+#: C/checkbutton.py.page:48(link) C/checkbutton.c.page:28(link)
 msgid "GtkCheckButton"
 msgstr "GtkCheckButton"
 
 #: C/checkbutton.js.page:16(desc)
-#| msgid "A button which can be connected to other widgets"
 msgid "A box which can be checked or unchecked"
 msgstr "Una casilla que puede estar marcada o desmarcada"
 
@@ -11978,7 +13861,6 @@ msgid ""
 msgstr ""
 
 #: C/checkbutton.js.page:83(title)
-#| msgid "Creating the buttons"
 msgid "Creating the checkbutton"
 msgstr "Crear la casilla"
 
@@ -12061,45 +13943,38 @@ 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:30(title)
-#| msgid "Useful methods for a Window widget"
+#: C/button.py.page:32(title)
 msgid "Useful methods for a Button widget"
 msgstr "MÃtodos Ãtiles para un widget ÂButtonÂ"
 
-#: C/button.py.page:32(p)
+#: C/button.py.page:34(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:34(p)
+#: C/button.py.page:36(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:35(p)
+#: C/button.py.page:37(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)"
 "</code> sets the label as the name of the corresponding stock icon."
 msgstr ""
 
-#: C/button.py.page:36(p)
+#: C/button.py.page:38(p)
 msgid ""
 "To set an image (e.g. a stock image) for the button <code>button</code>:"
 msgstr ""
 
-#: C/button.py.page:37(code)
+#: C/button.py.page:39(code)
 #, no-wrap
-#| msgid ""
-#| "\n"
-#| "image = Gtk.Image()\n"
-#| "image.set_from_stock(Gtk.STOCK_CAPS_LOCK_WARNING, Gtk.IconSize.DIALOG)\n"
-#| "image.show()\n"
-#| "messagedialog.set_image(image)"
 msgid ""
 "\n"
 "image = Gtk.Image()\n"
@@ -12111,7 +13986,7 @@ msgstr ""
 "image.set_from_stock(Gtk.STOCK_ABOUT, Gtk.IconSize.BUTTON)\n"
 "button.set_image(image)"
 
-#: C/button.py.page:41(p)
+#: C/button.py.page:43(p)
 msgid ""
 "You should not set a label for the button after this, otherwise it will show "
 "the label and not the image."
@@ -12119,7 +13994,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:42(p)
+#: C/button.py.page:44(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 "
@@ -12144,7 +14019,6 @@ msgid "Button Widget"
 msgstr "Widget de botÃn"
 
 #: C/button.c.page:24(p)
-#| msgid "A button widget connected to a callback function"
 msgid ""
 "A button widget connected to a callback function that reverses its label "
 "when clicked."
@@ -12247,7 +14121,7 @@ msgstr ""
 "desarrollador de GNOME</app>."
 
 #: C/beginner.vala.page:11(desc) C/beginner.py.page:11(desc)
-#: C/beginner.js.page:15(desc) C/beginner.c.page:11(desc)
+#: C/beginner.c.page:11(desc)
 msgid ""
 "A beginner's guide to GUI programming using GTK+, including code samples and "
 "practice exercises."
@@ -12295,17 +14169,17 @@ msgstr ""
 "programaciÃn de interfaces de usuario usando GTK+."
 
 #: C/beginner.vala.page:35(title) C/beginner.py.page:32(title)
-#: C/beginner.js.page:30(title) C/beginner.c.page:32(title)
+#: C/beginner.js.page:36(title) C/beginner.c.page:32(title)
 msgid "Tutorials"
 msgstr "Tutoriales"
 
 #: C/beginner.vala.page:39(title) C/beginner.py.page:36(title)
-#: C/beginner.js.page:34(title) C/beginner.c.page:36(title)
+#: C/beginner.js.page:40(title) C/beginner.c.page:36(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:36(p) C/beginner.c.page:37(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:"
 
@@ -12330,85 +14204,80 @@ 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:43(title) C/beginner.c.page:62(title)
+#: C/beginner.js.page:49(title) C/beginner.c.page:62(title)
 msgid "Windows"
 msgstr "Ventanas"
 
 #: C/beginner.vala.page:54(title) C/beginner.py.page:51(title)
-#: C/beginner.js.page:45(title) C/beginner.c.page:65(title)
+#: C/beginner.js.page:51(title) C/beginner.c.page:65(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:47(title) C/beginner.c.page:67(title)
+#: C/beginner.js.page:53(title) C/beginner.c.page:67(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:49(title) C/beginner.c.page:69(title)
+#: C/beginner.js.page:55(title) C/beginner.c.page:69(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:51(title) C/beginner.c.page:71(title)
+#: C/beginner.js.page:57(title) C/beginner.c.page:71(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:53(title) C/beginner.c.page:73(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:64(title) C/beginner.py.page:61(title)
-#: C/beginner.js.page:55(title) C/beginner.c.page:75(title)
+#: C/beginner.js.page:61(title) C/beginner.c.page:75(title)
 msgid "TreeView widget"
 msgstr "Widget TreeView"
 
 #: C/beginner.vala.page:66(title) C/beginner.py.page:63(title)
-#: C/beginner.js.page:57(title) C/beginner.c.page:77(title)
+#: C/beginner.js.page:63(title) C/beginner.c.page:77(title)
 msgid "Selectors"
 msgstr "Selectores"
 
 #: C/beginner.vala.page:67(title) C/beginner.py.page:64(title)
-#: C/beginner.js.page:58(title) C/beginner.c.page:78(title)
+#: C/beginner.js.page:64(title) C/beginner.c.page:78(title)
 msgid "File selectors"
 msgstr "Selectores de archivos"
 
 #: C/beginner.vala.page:69(title) C/beginner.py.page:66(title)
-#: C/beginner.js.page:60(title) C/beginner.c.page:80(title)
+#: C/beginner.js.page:66(title) C/beginner.c.page:80(title)
 msgid "Font selectors"
 msgstr "Selectores de tipografÃas"
 
 #: C/beginner.vala.page:71(title) C/beginner.py.page:68(title)
-#: C/beginner.js.page:62(title) C/beginner.c.page:82(title)
+#: C/beginner.js.page:68(title) C/beginner.c.page:82(title)
 msgid "Color Selectors"
 msgstr "Selectores de color"
 
 #: C/beginner.vala.page:74(title) C/beginner.py.page:71(title)
-#: C/beginner.js.page:65(title) C/beginner.c.page:85(title)
+#: C/beginner.js.page:71(title) C/beginner.c.page:85(title)
 msgid "Layout containers"
 msgstr "Contenedores de la distribuciÃn"
 
 #: C/beginner.vala.page:76(title) C/beginner.py.page:73(title)
-#: C/beginner.js.page:67(title) C/beginner.c.page:87(title)
+#: C/beginner.js.page:73(title) C/beginner.c.page:87(title)
 msgid "Ornaments"
 msgstr "Adornos"
 
 #: C/beginner.vala.page:78(title) C/beginner.py.page:75(title)
-#: C/beginner.js.page:69(title) C/beginner.c.page:89(title)
+#: C/beginner.js.page:75(title) C/beginner.c.page:89(title)
 msgid "Scrolling"
 msgstr "Desplazamiento"
 
 #: C/beginner.vala.page:80(title) C/beginner.py.page:77(title)
-#: C/beginner.js.page:71(title) C/beginner.c.page:91(title)
+#: C/beginner.js.page:77(title) C/beginner.c.page:91(title)
 msgid "Miscellaneous"
 msgstr "Varios"
 
-#: C/beginner.vala.page:85(title) C/beginner.py.page:82(title)
-#: C/beginner.js.page:76(title) C/beginner.c.page:96(title)
-msgid "Exercises"
-msgstr "Ejercicios"
-
 #: C/beginner.py.page:20(p)
 msgid ""
 "If you have never programmed before, or are not familiar with the concepts "
@@ -12436,20 +14305,57 @@ msgstr "Copie y pegue el cÃdigo en <var>nombre_archivo</var>.py"
 msgid "python <var>filename</var>.py"
 msgstr "python <var>nombre_archivo</var>.py"
 
+#: 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 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:"
+"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:22(p)
+#: 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 "
@@ -12457,50 +14363,36 @@ msgid ""
 "for the web, you only need to read up to chapter 10 or so."
 msgstr ""
 
-#: C/beginner.js.page:23(p)
+#: 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. If you're already "
-"using one of those distributions, you can install GNOME using its package "
-"manager, then log out and choose a GNOME session as you log back in."
-msgstr ""
-
-#: C/beginner.js.page:25(p)
-msgid ""
-"JavaScript is normally seen as a basic web scripting language, but despite "
-"its simplicity it's also a first-class language for writing GNOME "
-"applications with. Unlike with other platforms, GNOME applications written "
-"in JavaScript aren't web apps running on the desktop and using a limited set "
-"of features. In fact, <link href=\"https://live.gnome.org/GnomeShell/Tour";
-"\">GNOME Shell</link> itself is written in JavaScript, and you can use "
-"JavaScript to write your own extensions for it as well as full-featured "
-"applications."
+"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:26(p)
+#: C/beginner.js.page:30(p)
 msgid ""
-"These tutorials will teach you the basics of how to do so, and show you how "
-"to find more detailed reference material for when you are ready to move on."
+"<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:35(p)
+#: C/beginner.js.page:41(p)
 msgid ""
-"These samples show how to use certain widgets and features in your GNOME "
-"applications. Each one demonstrates a complete application which showcases "
-"the featured widget, and may have step-by-step instructions which show how "
-"to build and customize it. Links at the end of each sample will take you to "
-"more detailed reference material, if you need it."
+"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:38(p)
+#: 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:39(p)
+#: C/beginner.js.page:45(p)
 msgid "In the terminal, type:"
 msgstr "Escriba en la terminal:"
 
-#: C/beginner.js.page:40(screen)
+#: C/beginner.js.page:46(screen)
 #, no-wrap
 msgid "gjs <var>filename</var>.js"
 msgstr "gjs <var>nombre_archivo</var>.js"
@@ -12588,7 +14480,6 @@ msgstr ""
 "muestra al pulsar el elemento de menà ÂAcerca deÂ)."
 
 #: C/aboutdialog.py.page:34(title)
-#| msgid "Useful methods for a Dialog widget"
 msgid "Useful methods for an AboutDialog widget"
 msgstr "MeÌtodos uÌtiles para un widget ÂAboutDialogÂ"
 
@@ -12617,6 +14508,13 @@ msgstr ""
 "Daniel Mustieles <daniel mustieles gmail com>, 2011-2012\n"
 "Jorge GonzÃlez <jorgegonz svn gnome org>, 2011"
 
+#~ msgid ""
+#~ "A generic example is: <code>handler_id = widget.connect(\"event\", "
+#~ "callback, data)</code>."
+#~ msgstr ""
+#~ "Un ejemplo genÃrico es: <code>handler_id = widget.connect(\"event\", "
+#~ "callback, data)</code>."
+
 #~| msgid "A button which retains state"
 #~ msgid "A button which retains state."
 #~ msgstr "Un botÃn que mantiene su estado."
@@ -12678,20 +14576,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"
@@ -12715,19 +14613,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 ""
@@ -12948,21 +14846,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 "
@@ -13004,10 +14902,6 @@ msgstr ""
 #~ msgid "What you should know before you jump in"
 #~ msgstr "Quà deberÃa saber antes de empezar"
 
-#~| msgid "Getting Ready"
-#~ msgid "Getting started"
-#~ msgstr "Inicio"
-
 #~ msgid ""
 #~ "This assumes the reader knows how to.... By the end of this page, the "
 #~ "reader will be able to...."



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