[gnome-devel-docs] Updated Spanish translation



commit e650786e0e63cda821f092f295cdfc524e9fda7b
Author: Daniel Mustieles <daniel mustieles gmail com>
Date:   Tue Jun 26 21:58:17 2012 +0200

    Updated Spanish translation

 platform-demos/es/es.po | 2895 ++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 2338 insertions(+), 557 deletions(-)
---
diff --git a/platform-demos/es/es.po b/platform-demos/es/es.po
index dee66c6..74b299f 100644
--- a/platform-demos/es/es.po
+++ b/platform-demos/es/es.po
@@ -8,15 +8,15 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: gnome-devel-docs.platform-demos.master\n"
-"POT-Creation-Date: 2012-06-14 21:12+0000\n"
-"PO-Revision-Date: 2012-06-15 12:02+0200\n"
+"POT-Creation-Date: 2012-06-25 12:51+0000\n"
+"PO-Revision-Date: 2012-06-26 21:06+0200\n"
 "Last-Translator: Daniel Mustieles <daniel mustieles gmail com>\n"
 "Language-Team: EspaÃol <gnome-es-list gnome org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: KBabel 1.11.4\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.
@@ -96,26 +96,31 @@ msgstr "tiffany antopolski gmail com"
 #: C/treeview_simple_liststore.py.page:15(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:15(years)
-#: C/togglebutton.c.page:17(years) C/textview.vala.page:13(years)
-#: C/textview.py.page:14(years) C/switch.vala.page:17(years)
-#: C/switch.py.page:17(years) C/switch.c.page:13(years)
-#: C/statusbar.vala.page:16(years) C/statusbar.py.page:16(years)
-#: C/statusbar.js.page:13(years) C/spinner.vala.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/switch.vala.page:17(years) C/switch.py.page:18(years)
+#: C/switch.js.page:13(years) C/switch.c.page:13(years)
+#: C/strings.py.page:20(years) C/statusbar.vala.page:16(years)
+#: C/statusbar.py.page:16(years) C/statusbar.js.page:13(years)
+#: C/statusbar.c.page:17(years) C/spinner.vala.page:13(years)
 #: C/spinner.py.page:13(years) C/spinner.js.page:13(years)
 #: C/spinner.c.page:14(years) C/spinbutton.vala.page:15(years)
-#: C/spinbutton.py.page:14(years) C/separator.py.page:14(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/scrolledwindow.vala.page:14(years) C/scrolledwindow.py.page:13(years)
 #: C/scale.vala.page:15(years) C/scale.py.page:14(years)
-#: C/radiobutton.vala.page:16(years) C/radiobutton.py.page:16(years)
-#: C/radiobutton.c.page:13(years) C/progressbar.vala.page:13(years)
-#: C/progressbar.py.page:13(years) C/progressbar.js.page:12(years)
-#: C/messagedialog.vala.page:13(years) C/messagedialog.py.page:13(years)
-#: C/messagedialog.js.page:13(years) C/linkbutton.vala.page:13(years)
-#: C/linkbutton.py.page:13(years) C/linkbutton.js.page:13(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/messagedialog.vala.page:13(years) C/messagedialog.py.page:14(years)
+#: C/messagedialog.js.page:16(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:13(years) C/label.py.page:18(years)
-#: C/label.js.page:13(years) C/label.c.page:13(years)
+#: C/label.py.page:14(years) C/label.py.page:19(years)
+#: C/label.js.page:13(years) C/label.c.page:14(years)
 #: C/image.vala.page:13(years) C/image.py.page:13(years)
 #: C/image.c.page:13(years) C/helloworldautotools.js.page:12(years)
 #: C/helloWorld.js.page:12(years) C/guitar-tuner.js.page:12(years)
@@ -128,17 +133,18 @@ msgstr "tiffany antopolski gmail com"
 #: C/gmenu.vala.page:13(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/dialog.vala.page:13(years)
-#: C/dialog.py.page:13(years) C/dialog.js.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/colorbutton.vala.page:15(years) C/colorbutton.py.page:13(years)
-#: C/checkbutton.vala.page:13(years) C/checkbutton.py.page:13(years)
+#: C/checkbutton.vala.page:13(years) C/checkbutton.py.page:14(years)
 #: C/checkbutton.js.page:13(years) C/checkbutton.c.page:13(years)
-#: C/button.vala.page:14(years) C/button.py.page:13(years)
-#: C/button.js.page:13(years) C/button.c.page:13(years)
+#: C/button.vala.page:14(years) C/button.py.page:14(years)
+#: C/button.js.page:13(years) C/button.c.page:15(years)
 #: C/beginner.js.page:12(years) C/aboutdialog.vala.page:15(years)
-#: C/aboutdialog.py.page:13(years) C/aboutdialog.js.page:12(years)
+#: C/aboutdialog.py.page:14(years) C/aboutdialog.js.page:12(years)
 msgid "2012"
 msgstr "2012"
 
@@ -169,45 +175,49 @@ msgstr ""
 #: C/treeview_simple_liststore.py.page:26(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:26(p)
+#: C/togglebutton.vala.page:27(p) C/togglebutton.py.page:40(p)
 #: C/togglebutton.c.page:30(p) C/textview.vala.page:29(p)
-#: C/textview.py.page:31(p) C/switch.vala.page:30(p) C/switch.py.page:30(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/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:25(p) C/separator.py.page:27(p)
-#: C/scrolledwindow.vala.page:25(p) C/scrolledwindow.py.page:24(p)
-#: C/scale.vala.page:26(p) C/scale.py.page:25(p) C/radiobutton.vala.page:27(p)
-#: C/radiobutton.py.page:27(p) C/radiobutton.c.page:26(p)
-#: C/progressbar.vala.page:34(p) C/progressbar.py.page:52(p)
-#: C/progressbar.js.page:33(p) C/messagedialog.vala.page:25(p)
-#: C/messagedialog.py.page:51(p) C/messagedialog.js.page:24(p)
-#: C/linkbutton.vala.page:24(p) C/linkbutton.py.page:26(p)
-#: C/linkbutton.js.page:24(p) C/linkbutton.c.page:26(p)
-#: C/label.vala.page:25(p) C/label.py.page:83(p) C/label.js.page:24(p)
-#: C/label.c.page:30(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:24(p)
-#: C/entry.js.page:24(p) C/dialog.vala.page:26(p) C/dialog.py.page:42(p)
-#: C/dialog.js.page:24(p) C/combobox_multicolumn.py.page:25(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/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/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/colorbutton.vala.page:26(p) C/colorbutton.py.page:24(p)
-#: C/checkbutton.vala.page:24(p) C/checkbutton.py.page:24(p)
-#: C/checkbutton.c.page:24(p) C/button.js.page:25(p) C/button.c.page:26(p)
-#: C/aboutdialog.vala.page:33(p) C/aboutdialog.py.page:34(p)
-#: C/aboutdialog.js.page:23(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/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/progressbar.js.page:38(link) C/messagedialog.js.page:30(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/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)
@@ -249,41 +259,42 @@ 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:13(name)
-#: C/textview.py.page:12(name) C/switch.py.page:15(name)
-#: C/statusbar.py.page:14(name) C/spinner.py.page:11(name)
-#: C/spinbutton.py.page:12(name) C/separator.py.page:12(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:14(name) C/progressbar.py.page:11(name)
-#: C/messagedialog.py.page:11(name) C/linkbutton.py.page:11(name)
-#: C/label.py.page:11(name) C/image.py.page:11(name)
-#: C/GtkApplicationWindow.py.page:16(name) C/entry.py.page:11(name)
-#: C/dialog.py.page:11(name) C/combobox_multicolumn.py.page:12(name)
-#: C/combobox.py.page:11(name) C/colorbutton.py.page:11(name)
-#: C/checkbutton.py.page:11(name) C/button.py.page:11(name)
-#: C/aboutdialog.py.page:11(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/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)
 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:14(email)
-#: C/textview.py.page:13(email) C/switch.py.page:16(email)
-#: C/statusbar.py.page:15(email) C/spinner.py.page:12(email)
-#: C/spinbutton.py.page:13(email) C/separator.py.page:13(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:15(email) C/progressbar.py.page:12(email)
-#: C/messagedialog.py.page:12(email) C/linkbutton.py.page:12(email)
-#: C/label.py.page:12(email) C/image.py.page:12(email)
-#: C/GtkApplicationWindow.py.page:17(email) C/entry.py.page:12(email)
-#: C/dialog.py.page:12(email) C/combobox_multicolumn.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/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:12(email) C/button.py.page:12(email)
-#: C/aboutdialog.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"
 
 #: C/window.py.page:30(p)
-#| msgid "A minimal Gtk+ Application."
 msgid "A minimal Gtk+ Application: a window with a title."
 msgstr "Una aplicaciÃn mÃnima en GTK+: una ventana con un tÃtulo"
 
@@ -295,11 +306,17 @@ msgstr ""
 "Use una <link href=\"GtkApplicationWindow.py\">ventana de aplicaciÃn</link> "
 "si necesita soporte para GMenu."
 
-#: C/window.py.page:41(title) C/statusbar.py.page:29(title)
-#: C/spinner.py.page:26(title) C/progressbar.py.page:36(title)
-#: C/messagedialog.py.page:26(title) C/label.py.page:31(title)
+#: 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/dialog.py.page:26(title) C/aboutdialog.py.page:26(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)
 msgid "Code used to generate this example"
 msgstr "CÃdigo usado para generar este ejemplo"
 
@@ -307,11 +324,12 @@ msgstr "CÃdigo usado para generar este ejemplo"
 msgid "Useful methods for a Window widget"
 msgstr "MÃtodos Ãtiles para un widget ÂWindowÂ"
 
-#: C/window.py.page:50(p)
+#: C/window.py.page:49(p)
 msgid ""
 "<code>window = Gtk.Window(application=self, title=\"Welcome to GNOME\")</"
 "code> sets the title as well, without the need for the line <code>window."
-"set_title(\"Welcome to GNOME\")</code>."
+"set_title(\"Welcome to GNOME\")</code>. For a general discussion of this, "
+"see <link xref=\"properties.py\">here</link>."
 msgstr ""
 
 #: C/window.py.page:51(p) C/GtkApplicationWindow.py.page:40(p)
@@ -324,59 +342,72 @@ msgstr ""
 #: C/window.py.page:52(p) C/GtkApplicationWindow.py.page:41(p)
 msgid ""
 "<code>set_position(Gtk.WindowPosition.CENTER)</code> centers the window. "
-"Other options are described in the <link href=\"http://developer.gnome.org/";
-"gtk3/3.4/gtk3-Standard-Enumerations.html#GtkWindowPosition\">standard "
-"enumerations</link> (with the caveat that they should be changed on the "
-"model of Gtk.WindowPosition.CENTER)."
+"Other options are <code>Gtk.WindowPosition.NONE, Gtk.WindowPosition.MOUSE, "
+"Gtk.WindowPosition.CENTER_ALWAYS, Gtk.WindowPosition.CENTER_ON_PARENT</code>."
 msgstr ""
 
-#: C/window.py.page:57(title) C/statusbar.py.page:48(title)
-#: C/spinner.py.page:36(title) C/progressbar.py.page:51(title)
-#: C/messagedialog.py.page:50(title) C/label.py.page:82(title)
+#: 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/dialog.py.page:41(title) C/aboutdialog.py.page:33(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)
 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/spinner.c.page:31(link) C/radiobutton.c.page:30(link)
-#: C/messagedialog.py.page:61(link) C/linkbutton.c.page:30(link)
-#: C/label.c.page:34(link) C/image.vala.page:30(link) C/image.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/GtkApplicationWindow.py.page:51(link)
 #: C/GtkApplicationWindow.c.page:28(link) C/grid.c.page:30(link)
-#: C/checkbutton.py.page:28(link) C/button.c.page:30(link)
-#: C/aboutdialog.py.page:41(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/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/spinner.c.page:32(link) C/separator.py.page:31(link)
-#: C/radiobutton.py.page:31(link) C/radiobutton.c.page:31(link)
-#: C/messagedialog.py.page:57(link) C/linkbutton.py.page:30(link)
-#: C/linkbutton.c.page:31(link) C/label.py.page:86(link)
-#: C/label.c.page:35(link) C/image.py.page:100(link) C/image.c.page:32(link)
-#: C/grid.c.page:31(link) C/dialog.py.page:47(link) C/button.c.page:31(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)
 msgid "GtkWindow"
 msgstr "GtkWindow"
 
-#: C/window.js.page:11(name) C/statusbar.js.page:11(name)
-#: C/spinner.js.page:11(name) C/progressbar.js.page:10(name)
-#: C/messagedialog.js.page:11(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/checkbutton.js.page:11(name)
-#: C/button.js.page:11(name) C/aboutdialog.js.page:10(name)
+#: C/window.js.page:11(name) C/togglebutton.js.page:11(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/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/statusbar.js.page:12(email)
-#: C/spinner.js.page:12(email) C/progressbar.js.page:11(email)
-#: C/messagedialog.js.page:12(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/button.js.page:12(email)
-#: C/aboutdialog.js.page:11(email)
+#: C/window.js.page:12(email) C/togglebutton.js.page:12(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/button.js.page:12(email) C/aboutdialog.js.page:11(email)
 msgid "jewelfox fursona net"
 msgstr "jewelfox fursona net"
 
@@ -713,7 +744,10 @@ 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/statusbar.js.page:26(title) C/helloWorld.js.page:23(link)
+#: 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)
 msgid "Libraries to import"
@@ -814,8 +848,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."
@@ -983,8 +1017,11 @@ msgid "Tutorials, code samples and platform demos in Vala"
 msgstr ""
 "Tutoriales, ejemplos de cÃdigo y demostraciones de la plataforma en Vala"
 
-#: C/translate.page:12(years) C/index.page:19(years)
-#: C/documentation.page:12(years) C/bug-filing.page:11(years)
+#: 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)
 msgid "2011"
 msgstr "2011"
 
@@ -1213,7 +1250,7 @@ msgstr ""
 
 #: C/toolbar_builder.vala.page:30(p)
 msgid "Open Glade, and save the file as <file>toolbar_builder.ui</file>"
-msgstr ""
+msgstr "Abra Glade y guarde el archivo como <file>toolbar_builder.ui</file>"
 
 #: C/toolbar_builder.vala.page:31(media)
 msgid "Screenshot of Glade ui"
@@ -1314,8 +1351,8 @@ msgid "action name"
 msgstr "nombre de la acciÃn"
 
 #: C/toolbar_builder.vala.page:79(p) C/label.vala.page:19(title)
-#: C/label.py.page:24(title) C/label.js.page:19(title)
-#: C/label.c.page:19(title)
+#: C/label.py.page:25(title) C/label.js.page:19(title)
+#: C/label.c.page:20(title)
 msgid "Label"
 msgstr "Label"
 
@@ -1499,7 +1536,7 @@ msgstr "Elementos del almacÃn"
 msgid "GtkActionable"
 msgstr "GtkActionable"
 
-#: C/toolbar.py.page:36(link) C/togglebutton.py.page:31(link)
+#: C/toolbar.py.page:36(link) C/togglebutton.py.page:43(link)
 msgid "GtkWidget"
 msgstr "GtkWidget"
 
@@ -1525,77 +1562,236 @@ msgstr "Gdk.WindowState"
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/togglebutton.vala.page:23(None) C/togglebutton.py.page:22(None)
-#: C/togglebutton.c.page:25(None)
+#: C/togglebutton.vala.page:23(None) C/togglebutton.py.page:23(None)
+#: C/togglebutton.js.page:20(None) C/togglebutton.c.page:25(None)
 msgid "@@image: 'media/togglebutton.png'; md5=791e062613d4f9bd5936390b0aa18448"
 msgstr ""
 "@@image: 'media/togglebutton.png'; md5=791e062613d4f9bd5936390b0aa18448"
 
-#: C/togglebutton.vala.page:19(desc) C/togglebutton.py.page:18(desc)
+#: C/togglebutton.vala.page:19(desc) C/togglebutton.py.page:19(desc)
+#: C/togglebutton.c.page:20(desc)
 msgid "A button which retains state"
 msgstr "Un botÃn que mantiene su estado"
 
-#: C/togglebutton.vala.page:22(title) C/togglebutton.py.page:21(title)
+#: C/togglebutton.vala.page:22(title) C/togglebutton.py.page:22(title)
+#: C/togglebutton.js.page:19(title)
 msgid "ToggleButton"
 msgstr "ToggleButton"
 
-#: C/togglebutton.vala.page:24(p) C/togglebutton.py.page:23(p)
+#: C/togglebutton.vala.page:24(p) C/togglebutton.py.page:24(p)
 #: C/togglebutton.c.page:26(p)
 msgid "When this ToggleButton is in an active state, the spinner spins."
 msgstr "Cuando este ToggleButton està activado, el indicador de progreso gira."
 
-#: C/togglebutton.vala.page:31(link)
+#: C/togglebutton.vala.page:31(link) C/togglebutton.js.page:157(link)
 msgid "Gtk.ToggleButton"
 msgstr "Gtk.ToggleButton"
 
-#: C/togglebutton.py.page:30(link) C/checkbutton.py.page:30(link)
+#: C/togglebutton.py.page:34(title)
+#| msgid "Useful methods for a Dialog widget"
+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)
+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)
 msgid "GtkToggleButton"
 msgstr "GtkToggleButton"
 
-#: C/togglebutton.py.page:32(link) C/togglebutton.c.page:36(link)
+#: C/togglebutton.py.page:44(link) C/togglebutton.c.page:36(link)
 #: C/spinner.py.page:39(link) C/spinner.c.page:34(link)
 msgid "GtkSpinner"
 msgstr "GtkSpinner"
 
+#: C/togglebutton.js.page:16(desc)
+msgid "Stays pressed until you click it again"
+msgstr ""
+
+#: C/togglebutton.js.page:21(p)
+msgid ""
+"A ToggleButton is like a normal <link xref=\"button.js\">Button,</link> "
+"except that it stays pressed in when you click it. You can use it like an on/"
+"off switch, to control things like the <link xref=\"spinner.js\">Spinner</"
+"link> in this example."
+msgstr ""
+
+#: C/togglebutton.js.page:22(p)
+msgid ""
+"A ToggleButton's get_active method returns true if it's pressed in, and "
+"false if it's not. Its set_active method is used if you want to change its "
+"state without needing to click on it. When it changes state from pressed in "
+"to popped out and vice-versa, it sends out the \"toggled\" signal, which you "
+"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 "
+"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/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"
+
+#: C/togglebutton.js.page:89(p)
+msgid ""
+"We want this <link xref=\"spinner.js\">Spinner</link> to expand vertically "
+"and horizontally, to take up as much space as possible inside the window."
+msgstr ""
+
+#: C/togglebutton.js.page:97(p)
+msgid ""
+"Creating a ToggleButton is a lot like creating a normal <link xref=\"button."
+"js\">Button.</link> The biggest difference is that you're handling a "
+"\"toggled\" signal instead of a \"clicked\" signal. This code binds the "
+"_onToggle function to that signal, so that it's called whenever our "
+"ToggleButton is toggled."
+msgstr ""
+
+#: C/togglebutton.js.page:107(p)
+msgid ""
+"Here we create a simple <link xref=\"grid.js\">Grid</link> to organize "
+"everything in, then attach the Spinner and ToggleButton to it."
+msgstr ""
+
+#: C/togglebutton.js.page:117(p)
+msgid ""
+"Now we add the Grid to the Window, and tell the Window to show itself and "
+"its child widgets when the application is started."
+msgstr ""
+
+#: C/togglebutton.js.page:121(title)
+msgid "Making something happen when the ToggleButton is toggled"
+msgstr ""
+
+#: C/togglebutton.js.page:135(p)
+msgid ""
+"Whenever someone toggles the button, this function checks what its state is "
+"afterwards using get_active and starts or stops the spinner accordingly. We "
+"want it to spin only while the button is pressed in, so if get_active "
+"returns true we start the spinner. Otherwise, we tell it to stop."
+msgstr ""
+
+#: C/togglebutton.js.page:142(p) C/radiobutton.js.page:263(p)
+msgid ""
+"Finally, we create a new instance of the finished RadioButtonExample class, "
+"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)
+msgid "Gtk.Grid"
+msgstr "Gtk.Grid"
+
+#: C/togglebutton.js.page:156(link) C/spinner.vala.page:29(link)
+#: C/spinner.js.page:31(link)
+msgid "Gtk.Spinner"
+msgstr "Gtk.Spinner"
+
 #: C/togglebutton.c.page:15(name) C/switch.c.page:11(name)
-#: C/spinner.c.page:12(name) C/radiobutton.c.page:11(name)
-#: C/linkbutton.c.page:11(name) C/label.c.page:11(name)
-#: C/image.c.page:11(name) C/grid.c.page:11(name) C/button.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)
 msgid "Monica Kochofar"
 msgstr "Monica Kochofar"
 
 #: C/togglebutton.c.page:16(email) C/switch.c.page:12(email)
-#: C/spinner.c.page:13(email) C/radiobutton.c.page:12(email)
-#: C/linkbutton.c.page:12(email) C/label.c.page:12(email)
-#: C/image.c.page:12(email) C/grid.c.page:12(email) C/button.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)
 msgid "monicakochofar gmail com"
 msgstr "monicakochofar gmail com"
 
-#: C/togglebutton.c.page:20(desc)
-#| msgid "A button which retains state"
-msgid "A button which retains state."
-msgstr "Un botÃn que mantiene su estado."
-
 #: C/togglebutton.c.page:23(title)
-#| msgid "ToggleButton"
 msgid "Togglebutton"
 msgstr "Togglebutton"
 
 #: C/togglebutton.c.page:37(link)
-#| msgid "GtkToggleButton"
 msgid "GtkTogglebutton"
 msgstr "GtkTogglebutton"
 
-#: C/togglebutton.c.page:38(link) C/switch.py.page:36(link)
-#: C/switch.c.page:35(link) C/separator.py.page:33(link)
-#: C/radiobutton.py.page:32(link) C/radiobutton.c.page:33(link)
-#: C/grid.c.page:34(link)
+#: C/togglebutton.c.page:38(link) C/switch.py.page:47(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)
 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:21(None)
+#: C/textview.vala.page:25(None) C/textview.py.page:36(None)
 msgid "@@image: 'media/textview.png'; md5=049e859ed1af2d7c93d8cb5cfd9f7792"
 msgstr "@@image: 'media/textview.png'; md5=049e859ed1af2d7c93d8cb5cfd9f7792"
 
@@ -1607,7 +1803,7 @@ msgstr "Un widget que muestra un GtkTextBuffer"
 msgid "TextView widget"
 msgstr "Widget TextView"
 
-#: C/textview.vala.page:20(p) C/textview.py.page:24(p)
+#: C/textview.vala.page:20(p) C/textview.py.page:30(p)
 msgid "If we press \"enter\", we have a new line."
 msgstr "Si se pulsa ÂIntro se obtiene una lÃnea nueva."
 
@@ -1656,23 +1852,31 @@ msgstr "Gtk.WrapMode"
 msgid "Gtk.PolicyType"
 msgstr "Gtk.PolicyType"
 
-#: C/textview.py.page:17(desc)
+#: 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)
+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)
+msgid "sebp k-d-w org"
+msgstr "sebp k-d-w org"
+
+#: C/textview.py.page:24(desc)
 msgid "Widget that displays a GtkTextBuffer"
 msgstr "Un widget que muestra un GtkTextBuffer"
 
-#: C/textview.py.page:20(title)
+#: C/textview.py.page:27(title)
 msgid "TextView"
 msgstr "TextView"
 
-#: C/textview.py.page:22(p)
-msgid "The text reads:"
-msgstr "El texto dice:"
-
-#: C/textview.py.page:23(p)
+#: C/textview.py.page:29(p)
 msgid "This is an example of Gtk.TextView."
 msgstr "Esto es un ejemplo de of Gtk.TextView."
 
-#: C/textview.py.page:25(p)
+#: C/textview.py.page:31(p)
 msgid ""
 "But we can also have a new line if we write a long sentence (the text will "
 "wrap breaking lines between words)."
@@ -1680,60 +1884,264 @@ msgstr ""
 "Pero tambiÃn se obtiene una lÃnea nueva si se escribe una frase larga (el "
 "texto se ajustarà a los saltos de lÃnea entre palabras."
 
-#: C/textview.py.page:26(p)
+#: C/textview.py.page:32(p)
 msgid "If we have a loooooooooooooooooooooooooooooooooooong"
 msgstr "Si es escribe una palabra laaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarga"
 
-#: C/textview.py.page:27(p)
+#: C/textview.py.page:33(p)
 msgid "(that was long)"
 msgstr "(esto es una palabra larga)"
 
-#: C/textview.py.page:28(p)
+#: C/textview.py.page:34(p)
 msgid "word, an horizontal scrollbar will appear."
 msgstr ", aparecerà una barra de desplazamiento horizontal."
 
-#: C/textview.py.page:35(link)
+#: 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Â"
+
+#: C/textview.py.page:48(p) C/label.py.page:68(p)
+msgid ""
+"An explanation of how to deal with strings and Unicode (and a recap of what "
+"these things are) can be found <link xref=\"strings.py.page\">here</link>."
+msgstr ""
+
+#: C/textview.py.page:49(p)
+msgid ""
+"A <code>Gtk.TextView</code> displays the text stored in a <code>Gtk."
+"TextBuffer</code>. However, most text manipulation is accomplished with "
+"iterators, represented by a <code>Gtk.TextIter</code> - a position between "
+"two characters in the text buffer. Iterators are not valid indefinitely; "
+"whenever the buffer is modified in a way that affects the contents of the "
+"buffer, all outstanding iterators become invalid. Because of this, iterators "
+"canât be used to preserve positions across buffer modifications. To preserve "
+"a position, we use a <code>Gtk.TextMark</code>, that can be set visible with "
+"<code>visible(True)</code>. A text buffer contains two built-in marks; an "
+"\"insert\" mark (the position of the cursor) and the \"selection_bound\" "
+"mark."
+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Â:"
+
+#: C/textview.py.page:52(p)
+msgid ""
+"The TextView widget is by default editable. If you prefer otherwise, use "
+"<code>set_editable(False)</code>. If the buffer has no editable text, it "
+"might be a good idea to use <code>set_cursor_visible(False)</code> as well."
+msgstr ""
+
+#: C/textview.py.page:53(p)
+msgid ""
+"The justification of the text is set with <code>set_justification(Gtk."
+"Justification.JUSTIFICATION)</code> where <code>JUSTIFICATION</code> is one "
+"of <code>LEFT, RIGHT, CENTER, FILL</code>."
+msgstr ""
+
+#: C/textview.py.page:54(p)
+msgid ""
+"The line wrapping of the text is set with <code>set_wrap_mode(Gtk.WrapMode."
+"WRAP)</code> where <code>WRAP</code> is one of <code>NONE</code> (the text "
+"area is made wider), <code>CHAR</code> (break lines anywhere the cursor can "
+"appear), <code>WORD</code> (break lines between words), <code>WORD_CHAR</"
+"code> (break lines between words, but if that is not enough between "
+"characters)."
+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Â:"
+
+#: C/textview.py.page:58(p)
+msgid ""
+"<code>get_insert()</code> returns the <code>Gtk.TextMark</code> that "
+"represents the cursor, that is the insertion point."
+msgstr ""
+
+#: C/textview.py.page:59(p)
+msgid ""
+"<code>get_selection_bound()</code> returns the <code>Gtk.TextMark</code> "
+"that represents the selection bound."
+msgstr ""
+
+#: C/textview.py.page:60(p)
+msgid ""
+"<code>set_text(\"some text\", length)</code> where <code>length</code> is a "
+"positive integer or <code>-1</code>, sets the content of the buffer as the "
+"first <code>length</code> characters of the <code>\"some text\"</code> text. "
+"If <code>length</code> is omitted or <code>-1</code>, the text is inserted "
+"completely. The content of the buffer, if there is any, is destroyed."
+msgstr ""
+
+#: C/textview.py.page:61(p)
+msgid ""
+"<code>insert(iter, \"some text\", length)</code> where <code>iter</code> is "
+"a text iterator and <code>length</code> is a positive integer or <code>-1</"
+"code>, inserts in the buffer at <code>iter</code> the first <code>length</"
+"code> characters of the <code>\"some text\"</code> text. If <code>length</"
+"code> is omitted or <code>-1</code>, the text is inserted completely."
+msgstr ""
+
+#: C/textview.py.page:62(p)
+msgid ""
+"<code>insert_at_cursor(\"some text\", length)</code> does the same as "
+"<code>insert(iter, \"some text\", length)</code>, with the current cursor "
+"taken as <code>iter</code>."
+msgstr ""
+
+#: C/textview.py.page:63(p)
+msgid ""
+"<code>create_mark(\"mark_name\", iter, left_gravity)</code> where "
+"<code>iter</code> is a <code>Gtk.TextIter</code> and <code>left_gravity</"
+"code> is a boolean, creates a <code>Gtk.TextMark</code> at the position of "
+"<code>iter</code>. If <code>\"mark_name\"</code> is <code>None</code>, the "
+"mark is anonymous; otherwise, the mark can be retrieved by name using "
+"<code>get_mark()</code>. If a mark has left gravity, and text is inserted at "
+"the markâs current location, the mark will be moved to the left of the newly-"
+"inserted text. If <code>left_gravity</code> is omitted, it defaults to "
+"<code>False</code>."
+msgstr ""
+
+#: C/textview.py.page:65(p)
+msgid ""
+"To specify that some text in the buffer should have specific formatting, you "
+"must define a tag to hold that formatting information, and then apply that "
+"tag to the region of text using <code>create_tag(\"tag name\", property)</"
+"code> and <code>apply_tag(tag, start_iter, end_iter)</code> as in, for "
+"instance:"
+msgstr ""
+
+#: C/textview.py.page:66(code)
+#, no-wrap
+msgid ""
+"\n"
+"tag = textbuffer.create_tag(\"orange_bg\", background=\"orange\")\n"
+"textbuffer.apply_tag(tag, start_iter, end_iter)"
+msgstr ""
+"\n"
+"tag = textbuffer.create_tag(\"orange_bg\", background=\"orange\")\n"
+"textbuffer.apply_tag(tag, start_iter, end_iter)"
+
+#: C/textview.py.page:69(p)
+msgid "The following are some of the common styles applied to text:"
+msgstr ""
+
+#: C/textview.py.page:71(p)
+msgid "Background colour (\"foreground\" property)"
+msgstr ""
+
+#: C/textview.py.page:72(p)
+msgid "Foreground colour (\"background\" property)"
+msgstr ""
+
+#: C/textview.py.page:73(p)
+msgid "Underline (\"underline\" property)"
+msgstr "Subrayado (propiedad ÂunderlineÂ)"
+
+#: C/textview.py.page:74(p)
+msgid "Bold (\"weight\" property)"
+msgstr "Negrita (propiedad ÂweightÂ)"
+
+#: C/textview.py.page:75(p)
+msgid "Italics (\"style\" property)"
+msgstr "Cursiva (propiedad ÂstyleÂ)"
+
+#: C/textview.py.page:76(p)
+msgid "Strikethrough (\"strikethrough\" property)"
+msgstr "Tachado (propiedad ÂstrikethroughÂ)"
+
+#: C/textview.py.page:77(p)
+msgid "Justification (\"justification\" property)"
+msgstr "JustificaciÃn (propiedad ÂjustificationÂ)"
+
+#: C/textview.py.page:78(p)
+msgid "Size (\"size\" and \"size-points\" properties)"
+msgstr ""
+
+#: C/textview.py.page:79(p)
+msgid "Text wrapping (\"wrap-mode\" property)"
+msgstr ""
+
+#: C/textview.py.page:81(p)
+msgid ""
+"You can also delete particular tags later using <code>remove_tag()</code> or "
+"delete all tags in a given region by calling <code>remove_all_tags()</code>."
+msgstr ""
+
+#: C/textview.py.page:83(p)
+#| msgid "Useful methods for a Window widget"
+msgid "Methods for a TextIter widget"
+msgstr "MÃtodos para un widget ÂTextIterÂ"
+
+#: C/textview.py.page:85(p)
+msgid ""
+"<code>forward_search(needle, flags, limit)</code> searches forward for "
+"<code>needle</code>. The search will not continue past the <code>Gtk."
+"TextIter</code> limit. The <code>flags</code> can be set to one of the "
+"following, or any combination of it by concatenating them with the bitwise-"
+"OR operator <code>|</code>: <code>0</code> (the match must be exact); "
+"<code>Gtk.TextSearchFlags.VISIBLE_ONLY</code> (the match may have invisible "
+"text interspersed in needle); <code>Gtk.TextSearchFlags.TEXT_ONLY</code> "
+"(the match may have pixbufs or child widgets mixed inside the matched "
+"range); <code>Gtk.TextSearchFlags.CASE_INSENSITIVE</code> (the text will be "
+"matched regardless of what case it is in). The method returns a tuple "
+"containing a <code>Gtk.TextIter</code> pointing to the start and to the "
+"first character after the match; if no match is found, <code>None</code> is "
+"returned."
+msgstr ""
+
+#: C/textview.py.page:86(p)
+msgid ""
+"<code>backward_search(needle, flags, limit)</code> does the same as "
+"<code>forward_search()</code>, but moving backwards."
+msgstr ""
+
+#: C/textview.py.page:94(link)
 msgid "GtkTextView"
 msgstr "GtkTextView"
 
-#: C/textview.py.page:36(link)
+#: C/textview.py.page:95(link)
 msgid "GtkTextBuffer"
 msgstr "GtkTextBuffer"
 
-#: C/textview.py.page:37(link)
+#: C/textview.py.page:96(link)
 msgid "GtkTextTag"
 msgstr "GtkTextTag"
 
-#: C/textview.py.page:38(link) C/scrolledwindow.py.page:28(link)
+#: C/textview.py.page:97(link) C/scrolledwindow.py.page:42(link)
 msgid "GtkScrolledWindow"
 msgstr "GtkScrolledWindow"
 
-#: C/textview.py.page:39(link) C/scrolledwindow.py.page:29(link)
-#: C/scale.py.page:31(link)
+#: C/textview.py.page:98(link) C/scrolledwindow.py.page:43(link)
+#: C/scale.py.page:56(link)
 msgid "Standard Enumerations"
 msgstr "Enumeraciones estÃndar"
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/switch.vala.page:24(None) C/switch.py.page:24(None)
+#: 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"
 msgstr "@@image: 'media/switch_off.png'; md5=211a2962708800697ad5373dcc86ad6d"
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/switch.vala.page:25(None) C/switch.py.page:25(None)
+#: C/switch.vala.page:25(None) C/switch.py.page:26(None)
 #: C/switch.c.page:22(None)
 msgid "@@image: 'media/switch_on.png'; md5=95e8769f758c2d95ace0fa8ecf30b29d"
 msgstr "@@image: 'media/switch_on.png'; md5=95e8769f758c2d95ace0fa8ecf30b29d"
 
-#: C/switch.vala.page:20(desc) C/switch.py.page:20(desc)
+#: C/switch.vala.page:20(desc) C/switch.py.page:21(desc)
 #: C/switch.c.page:16(desc)
 msgid "A \"light switch\" style toggle"
 msgstr "Un estilo ÂinterruptorÂ"
 
-#: C/switch.vala.page:23(title) C/switch.py.page:23(title)
-#: C/switch.c.page:19(title)
+#: C/switch.vala.page:23(title) C/switch.py.page:24(title)
+#: C/switch.js.page:19(title) C/switch.c.page:19(title)
 msgid "Switch"
 msgstr "Switch"
 
@@ -1741,29 +2149,378 @@ msgstr "Switch"
 msgid "This Switch toggles the title."
 msgstr "Este Switch cambia el tÃtulo."
 
-#: C/switch.vala.page:34(link)
+#: C/switch.vala.page:34(link) C/switch.js.page:271(link)
 msgid "Gtk.Switch"
 msgstr "Gtk.Switch"
 
-#: C/switch.py.page:27(p)
+#: C/switch.py.page:28(p)
 msgid "This Switch makes the title appears and disappear."
 msgstr "Este Switch hace que el tÃtulo aparezca y desaparezca."
 
-#: C/switch.py.page:34(link) C/switch.c.page:34(link)
-#: C/radiobutton.c.page:34(link)
+#: C/switch.py.page:37(title)
+#| msgid "Useful methods for a Window widget"
+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)
+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/radiobutton.c.page:36(link)
 msgid "GtkSwitch"
 msgstr "GtkSwitch"
 
-#: C/switch.py.page:35(link) C/switch.c.page:33(link)
-#: C/radiobutton.c.page:32(link) C/label.py.page:85(link)
-#: C/label.c.page:36(link)
+#: 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)
 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 ""
+"@@image: 'media/switchanimals.png'; md5=513ae15dcf68e15eef30b76420b8c714"
+
+#: C/switch.js.page:16(desc)
+msgid "A sliding switch that can be flipped on and off"
+msgstr "Un interruptor deslizante que se puede activar y desactivar"
+
+#: C/switch.js.page:21(p)
+msgid ""
+"A Switch has two positions, on and off. This example shows how you can use "
+"multiple switches together to control which <link xref=\"image.js\">Image</"
+"link> is shown in the window. The pictures used in this example <link href="
+"\"https://live.gnome.org/TarynFox?action=AttachFile&amp;do=get&amp;";
+"target=Animal+Photos.zip\">can be downloaded here.</link>"
+msgstr ""
+
+#: C/switch.js.page:22(p)
+msgid ""
+"The window will contain a \"broken image\" icon instead of a picture if "
+"picture files named <file>redfox.png</file>, <file>muteswan.png</file>, "
+"<file>fruitbat.png</file>, and <file>gentoopenguin.png</file> aren't in the "
+"same directory. You can change the code and the pictures around as you like, "
+"but the Creative Commons-licensed photos used in this example were taken "
+"from the following sources and cropped to 640x425:"
+msgstr ""
+
+#: C/switch.js.page:24(p)
+msgid ""
+"<link href=\"http://en.wikipedia.org/wiki/File:Fuzzy_Freddy.jpg\";>Red fox "
+"photo</link> by Rob Lee, licensed <link href=\"http://creativecommons.org/";
+"licenses/by/2.0/deed.en\">CC-By</link>"
+msgstr ""
+
+#: C/switch.js.page:25(p)
+msgid ""
+"<link href=\"http://en.wikipedia.org/wiki/File:Pygoscelis_papua_-";
+"Nagasaki_Penguin_Aquarium_-swimming_underwater-8a.jpg\">Gentoo penguin "
+"photo</link> by Ken Funakoshi, licensed <link href=\"http://creativecommons.";
+"org/licenses/by-sa/2.0/deed.en\">CC-By-SA</link>"
+msgstr ""
+
+#: C/switch.js.page:26(p)
+msgid ""
+"<link href=\"http://www.flickr.com/photos/shekgraham/127431519/in/";
+"photostream/\">Fruit bat photo</link> by Shek Graham, licensed <link href="
+"\"http://creativecommons.org/licenses/by/2.0/deed.en\";>CC-By</link>"
+msgstr ""
+
+#: C/switch.js.page:27(p)
+msgid ""
+"<link href=\"http://commons.wikimedia.org/wiki/File:Mute_Swan-";
+"Mindaugas_Urbonas.jpg\">Mute swan photo</link> by Mindaugas Urbonas, "
+"licensed <link href=\"http://creativecommons.org/licenses/by-sa/2.5/deed.en";
+"\">CC-By-SA</link>"
+msgstr ""
+
+#: C/switch.js.page:29(p)
+msgid ""
+"Photo credits and licensing information are shown in the application's <link "
+"xref=\"aboutdialog.js\">AboutDialog.</link> Always remember to credit the "
+"original artist when using <link href=\"http://creativecommons.org";
+"\">Creative Commons-licensed works!</link>"
+msgstr ""
+
+#: C/switch.js.page:73(p)
+msgid ""
+"All the code for this sample goes in the SwitchExample class. The above code "
+"creates a <link href=\"http://www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.";
+"Application.html\">Gtk.Application</link> for our widgets and window to go "
+"in."
+msgstr ""
+
+#: C/switch.js.page:74(p) C/messagedialog.js.page:69(p)
+msgid ""
+"Before we call _buildUI to create the window and the widgets inside it, we "
+"need to call _initMenus, which tells GNOME to create the menu. We can put "
+"the actual code for _initMenus after the code for _buildUI, since it doesn't "
+"matter what order we put them in so long as _initMenus is called first in "
+"_onStartup."
+msgstr ""
+
+#: C/switch.js.page:90(title)
+#| msgid "Creating the user interface"
+msgid "Creating the switches"
+msgstr "Crear los interruptores"
+
+#: C/switch.js.page:96(p)
+msgid ""
+"We first create the <link xref=\"image.js\">Image</link> that the switches "
+"will control. Remember that a file named <file>redfox.png</file> needs to be "
+"in the same directory as this application."
+msgstr ""
+
+#: C/switch.js.page:118(p)
+msgid ""
+"We use a <link xref=\"label.js\">Label</link> to mark each Switch, and give "
+"them a bit of a margin on the right so that they aren't crammed right next "
+"to the Switches. After that we create the Switches, and set them to be "
+"switched off by default."
+msgstr ""
+
+#: C/switch.js.page:119(p)
+msgid ""
+"The signal a switch sends out when it's flipped on or off is called notify::"
+"active. After we create each switch, we connect its notify::active signal to "
+"a function called _switchFlip. If you have multiple switches that each do "
+"something different, you might want to connect them to different functions, "
+"but here they're both used for the same thing: To control what picture's "
+"displayed by _image."
+msgstr ""
+
+#: C/switch.js.page:143(p)
+msgid ""
+"We create a <link xref=\"grid.js\">Grid</link> for the Labels and Switches "
+"first, so that we can organize them in a 2x2 layout with a margin between it "
+"and the Image. Then we put that Grid into a larger 2x1 Grid that has the "
+"Image on top, and the Grid with the Labels and Switches on the bottom."
+msgstr ""
+
+#: C/switch.js.page:152(p) C/spinbutton.js.page:164(p)
+msgid ""
+"Finally, we add the larger Grid to the window, then tell the window to show "
+"itself and all the widgets inside of it."
+msgstr ""
+
+#: C/switch.js.page:156(title)
+msgid "Function which handles the switches being flipped"
+msgstr ""
+
+#: C/switch.js.page:179(p)
+msgid ""
+"Each time a Switch is flipped, this function checks to see which of the two "
+"Switches are active afterwards, using the Switches' built-in get_active() "
+"function. It then changes the Image accordingly. You can change the "
+"filenames around as you like, so long as you have pictures to go with them."
+msgstr ""
+
+#: C/switch.js.page:183(title)
+#| msgid "Creating the buttons"
+msgid "Creating the AboutDialog"
+msgstr "Crear el AboutDialog"
+
+#: C/switch.js.page:210(p)
+msgid ""
+"The first step is building the <link xref=\"gmenu.js\">GMenu</link> that the "
+"\"About\" button goes into. This is the menu that appears when you click the "
+"application's name in the upper-left corner of the screen, next to the "
+"Activities menu. Our menu only has two options in it: About, and Quit."
+msgstr ""
+
+#: C/switch.js.page:246(p)
+msgid ""
+"An <link xref=\"aboutdialog.js\">AboutDialog</link> has a lot of different "
+"things you can set, to credit everyone who worked on the application and "
+"leave a note to whomever reads it. In this case, the copyright section "
+"contains our note and credits the original photographers, while the artists "
+"section shows you a list of the photographers with links to the original "
+"photos when you click the Credits button. The web URLs put after their names "
+"in the array turn their names into clickable links in the Credits section."
+msgstr ""
+
+#: C/switch.js.page:253(p)
+msgid ""
+"Finally, we create a new instance of the finished SwitchExample class, and "
+"set the application running."
+msgstr ""
+
+#: C/switch.js.page:264(link) C/messagedialog.py.page:62(link)
+#: C/messagedialog.js.page:192(link) C/gmenu.vala.page:24(title)
+#: C/gmenu.py.page:19(title) C/gmenu.py.page:30(link)
+#: C/gmenu.js.page:19(title) C/gmenu.js.page:28(link) C/gmenu.c.page:19(title)
+#: C/gmenu.c.page:30(link) C/aboutdialog.py.page:46(link)
+#: C/aboutdialog.js.page:27(link)
+msgid "GMenu"
+msgstr "GMenu"
+
+#: C/switch.js.page:265(link) C/messagedialog.py.page:60(link)
+#: C/messagedialog.js.page:193(link) C/gmenu.py.page:31(link)
+#: C/gmenu.js.page:29(link) C/gmenu.c.page:31(link)
+#: C/aboutdialog.js.page:28(link)
+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."
 
+#: C/strings.py.page:11(desc)
+msgid "An explanation of how to deal with strings in Python and GTK+."
+msgstr "Una explicaciÃn de cÃmo trabajar con cadenas en Python y GTK+."
+
+#: C/strings.py.page:24(title)
+#| msgid "Selecting"
+msgid "Strings"
+msgstr "Cadenas"
+
+#: C/strings.py.page:29(title)
+#| msgid "Define the tones"
+msgid "Definitions"
+msgstr "Definiciones"
+
+#: C/strings.py.page:31(p)
+msgid ""
+"Conceptionally, a <em>string</em> is a list of <em>characters</em> such as "
+"'A', 'B', 'C' or 'Ã'. Characters are abstract representations and their "
+"meaning depends on the language and context they are used in. The "
+"<em>Unicode standard</em> describes how characters are represented by "
+"<em>code points</em>. For example the characters above are represented with "
+"the code points U+0041, U+0042, U+0043, and U+00C9, respectively. Basically, "
+"code points are numbers in the range from 0 to 0x10FFFF."
+msgstr ""
+
+#: C/strings.py.page:33(p)
+msgid ""
+"The representation of a string as a list of code points is abstract. In "
+"order to convert this abstract representation into a sequence of bytes the "
+"Unicode string must be <em>encoded</em>. The simplest from of encoding is "
+"ASCII and is performed as follows:"
+msgstr ""
+
+#: C/strings.py.page:36(p)
+msgid ""
+"If the code point is strictly less than 128, each byte is the same as the "
+"value of the code point."
+msgstr ""
+
+#: C/strings.py.page:37(p)
+msgid ""
+"If the code point is 128 or greater, the Unicode string canât be represented "
+"in this encoding. (Python raises a <sys>UnicodeEncodeError</sys> exception "
+"in this case.)"
+msgstr ""
+
+#: C/strings.py.page:40(p)
+msgid ""
+"Although ASCII encoding is simple to apply it can only encode for 128 "
+"different characters which is hardly enough. One of the most commonly used "
+"encodings that addresses this problem is UTF-8 (it can handle any Unicode "
+"code point). UTF stands for âUnicode Transformation Formatâ, and the â8â "
+"means that 8-bit numbers are used in the encoding."
+msgstr ""
+
+#: C/strings.py.page:45(title)
+#| msgid "Starting the fun"
+msgid "Strings in Python"
+msgstr "Cadenas en Python"
+
+#: C/strings.py.page:47(p)
+msgid ""
+"Python 2 comes with two different kinds of objects that can be used to "
+"represent strings, <code>str</code> and <code>unicode</code>. Instances of "
+"<code>unicode</code> are used to express Unicode strings, whereas instances "
+"of the <code>str</code> type are byte representations (the encoded string). "
+"Under the hood, Python represents Unicode strings as either 16- or 32-bit "
+"integers, depending on how the Python interpreter was compiled."
+msgstr ""
+
+#: C/strings.py.page:55(p)
+msgid ""
+"Unicode strings can be converted to 8-bit strings with <code>unicode.encode()"
+"</code>. Pythonâs 8-bit strings have a <code>str.decode()</code> method that "
+"interprets the string using the given encoding (that is, it is the inverse "
+"of the <code>unicode.encode()</code>):"
+msgstr ""
+
+#: C/strings.py.page:68(p)
+msgid ""
+"Unfortunately, Python 2.x allows you to mix <code>unicode</code> and "
+"<code>str</code> if the 8-bit string happened to contain only 7-bit (ASCII) "
+"bytes, but would get <sys>UnicodeDecodeError</sys> if it contained non-ASCII "
+"values."
+msgstr ""
+
+#: C/strings.py.page:73(title)
+msgid "Unicode in GTK+"
+msgstr "Unicode en GTK+"
+
+#: C/strings.py.page:75(p)
+msgid ""
+"GTK+ uses UTF-8 encoded strings for all text. This means that if you call a "
+"method that returns a string you will always obtain an instance of the "
+"<code>str</code> type. The same applies to methods that expect one or more "
+"strings as parameter, they must be UTF-8 encoded. However, for convenience "
+"PyGObject will automatically convert any unicode instance to str if supplied "
+"as argument:"
+msgstr ""
+
+#: C/strings.py.page:86(p)
+#| msgid "Further reading"
+msgid "Furthermore:"
+msgstr "AdemÃs:"
+
+#: C/strings.py.page:91(p)
+msgid ""
+"would return <code>False</code>, with the warning <code>__main__:1: "
+"UnicodeWarning: Unicode equal comparison failed to convert both arguments to "
+"Unicode - interpreting them as being unequal</code> (<code>Gtk.Label.get_text"
+"()</code> will always return a <code>str</code> instance; therefore, "
+"<code>txt</code> and <code>unicode_string</code> are not equal)."
+msgstr ""
+
+#: C/strings.py.page:93(p)
+msgid ""
+"This is especially important if you want to internationalize your program "
+"using <link href=\"http://docs.python.org/library/gettext.html";
+"\"><code>gettext</code></link>. You have to make sure that <code>gettext</"
+"code> will return UTF-8 encoded 8-bit strings for all languages. In general "
+"it is recommended to not use <code>unicode</code> objects in GTK+ "
+"applications at all and only use UTF-8 encoded <code>str</code> objects "
+"since GTK+ does not fully integrate with <code>unicode</code> objects."
+msgstr ""
+
+#: C/strings.py.page:98(title)
+#| msgid "API References"
+msgid "References"
+msgstr "Referencias"
+
+#: C/strings.py.page:100(p)
+msgid ""
+"<link href=\"http://python-gtk-3-tutorial.readthedocs.org/en/latest/unicode.";
+"html\">How To Deal With Strings - The Python GTK+ 3 Tutorial</link> "
+"(includes also a discussion on Python 3)"
+msgstr ""
+
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
 #: C/statusbar.vala.page:23(None) C/statusbar.py.page:23(None)
@@ -1771,11 +2528,12 @@ msgid "@@image: 'media/statusbar.png'; md5=eb1aca55315d6cda57b12a5f36058ba8"
 msgstr "@@image: 'media/statusbar.png'; md5=eb1aca55315d6cda57b12a5f36058ba8"
 
 #: C/statusbar.vala.page:19(desc) C/statusbar.py.page:19(desc)
+#: C/statusbar.c.page:20(desc)
 msgid "Report messages of minor importance to the user"
 msgstr "Enviar mensajes de menor importancia al usuario"
 
 #: C/statusbar.vala.page:22(title) C/statusbar.py.page:22(title)
-#: C/statusbar.js.page:19(title)
+#: C/statusbar.js.page:19(title) C/statusbar.c.page:23(title)
 msgid "Statusbar"
 msgstr "Statusbar"
 
@@ -1806,7 +2564,7 @@ msgstr ""
 
 #: C/statusbar.py.page:39(title)
 msgid "Useful methods for a Statusbar widget"
-msgstr ""
+msgstr "MÃtodos Ãtiles para un widget ÂStatusbarÂ"
 
 #: C/statusbar.py.page:41(p)
 msgid ""
@@ -1846,7 +2604,7 @@ msgstr "@@image: 'media/statusbar2.png'; md5=ff6f7e5b270827ca98b2d5f7087aa766"
 
 #: C/statusbar.js.page:16(desc)
 msgid "Show notifications in a dedicated statusbar"
-msgstr ""
+msgstr "Mostrar notificaciones en una barra de estado dedicada"
 
 #: C/statusbar.js.page:21(p)
 msgid ""
@@ -1864,17 +2622,6 @@ msgid ""
 "functions."
 msgstr ""
 
-#: C/statusbar.js.page:34(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/statusbar.js.page:38(title) C/checkbutton.js.page:38(title)
-msgid "Creating the application window"
-msgstr "Crear la ventana de la aplicaciÃn"
-
 #: C/statusbar.js.page:65(p)
 msgid ""
 "All the code for this sample goes in the StatusbarExample class. The above "
@@ -1973,28 +2720,8 @@ msgid ""
 "and set the application running."
 msgstr ""
 
-#: C/statusbar.js.page:214(title) C/checkbutton.js.page:129(title)
-msgid "Complete code sample"
-msgstr "CÃdigo de ejemplo completo"
-
-#: C/statusbar.js.page:219(title) C/checkbutton.js.page:134(title)
-msgid "In-depth documentation"
-msgstr "DocumentaciÃn en profundidad"
-
-#: C/statusbar.js.page:222(link) C/spinner.js.page:30(link)
-#: C/progressbar.js.page:39(link) C/messagedialog.js.page:31(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/statusbar.js.page:223(link) C/grid.js.page:34(link)
-#: C/button.js.page:31(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"
 
@@ -2008,6 +2735,29 @@ 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"
+
+#: C/statusbar.c.page:26(p)
+msgid ""
+"This statusbar is used to demonstrate how messages are stacked in a last-in-"
+"first-out order. The message at the top of the stack is always the one "
+"displayed."
+msgstr ""
+
+#: C/statusbar.c.page:36(link)
+#| msgid "GtkStatusbar"
+msgid "GtkStatusBar"
+msgstr "GtkStatusBar"
+
+#: C/statusbar.c.page:37(link)
+msgid "String Utility Functions"
+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/spinner.vala.page:20(None) C/spinner.py.page:20(None)
 #: C/spinner.js.page:20(None) C/spinner.c.page:22(None)
 msgid "@@image: 'media/spinner.png'; md5=d04f2d81f1d72c6c2f97e8729947dfed"
@@ -2018,80 +2768,313 @@ msgstr "@@image: 'media/spinner.png'; md5=d04f2d81f1d72c6c2f97e8729947dfed"
 msgid "A spinner animation"
 msgstr "Una animaciÃn giratoria"
 
-#: C/spinner.vala.page:19(title) C/spinner.py.page:19(title)
-#: C/spinner.js.page:19(title) C/spinner.c.page:20(title)
-msgid "Spinner"
-msgstr "Spinner"
+#: C/spinner.vala.page:19(title) C/spinner.py.page:19(title)
+#: C/spinner.js.page:19(title) C/spinner.c.page:20(title)
+msgid "Spinner"
+msgstr "Spinner"
+
+#: C/spinner.vala.page:21(p) C/spinner.py.page:21(p) C/spinner.js.page:21(p)
+#: C/spinner.c.page:23(p)
+msgid "This Spinner is stopped and started by pressing the spacebar."
+msgstr ""
+"Este indicador de progreso està detenido y se inicia al pulsar la barra "
+"espaciadora."
+
+#: C/spinner.vala.page:28(link)
+msgid "Gtk.Widget"
+msgstr "Gtk.Widget"
+
+#: C/spinner.vala.page:30(link)
+msgid "Gdk.keyval_name"
+msgstr "Gdk.keyval_name"
+
+#: C/spinner.py.page:30(p)
+msgid ""
+"<code>Gdk.keyval_name(event.keyval)</code> converts the key value "
+"<code>event.keyval</code> into a symbolic name. The names and corresponding "
+"key values can be found <link href=\"http://git.gnome.org/browse/gtk+/tree/";
+"gdk/gdkkeysyms.h\">here</link>,but for instance <code>GDK_KEY_BackSpace</"
+"code> becomes the string <code>\"BackSpace\"</code>."
+msgstr ""
+
+#: C/spinner.py.page:40(link)
+msgid "Key Values"
+msgstr "Valores de teclas"
+
+#: C/spinner.c.page:33(link)
+msgid "GObject"
+msgstr "GObject"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/spinbutton.vala.page:22(None) C/spinbutton.py.page:21(None)
+msgid "@@image: 'media/spinbutton.png'; md5=993cbb7d9bd271a329727a926195712a"
+msgstr "@@image: 'media/spinbutton.png'; md5=993cbb7d9bd271a329727a926195712a"
+
+#: C/spinbutton.vala.page:18(desc)
+msgid "Retrieve an integer or floating point number."
+msgstr "Obtener un nÃmero entero o en coma flotante."
+
+#: C/spinbutton.vala.page:21(title) C/spinbutton.py.page:20(title)
+#: C/spinbutton.js.page:22(title)
+msgid "SpinButton"
+msgstr "SpinButton"
+
+#: C/spinbutton.vala.page:23(p) C/spinbutton.py.page:22(p)
+msgid "Choose a number, by entering it or by clicking on the -/+ buttons!"
+msgstr "Elija un nÃmero, escribiÃndolo o pulsando los botones -/+."
+
+#: C/spinbutton.vala.page:30(link) C/spinbutton.js.page:204(link)
+msgid "Gtk.SpinButton"
+msgstr "Gtk.SpinButton"
+
+#: C/spinbutton.py.page:17(desc)
+msgid "Retrieve an integer or floating-point number from the user."
+msgstr "Obtener un nÃmero entero o en coma flotante del usuario."
+
+#: C/spinbutton.py.page:32(title)
+#| msgid "Useful methods for a Window widget"
+msgid "Useful methods for a SpinButton widget"
+msgstr "MÃtodos Ãtiles para un widget ÂSpinButtonÂ"
+
+#: C/spinbutton.py.page:33(p)
+msgid ""
+"For an explanation of signals and callback functions, see <link xref="
+"\"signals-callbacks.py\">this page</link>. An example is the <code>\"value-"
+"changed\"</code> signal, emitted when the value of the spinbutton changes."
+msgstr ""
+
+#: C/spinbutton.py.page:34(p)
+msgid ""
+"A Gtk.Adjustment is needed to construct the Gtk.SpinButton. This is the "
+"representation of a value with a lower and upper bound, together with step "
+"and page increments, and a page size, and it is constructed as <code>Gtk."
+"Adjustment(value, lower, upper, step_increment, page_increment, page_size)</"
+"code> where the fields are of type <code>float</code>; <code>step_increment</"
+"code> is the increment/decrement that is obtained by using the cursor keys "
+"or the buttons of the spinbutton. Note that <code>page_increment</code> and "
+"<code>page_size</code> are not used in this case, and they should be set to "
+"<code>0</code>."
+msgstr ""
+
+#: C/spinbutton.py.page:36(p)
+msgid ""
+"If you want the value of the spinbutton to wrap around when they exceed the "
+"maximum or the minimum, set <code>set_wrap(True)</code>. The <code>\"wrapped"
+"\"</code> signal is emitted when this happens."
+msgstr ""
+
+#: C/spinbutton.py.page:37(p)
+msgid ""
+"<code>set_digits(digits)</code> sets the precision to be displayed by the "
+"spinbutton, up to 20 digits."
+msgstr ""
+
+#: C/spinbutton.py.page:38(p)
+msgid ""
+"To get the value of the spinbutton as an integer, use <code>get_value_as_int"
+"()</code>."
+msgstr ""
+
+#: C/spinbutton.py.page:46(link)
+msgid "GtkSpinButton"
+msgstr "GtkSpinButton"
+
+#: C/spinbutton.py.page:47(link) C/scale.py.page:55(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 ""
+"@@image: 'media/spinbuttonkittens.png'; md5=577cce8a902140aacbab73fe8a76a010"
+
+#: C/spinbutton.js.page:19(desc)
+msgid "A number entry field that has + and - buttons"
+msgstr ""
+
+#: C/spinbutton.js.page:24(p)
+msgid ""
+"A SpinButton is not related to a <link xref=\"spinner.js\">Spinner.</link> "
+"It's a text entry field which only accepts numbers, and which has plus and "
+"minus buttons to let you change the value without having to type anything in."
+msgstr ""
+
+#: C/spinbutton.js.page:25(p)
+msgid ""
+"It's best used when it's obvious that only a number can be entered into it. "
+"In this example, two SpinButtons are used for the number of kittens and "
+"number of cans of tuna to give them."
+msgstr ""
+
+#: C/spinbutton.js.page:67(p)
+msgid ""
+"All the code for this sample goes in the SpinButtonExample class. The above "
+"code creates a <link href=\"http://www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/";
+"Gtk.Application.html\">Gtk.Application</link> for our widgets and window to "
+"go in."
+msgstr ""
+
+#: C/spinbutton.js.page:83(title)
+#| msgid "Creating the buttons"
+msgid "Creating the SpinButtons"
+msgstr "Crear los botones incrementales"
+
+#: C/spinbutton.js.page:90(p)
+msgid ""
+"We can use the new_with_range function to create a new SpinButton quickly. "
+"Its first parameter is the SpinButton's starting value, its second is the "
+"maximum value, and its third is how much to increment it when the plus or "
+"minus buttons are pressed."
+msgstr ""
+
+#: C/spinbutton.js.page:91(p)
+msgid ""
+"After we create the first SpinButton, we connect its value-changed signal to "
+"a function which handles what happens when the number inside either "
+"SpinButton changes."
+msgstr ""
+
+#: C/spinbutton.js.page:110(p)
+msgid ""
+"If you want more fine-grained control over a SpinButton, or want to create a "
+"bunch of SpinButtons which all use the same parameters, you can create an "
+"object called an <link href=\"http://www.roojs.org/seed/gir-1.2-gtk-3.0/gjs/";
+"Gtk.Adjustment.html\">Adjustment.</link> Then you can use that object as a "
+"new SpinButton's adjustment property, and it sets all the values at once. "
+"Afterwards, you can change all the SpinButtons which use that adjustment by "
+"changing the Adjustment object's properties."
+msgstr ""
+
+#: C/spinbutton.js.page:111(p)
+msgid ""
+"The commented-out lines here show things you can do to customize your "
+"SpinButton. You can set the number of digits which go after the decimal "
+"point, for example, or tell it to wrap the number around if it goes past the "
+"upper or lower bounds that you set."
+msgstr ""
 
-#: C/spinner.vala.page:21(p) C/spinner.py.page:21(p) C/spinner.js.page:21(p)
-#: C/spinner.c.page:23(p)
-msgid "This Spinner is stopped and started by pressing the spacebar."
+#: C/spinbutton.js.page:112(p)
+msgid ""
+"For the kitties' sake, please don't use set_digits to allow a decimal number "
+"of kittens."
 msgstr ""
-"Este indicador de progreso està detenido y se inicia al pulsar la barra "
-"espaciadora."
 
-#: C/spinner.vala.page:28(link)
-msgid "Gtk.Widget"
-msgstr "Gtk.Widget"
+#: C/spinbutton.js.page:116(title)
+#| msgid "Creating the statusbar"
+msgid "Creating the rest of the UI"
+msgstr "Crear el resto de la IU"
 
-#: C/spinner.vala.page:29(link) C/spinner.js.page:31(link)
-msgid "Gtk.Spinner"
-msgstr "Gtk.Spinner"
+#: C/spinbutton.js.page:127(p)
+msgid ""
+"We create each <link xref=\"label.js\">Label</link> individually, and then "
+"string them together along with the SpinButtons. The last label needs to "
+"show the number of cans of tuna per kitten, so it has a variable in the "
+"middle, which corresponds to an equation that uses the SpinButtons' "
+"get_value functions to find out what they're set at. JavaScript's Math "
+"function's floor method is used to round the number of cans of tuna per "
+"kitten down to the nearest whole number."
+msgstr ""
 
-#: C/spinner.vala.page:30(link)
-msgid "Gdk.keyval_name"
-msgstr "Gdk.keyval_name"
+#: C/spinbutton.js.page:153(p)
+msgid ""
+"Here we use <link xref=\"grid.js\">Grid</link> widgets to keep everything "
+"organized. One Grid holds the labels and SpinButtons in order, while the "
+"next puts that Grid on top and the final Label on the bottom."
+msgstr ""
 
-#: C/spinner.py.page:30(p)
+#: C/spinbutton.js.page:154(p)
 msgid ""
-"<code>Gdk.keyval_name(event.keyval)</code> converts the key value "
-"<code>event.keyval</code> into a symbolic name. The names and corresponding "
-"key values can be found <link href=\"http://git.gnome.org/browse/gtk+/tree/";
-"gdk/gdkkeysyms.h\">here</link>,but for instance <code>GDK_KEY_BackSpace</"
-"code> becomes the string <code>\"BackSpace\"</code>."
+"There isn't a wrong way to organize things in Grids, so long as you like how "
+"it turns out. In this case, the top Grid has a margin on the bottom to keep "
+"it evenly spaced from the bottom Label, and the bottom Label is inside a "
+"separate Grid so it will be centered relative to the Labels and SpinButtons "
+"on the top."
 msgstr ""
 
-#: C/spinner.py.page:40(link)
-msgid "Key Values"
-msgstr "Valores de teclas"
+#: C/spinbutton.js.page:168(title)
+msgid "Function which handles the SpinButtons' numerical values being adjusted"
+msgstr ""
 
-#: C/spinner.c.page:33(link)
-msgid "GObject"
+#: C/spinbutton.js.page:181(p)
+msgid ""
+"Here we update the perKitten variable based on the SpinButtons' new values, "
+"and use the set_label property to refresh what _lastLabel shows. Since both "
+"SpinButtons have their value-changed signal connected to this function, "
+"every time either of the numbers changes this function will update the Label."
 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/spinbutton.vala.page:22(None) C/spinbutton.py.page:21(None)
-msgid "@@image: 'media/spinbutton.png'; md5=993cbb7d9bd271a329727a926195712a"
-msgstr "@@image: 'media/spinbutton.png'; md5=993cbb7d9bd271a329727a926195712a"
+#: C/spinbutton.js.page:188(p)
+msgid ""
+"Finally, we create a new instance of the finished SpinButtonExample class, "
+"and set the application running."
+msgstr ""
 
-#: C/spinbutton.vala.page:18(desc)
-msgid "Retrieve an integer or floating point number."
-msgstr "Obtener un nÃmero entero o en coma flotante."
+#: C/spinbutton.js.page:199(link) C/scale.vala.page:31(link)
+#: C/scale.js.page:208(link)
+msgid "Gtk.Adjustment"
+msgstr "Gtk.Adjustment"
 
-#: C/spinbutton.vala.page:21(title) C/spinbutton.py.page:20(title)
-msgid "SpinButton"
-msgstr "SpinButton"
+#: 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+."
 
-#: C/spinbutton.vala.page:23(p) C/spinbutton.py.page:22(p)
-msgid "Choose a number, by entering it or by clicking on the -/+ buttons!"
-msgstr "Elija un nÃmero, escribiÃndolo o pulsando los botones -/+."
+#: C/signals-callbacks.py.page:24(title)
+msgid "Signals and callbacks"
+msgstr "SeÃales y retornos de llamada"
 
-#: C/spinbutton.vala.page:30(link)
-msgid "Gtk.SpinButton"
-msgstr "Gtk.SpinButton"
+#: C/signals-callbacks.py.page:26(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. "
+"If the user performs some action - say, a mouse click - then the main loop "
+"\"wakes up\" and delivers an event to GTK+."
+msgstr ""
 
-#: C/spinbutton.py.page:17(desc)
-msgid "Retrieve an integer or floating-point number from the user."
-msgstr "Obtener un nÃmero entero o en coma flotante del usuario."
+#: C/signals-callbacks.py.page:28(p)
+msgid ""
+"When widgets receive an event, they frequently emit one or more signals. "
+"Signals notify your program that \"something interesting happened\" by "
+"invoking functions you have connected to the signal. Such functions are "
+"commonly known as callbacks. When your callbacks are invoked, you would "
+"typically take some action. After a callback finishes, GTK+ will return to "
+"the main loop and await more user input."
+msgstr ""
 
-#: C/spinbutton.py.page:29(link)
-msgid "GtkSpinButton"
-msgstr "GtkSpinButton"
+#: C/signals-callbacks.py.page:30(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/spinbutton.py.page:30(link) C/scale.py.page:30(link)
-msgid "GtkAdjustment"
-msgstr "GtkAdjustment"
+#: 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)
+msgid ""
+"The function returns a number (the <code>handler_id</code>) that identifies "
+"this particular signal-callback pair. This number is required to disconnect "
+"from a signal such that the callback function will not be called during any "
+"future or currently ongoing emissions of the signal it has been connected "
+"to, as in <code>widget.disconnect(handler_id)</code>."
+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.
@@ -2135,7 +3118,49 @@ msgstr "ScrolledWindow"
 msgid "An image in a scrolled window."
 msgstr "Una imagen en una ventana con barras de desplazamiento."
 
-#: C/scrolledwindow.py.page:30(link) C/image.vala.page:32(link)
+#: 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Â"
+
+#: C/scrolledwindow.py.page:32(p)
+msgid ""
+"<code>set_policy(hscrollbar_policy, vscrollbar_policy)</code> where each of "
+"the arguments is one of <code>Gtk.Policy.AUTOMATIC, Gtk.Policy.ALWAYS, Gtk."
+"Policy.NEVER</code> regulates whether the horizontal and vertical scrollbars "
+"should appear: with <code>AUTOMATIC</code> they appear only if needed, "
+"<code>ALWAYS</code> and <code>NEVER</code> are self-explanatory."
+msgstr ""
+
+#: C/scrolledwindow.py.page:33(p)
+msgid ""
+"<code>add_with_viewport(widget)</code> is used to add the Gtk.Widget "
+"<code>widget</code> without native scrolling capabilities inside the window."
+msgstr ""
+
+#: C/scrolledwindow.py.page:34(p)
+msgid ""
+"<code>set_placement(window_placement)</code> sets the placement of the "
+"contents with respect to the scrollbars for the scrolled window. The options "
+"for the argument are <code>Gtk.CornerType.TOP_LEFT</code> (default: the "
+"scrollbars are on the bottom and on the right of the window), <code>Gtk."
+"CornerType.TOP_RIGHT, Gtk.CornerType.BOTTOM_LEFT, Gtk.CornerType."
+"BOTTOM_RIGHT</code>."
+msgstr ""
+
+#: C/scrolledwindow.py.page:35(p)
+msgid ""
+"<code>set_hadjustment(adjustment)</code> and <code>set_vadjustment"
+"(adjustment)</code> set the Gtk.Adjustment <code>adjustment</code>. This is "
+"the representation of a value with a lower and upper bound, together with "
+"step and page increments, and a page size, and it is constructed as "
+"<code>Gtk.Adjustment(value, lower, upper, step_increment, page_increment, "
+"page_size)</code> where the fields are of type <code>float</code>. (Note "
+"that <code>step_increment</code> is not used in this case, it can be set to "
+"<code>0</code>.)"
+msgstr ""
+
+#: C/scrolledwindow.py.page:44(link) C/image.vala.page:32(link)
 #: C/image.py.page:99(link) C/image.c.page:33(link)
 msgid "GtkImage"
 msgstr "GtkImage"
@@ -2151,6 +3176,7 @@ 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)
 msgid "Scale"
 msgstr "Escala"
 
@@ -2158,14 +3184,10 @@ msgstr "Escala"
 msgid "Slide the scales!"
 msgstr "Desplace las escalas."
 
-#: C/scale.vala.page:30(link)
+#: C/scale.vala.page:30(link) C/scale.js.page:213(link)
 msgid "Gtk.Scale"
 msgstr "Gtk.Scale"
 
-#: C/scale.vala.page:31(link)
-msgid "Gtk.Adjustment"
-msgstr "Gtk.Adjustment"
-
 #: C/scale.vala.page:32(link)
 msgid "Gtk.PositionType"
 msgstr "Gtk.PositionType"
@@ -2174,12 +3196,220 @@ msgstr "Gtk.PositionType"
 msgid "Gtk.Orientation"
 msgstr "Gtk.Orientation"
 
-#: C/scale.py.page:29(link)
+#: 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Â"
+
+#: C/scale.py.page:33(p)
+msgid ""
+"For an explanation of signals and callback functions, see <link xref="
+"\"signals-callbacks.py\">this page</link>. An example is the <code>\"value-"
+"changed\"</code> signal, emitted when the value of the scale changes."
+msgstr ""
+
+#: C/scale.py.page:34(p)
+msgid ""
+"A Gtk.Adjustment is needed to construct the Gtk.Scale. This is the "
+"representation of a value with a lower and upper bound, together with step "
+"and page increments, and a page size, and it is constructed as <code>Gtk."
+"Adjustment(value, lower, upper, step_increment, page_increment, page_size)</"
+"code> where the fields are of type <code>float</code>; <code>step_increment</"
+"code> is the increment/decrement that is obtained by using the cursor keys, "
+"<code>page_increment</code> the one that is obtained clicking on the scale "
+"itself. Note that <code>page_size</code> is not used in this case, it should "
+"be set to <code>0</code>."
+msgstr ""
+
+#: C/scale.py.page:36(p)
+msgid ""
+"<code>get_value()</code> retrieves the current value of the scale; "
+"<code>set_value(value)</code> sets it (if the <code>value</code>, of type "
+"<code>float</code>, is outside the minimum or maximum range, it will be "
+"clamped to fit inside them). These are methods of the class Gtk.Range."
+msgstr ""
+
+#: C/scale.py.page:37(p)
+msgid ""
+"Use <code>set_draw_value(False)</code> to avoid displaying the current value "
+"as a string next to the slider."
+msgstr ""
+
+#: C/scale.py.page:38(p)
+msgid ""
+"To highlight the part of the scale between the origin and the current value:"
+msgstr ""
+
+#: C/scale.py.page:39(code)
+#, no-wrap
+msgid ""
+"\n"
+"self.h_scale.set_restrict_to_fill_level(False)\n"
+"self.h_scale.set_fill_level(self.h_scale.get_value())\n"
+"self.h_scale.set_show_fill_level(True)"
+msgstr ""
+"\n"
+"self.h_scale.set_restrict_to_fill_level(False)\n"
+"self.h_scale.set_fill_level(self.h_scale.get_value())\n"
+"self.h_scale.set_show_fill_level(True)"
+
+#: C/scale.py.page:43(p)
+msgid ""
+"in the callback function of the \"value-changed\" signal, so to have the new "
+"filling every time the value is changed. These are methods of the class Gtk."
+"Range."
+msgstr ""
+
+#: C/scale.py.page:45(p)
+msgid ""
+"<code>add_mark(value, position, markup)</code> adds a mark at the "
+"<code>value</code> (<code>float</code> or <code>int</code> if that is the "
+"precision of the scale), in <code>position</code> (<code>Gtk.PositionType."
+"LEFT, Gtk.PositionType.RIGHT, Gtk.PositionType.TOP, Gtk.PositionType.BOTTOM</"
+"code>) with text <code>Null</code> or <code>markup</code> in the Pango "
+"Markup Language. To clear marks, <code>clear_marks()</code>."
+msgstr ""
+
+#: C/scale.py.page:46(p)
+msgid ""
+"<code>set_digits(digits)</code> sets the precision of the scale at "
+"<code>digits</code> digits."
+msgstr ""
+
+#: C/scale.py.page:54(link)
 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 ""
+"@@image: 'media/scalepenguins.png'; md5=2dbe6a833fec86fde71a5ddb421e2cd5"
+
+#: C/scale.js.page:16(desc)
+msgid "A slider which corresponds to a numerical value"
+msgstr "Un deslizador que corresponde a un valor numÃrico"
+
+#: C/scale.js.page:21(p)
+msgid ""
+"A Scale is a horizontal or vertical slider, that represents a value inside a "
+"numerical range. When you create a new Scale, you set what its default "
+"position is, what the numbers at the top and bottom of the range are, and "
+"things like how much it moves up or down when you click on the Scale to "
+"either side of the knob. To keep from having to type all that in every time "
+"you create a new Scale, you can create an object called an Adjustment which "
+"keeps track of all that, then tell each new Scale to use that Adjustment."
+msgstr ""
+
+#: C/scale.js.page:22(p)
+msgid ""
+"This scale is a simple widget that lets you adjust the size of an iceberg "
+"that penguins live on. The number of penguins on the iceberg is the product "
+"of the values of the two sliders. Try playing with them and seeing what "
+"happens."
+msgstr ""
+
+#: C/scale.js.page:64(p)
+msgid ""
+"All the code for this sample goes in the ScaleExample class. The above code "
+"creates a <link href=\"http://www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.";
+"Application.html\">Gtk.Application</link> for our widgets and window to go "
+"in."
+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."
+msgstr ""
+
+#: C/scale.js.page:91(p)
+msgid ""
+"We can use the set_draw_value method to tell it whether or not to show the "
+"number next to the sliding scale. It's commented out in this example."
+msgstr ""
+
+#: C/scale.js.page:103(p)
+msgid ""
+"An Adjustment is an object we can use to simplify things when creating a new "
+"Scale. The Adjustment's \"value\" property is what the Scale's default value "
+"is, while \"upper\" and \"lower\" make the high and low ends of the "
+"numerical range. Meanwhile, the increment values show how much the slider "
+"moves when you do things like click on it."
+msgstr ""
+
+#: C/scale.js.page:115(p)
+msgid ""
+"Here we create a new Scale object using _adjustment as its \"adjustment\" "
+"property. This is a great shortcut. We still have to tell it to round off "
+"the decimal place, though. Note that the draw_value property is commented "
+"out; this is how you tell it not to show the number next to the Scale when "
+"you're creating one this way."
+msgstr ""
+
+#: C/scale.js.page:131(p)
+msgid ""
+"We can use the get_value method to find out the numerical value a Scale is "
+"set at. We can then do whatever we want with it, including multiply the two "
+"Scales' values together and have a <link xref=\"label.js\">Label</link> show "
+"us the product. We set the label's text to wrap around, because we're having "
+"it display a silly message too."
+msgstr ""
+
+#: C/scale.js.page:132(p)
+msgid ""
+"After we create the Label, we connect the two Scales' \"value-changed\" "
+"signals to _recalc, a function that will recalculate the number of penguins "
+"on the iceberg and come up with a new message."
+msgstr ""
+
+#: C/scale.js.page:147(p)
+msgid ""
+"Here we create a <link xref=\"grid.js\">Grid</link> to put everything in, "
+"then attach all our widgets to it. Note that here and on some of the widgets "
+"themselves we're using margins to keep things neatly spaced."
+msgstr ""
+
+#: C/scale.js.page:156(p)
+msgid ""
+"Finally, we add the Grid to the window, then tell the window to show itself "
+"and all the widgets inside of it."
+msgstr ""
+
+#: C/scale.js.page:160(title)
+msgid "Function which handles the scales' values changing"
+msgstr ""
+
+#: C/scale.js.page:190(p)
+msgid ""
+"Remember, we can get a Scale's value using its get_value method. Here we "
+"simply recalculate what the product of the two values is after one of the "
+"Scales is moved, add in a silly message depending on how many penguins are "
+"left, and change the wording on _label to show the new number and message."
+msgstr ""
+
+#: C/scale.js.page:197(p)
+msgid ""
+"Finally, we create a new instance of the finished ScaleExample class, and "
+"set the application running."
+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/record-collection.js.page:63(None)
 msgid ""
 "@@image: 'media/record-collection.png'; md5=2d645997687ed5aacd36aafafc16e072"
@@ -2494,8 +3724,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 ""
@@ -2803,59 +4033,231 @@ msgstr ""
 msgid "Reference Implementation"
 msgstr "ImplementaciÃn de referencia"
 
-#: C/record-collection.js.page:291(p)
+#: C/record-collection.js.page:291(p)
+msgid ""
+"If you run into problems with the tutorial, compare your code with this "
+"<link href=\"record-collection/record-collection.js\">reference code</link>."
+msgstr ""
+"Si tiene problemas con este tutorial, compare su cÃdigo con este <link href="
+"\"record-collection/record-collection.js\">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/radiobutton.vala.page:23(None) C/radiobutton.py.page:24(None)
+#: C/radiobutton.c.page:23(None)
+msgid "@@image: 'media/radiobutton.png'; md5=d115460280d8e41493dd98054b5822a5"
+msgstr "@@image: 'media/radiobutton.png'; md5=d115460280d8e41493dd98054b5822a5"
+
+#: C/radiobutton.vala.page:19(desc)
+msgid "A choice from multiple CheckButtons."
+msgstr "Una elecciÃn desde varios CheckButton."
+
+#: C/radiobutton.vala.page:22(title) C/radiobutton.py.page:23(title)
+#: C/radiobutton.js.page:19(title)
+msgid "RadioButton"
+msgstr "RadioButton"
+
+#: C/radiobutton.vala.page:24(p)
+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."
+
+#: C/radiobutton.py.page:25(p)
+msgid ""
+"Three RadioButtons. You can see in the terminal if they are turned off or on."
+msgstr "Tres RadioButtons. Puede ver en la terminal si estÃn activados o no."
+
+#: C/radiobutton.py.page:33(title)
+#| msgid "Useful methods for a Window widget"
+msgid "Useful methods for a RadioButton widget"
+msgstr "MÃtodos Ãtiles para un widget ÂRadioButtonÂ"
+
+#: C/radiobutton.py.page:36(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)
+#, no-wrap
+msgid ""
+"\n"
+"button1 = Gtk.RadioButton()\n"
+"button1.set_label(\"Button 1\")."
+msgstr ""
+"\n"
+"button1 = Gtk.RadioButton()\n"
+"button1.set_label(\"Button 1\")."
+
+#: C/radiobutton.py.page:40(p)
+msgid ""
+"For a general discussion of this, see <link xref=\"properties.py\">here</"
+"link>."
+msgstr ""
+
+#: C/radiobutton.py.page:41(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)
+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 ""
+"@@image: 'media/radiobuttontravel.png'; md5=0c5f01ee160bb42716ccf5dccbd080c0"
+
+#: C/radiobutton.js.page:16(desc)
+msgid "Only one can be selected at a time"
+msgstr ""
+
+#: C/radiobutton.js.page:21(p)
+msgid ""
+"RadioButtons are named after old-style car radios, which had buttons for "
+"switching between channel presets. Because the radio could only be tuned to "
+"one station at a time, only one button could be pressed in at a time; if you "
+"pressed a new one, the one that was already pressed in would pop back out. "
+"That's how these buttons work, too."
+msgstr ""
+
+#: C/radiobutton.js.page:22(p)
+msgid ""
+"Each RadioButton needs a text label and a group. Only one button in a group "
+"can be selected at a time. You don't name each group; you just set new "
+"RadioButtons to be part of the same group as an existing one. If you create "
+"a new one outside of a group, it automatically creates a new group for it to "
+"be part of."
+msgstr ""
+
+#: C/radiobutton.js.page:81(title)
+#| msgid "Creating the buttons"
+msgid "Creating the radiobuttons"
+msgstr "Crear los botones de radio"
+
+#: C/radiobutton.js.page:87(p)
+msgid ""
+"We use a <link xref=\"label.js\">Gtk.Label</link> to set each group of "
+"RadioButtons apart. Nothing will stop you from putting RadioButtons from all "
+"different groups wherever you want, so if you want people to know which ones "
+"go together you need to organize things accordingly."
+msgstr ""
+
+#: C/radiobutton.js.page:100(p)
+msgid ""
+"Here are three different ways to create RadioButtons. The first is the usual "
+"way, where we create a new Gtk.RadioButton and assign its properties at the "
+"same time. The second and third use functions which automatically handle "
+"some of the properties; new_from_widget takes a single argument, the "
+"RadioButton that you want to put this new one in the same group as. "
+"Meanwhile, new_with_label_from_widget takes that and the RadioButton's label "
+"at the same time."
+msgstr ""
+
+#: C/radiobutton.js.page:101(p)
+msgid ""
+"The first RadioButton in a group is the one that's selected by default. Try "
+"uncommenting the last line in this sample code to see how you can set a "
+"different one to be the default selection."
+msgstr ""
+
+#: C/radiobutton.js.page:112(p)
+msgid ""
+"Here we create the label for the second group of buttons, and then create "
+"them all the same way."
+msgstr ""
+
+#: C/radiobutton.js.page: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 ""
-"If you run into problems with the tutorial, compare your code with this "
-"<link href=\"record-collection/record-collection.js\">reference code</link>."
+"This code creates a <link xref=\"button.js\">Gtk.Button</link> and binds it "
+"to a function which will show people a silly message when they click OK, "
+"depending on which RadioButtons were selected."
 msgstr ""
-"Si tiene problemas con este tutorial, compare su cÃdigo con este <link href="
-"\"record-collection/record-collection.js\">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/radiobutton.vala.page:23(None) C/radiobutton.py.page:23(None)
-#: C/radiobutton.c.page:21(None)
-msgid "@@image: 'media/radiobutton.png'; md5=d115460280d8e41493dd98054b5822a5"
-msgstr "@@image: 'media/radiobutton.png'; md5=d115460280d8e41493dd98054b5822a5"
+#: C/radiobutton.js.page:129(p)
+msgid ""
+"To make sure the button's \"OK\" label shows up properly in every language "
+"that GNOME is translated into, remember to use one of Gtk's <link href="
+"\"http://developer.gnome.org/gtk/2.24/gtk-Stock-Items.html\";>stock button "
+"types.</link>"
+msgstr ""
 
-#: C/radiobutton.vala.page:19(desc)
-msgid "A choice from multiple CheckButtons."
-msgstr "Una elecciÃn desde varios CheckButton."
+#: C/radiobutton.js.page:165(p)
+msgid ""
+"We use a separate <link xref=\"grid.js\">Gtk.Grid</link> to organize each "
+"group of radio buttons. This way we can change the layout with less fuss "
+"later on. The second Grid has a margin on top, to visually separate the two "
+"sets of choices."
+msgstr ""
 
-#: C/radiobutton.vala.page:22(title) C/radiobutton.py.page:22(title)
-msgid "RadioButton"
-msgstr "RadioButton"
+#: C/radiobutton.js.page:166(p)
+msgid ""
+"After we've organized them, we put them into a third, master Grid, along "
+"with the OK button. Then we attach that to the window."
+msgstr ""
 
-#: C/radiobutton.vala.page:24(p)
-msgid "These RadioButtons report their activity in the terminal."
-msgstr "Estos RadioButton informan de su actividad en la terminal."
+#: C/radiobutton.js.page:174(p)
+msgid ""
+"Finally, we tell the window and everything inside it to become visible when "
+"the application is run."
+msgstr ""
 
-#: C/radiobutton.vala.page:31(link)
-msgid "Gtk.RadioButton"
-msgstr "Gtk.RadioButton"
+#: C/radiobutton.js.page:179(title)
+msgid "Function which handles your selection"
+msgstr "FunciÃn que maneja su selecciÃn"
 
-#: C/radiobutton.py.page:19(desc)
-msgid "Mutually exclusive buttons."
-msgstr "Botones mutuamente excluyentes."
+#: C/radiobutton.js.page:199(p)
+msgid ""
+"When you click OK, a <link xref=\"messagedialog.js\">Gtk.MessageDialog</"
+"link> appears. This function creates and displays the popup window, then "
+"binds its OK button to a function that closes it. What text appears in the "
+"popup depends on the _messageText() function, which returns a different "
+"value depending on which set of options you chose."
+msgstr ""
 
-#: C/radiobutton.py.page:24(p)
+#: C/radiobutton.js.page:245(p)
 msgid ""
-"Three RadioButtons. You can see in the terminal if they are turned off or on."
-msgstr "Tres RadioButtons. Puede ver en la terminal si estÃn activados o no."
+"The get_active() method is how we can tell which RadioButton's pressed in. "
+"This function returns a different silly message depending on which set of "
+"buttons was pressed. Its return value is used as the MessageDialog's text "
+"property."
+msgstr ""
 
-#: C/radiobutton.py.page:33(link)
-msgid "GtkRadioButton"
-msgstr "GtkRadioButton"
+#: C/radiobutton.js.page:256(p)
+msgid ""
+"This function is called when the MessageDialog's OK button is pressed. It "
+"simply makes the popup go away."
+msgstr ""
 
-#: C/radiobutton.c.page:16(desc)
-msgid "A choice from multiple checkbuttons."
-msgstr "Una elecciÃn desde varios CheckButton."
+#: 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Â."
 
-#: C/radiobutton.c.page:19(title)
+#: C/radiobutton.c.page:21(title)
 msgid "Radiobutton"
 msgstr "Radiobutton"
 
-#: C/radiobutton.c.page:22(p)
+#: C/radiobutton.c.page:24(p)
 msgid "These radiobuttons report their activity in the terminal."
 msgstr "Estos RadioButton informan de su actividad en la terminal."
 
@@ -2868,56 +4270,116 @@ msgid "Tutorials, code samples and platform demos in Python"
 msgstr ""
 "Tutoriales, ejemplos de coÌdigo y demostraciones de la plataforma en Python"
 
+#: C/properties.py.page:11(desc)
+msgid "An explanation of properties, getters and setters."
+msgstr ""
+
+#: C/properties.py.page:24(title)
+msgid "Properties"
+msgstr "Propiedades"
+
+#: C/properties.py.page:26(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 "
+"such as a button or a label has the property \"label\" which contains the "
+"text of the widget. You can specify the name and value of any number of "
+"properties as keyword arguments when creating an instance of a widget: for "
+"example, to create a label aligned to the right with the text âHello Worldâ "
+"and an angle of 25 degrees, you can use:"
+msgstr ""
+
+#: C/properties.py.page:27(code)
+#, no-wrap
+msgid ""
+"\n"
+"label = Gtk.Label(label=\"Hello World\", angle=25, halign=Gtk.Align.END)"
+msgstr ""
+"\n"
+"label = Gtk.Label(label=\"Hello World\", angle=25, halign=Gtk.Align.END)"
+
+#: C/properties.py.page:30(p)
+msgid "This is equivalent to:"
+msgstr "Esto es equivalente a:"
+
+#: C/properties.py.page:31(code)
+#, no-wrap
+msgid ""
+"\n"
+"label = Gtk.Label()\n"
+"label.set_label(\"Hello World\")\n"
+"label.set_angle(25)\n"
+"label.set_halign(Gtk.Align.END)"
+msgstr ""
+"\n"
+"label = Gtk.Label()\n"
+"label.set_label(\"Hello World\")\n"
+"label.set_angle(25)\n"
+"label.set_halign(Gtk.Align.END)"
+
+#: C/properties.py.page:37(p)
+msgid ""
+"Once you have created such a label, you can get the text with the getter "
+"<code>label.get_label()</code>. Instead of using getters and setters you can "
+"also get and set the properties with <code>widget.get_property(\"prop-name\")"
+"</code> and <code>widget.set_property(\"prop-name\", value)</code>, "
+"respectively."
+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.py.page:20(None)
-#: C/progressbar.js.page:19(None)
-msgid "@@image: 'media/progressbar.ogv'; md5=36deab3dd4b5be968828fa2ef416d612"
-msgstr "@@image: 'media/progressbar.ogv'; md5=36deab3dd4b5be968828fa2ef416d612"
+#: 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 ""
+"@@image: 'media/progressbar_fill.ogv'; md5=287763d1d3f4a328212ea2243910f5e4"
 
-#: C/progressbar.vala.page:16(desc)
+#: C/progressbar.vala.page:16(desc) C/progressbar.c.page:17(desc)
 msgid "A widget which indicates progress visually"
 msgstr "Un widget que indica el progreso de manera visual"
 
 #: C/progressbar.vala.page:19(title) C/progressbar.py.page:19(title)
-#: C/progressbar.js.page:18(title)
+#: C/progressbar.js.page:18(title) C/progressbar.c.page:20(title)
 msgid "ProgressBar"
 msgstr "ProgressBar"
 
-#: C/progressbar.vala.page:24(p) C/progressbar.py.page:24(p)
-#: C/progressbar.js.page:23(p)
-msgid "Pressing any key stops and starts this ProgressBar."
-msgstr "Pulsar cualquier tecla detiene e inicia esta ProgressBar."
-
-#: C/progressbar.vala.page:31(p) C/progressbar.py.page:31(p)
-#: C/progressbar.js.page:30(p)
-msgid "This ProgressBar is stopped and started by pressing any key."
-msgstr "La ProgressBar se detiene y se inicia pulsando una tecla."
+#: C/progressbar.vala.page:21(p) C/progressbar.c.page:23(p)
+msgid ""
+"This ProgressBar \"fills in\" by a fraction of the bar until it is full."
+msgstr ""
 
-#: C/progressbar.vala.page:38(link) C/progressbar.js.page:40(link)
+#: C/progressbar.vala.page:28(link) C/progressbar.js.page:40(link)
 #: C/grid.py.page:34(link) C/grid.js.page:36(link)
 msgid "Gtk.ProgressBar"
 msgstr "Gtk.ProgressBar"
 
-#: C/progressbar.vala.page:39(link)
+#: C/progressbar.vala.page:29(link)
 msgid "GLib.Timeout"
 msgstr "GLib.Timeout"
 
-#: C/progressbar.vala.page:40(link)
-msgid "GLib.Source"
-msgstr "GLib.Source"
-
-#: C/progressbar.vala.page:41(link)
-msgid "Gtk.Widget.key_press_event"
-msgstr "Gtk.Widget.key_press_event"
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/progressbar.py.page:20(None) C/progressbar.js.page:19(None)
+msgid "@@image: 'media/progressbar.ogv'; md5=36deab3dd4b5be968828fa2ef416d612"
+msgstr "@@image: 'media/progressbar.ogv'; md5=36deab3dd4b5be968828fa2ef416d612"
 
 #: C/progressbar.py.page:16(desc)
 msgid "A widget which indicates progress visually."
 msgstr "Un widget que indica el progreso de manera visual."
 
+#: C/progressbar.py.page:24(p) C/progressbar.js.page:23(p)
+msgid "Pressing any key stops and starts this ProgressBar."
+msgstr "Pulsar cualquier tecla detiene e inicia esta ProgressBar."
+
+#: C/progressbar.py.page:31(p) C/progressbar.js.page:30(p)
+msgid "This ProgressBar is stopped and started by pressing any key."
+msgstr "La ProgressBar se detiene y se inicia pulsando una tecla."
+
 #: C/progressbar.py.page:43(title)
 msgid "Useful methods for a ProgressBar widget"
-msgstr ""
+msgstr "MÃtodos Ãtiles para un widget ÂProgressBarÂ"
 
 #: C/progressbar.py.page:45(p)
 msgid ""
@@ -2935,7 +4397,8 @@ msgid ""
 "of the work that has been completed."
 msgstr ""
 
-#: C/progressbar.py.page:54(link) C/grid.c.page:32(link)
+#: C/progressbar.py.page:54(link) C/progressbar.c.page:33(link)
+#: C/grid.c.page:32(link)
 msgid "GtkProgressBar"
 msgstr "GtkProgressBar"
 
@@ -2951,6 +4414,11 @@ msgstr "Una barra que indica el progreso de manera visual"
 msgid "GLib"
 msgstr "GLib"
 
+#: C/progressbar.c.page:34(link)
+#| msgid "GLib.Timeout"
+msgid "G_Timeout"
+msgstr "G_Timeout"
+
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
 #: C/photo-wall.c.page:77(None)
@@ -3666,19 +5134,19 @@ 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:20(None)
-#: C/messagedialog.js.page:20(None)
+#: 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:16(desc)
+#: 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:19(title)
-#: C/messagedialog.js.page:19(title)
+#: C/messagedialog.vala.page:19(title) C/messagedialog.py.page:20(title)
+#: C/messagedialog.js.page:22(title)
 msgid "MessageDialog"
 msgstr "MessageDialog"
 
@@ -3690,7 +5158,7 @@ msgstr "Un diÃlogo de mensaje modas que puede hacer que el mundo explote."
 msgid "Gtk.ResponseType"
 msgstr "Gtk.ResponseType"
 
-#: C/messagedialog.vala.page:30(link) C/messagedialog.js.page:32(link)
+#: C/messagedialog.vala.page:30(link) C/messagedialog.js.page:196(link)
 #: C/entry.js.page:31(link)
 msgid "Gtk.MessageDialog"
 msgstr "Gtk.MessageDialog"
@@ -3707,7 +5175,7 @@ msgstr "Gtk.MessageType"
 msgid "Gtk.ButtonsType"
 msgstr "Gtk.ButtonsType"
 
-#: C/messagedialog.py.page:21(p)
+#: C/messagedialog.py.page:22(p)
 msgid ""
 "A message dialog which prints messages on the terminal, depending on your "
 "choices."
@@ -3715,11 +5183,11 @@ msgstr ""
 "Un diÃlogo de mensajes que imprime mensajes en la terminal, segÃn su "
 "elecciÃn."
 
-#: C/messagedialog.py.page:33(title)
+#: C/messagedialog.py.page:34(title)
 msgid "Useful methods for a MessageDialog widget"
-msgstr ""
+msgstr "MÃtodos Ãtiles para un widget ÂMessageDialogÂ"
 
-#: C/messagedialog.py.page:35(p)
+#: 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 "
@@ -3727,7 +5195,7 @@ msgid ""
 "code> (no interaction with other windows of the application)."
 msgstr ""
 
-#: C/messagedialog.py.page:36(p)
+#: 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."
@@ -3735,7 +5203,7 @@ msgid ""
 "message we want."
 msgstr ""
 
-#: C/messagedialog.py.page:37(p)
+#: 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."
@@ -3743,13 +5211,13 @@ msgid ""
 "button using <code>add_button()</code> as in Gtk.Dialog."
 msgstr ""
 
-#: C/messagedialog.py.page:38(p)
+#: 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:39(code)
+#: C/messagedialog.py.page:41(code)
 #, no-wrap
 msgid ""
 "\n"
@@ -3764,7 +5232,7 @@ msgstr ""
 "image.show()\n"
 "messagedialog.set_image(image)"
 
-#: C/messagedialog.py.page:44(p)
+#: 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</"
@@ -3772,48 +5240,121 @@ msgid ""
 "set_from_file(\"filename.png\")</code>."
 msgstr ""
 
-#: C/messagedialog.py.page:45(p)
+#: C/messagedialog.py.page:47(p)
 msgid ""
 "<code>format_secondary_text(\"some secondary message\")</code> sets a "
 "secondary message. The primary text becomes bold."
 msgstr ""
 
-#: C/messagedialog.py.page:55(link)
-#| msgid "Gtk.MessageDialog"
+#: C/messagedialog.py.page:57(link)
 msgid "GtkMessageDialog"
 msgstr "GtkMessageDialog"
 
-#: C/messagedialog.py.page:56(link) C/dialog.py.page:46(link)
-#| msgid "Gtk.Dialog"
+#: C/messagedialog.py.page:58(link) C/dialog.py.page:48(link)
+#: C/dialog.c.page:34(link)
 msgid "GtkDialog"
 msgstr "GtkDialog"
 
-#: C/messagedialog.py.page:58(link) C/messagedialog.js.page:29(link)
-#: C/gmenu.py.page:31(link) C/gmenu.js.page:29(link) C/gmenu.c.page:31(link)
-#: C/aboutdialog.js.page:28(link)
-msgid "GSimpleAction"
-msgstr "GSimpleAction"
-
-#: C/messagedialog.py.page:59(link)
-#| msgid "GtkActionable"
+#: C/messagedialog.py.page:61(link)
 msgid "GActionMap"
 msgstr "GActionMap"
 
-#: C/messagedialog.py.page:60(link) C/messagedialog.js.page:28(link)
-#: C/gmenu.vala.page:24(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:40(link) C/aboutdialog.js.page:27(link)
-msgid "GMenu"
-msgstr "GMenu"
+#: 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"
+
+#: C/messagedialog.js.page:24(p)
+msgid ""
+"A MessageDialog is a modal message dialog, which means a popup that you have "
+"to respond to before you get back to what you were doing in the window that "
+"it's attached to. This one can cause the world to explode (or at least it "
+"says that it can). To make the popup appear when you run this sample, click "
+"on \"Message\" inside of its application menu -- that's the menu that "
+"appears when you click on an application's name in the upper-left screen "
+"corner, next to Activities."
+msgstr ""
+
+#: C/messagedialog.js.page:25(p)
+msgid ""
+"The difference between a MessageDialog and a <link xref=\"dialog.js"
+"\">Dialog</link> is that a Dialog can contain whatever widgets and content "
+"you want to put in it, whereas a MessageDialog is just a convenient way to "
+"make popups appear with a basic message and buttons."
+msgstr ""
+
+#: C/messagedialog.js.page:68(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/";
+"gjs/Gtk.Application.html\">Gtk.Application</link> for our widgets and window "
+"to go in."
+msgstr ""
+
+#: C/messagedialog.js.page:90(p)
+msgid ""
+"For this example, all that we have in the window the popup comes out of is a "
+"silly warning <link xref=\"label.js\">Label.</link>"
+msgstr ""
+
+#: C/messagedialog.js.page:94(title)
+#| msgid "Creating the application window"
+msgid "Creating the application's menu"
+msgstr "Crear el menà de la aplicaciÃn"
+
+#: C/messagedialog.js.page:120(p)
+msgid ""
+"Here, we build the <link xref=\"gmenu.js\">GMenu</link> where we'll be "
+"putting the \"Message\" button which triggers the popup MessageDialog. The "
+"GMenu is the menu that appears when you click the application's name in the "
+"upper-left corner of the screen, next to the Activities menu. Our menu only "
+"has two options in it: Message, and Quit."
+msgstr ""
+
+#: C/messagedialog.js.page:124(title)
+#| msgid "Creating the statusbar"
+msgid "Creating the MessageDialog"
+msgstr "Crear el ÂMessageDialogÂ"
+
+#: C/messagedialog.js.page:140(p)
+msgid ""
+"To make our MessageDialog a popup attached to the main window, we set its "
+"modal property to true and set it to be \"transient_for\" _window. After "
+"that, we can set what kind of buttons it has and what kind of message it is "
+"(which determines what icon appears next to the message), and write out the "
+"text inside it, before connecting its \"response\" signal to the callback "
+"function which handles it."
+msgstr ""
+
+#: C/messagedialog.js.page:141(p)
+msgid "Here are some resources for making your own MessageDialogs:"
+msgstr ""
 
-#: C/messagedialog.js.page:16(desc)
-msgid "A modal message window"
-msgstr "Una ventana modal de mensaje"
+#: C/messagedialog.js.page:143(link)
+#| msgid "A bar of buttons"
+msgid "List of button types"
+msgstr "Lista de tipos de botones"
 
-#: C/messagedialog.js.page:21(p)
-msgid "A modal message dialog. This one can cause the world to explode."
-msgstr "Un diÃlogo de mensaje modal. Esto puede hacer que el mundo explote."
+#: C/messagedialog.js.page:144(link)
+msgid "List of message types"
+msgstr "Lista de tipos de mensajes"
+
+#: C/messagedialog.js.page:171(p)
+msgid ""
+"This function takes two parameters, the MessageDialog and its response_id, "
+"both of which are automatically supplied (you don't have to manually pass "
+"them to it for it to work). Here we use a simple switch to change the "
+"\"warning label\"'s text, depending on which option you select. The "
+"DELETE_EVENT occurs if you press Escape to cancel the MessageDialog, instead "
+"of clicking OK or Cancel. Whatever you select, the popup is destroyed "
+"afterwards."
+msgstr ""
+
+#: C/messagedialog.js.page:178(p)
+msgid ""
+"Finally, we create a new instance of the finished MessageDialogExample "
+"class, and set the application running."
+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.
@@ -4642,10 +6183,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)
@@ -4774,7 +6315,7 @@ msgstr ""
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/linkbutton.vala.page:20(None) C/linkbutton.py.page:21(None)
+#: C/linkbutton.vala.page:20(None) C/linkbutton.py.page:22(None)
 #: C/linkbutton.js.page:20(None) C/linkbutton.c.page:21(None)
 msgid "@@image: 'media/linkbutton.png'; md5=3712eae8953e87c65a6aa74503b8e32b"
 msgstr "@@image: 'media/linkbutton.png'; md5=3712eae8953e87c65a6aa74503b8e32b"
@@ -4783,7 +6324,7 @@ msgstr "@@image: 'media/linkbutton.png'; md5=3712eae8953e87c65a6aa74503b8e32b"
 msgid "Create buttons bound to a URL"
 msgstr "Crear botones asociados a un URL"
 
-#: C/linkbutton.vala.page:19(title) C/linkbutton.py.page:19(title)
+#: C/linkbutton.vala.page:19(title) C/linkbutton.py.page:20(title)
 msgid "LinkButton widget"
 msgstr "Widget LinkButton"
 
@@ -4795,15 +6336,40 @@ msgstr "Un botÃn que enlaza con GNOME live."
 msgid "Gtk.LinkButton"
 msgstr "Gtk.LinkButton"
 
-#: C/linkbutton.py.page:16(desc)
+#: C/linkbutton.py.page:17(desc)
 msgid "A button bound to an URL"
 msgstr "Un botÃn asociado a un URL"
 
-#: C/linkbutton.py.page:22(p)
+#: C/linkbutton.py.page:23(p)
 msgid "A button that links to a web page."
 msgstr "Un botÃn que enlaza con una pÃgina web."
 
-#: C/linkbutton.py.page:31(link) C/linkbutton.c.page:32(link)
+#: C/linkbutton.py.page:32(title)
+#| msgid "Useful methods for a Window widget"
+msgid "Useful methods for a LinkButton widget"
+msgstr "MÃtodos Ãtiles para un widget ÂLinkButtonÂ"
+
+#: C/linkbutton.py.page:34(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)
+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)
+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)
 msgid "GtkLinkButton"
 msgstr "GtkLinkButton"
 
@@ -4829,44 +6395,31 @@ msgstr "Este botÃn enlaza con la pÃgina web de GNOME Live."
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/label.vala.page:20(None) C/label.py.page:25(None)
-#: C/label.js.page:20(None) C/label.c.page:23(None)
+#: C/label.vala.page:20(None) C/label.py.page:26(None)
+#: C/label.js.page:20(None) C/label.c.page:24(None)
 msgid "@@image: 'media/label.png'; md5=734975c18653d88379f983e4501c3fc0"
 msgstr "@@image: 'media/label.png'; md5=734975c18653d88379f983e4501c3fc0"
 
-#: C/label.vala.page:16(desc) C/label.c.page:16(desc)
+#: C/label.vala.page:16(desc) C/label.c.page:17(desc)
 msgid "A widget which displays text"
 msgstr "Un widget que muestra un texto"
 
-#: C/label.vala.page:21(p) C/label.py.page:26(p) C/label.c.page:24(p)
+#: C/label.vala.page:21(p) C/label.py.page:27(p) C/label.c.page:25(p)
 msgid "A simple label"
 msgstr "Una etiqueta sencilla"
 
-#: 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/label.py.page:16(name)
-msgid "Sebastian PÃlsterl"
-msgstr "Sebastian PÃlsterl"
-
-#: C/label.py.page:17(email)
-msgid "sebp k-d-w org"
-msgstr "sebp k-d-w org"
-
-#: C/label.py.page:21(desc)
+#: C/label.py.page:22(desc)
 msgid "A widget that displays a small to medium amount of text"
-msgstr ""
+msgstr "Un widget que muestra una cantidad pequeÃa o mediana de texto"
 
-#: C/label.py.page:35(p)
+#: C/label.py.page:36(p)
 msgid ""
 "Another way to obtain what we have in the example is to create the label as "
 "an instance of another class and add it to the instance of <code>MyWindow</"
 "code> in the <code>do_activate(self)</code> method:"
 msgstr ""
 
-#: C/label.py.page:36(code)
+#: C/label.py.page:37(code)
 #, no-wrap
 msgid ""
 "\n"
@@ -4923,23 +6476,25 @@ msgstr ""
 "        # show the window and everything on it\n"
 "        win.show_all()"
 
-#: C/label.py.page:66(title)
-msgid "Useful methods for a Label widgets"
-msgstr ""
+#: 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Â"
 
-#: C/label.py.page:68(p)
+#: C/label.py.page:69(p)
 msgid ""
-"<code>label = Gtk.Label(\"Hello GNOME!\")</code> could also be used create a "
-"label and set the text directly."
+"<code>label = Gtk.Label(label=\"Hello GNOME!\")</code> could also be used "
+"create a label and set the text directly. For a general discussion of this, "
+"see <link xref=\"properties.py\">here</link>."
 msgstr ""
 
-#: C/label.py.page:69(p)
+#: C/label.py.page:71(p)
 msgid ""
 "<code>set_line_wrap(True)</code> breaks lines if the text of the label "
 "exceeds the size of the widget."
 msgstr ""
 
-#: C/label.py.page:70(p)
+#: C/label.py.page:72(p)
 msgid ""
 "<code>set_justify(Gtk.Justification.LEFT)</code> (or <code>Gtk.Justification."
 "RIGHT, Gtk.Justification.CENTER, Gtk.Justification.FILL</code>) sets the "
@@ -4947,7 +6502,7 @@ msgid ""
 "method has no effect on a single-line label."
 msgstr ""
 
-#: C/label.py.page:71(p)
+#: C/label.py.page:73(p)
 msgid ""
 "For decorated text we can use <code>set_markup(\"text\")</code>, where <code>"
 "\"text\"</code> is a text in the <link href=\"http://developer.gnome.org/";
@@ -5073,8 +6628,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)
@@ -6013,9 +7568,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 ""
@@ -6026,7 +7581,8 @@ msgid ""
 msgstr ""
 "<code>set_default_response</code> determina quà botÃn se activarà si el "
 "usuario hace una doble pulsaciÃn o presiona <key>Intro</key>. En este caso, "
-"se usa el botÃn <gui>Abrir</gui> como predeterminado (que tiene el valor Â1Â)."
+"se usa el botÃn <gui>Abrir</gui> como predeterminado (que tiene el valor "
+"Â1Â)."
 
 #: C/image-viewer.py.page:205(p) C/image-viewer.js.page:291(p)
 msgid ""
@@ -7190,7 +8746,7 @@ msgstr ""
 msgid "@@image: 'media/image.png'; md5=9416aa74d9d6a857783f7a36338e7a02"
 msgstr "@@image: 'media/image.png'; md5=9416aa74d9d6a857783f7a36338e7a02"
 
-#: C/image.vala.page:16(desc) C/image.py.page:16(desc)
+#: C/image.vala.page:16(desc) C/image.py.page:16(desc) C/image.c.page:16(desc)
 msgid "A widget displaying an image"
 msgstr "Un widget que muestra una imagen"
 
@@ -7215,13 +8771,12 @@ 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:29(link)
-#: C/aboutdialog.py.page:39(link)
+#: C/GtkApplicationWindow.c.page:29(link) C/checkbutton.py.page:44(link)
+#: C/aboutdialog.py.page:45(link)
 msgid "GtkApplicationWindow"
 msgstr "GtkApplicationWindow"
 
 #: C/image.py.page:23(p)
-#, fuzzy
 #| 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 "
@@ -7231,9 +8786,9 @@ msgid ""
 "\"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 ha cargado 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. Use su imagen favorita."
+"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."
 
 #: C/image.py.page:34(p)
 msgid ""
@@ -7297,7 +8852,7 @@ msgstr ""
 
 #: C/image.py.page:62(title)
 msgid "Useful methods for an Image widget"
-msgstr ""
+msgstr "MÃtodos Ãtiles para un widget ÂImageÂ"
 
 #: C/image.py.page:65(p)
 msgid ""
@@ -7385,10 +8940,6 @@ msgid ""
 "<code>new_from_stream_at_scale()</code> in the documentation"
 msgstr ""
 
-#: C/image.c.page:16(desc)
-msgid "A widget displaying an image."
-msgstr "Un widget que muestra una imagen."
-
 #: C/helloworldautotools.js.page:18(title)
 msgid "Autotools files for your Hello World application"
 msgstr "Archivos de Autotools para su aplicaciÃn ÂHolaMundoÂ"
@@ -7525,7 +9076,8 @@ 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 ""
@@ -7546,19 +9098,20 @@ 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 ""
@@ -7699,9 +9252,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/";
@@ -8019,8 +9572,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)."
 
@@ -8061,11 +9614,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 "
@@ -9580,15 +11133,9 @@ msgid "The simplest GtkApplication Window which can support Menus."
 msgstr "La ventana de GtkApplication mÃs sencilla que puede soportar menÃs."
 
 #: C/GtkApplicationWindow.py.page:37(title)
-#| msgid "Gtk.ApplicationWindow"
 msgid "Useful methods for a Gtk.ApplicationWindow widget"
 msgstr "MÃtodos Ãtiles para un widget ÂGtk.ApplicationWindowÂ"
 
-#: C/GtkApplicationWindow.py.page:38(p)
-msgid ""
-"These be used in the class MyWindow with or in the function do_activate()."
-msgstr ""
-
 #: C/GtkApplicationWindow.js.page:21(p)
 msgid "A simple GtkApplicationWindow which can support Menus."
 msgstr "Una GtkApplicationWindow sencilla que soporta menÃs."
@@ -9624,10 +11171,6 @@ msgstr "Widget de rejilla"
 msgid "A button widget connected to a progress bar."
 msgstr "Un widget de botÃn conectado a una barra de progreso."
 
-#: C/grid.vala.page:30(link) C/grid.py.page:33(link) C/grid.js.page:35(link)
-msgid "Gtk.Grid"
-msgstr "Gtk.Grid"
-
 #: C/grid.js.page:25(p)
 msgid ""
 "A button widget connected to a progress bar, inside of a grid which handles "
@@ -9640,7 +11183,7 @@ msgstr ""
 msgid "Grid Widget"
 msgstr "Widget de rejilla"
 
-#: C/grid.c.page:33(link) C/button.c.page:32(link)
+#: C/grid.c.page:33(link) C/button.py.page:49(link) C/button.c.page:34(link)
 msgid "GtkButton"
 msgstr "GtkButton"
 
@@ -9674,8 +11217,8 @@ msgid ""
 "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.c.page:21(p)
@@ -9839,21 +11382,21 @@ 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/entry.vala.page:20(None) C/entry.py.page:20(None)
-#: C/entry.js.page:20(None)
+#: 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"
 msgstr "@@image: 'media/entry.png'; md5=8a828cffdcbaa4bad83342e109f28cc8"
 
-#: C/entry.vala.page:16(desc) C/entry.py.page:16(desc)
+#: C/entry.vala.page:16(desc) C/entry.py.page:21(desc) C/entry.c.page:16(desc)
 msgid "A single line text entry field"
 msgstr "Un campo de entrada de texto de una sola lÃnea"
 
-#: C/entry.vala.page:19(title) C/entry.py.page:19(title)
-#: C/entry.js.page:19(title)
+#: C/entry.vala.page:19(title) C/entry.py.page:24(title)
+#: C/entry.js.page:19(title) C/entry.c.page:19(title)
 msgid "Entry"
 msgstr "Entry"
 
-#: C/entry.vala.page:21(p)
+#: C/entry.vala.page:21(p) C/entry.c.page:22(p)
 msgid "This application greets you in the terminal."
 msgstr "Esta aplicaciÃn le saluda en la terminal."
 
@@ -9861,11 +11404,142 @@ msgstr "Esta aplicaciÃn le saluda en la terminal."
 msgid "Gtk.Entry"
 msgstr "Gtk.Entry"
 
-#: C/entry.py.page:21(p)
+#: C/entry.py.page:26(p)
 msgid "This application greets you in the terminal with the name you provide."
 msgstr "Esta aplicaciÃn le saluda en la terminal con el nombre que le indique."
 
-#: C/entry.py.page:28(link)
+#: 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Â"
+
+#: C/entry.py.page:37(p)
+msgid ""
+"For an explanation of signals and callback functions, see <link xref="
+"\"signals-callbacks.py\">this page</link>. Some of the signals that a Gtk."
+"Entry widget can emit are: <code>\"activate\"</code> (emitted when the user "
+"activates the Entry key); <code>\"backspace\"</code> (emitted when the user "
+"activates the Backspace or Shift-Backspace keys); <code>\"copy-clipboard\"</"
+"code> (Ctrl-c and Ctrl-Insert); <code>\"paste-clipboard\"</code> (Ctrl-v and "
+"Shift-Insert); <code>\"delete-from-cursor\"</code> (Delete, for deleting a "
+"character; Ctrl-Delete, for deleting a word); <code>\"icon-press\"</code> "
+"(emitted when the user clicks an activable icon); <code>\"icon-release\"</"
+"code> (emitted on the button release from a mouse click over an activable "
+"icon); <code>\"insert-at-cursor\"</code> (emitted when the user initiates "
+"the insertion of a fixed string at the cursor); <code>\"move-cursor\"</code> "
+"(emitted when the user initiates a cursor movement); <code>\"populate-popup"
+"\"</code> (emitted before showing the context menu of the entry; it can be "
+"used to add items to it)."
+msgstr ""
+
+#: C/entry.py.page:39(p)
+msgid ""
+"<code>get_buffer()</code> and <code>set_buffer(buffer)</code>, where "
+"<code>buffer</code> is a Gtk.EntryBuffer object, can be used to get and set "
+"the buffer for the entry."
+msgstr ""
+
+#: C/entry.py.page:40(p)
+msgid ""
+"<code>get_text()</code> and <code>set_text(\"some text\")</code> can be used "
+"to get and set the content for the entry."
+msgstr ""
+
+#: C/entry.py.page:41(p)
+msgid "<code>get_text_length()</code> is self-explanatory."
+msgstr ""
+
+#: C/entry.py.page:42(p)
+msgid ""
+"<code>get_text_area()</code> gets the area where the entry's text is drawn."
+msgstr ""
+
+#: C/entry.py.page:43(p)
+msgid ""
+"If we set <code>set_visibility(False)</code> the characters in the entry are "
+"displayed as the invisible char. This is the best available in the current "
+"font, but it can be changed with <code>set_invisible_char(ch)</code>, where "
+"<code>ch</code> is a Unicode charcater. The latter method is reversed by "
+"<code>unset_invisbile_char()</code>."
+msgstr ""
+
+#: C/entry.py.page:44(p)
+msgid ""
+"<code>set_max_length(int)</code>, where <code>int</code> is an integer, "
+"truncates every entry longer than <code>int</code> to have the desired "
+"maximum length."
+msgstr ""
+
+#: C/entry.py.page:45(p)
+msgid ""
+"By default, if you press the Entry key the Gtk.Entry emits the signal <code>"
+"\"activate\"</code>. If you would like to activate the default widget for "
+"the window (set using <code>set_default(widget)</code> on the window), then "
+"use <code>set_activates_default(True)</code>."
+msgstr ""
+
+#: C/entry.py.page:46(p)
+msgid "To set a frame around the entry: <code>set_has_frame(True)</code>."
+msgstr ""
+
+#: C/entry.py.page:47(p)
+msgid ""
+"<code>set_placeholder_text(\"some text\")</code> sets the text to be "
+"displayed in the entry when it is empty and unfocused."
+msgstr ""
+
+#: C/entry.py.page:48(p)
+msgid ""
+"<code>set_overwrite_mode(True)</code> and <code>set_overwrite_mode(False)</"
+"code> are self-explanatory."
+msgstr ""
+
+#: C/entry.py.page:49(p)
+msgid ""
+"If we have <code>set_editable(False)</code> the user cannot edit the text in "
+"the widget."
+msgstr ""
+
+#: C/entry.py.page:50(p)
+msgid ""
+"<code>set_completion(completion)</code>, where <code>completion</code> is a "
+"<link href=\"http://developer.gnome.org/gtk3/3.4/GtkEntryCompletion.html";
+"\"><code>Gtk.EntryCompletion</code></link>, sets completion - or disables it "
+"if <code>completion</code> is <code>None</code>."
+msgstr ""
+
+#: C/entry.py.page:51(p)
+msgid ""
+"An Entry widget can display progress or activity information behind the "
+"text. We use <code>set_progress_fraction(fraction)</code>, where "
+"<code>fraction</code> is a <code>float</code> between <code>0.0</code> and "
+"<code>1.0</code> inclusive, to fill in the given fraction of the bar. We use "
+"<code>set_progress_pulse_step()</code> to set the fraction of total entry "
+"width to move the progress bouncing block for each call to "
+"<code>progress_pulse()</code>. The latter method indicates that some "
+"progress is made, and causes the progress indicator of the entry to enter "
+"\"activity mode\", where a block bounces back and forth. Each call to "
+"<code>progress_pulse()</code> causes the block to move by a little bit (the "
+"amount of movement per pulse is determined, as said before, by "
+"<code>set_progress_pulse_step()</code>)."
+msgstr ""
+
+#: C/entry.py.page:52(p)
+msgid ""
+"An Entry widget can also show icons. These icons can be activatable by "
+"clicking, can be set up as drag source and can have tooltips. To add an "
+"icon, use <code>set_icon_from_stock(icon_position, stock_id)</code>, or one "
+"of <code>set_icon_from_pixbuf(icon_position, pixbuf)</code>, "
+"<code>set_icon_from_icon_name(icon_position, icon_name)</code>, where "
+"<code>icon_position</code> is one of <code>Gtk.EntryIconPosition.PRIMARY</"
+"code> (to set the icon at the beginning of the entry) <code>Gtk."
+"EntryIconPosition.SECONDARY</code> (to set the icon at the end of the "
+"entry). To set a tooltip on an icon, use <code>set_icon_tooltip_text"
+"(\"tooltip text\")</code> or <code>set_icon_tooltip_markup(\"tooltip text in "
+"Pango markup language\")</code>."
+msgstr ""
+
+#: C/entry.py.page:60(link) C/entry.c.page:32(link)
 msgid "GtkEntry"
 msgstr "GtkEntry"
 
@@ -9901,24 +11575,25 @@ msgstr ""
 "Si quiere <link href=\"https://live.gnome.org/DocumentationProject/Tasks/";
 "DeveloperDocs\">contribuir al desarrollo de los <app>Tutoriales del "
 "desarrollador de GNOME</app></link>, puede ponerse en contacto con los "
-"desarrolladores usando <link href=\"https://cbe005.chat.mibbit.com/?url=irc%";
-"3A%2F%2Firc.gnome.org%2Fdocs\">irc</link>, o mediante la <link href=\"http://";
-"mail.gnome.org/mailman/listinfo/gnome-doc-devel-list\">lista decorreo</link>."
+"desarrolladores usando <link href=\"https://cbe005.chat.mibbit.com/?url=irc";
+"%3A%2F%2Firc.gnome.org%2Fdocs\">irc</link>, o mediante la <link href="
+"\"http://mail.gnome.org/mailman/listinfo/gnome-doc-devel-list\";>lista "
+"decorreo</link>."
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/dialog.vala.page:20(None) C/dialog.py.page:20(None)
-#: C/dialog.js.page:20(None)
+#: C/dialog.vala.page:20(None) C/dialog.py.page:21(None)
+#: C/dialog.js.page:20(None) C/dialog.c.page:23(None)
 msgid "@@image: 'media/dialog.png'; md5=c90a33386a600e892fe623d4072c8c38"
 msgstr "@@image: 'media/dialog.png'; md5=c90a33386a600e892fe623d4072c8c38"
 
-#: C/dialog.vala.page:16(desc) C/dialog.py.page:16(desc)
-#: C/dialog.js.page:16(desc)
+#: C/dialog.vala.page:16(desc) C/dialog.py.page:17(desc)
+#: C/dialog.js.page:16(desc) C/dialog.c.page:18(desc)
 msgid "A popup window"
 msgstr "Una ventana emergente"
 
-#: C/dialog.vala.page:19(title) C/dialog.py.page:19(title)
-#: C/dialog.js.page:19(title)
+#: C/dialog.vala.page:19(title) C/dialog.py.page:20(title)
+#: C/dialog.js.page:19(title) C/dialog.c.page:21(title)
 msgid "Dialog"
 msgstr "DiaÌlogo"
 
@@ -9940,33 +11615,32 @@ msgstr "Gtk.Dialog.with_buttons"
 msgid "get_content_area"
 msgstr "get_content_area"
 
-#: C/dialog.py.page:21(p)
-#, fuzzy
+#: 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 enlazada a una funciÃn de retorno de "
+"Un diÃlogo con la seÃal de respuesta conectada a una funciÃn de retorno de "
 "llamada."
 
-#: C/dialog.py.page:33(title)
+#: C/dialog.py.page:34(title)
 msgid "Useful methods for a Dialog widget"
 msgstr "MeÌtodos uÌtiles para un widget ÂDialogÂ"
 
-#: C/dialog.py.page:35(p)
+#: C/dialog.py.page:37(p)
 msgid ""
 "Instead of <code>set_modal(True)</code> we could have <code>set_modal(False)"
 "</code> followed by <code>set_destroy_with_parent(True)</code> that would "
 "destroy the dialog window if the main window is closed."
 msgstr ""
 
-#: C/dialog.py.page:36(p)
+#: C/dialog.py.page:38(p)
 msgid ""
 "<code>add_button(button_text=\"The Answer\", response_id=42)</code>, where "
 "<code>42</code> is any integer, is an alternative to <code>add_button"
 "(button_text=\"text\", response_id=Gtk.ResponseType.RESPONSE)</code>, where "
 "<code>RESPONSE</code> could be one of <code>OK, CANCEL, CLOSE, YES, NO, "
-"APPLY, HELP</code>, which in turn correspond to the integers <code>-5, -"
-"6,..., -11</code>."
+"APPLY, HELP</code>, which in turn correspond to the integers <code>-5, "
+"-6,..., -11</code>."
 msgstr ""
 
 #: C/dialog.js.page:21(p)
@@ -9979,6 +11653,10 @@ msgstr ""
 "Ãrea de acciÃn. Esta Ãrea de contenido del diÃlogo de ejemplo contiene un "
 "mensaje, y su Ãrea de acciÃn contiene un botÃn que cierra el diÃlogo."
 
+#: C/dialog.c.page:24(p)
+msgid "A dialog window that pops up when a button is pressed."
+msgstr "Una ventana de diÃlogo que aparece cuando se pulsa un botÃn"
+
 #: C/desktop.js.page:15(desc)
 msgid "A desktop file for the hello world application"
 msgstr "Un archivo Â.desktop para la aplicaciÃn ÂHola mundoÂ"
@@ -10223,7 +11901,7 @@ msgstr "Colores RGBA"
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/checkbutton.vala.page:20(None) C/checkbutton.py.page:20(None)
+#: C/checkbutton.vala.page:20(None) C/checkbutton.py.page:21(None)
 #: C/checkbutton.js.page:20(None) C/checkbutton.c.page:20(None)
 msgid "@@image: 'media/checkbutton.png'; md5=7921a6812c87dd2b3781f4fad241e858"
 msgstr "@@image: 'media/checkbutton.png'; md5=7921a6812c87dd2b3781f4fad241e858"
@@ -10232,12 +11910,12 @@ msgstr "@@image: 'media/checkbutton.png'; md5=7921a6812c87dd2b3781f4fad241e858"
 msgid "Create widgets with a disrete toggle button"
 msgstr "Crear widgets con un botÃn conmutador discreto"
 
-#: C/checkbutton.vala.page:19(title) C/checkbutton.py.page:19(title)
+#: C/checkbutton.vala.page:19(title) C/checkbutton.py.page:20(title)
 #: C/checkbutton.js.page:19(title) C/checkbutton.c.page:19(title)
 msgid "CheckButton"
 msgstr "CheckButton"
 
-#: C/checkbutton.vala.page:21(p) C/checkbutton.py.page:21(p)
+#: C/checkbutton.vala.page:21(p) C/checkbutton.py.page:22(p)
 #: C/checkbutton.c.page:21(p)
 msgid "This CheckButton toggles the title."
 msgstr "Este CheckButton cambia el tiÌtulo."
@@ -10246,19 +11924,29 @@ msgstr "Este CheckButton cambia el tiÌtulo."
 msgid "Gtk.CheckButton"
 msgstr "Gtk.CheckButton"
 
-#: C/checkbutton.py.page:16(desc)
+#: C/checkbutton.py.page:17(desc)
 msgid "A toggle button in a window"
 msgstr "Un botÃn conmutador en una ventana"
 
-#: C/checkbutton.py.page:31(link) C/checkbutton.c.page:28(link)
+#: C/checkbutton.py.page:29(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"
+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)
 msgid "GtkCheckButton"
 msgstr "GtkCheckButton"
 
 #: C/checkbutton.js.page:16(desc)
-#, fuzzy
 #| msgid "A button which can be connected to other widgets"
 msgid "A box which can be checked or unchecked"
-msgstr "Un botÃn que puede estar conectado a otros widgets."
+msgstr "Una casilla que puede estar marcada o desmarcada"
 
 #: C/checkbutton.js.page:21(p)
 msgid ""
@@ -10290,10 +11978,9 @@ msgid ""
 msgstr ""
 
 #: C/checkbutton.js.page:83(title)
-#, fuzzy
 #| msgid "Creating the buttons"
 msgid "Creating the checkbutton"
-msgstr "Crear los botones"
+msgstr "Crear la casilla"
 
 #: C/checkbutton.js.page:95(p)
 msgid ""
@@ -10348,21 +12035,21 @@ msgstr "Tutoriales, ejemplos de coÌdigo y demostraciones de la plataforma en C"
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/button.vala.page:22(None) C/button.py.page:21(None)
-#: C/button.js.page:20(None) C/button.c.page:21(None)
+#: C/button.vala.page:22(None) C/button.py.page:22(None)
+#: C/button.js.page:20(None) C/button.c.page:23(None)
 msgid "@@image: 'media/button.png'; md5=8d69efbb3a0d3e043af6139b6492171c"
 msgstr "@@image: 'media/button.png'; md5=8d69efbb3a0d3e043af6139b6492171c"
 
-#: C/button.vala.page:17(desc) C/button.py.page:16(desc)
-#: C/button.c.page:16(desc)
+#: C/button.vala.page:17(desc) C/button.py.page:17(desc)
+#: C/button.c.page:18(desc)
 msgid "A button widget which emits a signal when clicked"
 msgstr "Un widget de botÃn que emite una seÃal cuando se pulsa sobre Ãl"
 
-#: C/button.vala.page:20(title) C/button.py.page:19(title)
+#: C/button.vala.page:20(title) C/button.py.page:20(title)
 msgid "Button widget"
 msgstr "Widget de botÃn"
 
-#: C/button.vala.page:23(p) C/button.py.page:22(p)
+#: C/button.vala.page:23(p) C/button.py.page:23(p)
 msgid "A button widget connected to a simple callback function."
 msgstr "Un widget de botÃn conectado a una funciÃn de retorno de llamada."
 
@@ -10374,6 +12061,72 @@ 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"
+msgid "Useful methods for a Button widget"
+msgstr "MÃtodos Ãtiles para un widget ÂButtonÂ"
+
+#: C/button.py.page:32(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)
+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)
+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)
+msgid ""
+"To set an image (e.g. a stock image) for the button <code>button</code>:"
+msgstr ""
+
+#: C/button.py.page:37(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"
+"image.set_from_stock(Gtk.STOCK_ABOUT, Gtk.IconSize.BUTTON)\n"
+"button.set_image(image)"
+msgstr ""
+"\n"
+"image = Gtk.Image()\n"
+"image.set_from_stock(Gtk.STOCK_ABOUT, Gtk.IconSize.BUTTON)\n"
+"button.set_image(image)"
+
+#: C/button.py.page:41(p)
+msgid ""
+"You should not set a label for the button after this, otherwise it will show "
+"the label and not the image."
+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)
+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 "
+"toolbars, so that the keyboard focus is not removed from the main area of "
+"the application."
+msgstr ""
+
 #: C/button.js.page:16(desc)
 msgid "A button which can be connected to other widgets"
 msgstr "Un botÃn que puede estar conectado a otros widgets."
@@ -10386,15 +12139,20 @@ msgstr "Button"
 msgid "A button widget that changes its label when you click it."
 msgstr "Un widget que cambia su etiqueta cuando se pulsa sobre Ãl."
 
-#: C/button.c.page:19(title)
+#: C/button.c.page:21(title)
 msgid "Button Widget"
 msgstr "Widget de botÃn"
 
-#: C/button.c.page:22(p)
-msgid "A button widget connected to a callback function"
-msgstr "Un widget de botÃn conectado a una funciÃn de retorno de llamada"
+#: 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."
+msgstr ""
+"Un widget de botÃn conectado a una funciÃn de retorno de llamada que "
+"invierte su etiqueta cuando se pulsa."
 
-#: C/button.c.page:33(link)
+#: C/button.c.page:35(link)
 msgid "Unicode Manipulation"
 msgstr "ManipulaciÃn de Unicode"
 
@@ -10679,7 +12437,6 @@ msgid "python <var>filename</var>.py"
 msgstr "python <var>nombre_archivo</var>.py"
 
 #: C/beginner.js.page:18(title)
-#| msgid "0 Beginner's Tutorials and samples"
 msgid "0 Beginner's tutorials and samples"
 msgstr "0. Tutoriales para principiantes y ejemplos"
 
@@ -10794,7 +12551,7 @@ msgstr "3. Reproductor de sonido"
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/aboutdialog.vala.page:28(None) C/aboutdialog.py.page:20(None)
+#: C/aboutdialog.vala.page:28(None) C/aboutdialog.py.page:21(None)
 #: C/aboutdialog.js.page:19(None)
 msgid ""
 "@@image: 'media/aboutdialog_GMenu.png'; md5=a36117a559fa98e25e2f6b3db593639f"
@@ -10805,7 +12562,7 @@ msgstr ""
 msgid "Display information about an application"
 msgstr "Mostrar informacioÌn acerca de una aplicacioÌn"
 
-#: C/aboutdialog.vala.page:27(title) C/aboutdialog.py.page:19(title)
+#: C/aboutdialog.vala.page:27(title) C/aboutdialog.py.page:20(title)
 #: C/aboutdialog.js.page:18(title)
 msgid "AboutDialog"
 msgstr "AboutDialog"
@@ -10818,11 +12575,11 @@ msgstr "Un ejemplo de AboutDialog usando Gtk.ApplicationWindow y Menu"
 msgid "set_default_size"
 msgstr "set_default_size"
 
-#: C/aboutdialog.py.page:16(desc)
+#: C/aboutdialog.py.page:17(desc)
 msgid "A window that displays information about an application"
 msgstr "Una ventana que muestra informacioÌn acerca de una aplicacioÌn"
 
-#: C/aboutdialog.py.page:21(p)
+#: C/aboutdialog.py.page:22(p)
 msgid ""
 "An AboutDialog example using Gtk.ApplicationWindow and Menu (the \"about\" "
 "is displayed if \"About\" in the menu is selected)."
@@ -10830,7 +12587,12 @@ msgstr ""
 "Un ejemplo de AboutDialog usando Gtk.ApplicationWindow y Menu (el diÃlogo se "
 "muestra al pulsar el elemento de menà ÂAcerca deÂ)."
 
-#: C/aboutdialog.py.page:38(link)
+#: 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Â"
+
+#: C/aboutdialog.py.page:44(link)
 msgid "GtkAboutDialog"
 msgstr "GtkAboutDialog"
 
@@ -10855,6 +12617,25 @@ msgstr ""
 "Daniel Mustieles <daniel mustieles gmail com>, 2011-2012\n"
 "Jorge GonzÃlez <jorgegonz svn gnome org>, 2011"
 
+#~| msgid "A button which retains state"
+#~ msgid "A button which retains state."
+#~ msgstr "Un botÃn que mantiene su estado."
+
+#~ msgid "The text reads:"
+#~ msgstr "El texto dice:"
+
+#~ msgid "GLib.Source"
+#~ msgstr "GLib.Source"
+
+#~ msgid "Gtk.Widget.key_press_event"
+#~ msgstr "Gtk.Widget.key_press_event"
+
+#~ msgid "A modal message dialog. This one can cause the world to explode."
+#~ msgstr "Un diÃlogo de mensaje modal. Esto puede hacer que el mundo explote."
+
+#~ msgid "A widget displaying an image."
+#~ msgstr "Un widget que muestra una imagen."
+
 #~ msgid "A complete beginner's guide to GTK+ programming"
 #~ msgstr "Una guÃa completa de programaciÃn en GTK+ para principiantes"
 
@@ -10897,20 +12678,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"
@@ -10934,19 +12715,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 ""
@@ -11167,21 +12948,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 "



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