[gnome-devel-docs] Updated Spanish translation



commit ae7ac799c6b9f3a7238d9d70d22b8ae45049e1f0
Author: Daniel Mustieles <daniel mustieles gmail com>
Date:   Thu Feb 28 13:21:02 2019 +0100

    Updated Spanish translation

 platform-demos/es/es.po | 1720 ++++++++++++++++++++++++++++++++++++++++-------
 1 file changed, 1483 insertions(+), 237 deletions(-)
---
diff --git a/platform-demos/es/es.po b/platform-demos/es/es.po
index db1c46e1..255db020 100644
--- a/platform-demos/es/es.po
+++ b/platform-demos/es/es.po
@@ -5,21 +5,21 @@
 # Jorge González <jorgegonz svn gnome org>, 2011.
 # Nicolás Satragno <nsatragno gnome org>, 2012, 2013.
 # 
-# Daniel Mustieles <daniel mustieles gmail com>, 2011-2017, 2018.
+# Daniel Mustieles <daniel mustieles gmail com>, 2011-2019.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: gnome-devel-docs.platform-demos.master\n"
-"POT-Creation-Date: 2018-07-24 08:11+0000\n"
-"PO-Revision-Date: 2018-07-31 12:22+0200\n"
+"POT-Creation-Date: 2019-02-03 09:39+0000\n"
+"PO-Revision-Date: 2019-02-28 13:20+0100\n"
 "Last-Translator: Daniel Mustieles <daniel mustieles gmail com>\n"
 "Language-Team: es <gnome-es-list gnome org>\n"
-"Language: \n"
+"Language: es\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Gtranslator 2.91.7\n"
+"X-Generator: Gtranslator 3.31.90\n"
 
 #. Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2
 msgctxt "_"
@@ -3265,6 +3265,160 @@ msgstr ""
 #. (itstool) path: page/code
 #: C/aboutdialog.c.page:29
 #, no-wrap
+#| msgid ""
+#| "\n"
+#| "#include &lt;gtk/gtk.h&gt;\n"
+#| "\n"
+#| "/* Callback function in which reacts to the \"response\" signal from the user in\n"
+#| " * the message dialog window.\n"
+#| " * This function is used to destroy the dialog window.\n"
+#| " */\n"
+#| "static void\n"
+#| "on_close (GtkDialog *dialog,\n"
+#| "          gint       response_id,\n"
+#| "          gpointer   user_data)\n"
+#| "{\n"
+#| "  /* This will cause the dialog to be destroyed */\n"
+#| "  gtk_widget_destroy (GTK_WIDGET (dialog));\n"
+#| "}\n"
+#| "\n"
+#| "/* Callback function for the response signal \"activate\" related to the SimpleAction\n"
+#| " * \"about_action\".\n"
+#| " * This function is used to cause the about dialog window to popup.\n"
+#| " */\n"
+#| "static void\n"
+#| "about_cb (GSimpleAction *simple,\n"
+#| "          GVariant      *parameter,\n"
+#| "          gpointer       user_data)\n"
+#| "{\n"
+#| "  GtkWidget *about_dialog;\n"
+#| "\n"
+#| "  about_dialog = gtk_about_dialog_new ();\n"
+#| "\n"
+#| "  /* Lists of authors/ documentators to be used later, they must be initialized\n"
+#| "   * in a null terminated array of strings.\n"
+#| "   */\n"
+#| "  const gchar *authors[] = {\"GNOME Documentation Team\", NULL};\n"
+#| "  const gchar *documenters[] = {\"GNOME Documentation Team\", NULL};\n"
+#| "\n"
+#| "  /* We fill in the information for the about dialog */\n"
+#| "  gtk_about_dialog_set_program_name (GTK_ABOUT_DIALOG (about_dialog), \"AboutDialog Example\");\n"
+#| "  gtk_about_dialog_set_copyright (GTK_ABOUT_DIALOG (about_dialog), \"Copyright \\xc2\\xa9 2012 GNOME 
Documentation Team\");\n"
+#| "  gtk_about_dialog_set_authors (GTK_ABOUT_DIALOG (about_dialog), authors);\n"
+#| "  gtk_about_dialog_set_documenters (GTK_ABOUT_DIALOG (about_dialog), documenters);\n"
+#| "  gtk_about_dialog_set_website_label (GTK_ABOUT_DIALOG (about_dialog), \"GNOME Developer Website\");\n"
+#| "  gtk_about_dialog_set_website (GTK_ABOUT_DIALOG (about_dialog), \"http://developer.gnome.org\";);\n"
+#| "\n"
+#| "  /* We do not wish to show the title, which in this case would be\n"
+#| "   * \"AboutDialog Example\". We have to reset the title of the messagedialog\n"
+#| "   * window after setting the program name.\n"
+#| "   */\n"
+#| "  gtk_window_set_title (GTK_WINDOW (about_dialog), \"\");\n"
+#| "\n"
+#| "  /* To close the aboutdialog when \"close\" is clicked we connect the response\n"
+#| "   * signal to on_close\n"
+#| "   */\n"
+#| "  g_signal_connect (GTK_DIALOG (about_dialog), \"response\",\n"
+#| "                    G_CALLBACK (on_close), NULL);\n"
+#| "\n"
+#| "  /* Show the about dialog */\n"
+#| "  gtk_widget_show (about_dialog);\n"
+#| "}\n"
+#| "\n"
+#| "static void\n"
+#| "activate (GtkApplication *app,\n"
+#| "          gpointer        user_data)\n"
+#| "{\n"
+#| "  GtkWidget *window;\n"
+#| "\n"
+#| "  GSimpleAction *about_action;\n"
+#| "\n"
+#| "  /* Create a window with a title and a default size */\n"
+#| "  window = gtk_application_window_new (app);\n"
+#| "  gtk_window_set_title (GTK_WINDOW (window), \"AboutDialog Example\");\n"
+#| "  gtk_window_set_default_size (GTK_WINDOW (window), 200, 200);\n"
+#| "\n"
+#| "  /* Create a new simple action, giving it a NULL parameter type. It will\n"
+#| "   * always be NULL for actions invoked from a menu. (e.g clicking on an \"ok\"\n"
+#| "   * or \"cancel\" button)\n"
+#| "   */\n"
+#| "  about_action = g_simple_action_new (\"about\", NULL);\n"
+#| "\n"
+#| "  /* Connect the \"activate\" signal to the appropriate callback function.\n"
+#| "   * It will indicate that the action was just activated.\n"
+#| "   */\n"
+#| "  g_signal_connect (about_action, \"activate\", G_CALLBACK (about_cb),\n"
+#| "                    GTK_WINDOW (window));\n"
+#| "\n"
+#| "  /* Adds the about_action to the overall action map. An Action map is an\n"
+#| "   * interface that contains a number of named GAction instances\n"
+#| "   * (such as about_action)\n"
+#| "   */\n"
+#| "  g_action_map_add_action (G_ACTION_MAP (window), G_ACTION (about_action));\n"
+#| "\n"
+#| "  gtk_widget_show_all (window);\n"
+#| "}\n"
+#| "\n"
+#| "/* Callback function for the response signal \"activate\" from the \"quit\" action\n"
+#| " * found in the function directly below.\n"
+#| " */\n"
+#| "static void\n"
+#| "quit_cb (GSimpleAction *simple,\n"
+#| "         GVariant      *parameter,\n"
+#| "         gpointer       user_data)\n"
+#| "{\n"
+#| "  GApplication *application = user_data;\n"
+#| "\n"
+#| "  g_application_quit (application);\n"
+#| "}\n"
+#| "\n"
+#| "/* Startup function for the menu we are creating in this sample */\n"
+#| "static void\n"
+#| "startup (GApplication *app,\n"
+#| "         gpointer      user_data)\n"
+#| "{\n"
+#| "  GMenu *menu;\n"
+#| "  GSimpleAction *quit_action;\n"
+#| "\n"
+#| "  /* Initialize the GMenu, and add a menu item with label \"About\" and action\n"
+#| "   * \"win.about\". Also add another menu item with label \"Quit\" and action\n"
+#| "   * \"app.quit\"\n"
+#| "   */\n"
+#| "  menu = g_menu_new ();\n"
+#| "  g_menu_append (menu, \"About\", \"win.about\");\n"
+#| "  g_menu_append (menu, \"Quit\", \"app.quit\");\n"
+#| "\n"
+#| "  /* Create a new simple action for the application. (In this case it is the\n"
+#| "   * \"quit\" action.\n"
+#| "   */\n"
+#| "  quit_action = g_simple_action_new (\"quit\", NULL);\n"
+#| "\n"
+#| "  /* Ensure that the menu we have just created is set for the overall application */\n"
+#| "  gtk_application_set_app_menu (GTK_APPLICATION (app), G_MENU_MODEL (menu));\n"
+#| "\n"
+#| "  g_signal_connect (quit_action,\n"
+#| "                    \"activate\",\n"
+#| "                    G_CALLBACK (quit_cb),\n"
+#| "                    app);\n"
+#| "\n"
+#| "  g_action_map_add_action (G_ACTION_MAP (app), G_ACTION (quit_action));\n"
+#| "}\n"
+#| "\n"
+#| "/* Startup function for the application */\n"
+#| "int\n"
+#| "main (int argc, char **argv)\n"
+#| "{\n"
+#| "  GtkApplication *app;\n"
+#| "  int status;\n"
+#| "\n"
+#| "  app = gtk_application_new (\"org.gtk.example\", G_APPLICATION_FLAGS_NONE);\n"
+#| "  g_signal_connect (app, \"activate\", G_CALLBACK (activate), NULL);\n"
+#| "  g_signal_connect (app, \"startup\", G_CALLBACK (startup), NULL);\n"
+#| "  status = g_application_run (G_APPLICATION (app), argc, argv);\n"
+#| "  g_object_unref (app);\n"
+#| "\n"
+#| "  return status;\n"
+#| "}\n"
 msgid ""
 "\n"
 "#include &lt;gtk/gtk.h&gt;\n"
@@ -3295,7 +3449,7 @@ msgid ""
 "\n"
 "  about_dialog = gtk_about_dialog_new ();\n"
 "\n"
-"  /* Lists of authors/ documentators to be used later, they must be initialized\n"
+"  /* Lists of authors/ documenters to be used later, they must be initialized\n"
 "   * in a null terminated array of strings.\n"
 "   */\n"
 "  const gchar *authors[] = {\"GNOME Documentation Team\", NULL};\n"
@@ -3449,7 +3603,7 @@ msgstr ""
 "\n"
 "  about_dialog = gtk_about_dialog_new ();\n"
 "\n"
-"  /* Lists of authors/ documentators to be used later, they must be initialized\n"
+"  /* Lists of authors/ documenters to be used later, they must be initialized\n"
 "   * in a null terminated array of strings.\n"
 "   */\n"
 "  const gchar *authors[] = {\"GNOME Documentation Team\", NULL};\n"
@@ -5610,6 +5764,189 @@ msgstr "Una calculadora: los botones se agrupan en botoneras horizontales."
 #. (itstool) path: section/code
 #: C/buttonbox.js.page:31
 #, no-wrap
+#| msgid ""
+#| "#!/usr/bin/gjs\n"
+#| "\n"
+#| "imports.gi.versions.Gtk = '3.0';\n"
+#| "\n"
+#| "const GObject = imports.gi.GObject;\n"
+#| "const Gtk = imports.gi.Gtk;\n"
+#| "\n"
+#| "class ButtonBoxExample {\n"
+#| "\n"
+#| "    // Create the application itthis\n"
+#| "    constructor() {\n"
+#| "        this.application = new Gtk.Application({\n"
+#| "            application_id: 'org.example.jsbuttonbox'\n"
+#| "        });\n"
+#| "\n"
+#| "        // Connect 'activate' and 'startup' signals to the callback functions\n"
+#| "        this.application.connect('activate', this._onActivate.bind(this));\n"
+#| "        this.application.connect('startup', this._onStartup.bind(this));\n"
+#| "    }\n"
+#| "\n"
+#| "    // Callback function for 'activate' signal presents windows when active\n"
+#| "    _onActivate() {\n"
+#| "        this.window.present();\n"
+#| "    }\n"
+#| "\n"
+#| "    // Callback function for 'startup' signal builds the UI\n"
+#| "    _onStartup() {\n"
+#| "        this._buildUI();\n"
+#| "    }\n"
+#| "\n"
+#| "    // Build the application's UI\n"
+#| "    _buildUI() {\n"
+#| "        // Create the application window\n"
+#| "        this.window = new Gtk.ApplicationWindow  ({ application: this.application,\n"
+#| "                                                    window_position: Gtk.WindowPosition.CENTER,\n"
+#| "                                                    title: \"Calculator\",\n"
+#| "                                                    default_width: 350,\n"
+#| "                                                    default_height: 200,\n"
+#| "                                                    border_width: 10 });\n"
+#| "        this.entry = new Gtk.Entry();\n"
+#| "        this.entry.set_text('0');\n"
+#| "        // text aligned on the right\n"
+#| "        this.entry.set_alignment(1);\n"
+#| "        // the text in the entry cannot be modified by writing in it\n"
+#| "        this.entry.set_can_focus(false);\n"
+#| "\n"
+#| "        // a grid\n"
+#| "        this.grid = new Gtk.Grid();\n"
+#| "        this.grid.set_row_spacing(5);\n"
+#| "        \n"
+#| "        // to attach the entry\n"
+#| "        this.grid.attach(this.entry, 0, 0, 1, 1);\n"
+#| "        \n"
+#| "        // the labels for the buttons\n"
+#| "        this.buttons = [ 7, 8, 9, '/', 4, 5, 6, '*', 1, 2, 3, '-', 'C', 0, '=', '+' ];\n"
+#| "        \n"
+#| "        // each row is a ButtonBox, attached to the grid            \n"
+#| "        for (let i = 0; i &lt; 4; i++) {\n"
+#| "            this.hbox = Gtk.ButtonBox.new(Gtk.Orientation.HORIZONTAL);\n"
+#| "            this.hbox.set_spacing(5);\n"
+#| "            this.grid.attach(this.hbox, 0, i + 1, 1, 1);\n"
+#| "            // each ButtonBox has 4 buttons, connected to the callback function\n"
+#| "            for (let j= 0; j &lt; 4; j++) {\n"
+#| "                this.button = new Gtk.Button();\n"
+#| "                this.buttonLabel = (this.buttons[i * 4 + j].toString());\n"
+#| "                this.button.set_label(this.buttonLabel);\n"
+#| "                this.button.set_can_focus(false);\n"
+#| "                this.button.connect(\"clicked\", this._buttonClicked.bind(this));\n"
+#| "                this.hbox.add(this.button);\n"
+#| "            }\n"
+#| "        }\n"
+#| "            \n"
+#| "        // some variables for the calculations\n"
+#| "        this.firstNumber = 0;\n"
+#| "        this.secondNumber = 0;\n"
+#| "        this.counter = 0;\n"
+#| "        this.operation = \"\";\n"
+#| "\n"
+#| "        // add the grid to the window\n"
+#| "        this.window.add(this.grid);\n"
+#| "        this.window.show_all();\n"
+#| "    }\n"
+#| "\n"
+#| "    // callback function for all the buttons\n"
+#| "    _buttonClicked(button) {\n"
+#| "        this.button = button;\n"
+#| "        // for the operations\n"
+#| "        if (this.button.get_label() == '+') {\n"
+#| "            this.counter += 1 \n"
+#| "            if (this.counter &gt; 1)\n"
+#| "                this._doOperation();\n"
+#| "            this.entry.set_text('0');\n"
+#| "            this.operation = \"plus\";\n"
+#| "        }\n"
+#| "\n"
+#| "        else if (this.button.get_label() == '-') {\n"
+#| "            this.counter += 1;\n"
+#| "            if (this.counter &gt; 1)\n"
+#| "                this._doOperation();\n"
+#| "            this.entry.set_text('0');\n"
+#| "            this.operation = \"minus\";\n"
+#| "        }\n"
+#| "\n"
+#| "        else if (this.button.get_label() == '*') {\n"
+#| "            this.counter += 1; \n"
+#| "            if (this.counter &gt; 1)\n"
+#| "                this._doOperation();\n"
+#| "            this.entry.set_text('0');\n"
+#| "            this.operation = \"multiplication\";\n"
+#| "        }\n"
+#| "\n"
+#| "        else if (this.button.get_label() == '/') {\n"
+#| "            this.counter += 1 \n"
+#| "            if (this.counter &gt; 1)\n"
+#| "                this._doOperation();\n"
+#| "            this.entry.set_text('0');\n"
+#| "            this.operation = \"division\";\n"
+#| "        }\n"
+#| "\n"
+#| "        // for =\n"
+#| "        else if (this.button.get_label() == '=') {\n"
+#| "            this._doOperation();\n"
+#| "            this.entry.set_text(this.firstNumber.toString());\n"
+#| "            this.counter = 1;\n"
+#| "        }\n"
+#| "\n"
+#| "        // for Cancel\n"
+#| "        else if (this.button.get_label() == 'C') {\n"
+#| "            this.firstNumber = 0;\n"
+#| "            this.secondNumber = 0;\n"
+#| "            this.counter = 0;\n"
+#| "            this.entry.set_text('0');\n"
+#| "            this.operation = \"\";\n"
+#| "        }\n"
+#| "\n"
+#| "        // for a digit button\n"
+#| "        else {\n"
+#| "            this.newDigit = parseInt(this.button.get_label());\n"
+#| "            if (this.entry.get_text() == \"error\")\n"
+#| "                this.number = 0;\n"
+#| "            else\n"
+#| "                this.number = parseInt(this.entry.get_text());\n"
+#| "            this.number = this.number * 10 + this.newDigit;            \n"
+#| "            if (this.counter == 0)\n"
+#| "                this.firstNumber = this.number;\n"
+#| "            else\n"
+#| "                this.secondNumber = this.number;\n"
+#| "            this.entry.set_text(this.number.toString());\n"
+#| "        }\n"
+#| "     }\n"
+#| "\n"
+#| "     _doOperation() {\n"
+#| "        if (this.operation == \"plus\") {\n"
+#| "           this.firstNumber += this.secondNumber;\n"
+#| "        } else if (this.operation == \"minus\") {\n"
+#| "            this.firstNumber -= this.secondNumber;\n"
+#| "        } else if (this.operation == \"multiplication\") {\n"
+#| "            this.firstNumber *= this.secondNumber;\n"
+#| "        } else if (this.operation == \"division\") {\n"
+#| "            if (this.secondNumber != 0) {\n"
+#| "                this.firstNumber /= this.secondNumber;\n"
+#| "            } else {\n"
+#| "                this.firstNumber = 0; \n"
+#| "                this.secondNumber = 0;\n"
+#| "                this.counter = 0; \n"
+#| "                this.entry.set_text(\"error\");\n"
+#| "                this.operation = \"\";\n"
+#| "\n"
+#| "                return\n"
+#| "            }\n"
+#| "        } else {\n"
+#| "            this.firstNumber = 0;\n"
+#| "            this.secondNumber = 0;\n"
+#| "            this.counter = 0;\n"
+#| "            this.entry.set_text(\"error\");\n"
+#| "        }\n"
+#| "    }\n"
+#| "};\n"
+#| "\n"
+#| "// Run the application\n"
+#| "let app = new ButtonBoxExample();\n"
+#| "app.application.run (ARGV);\n"
 msgid ""
 "#!/usr/bin/gjs\n"
 "\n"
@@ -5620,7 +5957,7 @@ msgid ""
 "\n"
 "class ButtonBoxExample {\n"
 "\n"
-"    // Create the application itthis\n"
+"    // Create the application itself\n"
 "    constructor() {\n"
 "        this.application = new Gtk.Application({\n"
 "            application_id: 'org.example.jsbuttonbox'\n"
@@ -5803,7 +6140,7 @@ msgstr ""
 "\n"
 "class ButtonBoxExample {\n"
 "\n"
-"    // Create the application itthis\n"
+"    // Create the application itself\n"
 "    constructor() {\n"
 "        this.application = new Gtk.Application({\n"
 "            application_id: 'org.example.jsbuttonbox'\n"
@@ -13761,6 +14098,67 @@ msgstr "Un FontChooserWidget con una función de retorno de llamada."
 #. (itstool) path: section/code
 #: C/fontchooserwidget.js.page:30
 #, no-wrap
+#| msgid ""
+#| "//!/usr/bin/gjs\n"
+#| "\n"
+#| "imports.gi.versions.Gtk = '3.0';\n"
+#| "const Gtk = imports.gi.Gtk;\n"
+#| "\n"
+#| "class FontChooserWidgetExample {\n"
+#| "\n"
+#| "    // Create the application itthis\n"
+#| "    constructor() {\n"
+#| "        this.application = new Gtk.Application({ application_id: 'org.example.fontchooserwidget' });\n"
+#| "\n"
+#| "        // Connect 'activate' and 'startup' signals to the callback functions\n"
+#| "        this.application.connect('activate', this._onActivate.bind(this));\n"
+#| "        this.application.connect('startup', this._onStartup.bind(this));\n"
+#| "    }\n"
+#| "\n"
+#| "    // Callback function for 'activate' signal presents windows when active\n"
+#| "    _onActivate() {\n"
+#| "        this.window.present();\n"
+#| "    }\n"
+#| "\n"
+#| "    // Callback function for 'startup' signal builds the UI\n"
+#| "    _onStartup() {\n"
+#| "        this._buildUI();\n"
+#| "    }\n"
+#| "\n"
+#| "    // Build the application's UI\n"
+#| "    _buildUI() {\n"
+#| "        // Create the application window\n"
+#| "        this.window = new Gtk.ApplicationWindow  ({ application: this.application,\n"
+#| "                                                    window_position: Gtk.WindowPosition.CENTER,\n"
+#| "                                                    title: \"FontChooserWidget\",\n"
+#| "                                                    default_width: 200,\n"
+#| "                                                    default_height: 200,\n"
+#| "                                                    border_width: 10 });\n"
+#| "\n"
+#| "        this.fontChooser = new Gtk.FontChooserWidget();\n"
+#| "        // a default font\n"
+#| "        this.fontChooser.set_font(\"Sans\");\n"
+#| "        // a text to preview the font\n"
+#| "        this.fontChooser.set_preview_text(\"This is an example of preview text!\");\n"
+#| "\n"
+#| "        // connect signal from the font chooser to the callback function\n"
+#| "        this.fontChooser.connect(\"notify::font\", this._fontCb.bind(this));\n"
+#| "\n"
+#| "        // add the font chooser to the window\n"
+#| "        this.window.add(this.fontChooser);\n"
+#| "        this.window.show_all();\n"
+#| "   }\n"
+#| "\n"
+#| "     // callback function:\n"
+#| "     _fontCb() {\n"
+#| "        // print in the terminal\n"
+#| "        print(\"You chose the font \" + this.fontChooser.get_font());\n"
+#| "    }\n"
+#| "};\n"
+#| "\n"
+#| "// Run the application\n"
+#| "let app = new FontChooserWidgetExample();\n"
+#| "app.application.run (ARGV);\n"
 msgid ""
 "//!/usr/bin/gjs\n"
 "\n"
@@ -13769,7 +14167,7 @@ msgid ""
 "\n"
 "class FontChooserWidgetExample {\n"
 "\n"
-"    // Create the application itthis\n"
+"    // Create the application itself\n"
 "    constructor() {\n"
 "        this.application = new Gtk.Application({ application_id: 'org.example.fontchooserwidget' });\n"
 "\n"
@@ -13830,7 +14228,7 @@ msgstr ""
 "\n"
 "class FontChooserWidgetExample {\n"
 "\n"
-"    // Create the application itthis\n"
+"    // Create the application itself\n"
 "    constructor() {\n"
 "        this.application = new Gtk.Application({ application_id: 'org.example.fontchooserwidget' });\n"
 "\n"
@@ -17936,7 +18334,7 @@ msgstr ""
 "usar para los tonos de afinación."
 
 #. (itstool) path: section/title
-#: C/guitar-tuner.js.page:64 C/hello-world.js.page:59 C/hello-world.py.page:52
+#: C/guitar-tuner.js.page:64 C/hello-world.js.page:61 C/hello-world.py.page:52
 #: C/hello-world.vala.page:44 C/weatherAppMain.js.page:49
 msgid "Creating the main window for the application"
 msgstr "Crear la ventana principal de la aplicación"
@@ -19693,36 +20091,6 @@ msgstr "Aquí hay código HTML, CSS, y JavaScript básico. ¿Le resulta familiar
 #. (itstool) path: section/code
 #: C/hellognome.js.page:32
 #, no-wrap
-#| msgid ""
-#| "\n"
-#| "&lt;!DOCTYPE html&gt;\n"
-#| "&lt;html&gt;\n"
-#| "    &lt;head&gt;\n"
-#| "        &lt;title&gt;Hello, GNOME!&lt;/title&gt;\n"
-#| "\n"
-#| "        &lt;!-- Use JavaScript to show a greeting when someone clicks the button --&gt;\n"
-#| "        &lt;script type=\"application/javascript\"&gt;\n"
-#| "        function greeting () {\n"
-#| "            document.getElementById (\"greeting\").innerHTML = (\"O hai!\");\n"
-#| "        }\n"
-#| "        &lt;/script&gt;\n"
-#| "\n"
-#| "        &lt;!-- Very basic CSS style using the GNOME font --&gt;\n"
-#| "        &lt;style type=\"text/css\"&gt;\n"
-#| "            body {\n"
-#| "                font-face: Cantarell, sans-serif;\n"
-#| "                text-align: center; }\n"
-#| "        &lt;/style&gt;\n"
-#| "\n"
-#| "    &lt;/head&gt;\n"
-#| "    &lt;body&gt;\n"
-#| "        &lt;br /&gt; &lt;br /&gt;\n"
-#| "        &lt;button type=\"button\" onclick=\"greeting()\"&gt;Hello, GNOME!&lt;/button&gt;\n"
-#| "\n"
-#| "        &lt;!-- Empty H1 element gets filled in when the button is clicked --&gt;\n"
-#| "        &lt;h1 id=\"greeting\"&gt;&lt;/h1&gt;\n"
-#| "    &lt;/body&gt;\n"
-#| "&lt;/html&gt;\n"
 msgid ""
 "\n"
 "&lt;!DOCTYPE html&gt;\n"
@@ -19874,12 +20242,6 @@ msgstr ""
 #. (itstool) path: section/code
 #: C/hellognome.js.page:80
 #, no-wrap
-#| msgid ""
-#| "\n"
-#| "#!/usr/bin/gjs\n"
-#| "\n"
-#| "imports.gi.versions.Gtk = '3.0';\n"
-#| "const Gtk = imports.gi.Gtk;\n"
 msgid ""
 "\n"
 "imports.gi.versions.Gtk = '3.0';\n"
@@ -19898,12 +20260,6 @@ msgstr ""
 #. (itstool) path: section/code
 #: C/hellognome.js.page:85
 #, no-wrap
-#| msgid ""
-#| "\n"
-#| "const GLib = imports.gi.GLib;\n"
-#| "const Gtk = imports.gi.Gtk;\n"
-#| "const Lang = imports.lang;\n"
-#| "const Webkit = imports.gi.WebKit;\n"
 msgid ""
 "\n"
 "const GLib = imports.gi.GLib;\n"
@@ -19928,10 +20284,6 @@ msgstr ""
 
 #. (itstool) path: item/p
 #: C/hellognome.js.page:92
-#| msgid ""
-#| "<file>Gtk</file> and <file>Lang</file> are basic parts of any GNOME "
-#| "application, which let you create windows and widgets and tie them "
-#| "together."
 msgid ""
 "<file>Gtk</file> is the basic part of any GNOME application, which lets you "
 "create windows and widgets and tie them together."
@@ -19966,7 +20318,6 @@ msgstr "Ahora se crea la aplicación en sí:"
 #. (itstool) path: section/code
 #: C/hellognome.js.page:98
 #, no-wrap
-#| msgid "1. Hello, GNOME!"
 msgid ""
 "\n"
 "class HelloGNOME {\n"
@@ -19976,11 +20327,6 @@ msgstr ""
 
 #. (itstool) path: section/p
 #: C/hellognome.js.page:101
-#| msgid ""
-#| "This will look familiar to you if you've worked with object-oriented "
-#| "JavaScript before. That's right; our whole application is a class called "
-#| "HelloGNOME. And as you can see, we've given it a property that says what "
-#| "its name is."
 msgid ""
 "This will look familiar to you if you've worked with object-oriented "
 "JavaScript before. That's right; our whole application is a class called "
@@ -19993,27 +20339,6 @@ msgstr ""
 #. (itstool) path: section/code
 #: C/hellognome.js.page:103
 #, no-wrap
-#| msgid ""
-#| "\n"
-#| "class WelcomeToTheGrid {\n"
-#| "    // Create the application itself\n"
-#| "    constructor() {\n"
-#| "        this.application = new Gtk.Application();\n"
-#| "\n"
-#| "        // Connect 'activate' and 'startup' signals to the callback functions\n"
-#| "        this.application.connect('activate', this._onActivate.bind(this));\n"
-#| "        this.application.connect('startup', this._onStartup.bind(this));\n"
-#| "    }\n"
-#| "\n"
-#| "    // Callback function for 'activate' signal presents windows when active\n"
-#| "    _onActivate() {\n"
-#| "        this._window.present();\n"
-#| "    }\n"
-#| "\n"
-#| "    // Callback function for 'startup' signal builds the UI\n"
-#| "    _onStartup() {\n"
-#| "        this._buildUI ();\n"
-#| "    }\n"
 msgid ""
 "\n"
 "    // Create the application itself\n"
@@ -20070,15 +20395,6 @@ msgstr ""
 
 #. (itstool) path: section/p
 #: C/hellognome.js.page:124
-#| msgid ""
-#| "What does that mean? Well, everything in a GNOME application sends out a "
-#| "signal when something important happens. A button might send out the "
-#| "clicked signal when you click on it, for instance. Our job is to connect "
-#| "the signals to functions which handle them, and make the things that we "
-#| "want to have happen occur. We do this using each object's connect method, "
-#| "which takes two arguments: The signal we want to handle, and the Lang."
-#| "bind function, which we have to use to tell connect which function we "
-#| "want to have handle the signal."
 msgid ""
 "What does that mean? Well, everything in a GNOME application sends out a "
 "signal when something important happens. A button might send out the clicked "
@@ -20115,9 +20431,6 @@ msgstr ""
 
 #. (itstool) path: note/p
 #: C/hellognome.js.page:126
-#| msgid ""
-#| "When you copy and paste the above code for your own applications, be sure "
-#| "to change the name to a unique one each time."
 msgid ""
 "When you copy and paste the above code for your own applications, be sure to "
 "change the class name to a unique one each time."
@@ -20144,18 +20457,6 @@ msgstr ""
 #. (itstool) path: section/code
 #: C/hellognome.js.page:133
 #, no-wrap
-#| msgid ""
-#| "\n"
-#| "    // Build the application's UI\n"
-#| "    _buildUI: function () {\n"
-#| "\n"
-#| "        // Create the application window\n"
-#| "        this._window = new Gtk.ApplicationWindow  ({\n"
-#| "            application: this.application,\n"
-#| "            title: \"Welcome to GNOME\",\n"
-#| "            default_height: 200,\n"
-#| "            default_width: 400,\n"
-#| "            window_position: Gtk.WindowPosition.CENTER });\n"
 msgid ""
 "\n"
 "    // Build the application's UI\n"
@@ -20420,66 +20721,6 @@ msgstr ""
 #. (itstool) path: section/code
 #: C/hellognome.js.page:199
 #, no-wrap
-#| msgid ""
-#| "#!/usr/bin/gjs\n"
-#| "\n"
-#| "imports.gi.versions.Gtk = '3.0';\n"
-#| "\n"
-#| "const GLib = imports.gi.GLib;\n"
-#| "const Gtk = imports.gi.Gtk;\n"
-#| "const Webkit = imports.gi.WebKit;\n"
-#| "\n"
-#| "class HelloGNOME {\n"
-#| "\n"
-#| "    // Create the application itself\n"
-#| "    constructor() {\n"
-#| "        this.application = new Gtk.Application ();\n"
-#| "\n"
-#| "        // Connect 'activate' and 'startup' signals to the callback functions\n"
-#| "        this.application.connect('activate', this._onActivate.bind(this));\n"
-#| "        this.application.connect('startup', this._onStartup.bind(this));\n"
-#| "    }\n"
-#| "\n"
-#| "    // Callback function for 'activate' signal presents windows when active\n"
-#| "    _onActivate() {\n"
-#| "        this._window.present();\n"
-#| "    }\n"
-#| "\n"
-#| "    // Callback function for 'startup' signal builds the UI\n"
-#| "    _onStartup() {\n"
-#| "        this._buildUI();\n"
-#| "    }\n"
-#| "\n"
-#| "    // Build the application's UI\n"
-#| "    _buildUI() {\n"
-#| "\n"
-#| "        // Create the application window\n"
-#| "        this._window = new Gtk.ApplicationWindow  ({\n"
-#| "            application: this.application,\n"
-#| "            title: \"Welcome to GNOME\",\n"
-#| "            default_height: 200,\n"
-#| "            default_width: 400,\n"
-#| "            window_position: Gtk.WindowPosition.CENTER });\n"
-#| "\n"
-#| "        // Create a webview to show the web app\n"
-#| "        this._webView = new Webkit.WebView ();\n"
-#| "\n"
-#| "        // Put the web app into the webview\n"
-#| "        this._webView.load_uri (GLib.filename_to_uri (GLib.get_current_dir() +\n"
-#| "            \"/hellognome.html\", null));\n"
-#| "\n"
-#| "        // Put the webview into the window\n"
-#| "        this._window.add (this._webView);\n"
-#| "\n"
-#| "        // Show the window and all child widgets\n"
-#| "        this._window.show_all();\n"
-#| "    }\n"
-#| "\n"
-#| "};\n"
-#| "\n"
-#| "// Run the application\n"
-#| "let app = new HelloGNOME ();\n"
-#| "app.application.run (ARGV);\n"
 msgid ""
 "#!/usr/bin/gjs\n"
 "\n"
@@ -20818,15 +21059,25 @@ msgstr ""
 #. (itstool) path: section/code
 #: C/hello-world.js.page:54
 #, no-wrap
+#| msgid ""
+#| "\n"
+#| "#!/usr/bin/gjs\n"
+#| "\n"
+#| "imports.gi.versions.Gtk = '3.0';\n"
+#| "const Gtk = imports.gi.Gtk;\n"
 msgid ""
 "const Lang = imports.lang;\n"
+"\n"
+"imports.gi.versions.Gtk = '3.0'\n"
 "const Gtk = imports.gi.Gtk;"
 msgstr ""
 "const Lang = imports.lang;\n"
+"\n"
+"imports.gi.versions.Gtk = '3.0'\n"
 "const Gtk = imports.gi.Gtk;"
 
 #. (itstool) path: section/p
-#: C/hello-world.js.page:56 C/hello-world.py.page:49
+#: C/hello-world.js.page:58 C/hello-world.py.page:49
 msgid ""
 "In order for our script to work with GNOME, we need to import GNOME "
 "libraries via GObject Introspection. Here we import the language bindings "
@@ -20839,7 +21090,7 @@ msgstr ""
 "gráficos usados para crear aplicaciones de GNOME."
 
 #. (itstool) path: section/code
-#: C/hello-world.js.page:60
+#: C/hello-world.js.page:62
 #, no-wrap
 msgid ""
 "const Application = new Lang.Class({\n"
@@ -20905,7 +21156,7 @@ msgstr ""
 "});\n"
 
 #. (itstool) path: section/p
-#: C/hello-world.js.page:92
+#: C/hello-world.js.page:94
 msgid ""
 "GtkApplication initializes GTK+. It also connects the <gui>x</gui> button "
 "that's automatically generated along with the window to the \"destroy\" "
@@ -20915,7 +21166,7 @@ msgstr ""
 "se genera automáticamente junto con la ventana a la señal «destroy»."
 
 #. (itstool) path: section/p
-#: C/hello-world.js.page:93
+#: C/hello-world.js.page:95
 msgid ""
 "We can start building our first window. We do this by creating a variable "
 "called <var>_window</var> and assigning it a new Gtk.ApplicationWindow."
@@ -20925,7 +21176,7 @@ msgstr ""
 "ApplicationWindow» nueva."
 
 #. (itstool) path: section/p
-#: C/hello-world.js.page:94 C/hello-world.py.page:73
+#: C/hello-world.js.page:96 C/hello-world.py.page:73
 msgid ""
 "We give the window a property called <var>title</var>. The title can be any "
 "string you want it to be. To be on the safe side, it's best to stick to "
@@ -20936,7 +21187,7 @@ msgstr ""
 "codificación UTF-8."
 
 #. (itstool) path: section/p
-#: C/hello-world.js.page:95 C/hello-world.py.page:74 C/hello-world.vala.page:57
+#: C/hello-world.js.page:97 C/hello-world.py.page:74 C/hello-world.vala.page:57
 msgid ""
 "Now we have a window which has a title and a working \"close\" button. Let's "
 "add the actual \"Hello World\" text."
@@ -20945,12 +21196,13 @@ msgstr ""
 "funciona. Ahora, añada el texto «Hola mundo»."
 
 #. (itstool) path: section/title
-#: C/hello-world.js.page:98 C/hello-world.py.page:77 C/hello-world.vala.page:60
+#: C/hello-world.js.page:100 C/hello-world.py.page:77
+#: C/hello-world.vala.page:60
 msgid "Label for the window"
 msgstr "Etiqueta para la ventana"
 
 #. (itstool) path: section/code
-#: C/hello-world.js.page:99
+#: C/hello-world.js.page:101
 #, no-wrap
 msgid ""
 "// Add a label widget to your window\n"
@@ -20964,7 +21216,7 @@ msgstr ""
 "this._window.set_default_size(200, 200);"
 
 #. (itstool) path: section/p
-#: C/hello-world.js.page:104
+#: C/hello-world.js.page:106
 msgid ""
 "A text label is one of the GTK+ widgets we can use, on account of having "
 "imported the GTK+ library. To use it, we create a new variable called label, "
@@ -20979,7 +21231,7 @@ msgstr ""
 "etiqueta contendrá. Finalmente, se crea y ejecuta la aplicación:"
 
 #. (itstool) path: section/code
-#: C/hello-world.js.page:106
+#: C/hello-world.js.page:108
 #, no-wrap
 msgid ""
 "//run the application\n"
@@ -20991,7 +21243,7 @@ msgstr ""
 "app.application.run(ARGV);"
 
 #. (itstool) path: section/p
-#: C/hello-world.js.page:110 C/hello-world.py.page:97
+#: C/hello-world.js.page:112 C/hello-world.py.page:97
 #: C/hello-world.vala.page:71
 msgid ""
 "Gtk.ApplicationWindow can only hold one widget at a time. To construct more "
@@ -21003,22 +21255,65 @@ msgstr ""
 "«Gtk.Grid» dentro de la ventana, y después añadirle los otros."
 
 #. (itstool) path: section/title
-#: C/hello-world.js.page:114
+#: C/hello-world.js.page:116
 msgid "hello-world.js"
 msgstr "hello-world.js"
 
 #. (itstool) path: section/p
-#: C/hello-world.js.page:115 C/hello-world.py.page:102
+#: C/hello-world.js.page:117 C/hello-world.py.page:102
 #: C/hello-world.vala.page:76
 msgid "The complete file:"
 msgstr "El archivo completo:"
 
 #. (itstool) path: section/code
-#: C/hello-world.js.page:116
+#: C/hello-world.js.page:118
 #, no-wrap
+#| msgid ""
+#| "#!/usr/bin/gjs\n"
+#| "\n"
+#| "imports.gi.versions.Gtk = '3.0'\n"
+#| "const Gtk = imports.gi.Gtk;\n"
+#| "\n"
+#| "class Application {\n"
+#| "\n"
+#| "    //create the application\n"
+#| "    constructor() {\n"
+#| "        this.application = new Gtk.Application();\n"
+#| "\n"
+#| "       //connect to 'activate' and 'startup' signals to handlers.\n"
+#| "       this.application.connect('activate', this._onActivate.bind(this));\n"
+#| "       this.application.connect('startup', this._onStartup.bind(this));\n"
+#| "    }\n"
+#| "\n"
+#| "    //create the UI\n"
+#| "    _buildUI() {\n"
+#| "        this._window = new Gtk.ApplicationWindow({ application: this.application,\n"
+#| "                                                   title: \"Hello World!\" });\n"
+#| "        this._window.set_default_size(200, 200);\n"
+#| "        this.label = new Gtk.Label({ label: \"Hello World\" });\n"
+#| "        this._window.add(this.label);\n"
+#| "    }\n"
+#| "\n"
+#| "    //handler for 'activate' signal\n"
+#| "    _onActivate() {\n"
+#| "        //show the window and all child widgets\n"
+#| "        this._window.show_all();\n"
+#| "    }\n"
+#| "\n"
+#| "    //handler for 'startup' signal\n"
+#| "    _onStartup() {\n"
+#| "        this._buildUI();\n"
+#| "    }\n"
+#| "};\n"
+#| "\n"
+#| "//run the application\n"
+#| "let app = new Application();\n"
+#| "app.application.run(ARGV);\n"
 msgid ""
 "#!/usr/bin/gjs\n"
 "\n"
+"const Lang = imports.lang;\n"
+"\n"
 "imports.gi.versions.Gtk = '3.0'\n"
 "const Gtk = imports.gi.Gtk;\n"
 "\n"
@@ -21060,6 +21355,8 @@ msgid ""
 msgstr ""
 "#!/usr/bin/gjs\n"
 "\n"
+"const Lang = imports.lang;\n"
+"\n"
 "imports.gi.versions.Gtk = '3.0'\n"
 "const Gtk = imports.gi.Gtk;\n"
 "\n"
@@ -21100,13 +21397,13 @@ msgstr ""
 "app.application.run(ARGV);\n"
 
 #. (itstool) path: section/title
-#: C/hello-world.js.page:119 C/hello-world.py.page:106
+#: C/hello-world.js.page:121 C/hello-world.py.page:106
 #: C/hello-world.vala.page:80
 msgid "Running the application from terminal"
 msgstr "Ejecutar la aplicación desde la terminal"
 
 #. (itstool) path: section/p
-#: C/hello-world.js.page:120
+#: C/hello-world.js.page:122
 msgid ""
 "To run this application, first save it as hello-world.js. Then open "
 "Terminal, go to the folder where your application is stored and run:"
@@ -21115,19 +21412,19 @@ msgstr ""
 "abra una terminal, vaya a la carpeta donde está la aplicación y ejecute:"
 
 #. (itstool) path: section/screen
-#: C/hello-world.js.page:121
+#: C/hello-world.js.page:123
 #, no-wrap
 msgid "<output style=\"prompt\">$ </output><input>gjs hello-world.js</input>"
 msgstr "<output style=\"prompt\">$ </output><input>gjs hello-world.js</input>"
 
 #. (itstool) path: section/title
-#: C/hello-world.js.page:127 C/hello-world.py.page:112
+#: C/hello-world.js.page:129 C/hello-world.py.page:112
 #: C/hello-world.vala.page:89
 msgid "The <file>.desktop.in</file> file"
 msgstr "El archivo <file>.desktop.in</file>"
 
 #. (itstool) path: section/p
-#: C/hello-world.js.page:128 C/hello-world.py.page:113
+#: C/hello-world.js.page:130 C/hello-world.py.page:113
 #: C/hello-world.vala.page:90
 msgid ""
 "Running applications from the Terminal is useful at the beginning of the "
@@ -21151,7 +21448,7 @@ msgstr ""
 "link>. El archivo <file>.desktop.in</file> creará el <file>.desktop</file>."
 
 #. (itstool) path: note/p
-#: C/hello-world.js.page:131
+#: C/hello-world.js.page:133
 msgid ""
 "Before continuing, resave <file>hello-world.js</file> as <file>hello-world</"
 "file>. Then run this in the command line:"
@@ -21160,13 +21457,13 @@ msgstr ""
 "<file>hello-world</file>. Después ejecute esto en la terminal:"
 
 #. (itstool) path: note/screen
-#: C/hello-world.js.page:132
+#: C/hello-world.js.page:134
 #, no-wrap
 msgid "<output style=\"prompt\">$ </output><input>chmod +x hello-world</input>"
 msgstr "<output style=\"prompt\">$ </output><input>chmod +x hello-world</input>"
 
 #. (itstool) path: section/p
-#: C/hello-world.js.page:135 C/hello-world.py.page:115
+#: C/hello-world.js.page:137 C/hello-world.py.page:115
 #: C/hello-world.vala.page:92
 msgid ""
 "The example shows you the minimum requirements for a <code>.desktop.in</"
@@ -21176,7 +21473,7 @@ msgstr ""
 "in</code>."
 
 #. (itstool) path: section/code
-#: C/hello-world.js.page:136 C/hello-world.py.page:116
+#: C/hello-world.js.page:138 C/hello-world.py.page:116
 #: C/hello-world.vala.page:93
 #, no-wrap
 msgid ""
@@ -21205,45 +21502,49 @@ msgstr ""
 "Categories=GNOME;GTK;Utility;\n"
 
 #. (itstool) path: section/p
-#: C/hello-world.js.page:138 C/hello-world.py.page:118
-#: C/hello-world.vala.page:95
-msgid "Now let's go through some parts of the <code>.desktop.in</code> file."
+#: C/hello-world.js.page:140
+#, fuzzy
+#| msgid ""
+#| "Now let's go through some parts of the <code>.desktop.in</code> file."
+msgid ""
+"Save this as <file>hello-world.desktop.in</file>. Now let's go through some "
+"parts of the <code>.desktop.in</code> file."
 msgstr "Ahora se verán algunas partes del archivo <code>.desktop.in</code>."
 
 #. (itstool) path: item/title
 #. (itstool) path: td/p
-#: C/hello-world.js.page:140 C/hello-world.py.page:120
+#: C/hello-world.js.page:142 C/hello-world.py.page:120
 #: C/hello-world.vala.page:97 C/toolbar_builder.py.page:95
 #: C/toolbar_builder.vala.page:78
 msgid "Name"
 msgstr "Name"
 
 #. (itstool) path: item/p
-#: C/hello-world.js.page:140 C/hello-world.py.page:120
+#: C/hello-world.js.page:142 C/hello-world.py.page:120
 #: C/hello-world.vala.page:97
 msgid "The application name."
 msgstr "El nombre de la aplicación."
 
 #. (itstool) path: item/title
-#: C/hello-world.js.page:141 C/hello-world.py.page:121
+#: C/hello-world.js.page:143 C/hello-world.py.page:121
 #: C/hello-world.vala.page:98
 msgid "Comment"
 msgstr "Comment"
 
 #. (itstool) path: item/p
-#: C/hello-world.js.page:141 C/hello-world.py.page:121
+#: C/hello-world.js.page:143 C/hello-world.py.page:121
 #: C/hello-world.vala.page:98
 msgid "A short description of the application."
 msgstr "Una descripción corta de la aplicación."
 
 #. (itstool) path: item/title
-#: C/hello-world.js.page:142 C/hello-world.py.page:122
+#: C/hello-world.js.page:144 C/hello-world.py.page:122
 #: C/hello-world.vala.page:99
 msgid "Exec"
 msgstr "Exec"
 
 #. (itstool) path: item/p
-#: C/hello-world.js.page:142 C/hello-world.py.page:122
+#: C/hello-world.js.page:144 C/hello-world.py.page:122
 #: C/hello-world.vala.page:99
 msgid ""
 "Specifies a command to execute when you choose the application from the "
@@ -21255,13 +21556,13 @@ msgstr ""
 "world</code> y el archivo se hace cargo del resto."
 
 #. (itstool) path: item/title
-#: C/hello-world.js.page:143 C/hello-world.py.page:123
+#: C/hello-world.js.page:145 C/hello-world.py.page:123
 #: C/hello-world.vala.page:100
 msgid "Terminal"
 msgstr "Terminal"
 
 #. (itstool) path: item/p
-#: C/hello-world.js.page:143 C/hello-world.py.page:123
+#: C/hello-world.js.page:145 C/hello-world.py.page:123
 #: C/hello-world.vala.page:100
 msgid ""
 "Specifies whether the command in the Exec key runs in a terminal window."
@@ -21270,7 +21571,7 @@ msgstr ""
 "terminal."
 
 #. (itstool) path: section/p
-#: C/hello-world.js.page:146 C/hello-world.py.page:126
+#: C/hello-world.js.page:148 C/hello-world.py.page:126
 #: C/hello-world.vala.page:103
 msgid ""
 "To put your application into the appropriate category, you need to add the "
@@ -21285,7 +21586,7 @@ msgstr ""
 "menú</link>."
 
 #. (itstool) path: section/p
-#: C/hello-world.js.page:147 C/hello-world.py.page:127
+#: C/hello-world.js.page:149 C/hello-world.py.page:127
 #: C/hello-world.vala.page:104
 msgid ""
 "In this example we use an existing icon. For a custom icon you need to have "
@@ -21307,13 +21608,13 @@ msgstr ""
 "icon-theme-spec\">freedesktop.org: especificaciones/icon-theme-spec</link>."
 
 #. (itstool) path: section/title
-#: C/hello-world.js.page:150 C/hello-world.py.page:130
+#: C/hello-world.js.page:152 C/hello-world.py.page:130
 #: C/hello-world.vala.page:107
 msgid "The build system"
 msgstr "El sistema de construcción"
 
 #. (itstool) path: section/p
-#: C/hello-world.js.page:151 C/hello-world.py.page:131
+#: C/hello-world.js.page:153 C/hello-world.py.page:131
 #: C/hello-world.vala.page:108
 msgid ""
 "To make your application truly a part of the GNOME 3 system you need to "
@@ -21325,7 +21626,7 @@ msgstr ""
 "todos los archivos necesarios en las ubicaciones correctas."
 
 #. (itstool) path: section/p
-#: C/hello-world.js.page:152 C/hello-world.py.page:132
+#: C/hello-world.js.page:154 C/hello-world.py.page:132
 #: C/hello-world.vala.page:109
 msgid "For this you need to have the following files:"
 msgstr "Para esto deberá tener los siguientes archivos:"
@@ -21333,14 +21634,14 @@ msgstr "Para esto deberá tener los siguientes archivos:"
 #. (itstool) path: section/title
 #. (itstool) path: item/p
 #. (itstool) path: section/p
-#: C/hello-world.js.page:155 C/hello-world.py.page:135
+#: C/hello-world.js.page:157 C/hello-world.py.page:135
 #: C/hello-world.vala.page:112 C/weatherAutotools.js.page:40
 #: C/weatherAutotools.js.page:138
 msgid "autogen.sh"
 msgstr "autogen.sh"
 
 #. (itstool) path: section/code
-#: C/hello-world.js.page:156 C/hello-world.py.page:136
+#: C/hello-world.js.page:158 C/hello-world.py.page:136
 #: C/hello-world.vala.page:113
 #, no-wrap
 msgid ""
@@ -21383,7 +21684,7 @@ msgstr ""
 "fi\n"
 
 #. (itstool) path: section/p
-#: C/hello-world.js.page:158 C/hello-world.py.page:138
+#: C/hello-world.js.page:160 C/hello-world.py.page:138
 #: C/hello-world.vala.page:115
 msgid "After the <file>autogen.sh</file> file is ready and saved, run:"
 msgstr ""
@@ -21391,7 +21692,7 @@ msgstr ""
 "ejecute:"
 
 #. (itstool) path: section/screen
-#: C/hello-world.js.page:159 C/hello-world.py.page:139
+#: C/hello-world.js.page:161 C/hello-world.py.page:139
 #: C/hello-world.vala.page:116
 #, no-wrap
 msgid "<output style=\"prompt\">$ </output><input>chmod +x autogen.sh</input>"
@@ -21400,14 +21701,14 @@ msgstr "<output style=\"prompt\">$ </output><input>chmod +x autogen.sh</input>"
 #. (itstool) path: section/title
 #. (itstool) path: item/p
 #. (itstool) path: section/p
-#: C/hello-world.js.page:163 C/hello-world.py.page:143
+#: C/hello-world.js.page:165 C/hello-world.py.page:143
 #: C/hello-world.vala.page:120 C/weatherAutotools.js.page:38
 #: C/weatherAutotools.js.page:64
 msgid "Makefile.am"
 msgstr "Makefile.am"
 
 #. (itstool) path: section/code
-#: C/hello-world.js.page:164
+#: C/hello-world.js.page:166
 #, no-wrap
 msgid ""
 "# The actual runnable program is set to the SCRIPTS primitive.\n"
@@ -21437,14 +21738,14 @@ msgstr ""
 #. (itstool) path: section/title
 #. (itstool) path: item/p
 #. (itstool) path: section/p
-#: C/hello-world.js.page:168 C/hello-world.py.page:148
+#: C/hello-world.js.page:170 C/hello-world.py.page:148
 #: C/hello-world.vala.page:125 C/weatherAutotools.js.page:39
 #: C/weatherAutotools.js.page:131
 msgid "configure.ac"
 msgstr "configure.ac"
 
 #. (itstool) path: section/code
-#: C/hello-world.js.page:169 C/hello-world.py.page:149
+#: C/hello-world.js.page:171 C/hello-world.py.page:149
 #, no-wrap
 msgid ""
 "# This file is processed by autoconf to create a configure script\n"
@@ -21460,13 +21761,13 @@ msgstr ""
 "AC_OUTPUT\n"
 
 #. (itstool) path: section/title
-#: C/hello-world.js.page:173 C/hello-world.py.page:153
+#: C/hello-world.js.page:175 C/hello-world.py.page:153
 #: C/hello-world.vala.page:130
 msgid "README"
 msgstr "README"
 
 #. (itstool) path: section/p
-#: C/hello-world.js.page:174 C/hello-world.py.page:154
+#: C/hello-world.js.page:176 C/hello-world.py.page:154
 #: C/hello-world.vala.page:131
 msgid "Information users should read first. This file can be blank."
 msgstr ""
@@ -21474,12 +21775,19 @@ msgstr ""
 "vacío."
 
 #. (itstool) path: section/p
-#: C/hello-world.js.page:176 C/hello-world.py.page:156
+#: C/hello-world.js.page:178
+#, fuzzy
+#| msgid ""
+#| "When you have the <file>hello-world</file>, <file>hello-world.desktop.in</"
+#| "file>, <file>Makefile.am</file>, <file>configure.ac</file> and "
+#| "<file>autogen.sh</file> files with correct information and rights, the "
+#| "<file>README</file> file can include the following instructions:"
 msgid ""
 "When you have the <file>hello-world</file>, <file>hello-world.desktop.in</"
 "file>, <file>Makefile.am</file>, <file>configure.ac</file> and <file>autogen."
-"sh</file> files with correct information and rights, the <file>README</file> "
-"file can include the following instructions:"
+"sh</file> files with correct information and permissions, create a "
+"<file>README</file> file with installation instructions. Below is a sample "
+"of what suitable README instructions may look like:"
 msgstr ""
 "Cuando tenga los archivos <file>hello-world</file>, <file>hello-world."
 "desktop.in</file>, <file>Makefile.am</file>, <file>configure.ac</file> y "
@@ -21487,16 +21795,54 @@ msgstr ""
 "archivo <file>README</file> puede incluir las siguientes instrucciones:"
 
 #. (itstool) path: section/code
-#: C/hello-world.js.page:177 C/hello-world.py.page:157
-#, no-wrap
+#: C/hello-world.js.page:179
+#, fuzzy, no-wrap
+#| msgid ""
+#| "To build and install this program:\n"
+#| "\n"
+#| "./autogen.sh --prefix=/home/your_username/.local\n"
+#| "make install\n"
+#| "\n"
+#| "-------------\n"
+#| "Running the first line above creates the following files:\n"
+#| "\n"
+#| "aclocal.m4\n"
+#| "autom4te.cache\n"
+#| "config.log\n"
+#| "config.status\n"
+#| "configure\n"
+#| "hello-world.desktop\n"
+#| "install-sh\n"
+#| "missing\n"
+#| "Makefile.in\n"
+#| "Makefile\n"
+#| "\n"
+#| "Running \"make install\", installs the application in /home/your_username/.local/bin\n"
+#| "and installs the hello-world.desktop file in /home/your_username/.local/share/applications\n"
+#| "\n"
+#| "You can now run the application by typing \"Hello World\" in the Overview.\n"
+#| "\n"
+#| "----------------\n"
+#| "To uninstall, type:\n"
+#| "\n"
+#| "make uninstall\n"
+#| "\n"
+#| "----------------\n"
+#| "To create a tarball type:\n"
+#| "\n"
+#| "make distcheck\n"
+#| "\n"
+#| "This will create hello-world-1.0.tar.xz\n"
 msgid ""
-"To build and install this program:\n"
+"To build and install this program, run these commands from a terminal:\n"
 "\n"
-"./autogen.sh --prefix=/home/your_username/.local\n"
+"./autogen.sh --prefix=/home/$USER/.local\n"
 "make install\n"
 "\n"
 "-------------\n"
-"Running the first line above creates the following files:\n"
+"When running the first command $USER will be replaced by your username.\n"
+"\n"
+"Running the first command above creates the following files:\n"
 "\n"
 "aclocal.m4\n"
 "autom4te.cache\n"
@@ -21792,6 +22138,11 @@ msgstr ""
 msgid "<output style=\"prompt\">$ </output><input>python hello-world.py</input>"
 msgstr "<output style=\"prompt\">$ </output><input>python hola-mundo.py</input>"
 
+#. (itstool) path: section/p
+#: C/hello-world.py.page:118 C/hello-world.vala.page:95
+msgid "Now let's go through some parts of the <code>.desktop.in</code> file."
+msgstr "Ahora se verán algunas partes del archivo <code>.desktop.in</code>."
+
 #. (itstool) path: section/code
 #: C/hello-world.py.page:144
 #, no-wrap
@@ -21820,6 +22171,96 @@ msgstr ""
 "desktop_DATA = \\\n"
 "\thello-world.desktop\n"
 
+#. (itstool) path: section/p
+#: C/hello-world.py.page:156
+msgid ""
+"When you have the <file>hello-world</file>, <file>hello-world.desktop.in</"
+"file>, <file>Makefile.am</file>, <file>configure.ac</file> and <file>autogen."
+"sh</file> files with correct information and rights, the <file>README</file> "
+"file can include the following instructions:"
+msgstr ""
+"Cuando tenga los archivos <file>hello-world</file>, <file>hello-world."
+"desktop.in</file>, <file>Makefile.am</file>, <file>configure.ac</file> y "
+"<file>autogen.sh</file> con la información y los permisos correctos, el "
+"archivo <file>README</file> puede incluir las siguientes instrucciones:"
+
+#. (itstool) path: section/code
+#: C/hello-world.py.page:157
+#, no-wrap
+msgid ""
+"To build and install this program:\n"
+"\n"
+"./autogen.sh --prefix=/home/your_username/.local\n"
+"make install\n"
+"\n"
+"-------------\n"
+"Running the first line above creates the following files:\n"
+"\n"
+"aclocal.m4\n"
+"autom4te.cache\n"
+"config.log\n"
+"config.status\n"
+"configure\n"
+"hello-world.desktop\n"
+"install-sh\n"
+"missing\n"
+"Makefile.in\n"
+"Makefile\n"
+"\n"
+"Running \"make install\", installs the application in /home/your_username/.local/bin\n"
+"and installs the hello-world.desktop file in /home/your_username/.local/share/applications\n"
+"\n"
+"You can now run the application by typing \"Hello World\" in the Overview.\n"
+"\n"
+"----------------\n"
+"To uninstall, type:\n"
+"\n"
+"make uninstall\n"
+"\n"
+"----------------\n"
+"To create a tarball type:\n"
+"\n"
+"make distcheck\n"
+"\n"
+"This will create hello-world-1.0.tar.xz\n"
+msgstr ""
+"Para construir e instalar este programa:\n"
+"\n"
+"./autogen.sh --prefix=/home/usuario/.local\n"
+"make install\n"
+"\n"
+"-------------\n"
+"Al ejecutar la primera línea se crean los siguientes archivos:\n"
+"\n"
+"aclocal.m4\n"
+"autom4te.cache\n"
+"config.log\n"
+"config.status\n"
+"configure\n"
+"helloWorld.desktop\n"
+"install-sh\n"
+"missing\n"
+"Makefile.in\n"
+"Makefile\n"
+"\n"
+"Al ejecutar «make install», se instala la aplicación en /home/usuario/.local/bin\n"
+"y se instala el archivo helloWorld.desktop en /home/usuario/.local/share/applications\n"
+"\n"
+"Ahora puede ejecutar la aplicación escribiendo «Hello World» en la vista general.\n"
+"\n"
+"----------------\n"
+"Para desinstalarla, escriba:\n"
+"\n"
+"make uninstall\n"
+"\n"
+"----------------\n"
+"Para crear un archivador tar escriba:\n"
+"\n"
+"make distcheck\n"
+"\n"
+"Esto creará el archivo hello-world-1.0.tar.xz\n"
+"\n"
+
 #. (itstool) path: info/title
 #: C/hello-world.vala.page:9
 msgctxt "text"
@@ -39203,6 +39644,164 @@ msgstr "Desplace las escalas."
 #. (itstool) path: page/code
 #: C/scale.c.page:28
 #, no-wrap
+#| msgid ""
+#| "\n"
+#| "#include &lt;gtk/gtk.h&gt;\n"
+#| "\n"
+#| "\n"
+#| "\n"
+#| "/* This is the callback function. \n"
+#| " * It is a handler function which reacts to the signal. \n"
+#| " * In this case, it will notify the user the value of their scale as a label.\n"
+#| " */\n"
+#| "static void\n"
+#| "hscale_moved (GtkRange *range,\n"
+#| "              gpointer  user_data)\n"
+#| "{\n"
+#| "   GtkWidget *label = user_data;\n"
+#| "\n"
+#| "   /* Get the value of the range, and convert it into a string which will be\n"
+#| "    * used as a new label for the horizontal scale.\n"
+#| "    * %.0f - stands for a double that will have 0 decimal places.\n"
+#| "    */\n"
+#| "   gdouble pos = gtk_range_get_value (range);\n"
+#| "   /* Note: Using g_strdup_printf returns a string that must be freed. \n"
+#| "    * (In which is done below)\n"
+#| "    */\n"
+#| "   gchar *str = g_strdup_printf (\"Horizontal scale is %.0f\", pos);\n"
+#| "   gtk_label_set_text (GTK_LABEL (label), str);\n"
+#| "\n"
+#| "   g_free(str);\n"
+#| "}\n"
+#| "\n"
+#| "\n"
+#| "\n"
+#| "/* This is the second callback function. It is a handler function which \n"
+#| " * reacts to the signal. It does the same thing as the function above, except with\n"
+#| " * the vertical scale.\n"
+#| " */\n"
+#| "vscale_moved (GtkRange *range,\n"
+#| "              gpointer  user_data)\n"
+#| "{\n"
+#| "   GtkWidget *label = user_data;\n"
+#| "   \n"
+#| "   gdouble pos = gtk_range_get_value (range);\n"
+#| "   /* %.1f - stands for a double that will have 1 decimal place */\n"
+#| "   gchar *str = g_strdup_printf (\"Vertical scale is %.1f\", pos);\n"
+#| "   gtk_label_set_text (GTK_LABEL (label), str);\n"
+#| "\n"
+#| "   \n"
+#| "   g_free (str);\n"
+#| "}\n"
+#| "\n"
+#| "\n"
+#| "\n"
+#| "static void\n"
+#| "activate (GtkApplication *app,\n"
+#| "          gpointer        user_data)\n"
+#| "{\n"
+#| "  /* Declare variables */\n"
+#| "  GtkWidget *window;\n"
+#| "  GtkWidget *h_scale;\n"
+#| "  GtkWidget *v_scale;\n"
+#| "  GtkWidget *hlabel;\n"
+#| "  GtkWidget *vlabel;\n"
+#| "  GtkWidget *grid;\n"
+#| "\n"
+#| "  /* The Adjustment object represents a value \n"
+#| "   * which has an associated lower and upper bound.\n"
+#| "   */\n"
+#| "  GtkAdjustment *hadjustment;\n"
+#| "  GtkAdjustment *vadjustment;\n"
+#| "\n"
+#| "  /* Create a window with a title and a default size */\n"
+#| "  window = gtk_application_window_new (app);\n"
+#| "  gtk_window_set_title (GTK_WINDOW (window), \"Scale Example\");\n"
+#| "  gtk_window_set_default_size (GTK_WINDOW (window), 400, 300);\n"
+#| "  gtk_container_set_border_width (GTK_CONTAINER (window), 5);\n"
+#| "\n"
+#| "  /* Two labels to be shown in the window */\n"
+#| "  hlabel = gtk_label_new (\"Move the scale handle...\");\n"
+#| "  vlabel = gtk_label_new (\"Move the scale handle...\");\n"
+#| "\n"
+#| "   \n"
+#| "  /* gtk_adjustment_new takes six parameters, three of which \n"
+#| "   * may be difficult to understand:\n"
+#| "   * step increment- move the handle with the arrow keys on your keyboard to see.\n"
+#| "   * page increment - move the handle by clicking away from it \n"
+#| "   * on the scale to see.\n"
+#| "   * page size - not used here.\n"
+#| "   */\n"
+#| "  hadjustment = gtk_adjustment_new (0, 0, 100, 5, 10, 0);\n"
+#| "  vadjustment = gtk_adjustment_new (50, 0, 100, 5, 10, 0); \n"
+#| "\n"
+#| "  /* Create the Horizontal scale, making sure the \n"
+#| "   * digits used have no decimals.\n"
+#| "   */\n"
+#| "  h_scale = gtk_scale_new (GTK_ORIENTATION_HORIZONTAL, hadjustment);\n"
+#| "  gtk_scale_set_digits (GTK_SCALE (h_scale), 0); \n"
+#| "\n"
+#| "  /* Allow it to expand horizontally (if there's space), and \n"
+#| "   * set the vertical alignment\n"
+#| "   */\n"
+#| "  gtk_widget_set_hexpand (h_scale, TRUE);\n"
+#| "  gtk_widget_set_valign (h_scale, GTK_ALIGN_START);\n"
+#| "  \n"
+#| "  /* Connecting the \"value-changed\" signal for the horizontal scale \n"
+#| "   * to the appropriate callback function. \n"
+#| "   * take note that GtkRange is part of GtkScale's Object Hierarchy.\n"
+#| "   */\n"
+#| "  g_signal_connect (h_scale, \n"
+#| "                    \"value-changed\", \n"
+#| "                    G_CALLBACK (hscale_moved), \n"
+#| "                    hlabel);\n"
+#| "\n"
+#| "\n"
+#| "\n"
+#| "  /* Create the Vertical scale. This time, we will see what happens \n"
+#| "   * when the digits arent initially set.\n"
+#| "   */\n"
+#| "  v_scale = gtk_scale_new (GTK_ORIENTATION_VERTICAL, vadjustment);\n"
+#| "  gtk_widget_set_vexpand (v_scale, TRUE);\n"
+#| "\n"
+#| "  /* Connecting the \"value-changed\" signal for the vertical scale to \n"
+#| "   * the appropriate callback function.\n"
+#| "   */\n"
+#| "  g_signal_connect (v_scale, \n"
+#| "                    \"value-changed\", \n"
+#| "                    G_CALLBACK (vscale_moved), \n"
+#| "                    vlabel);\n"
+#| "\n"
+#| "  /* Create a grid and arrange everything accordingly */\n"
+#| "  grid = gtk_grid_new ();\n"
+#| "  gtk_grid_set_column_spacing (GTK_GRID (grid), 10);\n"
+#| "  gtk_grid_set_column_homogeneous (GTK_GRID (grid), TRUE);\n"
+#| "  gtk_grid_attach (GTK_GRID (grid), h_scale, 0, 0, 1, 1);\n"
+#| "  gtk_grid_attach (GTK_GRID (grid), v_scale, 1, 0, 1, 1);\n"
+#| "  gtk_grid_attach (GTK_GRID (grid), hlabel, 0, 1, 1, 1);\n"
+#| "  gtk_grid_attach (GTK_GRID (grid), vlabel, 1, 1, 1, 1);\n"
+#| "  \n"
+#| "\n"
+#| "  gtk_container_add (GTK_CONTAINER (window), grid);\n"
+#| "\n"
+#| "  gtk_widget_show_all (window);\n"
+#| "}\n"
+#| "\n"
+#| "\n"
+#| "\n"
+#| "int\n"
+#| "main (int argc, char **argv)\n"
+#| "{\n"
+#| "  GtkApplication *app;\n"
+#| "  int status;\n"
+#| "\n"
+#| "  app = gtk_application_new (\"org.gtk.example\", G_APPLICATION_FLAGS_NONE);\n"
+#| "  g_signal_connect (app, \"activate\", G_CALLBACK (activate), NULL);\n"
+#| "  status = g_application_run (G_APPLICATION (app), argc, argv);\n"
+#| "  g_object_unref (app);\n"
+#| "\n"
+#| "  return status;\n"
+#| "}\n"
 msgid ""
 "\n"
 "#include &lt;gtk/gtk.h&gt;\n"
@@ -39318,7 +39917,7 @@ msgid ""
 "\n"
 "\n"
 "  /* Create the Vertical scale. This time, we will see what happens \n"
-"   * when the digits arent initially set.\n"
+"   * when the digits aren't initially set.\n"
 "   */\n"
 "  v_scale = gtk_scale_new (GTK_ORIENTATION_VERTICAL, vadjustment);\n"
 "  gtk_widget_set_vexpand (v_scale, TRUE);\n"
@@ -39476,7 +40075,7 @@ msgstr ""
 "\n"
 "\n"
 "  /* Create the Vertical scale. This time, we will see what happens \n"
-"   * when the digits arent initially set.\n"
+"   * when the digits aren't initially set.\n"
 "   */\n"
 "  v_scale = gtk_scale_new (GTK_ORIENTATION_VERTICAL, vadjustment);\n"
 "  gtk_widget_set_vexpand (v_scale, TRUE);\n"
@@ -52964,6 +53563,191 @@ msgstr "Esto construye el ejemplo de <link xref=\"toolbar.c\">Toolbar</link>."
 #. (itstool) path: section/code
 #: C/tooltip.c.page:31
 #, no-wrap
+#| msgid ""
+#| "#include &lt;gtk/gtk.h&gt;\n"
+#| "\n"
+#| "static gboolean \n"
+#| "undo_tooltip_callback (GtkStatusIcon *status_icon,\n"
+#| "                       gint           x,\n"
+#| "                       gint           y,\n"
+#| "                       gboolean       keyboard_mode,\n"
+#| "                       GtkTooltip    *tooltip,\n"
+#| "                       gpointer       user_data)\n"
+#| "{\n"
+#| "  /* set the text for the tooltip */\n"
+#| "  gtk_tooltip_set_text (tooltip, \"Undo your last action\");\n"
+#| "   \n"
+#| "  /* set an icon fot the tooltip */\n"
+#| "  gtk_tooltip_set_icon_from_stock(tooltip, \"gtk-undo\", GTK_ICON_SIZE_MENU);\n"
+#| "\n"
+#| "  /* show the tooltip */\n"
+#| "  return TRUE;\n"
+#| "}\n"
+#| "\n"
+#| "\n"
+#| "static void\n"
+#| "undo_callback (GSimpleAction *simple,\n"
+#| "               GVariant      *parameter,\n"
+#| "               gpointer       user_data)\n"
+#| "{\n"
+#| "  g_print (\"You clicked \\\"Undo\\\".\\n\");\n"
+#| "}\n"
+#| "\n"
+#| "\n"
+#| "static void\n"
+#| "activate (GtkApplication *app,\n"
+#| "          gpointer        user_data)\n"
+#| "{\n"
+#| "  GtkWidget *grid;\n"
+#| "  GtkWidget *window;\n"
+#| "  GtkWidget *toolbar;\n"
+#| "\n"
+#| "  GtkToolItem *new_button;\n"
+#| "  GtkToolItem *open_button;\n"
+#| "  GtkToolItem *undo_button;\n"
+#| "\n"
+#| "  GtkStyleContext *style_context;\n"
+#| "\n"
+#| "  GSimpleAction *undo_action;\n"
+#| "\n"
+#| "  window = gtk_application_window_new (app);\n"
+#| "  gtk_window_set_title (GTK_WINDOW (window), \"Toolbar with Tooltips Example\");\n"
+#| "  gtk_window_set_default_size (GTK_WINDOW (window), 400, 200);\n"
+#| "\n"
+#| "  /* Here we begin to create the toolbar */\n"
+#| "  toolbar = gtk_toolbar_new ();\n"
+#| "\n"
+#| "  /* Set the toolbar to be the primary toolbar of the application */\n"
+#| "  style_context = gtk_widget_get_style_context (toolbar);\n"
+#| "  gtk_style_context_add_class (style_context, GTK_STYLE_CLASS_PRIMARY_TOOLBAR);\n"
+#| "\n"
+#| "  /* Create a button for the \"new\" action, with a stock image */\n"
+#| "  new_button = gtk_tool_button_new_from_stock (GTK_STOCK_NEW);\n"
+#| "  gtk_tool_item_set_is_important (new_button, TRUE);\n"
+#| "  gtk_toolbar_insert (GTK_TOOLBAR (toolbar), new_button, 0);\n"
+#| "  gtk_widget_show (GTK_WIDGET (new_button));\n"
+#| "\n"
+#| "  /* Set the action name for the \"new\" action. We use \"app.new\" to\n"
+#| "   * indicate that the action controls the application.\n"
+#| "   */\n"
+#| "  gtk_actionable_set_action_name (GTK_ACTIONABLE (new_button), \"app.new\");\n"
+#| "\n"
+#| "  /*******************************\n"
+#| "   * Tooltip for the New ToolItem:\n"
+#| "   * a tooltip with text\n"
+#| "   *******************************/\n"
+#| "   gtk_tool_item_set_tooltip_text (new_button, \"Create a new file\");  \n"
+#| "\n"
+#| "  /* \"Open\" */\n"
+#| "  open_button = gtk_tool_button_new_from_stock (GTK_STOCK_OPEN);\n"
+#| "  gtk_tool_item_set_is_important (open_button, TRUE);\n"
+#| "  gtk_toolbar_insert (GTK_TOOLBAR (toolbar), open_button, 1);\n"
+#| "  gtk_widget_show (GTK_WIDGET (open_button));\n"
+#| "  gtk_actionable_set_action_name (GTK_ACTIONABLE (open_button), \"app.open\");\n"
+#| "\n"
+#| "  /*******************************\n"
+#| "   * Tooltip for the Open ToolItem:\n"
+#| "   * a tooltip using Pango markup \n"
+#| "   * language\n"
+#| "   *******************************/\n"
+#| "  gtk_tool_item_set_tooltip_text (open_button, \"Open an &lt;i&gt;existing&lt;/i&gt; file\");\n"
+#| "\n"
+#| "  /* \"Undo\" */\n"
+#| "  undo_button = gtk_tool_button_new_from_stock (GTK_STOCK_UNDO);\n"
+#| "  gtk_tool_item_set_is_important (undo_button, TRUE);\n"
+#| "  gtk_toolbar_insert (GTK_TOOLBAR (toolbar), undo_button, 2);\n"
+#| "  gtk_widget_show (GTK_WIDGET (undo_button));\n"
+#| "\n"
+#| "  /* In this case, we use \"win.undo\" to indicate that\n"
+#| "   * the action controls only the window\n"
+#| "   */\n"
+#| "  gtk_actionable_set_action_name (GTK_ACTIONABLE (undo_button), \"win.undo\");\n"
+#| "\n"
+#| "  /*******************************\n"
+#| "   * Tooltip for the Undo ToolItem:\n"
+#| "   * a tooltip with an image\n"
+#| "   *******************************/\n"
+#| "  gtk_widget_set_has_tooltip (GTK_WIDGET (undo_button), TRUE);\n"
+#| "\n"
+#| "  // Next, we connect the query_tooltip signal\n"
+#| "  g_signal_connect (undo_button, \"query-tooltip\", G_CALLBACK (undo_tooltip_callback), NULL);\n"
+#| "\n"
+#| "  gtk_widget_set_hexpand (toolbar, TRUE);\n"
+#| "  gtk_widget_show (toolbar);\n"
+#| "\n"
+#| "  grid = gtk_grid_new ();\n"
+#| "  gtk_grid_attach (GTK_GRID (grid), toolbar, 0, 0, 1, 1);\n"
+#| "  gtk_container_add (GTK_CONTAINER (window), GTK_WIDGET (grid));\n"
+#| "  gtk_widget_show (GTK_WIDGET (grid));\n"
+#| "\n"
+#| "  /* Use the action names to create the actions that control the window, and\n"
+#| "   * connect them to the appropriate callbackfunctions.\n"
+#| "   */\n"
+#| "  undo_action = g_simple_action_new (\"undo\", NULL);\n"
+#| "  g_signal_connect (undo_action, \"activate\", G_CALLBACK (undo_callback),\n"
+#| "                    GTK_WINDOW (window));\n"
+#| "  g_action_map_add_action (G_ACTION_MAP (window), G_ACTION (undo_action));\n"
+#| "\n"
+#| "  gtk_widget_show (window);\n"
+#| "}\n"
+#| "\n"
+#| "\n"
+#| "/* Callback function for the new action */\n"
+#| "static void\n"
+#| "new_callback (GSimpleAction *simple,\n"
+#| "              GVariant      *parameter,\n"
+#| "              gpointer       user_data)\n"
+#| "{\n"
+#| "  g_print (\"You clicked \\\"New\\\".\\n\");\n"
+#| "}\n"
+#| "\n"
+#| "\n"
+#| "/* Callback function for the open action */\n"
+#| "static void\n"
+#| "open_callback (GSimpleAction *simple,\n"
+#| "               GVariant      *parameter,\n"
+#| "               gpointer       user_data)\n"
+#| "{\n"
+#| "  g_print (\"You clicked \\\"Open\\\".\\n\");\n"
+#| "}\n"
+#| "\n"
+#| "\n"
+#| "/* In this function, we create the actions in which control the window, and\n"
+#| " * connect their signals to the appropriate callback function.\n"
+#| " */\n"
+#| "static void\n"
+#| "startup (GApplication *app,\n"
+#| "         gpointer      user_data)\n"
+#| "{\n"
+#| "  GSimpleAction *new_action;\n"
+#| "  GSimpleAction *open_action;\n"
+#| "\n"
+#| "  new_action = g_simple_action_new (\"new\", NULL);\n"
+#| "  g_signal_connect (new_action, \"activate\", G_CALLBACK (new_callback), app);\n"
+#| "  g_action_map_add_action (G_ACTION_MAP (app), G_ACTION (new_action));\n"
+#| "\n"
+#| "  open_action = g_simple_action_new (\"open\", NULL);\n"
+#| "  g_signal_connect (open_action, \"activate\", G_CALLBACK (open_callback), app);\n"
+#| "  g_action_map_add_action (G_ACTION_MAP (app), G_ACTION (open_action));\n"
+#| "}\n"
+#| "\n"
+#| "\n"
+#| "\n"
+#| "/* Startup function for the application */\n"
+#| "int\n"
+#| "main (int argc, char **argv)\n"
+#| "{\n"
+#| "  GtkApplication *app;\n"
+#| "  int status;\n"
+#| "\n"
+#| "  app = gtk_application_new (\"org.gtk.example\", G_APPLICATION_FLAGS_NONE);\n"
+#| "  g_signal_connect (app, \"activate\", G_CALLBACK (activate), NULL);\n"
+#| "  g_signal_connect (app, \"startup\", G_CALLBACK (startup), NULL);\n"
+#| "  status = g_application_run (G_APPLICATION (app), argc, argv);\n"
+#| "  g_object_unref (app);\n"
+#| "\n"
+#| "  return status;\n"
+#| "}\n"
 msgid ""
 "#include &lt;gtk/gtk.h&gt;\n"
 "\n"
@@ -52978,7 +53762,7 @@ msgid ""
 "  /* set the text for the tooltip */\n"
 "  gtk_tooltip_set_text (tooltip, \"Undo your last action\");\n"
 "   \n"
-"  /* set an icon fot the tooltip */\n"
+"  /* set an icon for the tooltip */\n"
 "  gtk_tooltip_set_icon_from_stock(tooltip, \"gtk-undo\", GTK_ICON_SIZE_MENU);\n"
 "\n"
 "  /* show the tooltip */\n"
@@ -53163,7 +53947,7 @@ msgstr ""
 "  /* set the text for the tooltip */\n"
 "  gtk_tooltip_set_text (tooltip, \"Undo your last action\");\n"
 "   \n"
-"  /* set an icon fot the tooltip */\n"
+"  /* set an icon for the tooltip */\n"
 "  gtk_tooltip_set_icon_from_stock(tooltip, \"gtk-undo\", GTK_ICON_SIZE_MENU);\n"
 "\n"
 "  /* show the tooltip */\n"
@@ -53377,6 +54161,164 @@ msgstr "Esto construye el ejemplo de <link xref=\"toolbar.js\">Toolbar</link>."
 #. (itstool) path: section/code
 #: C/tooltip.js.page:30
 #, no-wrap
+#| msgid ""
+#| "//!/usr/bin/gjs\n"
+#| "\n"
+#| "imports.gi.versions.Gdk = '3.0';\n"
+#| "imports.gi.versions.Gtk = '3.0';\n"
+#| "\n"
+#| "const Gdk = imports.gi.Gdk;\n"
+#| "const GLib = imports.gi.GLib;\n"
+#| "const Gio = imports.gi.Gio;\n"
+#| "const Gtk = imports.gi.Gtk; \n"
+#| "\n"
+#| "class TooltipExample {\n"
+#| "    // Create the application \n"
+#| "    constructor() {\n"
+#| "        this.application = new Gtk.Application({\n"
+#| "            application_id: 'org.example.jstooltip'\n"
+#| "        });\n"
+#| "\n"
+#| "        // Connect 'activate' and 'startup' signals to the callback functions\n"
+#| "        this.application.connect('activate', this._onActivate.bind(this));\n"
+#| "        this.application.connect('startup', this._onStartup.bind(this));\n"
+#| "    }\n"
+#| "\n"
+#| "    // Callback function for 'activate' signal presents windows when active\n"
+#| "    _onActivate() {\n"
+#| "        this.window.present();\n"
+#| "    }\n"
+#| "\n"
+#| "    // Callback function for 'startup' signal builds the UI\n"
+#| "    _onStartup() {\n"
+#| "        this._buildUI();\n"
+#| "    }\n"
+#| "\n"
+#| "    // Build the application's UI\n"
+#| "    _buildUI() {\n"
+#| "\n"
+#| "        // Create the application window\n"
+#| "        this.window = new Gtk.ApplicationWindow({\n"
+#| "            application: this.application,\n"
+#| "            window_position: Gtk.WindowPosition.CENTER,\n"
+#| "            title: \"Toolbar with Tooltips Example\",\n"
+#| "            default_width: 400,\n"
+#| "            default_height: 200,\n"
+#| "            border_width: 10\n"
+#| "        });\n"
+#| "\n"
+#| "        this.grid = new Gtk.Grid();\n"
+#| "\n"
+#| "        this.toolbar = this._createToolbar();\n"
+#| "        this.toolbar.set_hexpand(true);\n"
+#| "        this.toolbar.show();\n"
+#| "\n"
+#| "        this.grid.attach(this.toolbar, 0, 0, 1, 1);\n"
+#| "\n"
+#| "        this.window.add(this.grid);\n"
+#| "\n"
+#| "        this._newAction = new Gio.SimpleAction({ name: \"new\" });\n"
+#| "        this._newAction.connect(\"activate\", this._newCallback.bind(this));\n"
+#| "        this.window.add_action(this._newAction);\n"
+#| "\n"
+#| "        this._openAction = new Gio.SimpleAction({ name: \"open\" });\n"
+#| "        this._openAction.connect(\"activate\", this._openCallback.bind(this));\n"
+#| "        this.window.add_action(this._openAction);\n"
+#| "\n"
+#| "        this._undoAction = new Gio.SimpleAction({ name: \"undo\" });\n"
+#| "        this._undoAction.connect(\"activate\", this._undoCallback.bind(this));\n"
+#| "        this.window.add_action(this._undoAction);\n"
+#| "\n"
+#| "        this._fullScreenAction = new Gio.SimpleAction({ name: \"fullscreenToggle\" });\n"
+#| "        this._fullScreenAction.connect(\"activate\",\n"
+#| "                                       this._fullScreenCallback.bind(this));\n"
+#| "        this.window.add_action(this._fullScreenAction);\n"
+#| "\n"
+#| "        this.window.show_all();\n"
+#| "    }\n"
+#| "\n"
+#| "    _createToolbar() {\n"
+#| "        this.toolbar = new Gtk.Toolbar();\n"
+#| "        this.toolbar.get_style_context().add_class(Gtk.STYLE_CLASS_PRIMARY_TOOLBAR);\n"
+#| "\n"
+#| "        // button for the \"new\" action\n"
+#| "        this.newButton = Gtk.ToolButton.new_from_stock(Gtk.STOCK_NEW);\n"
+#| "        // with a tooltip with a given text        \n"
+#| "        this.newButton.set_tooltip_text(\"Create a new file\");\n"
+#| "        this.newButton.set_is_important(true);\n"
+#| "        this.toolbar.insert(this.newButton, 0);\n"
+#| "        this.newButton.show();\n"
+#| "        this.newButton.set_action_name(\"win.new\");\n"
+#| "\n"
+#| "        // button for the \"open\" action\n"
+#| "        this.openButton = Gtk.ToolButton.new_from_stock(Gtk.STOCK_OPEN);\n"
+#| "        // with a tooltip with a given text in the Pango markup language        \n"
+#| "        this.openButton.set_tooltip_markup(\"Open an &lt;i&gt;existing&lt;/i&gt; file\");\n"
+#| "        this.openButton.set_is_important(true);\n"
+#| "        this.toolbar.insert(this.openButton, 1);\n"
+#| "        this.openButton.show();\n"
+#| "        this.openButton.set_action_name(\"win.open\");\n"
+#| "\n"
+#| "        // button for the \"undo\" action\n"
+#| "        this.undoButton = Gtk.ToolButton.new_from_stock(Gtk.STOCK_UNDO);\n"
+#| "        // with a tooltip with an image\n"
+#| "        // set true the property \"has-tooltip\"        \n"
+#| "        this.undoButton.set_property(\"has-tooltip\", true);\n"
+#| "        // connect to the callback function that for the tooltip\n"
+#| "        // with the signal \"query-tooltip\"\n"
+#| "        this.undoButton.connect(\"query-tooltip\", this._undoTooltipCallback.bind(this));\n"
+#| "        this.undoButton.set_is_important(true);\n"
+#| "        this.toolbar.insert(this.undoButton, 2);\n"
+#| "        this.undoButton.show();\n"
+#| "        this.undoButton.set_action_name(\"win.undo\");\n"
+#| "\n"
+#| "        // button for the \"fullscreen/leave fullscreen\" action\n"
+#| "        this.fullscreenButton = Gtk.ToolButton.new_from_stock(Gtk.STOCK_FULLSCREEN);\n"
+#| "        this.fullscreenButton.set_is_important(true);\n"
+#| "        this.toolbar.insert(this.fullscreenButton, 3);\n"
+#| "        this.fullscreenButton.set_action_name(\"win.fullscreenToggle\");\n"
+#| "\n"
+#| "        return this.toolbar;\n"
+#| "    }\n"
+#| "\n"
+#| "    _newCallback(action, parameter) {\n"
+#| "        print(\"You clicked \\\"New\\\".\");\n"
+#| "    }\n"
+#| "\n"
+#| "    _openCallback(action, parameter) {\n"
+#| "        print(\"You clicked \\\"Open\\\".\");\n"
+#| "    }\n"
+#| "\n"
+#| "    // the callback function for the tooltip of the \"undo\" button\n"
+#| "    _undoTooltipCallback(widget, x, y, keyboard_mode, tooltip) {\n"
+#| "        // set the text for the tooltip\n"
+#| "        tooltip.set_text(\"Undo your last action\");\n"
+#| "        // set an icon fot the tooltip\n"
+#| "        tooltip.set_icon_from_stock(Gtk.STOCK_UNDO, Gtk.IconSize.MENU);\n"
+#| "        // show the tooltip\n"
+#| "        return true;\n"
+#| "    }\n"
+#| "\n"
+#| "    _undoCallback(action, parameter) {\n"
+#| "        print(\"You clicked \\\"Undo\\\".\");\n"
+#| "    }\n"
+#| "\n"
+#| "    _fullScreenCallback() {\n"
+#| "        if ((this.window.get_window().get_state() &amp; Gdk.WindowState.FULLSCREEN) != 0 ){\n"
+#| "            this.fullscreenButton.set_stock_id(Gtk.STOCK_FULLSCREEN);\n"
+#| "            this.fullscreenButton.set_tooltip_text(\"Make your window fullscreen\");\n"
+#| "            this.window.unfullscreen();\n"
+#| "        } else {\n"
+#| "            this.fullscreenButton.set_stock_id(Gtk.STOCK_LEAVE_FULLSCREEN);\n"
+#| "            this.fullscreenButton.set_tooltip_text(\"Leave fullscreen\");\n"
+#| "            this.window.fullscreen();\n"
+#| "        }\n"
+#| "    }\n"
+#| "};\n"
+#| "\n"
+#| "// Run the application\n"
+#| "let app = new TooltipExample ();\n"
+#| "app.application.run (ARGV);\n"
 msgid ""
 "//!/usr/bin/gjs\n"
 "\n"
@@ -53509,7 +54451,7 @@ msgid ""
 "    _undoTooltipCallback(widget, x, y, keyboard_mode, tooltip) {\n"
 "        // set the text for the tooltip\n"
 "        tooltip.set_text(\"Undo your last action\");\n"
-"        // set an icon fot the tooltip\n"
+"        // set an icon for the tooltip\n"
 "        tooltip.set_icon_from_stock(Gtk.STOCK_UNDO, Gtk.IconSize.MENU);\n"
 "        // show the tooltip\n"
 "        return true;\n"
@@ -53667,7 +54609,7 @@ msgstr ""
 "    _undoTooltipCallback(widget, x, y, keyboard_mode, tooltip) {\n"
 "        // set the text for the tooltip\n"
 "        tooltip.set_text(\"Undo your last action\");\n"
-"        // set an icon fot the tooltip\n"
+"        // set an icon for the tooltip\n"
 "        tooltip.set_icon_from_stock(Gtk.STOCK_UNDO, Gtk.IconSize.MENU);\n"
 "        // show the tooltip\n"
 "        return true;\n"
@@ -53736,6 +54678,134 @@ msgstr "Esto construye el ejemplo de <link xref=\"toolbar.py\">Toolbar</link>."
 #. (itstool) path: section/code
 #: C/tooltip.py.page:32
 #, no-wrap
+#| msgid ""
+#| "from gi.repository import Gtk\n"
+#| "from gi.repository import Gdk\n"
+#| "from gi.repository import Gio\n"
+#| "import sys\n"
+#| "\n"
+#| "\n"
+#| "class MyWindow(Gtk.ApplicationWindow):\n"
+#| "\n"
+#| "    def __init__(self, app):\n"
+#| "        Gtk.Window.__init__(\n"
+#| "            self, title=\"Toolbar with Tooltips Example\", application=app)\n"
+#| "        self.set_default_size(400, 200)\n"
+#| "\n"
+#| "        grid = Gtk.Grid()\n"
+#| "\n"
+#| "        toolbar = self.create_toolbar()\n"
+#| "        toolbar.set_hexpand(True)\n"
+#| "        toolbar.show()\n"
+#| "\n"
+#| "        grid.attach(toolbar, 0, 0, 1, 1)\n"
+#| "\n"
+#| "        self.add(grid)\n"
+#| "\n"
+#| "        undo_action = Gio.SimpleAction.new(\"undo\", None)\n"
+#| "        undo_action.connect(\"activate\", self.undo_callback)\n"
+#| "        self.add_action(undo_action)\n"
+#| "\n"
+#| "        fullscreen_action = Gio.SimpleAction.new(\"fullscreen\", None)\n"
+#| "        fullscreen_action.connect(\"activate\", self.fullscreen_callback)\n"
+#| "        self.add_action(fullscreen_action)\n"
+#| "\n"
+#| "    def create_toolbar(self):\n"
+#| "        toolbar = Gtk.Toolbar()\n"
+#| "        toolbar.get_style_context().add_class(Gtk.STYLE_CLASS_PRIMARY_TOOLBAR)\n"
+#| "\n"
+#| "        # button for the \"new\" action\n"
+#| "        new_button = Gtk.ToolButton.new_from_stock(Gtk.STOCK_NEW)\n"
+#| "        # with a tooltip with a given text\n"
+#| "        new_button.set_tooltip_text(\"Create a new file\")\n"
+#| "        new_button.set_is_important(True)\n"
+#| "        toolbar.insert(new_button, 0)\n"
+#| "        new_button.show()\n"
+#| "        new_button.set_action_name(\"app.new\")\n"
+#| "\n"
+#| "        # button for the \"open\" action\n"
+#| "        open_button = Gtk.ToolButton.new_from_stock(Gtk.STOCK_OPEN)\n"
+#| "        # with a tooltip with a given text in the Pango markup language\n"
+#| "        open_button.set_tooltip_markup(\"Open an &lt;i&gt;existing&lt;/i&gt; file\")\n"
+#| "        open_button.set_is_important(True)\n"
+#| "        toolbar.insert(open_button, 1)\n"
+#| "        open_button.show()\n"
+#| "        open_button.set_action_name(\"app.open\")\n"
+#| "\n"
+#| "        # button for the \"undo\" action\n"
+#| "        undo_button = Gtk.ToolButton.new_from_stock(Gtk.STOCK_UNDO)\n"
+#| "        # with a tooltip with an image\n"
+#| "        # set True the property \"has-tooltip\"\n"
+#| "        undo_button.set_property(\"has-tooltip\", True)\n"
+#| "        # connect to the callback function that for the tooltip\n"
+#| "        # with the signal \"query-tooltip\"\n"
+#| "        undo_button.connect(\"query-tooltip\", self.undo_tooltip_callback)\n"
+#| "        undo_button.set_is_important(True)\n"
+#| "        toolbar.insert(undo_button, 2)\n"
+#| "        undo_button.show()\n"
+#| "        undo_button.set_action_name(\"win.undo\")\n"
+#| "\n"
+#| "        # button for the \"fullscreen/leave fullscreen\" action\n"
+#| "        self.fullscreen_button = Gtk.ToolButton.new_from_stock(\n"
+#| "            Gtk.STOCK_FULLSCREEN)\n"
+#| "        self.fullscreen_button.set_is_important(True)\n"
+#| "        toolbar.insert(self.fullscreen_button, 3)\n"
+#| "        self.fullscreen_button.set_action_name(\"win.fullscreen\")\n"
+#| "\n"
+#| "        return toolbar\n"
+#| "\n"
+#| "    # the callback function for the tooltip of the \"undo\" button\n"
+#| "    def undo_tooltip_callback(self, widget, x, y, keyboard_mode, tooltip):\n"
+#| "        # set the text for the tooltip\n"
+#| "        tooltip.set_text(\"Undo your last action\")\n"
+#| "        # set an icon fot the tooltip\n"
+#| "        tooltip.set_icon_from_stock(\"gtk-undo\", Gtk.IconSize.MENU)\n"
+#| "        # show the tooltip\n"
+#| "        return True\n"
+#| "\n"
+#| "    def undo_callback(self, action, parameter):\n"
+#| "        print(\"You clicked \\\"Undo\\\".\")\n"
+#| "\n"
+#| "    def fullscreen_callback(self, action, parameter):\n"
+#| "        is_fullscreen = self.get_window().get_state(\n"
+#| "        ) &amp; Gdk.WindowState.FULLSCREEN != 0\n"
+#| "        if not is_fullscreen:\n"
+#| "            self.fullscreen_button.set_stock_id(Gtk.STOCK_LEAVE_FULLSCREEN)\n"
+#| "            self.fullscreen()\n"
+#| "        else:\n"
+#| "            self.fullscreen_button.set_stock_id(Gtk.STOCK_FULLSCREEN)\n"
+#| "            self.unfullscreen()\n"
+#| "\n"
+#| "\n"
+#| "class MyApplication(Gtk.Application):\n"
+#| "\n"
+#| "    def __init__(self):\n"
+#| "        Gtk.Application.__init__(self)\n"
+#| "\n"
+#| "    def do_activate(self):\n"
+#| "        win = MyWindow(self)\n"
+#| "        win.show_all()\n"
+#| "\n"
+#| "    def do_startup(self):\n"
+#| "        Gtk.Application.do_startup(self)\n"
+#| "\n"
+#| "        new_action = Gio.SimpleAction.new(\"new\", None)\n"
+#| "        new_action.connect(\"activate\", self.new_callback)\n"
+#| "        app.add_action(new_action)\n"
+#| "\n"
+#| "        open_action = Gio.SimpleAction.new(\"open\", None)\n"
+#| "        open_action.connect(\"activate\", self.open_callback)\n"
+#| "        app.add_action(open_action)\n"
+#| "\n"
+#| "    def new_callback(self, action, parameter):\n"
+#| "        print(\"You clicked \\\"New\\\".\")\n"
+#| "\n"
+#| "    def open_callback(self, action, parameter):\n"
+#| "        print(\"You clicked \\\"Open\\\".\")\n"
+#| "\n"
+#| "app = MyApplication()\n"
+#| "exit_status = app.run(sys.argv)\n"
+#| "sys.exit(exit_status)\n"
 msgid ""
 "from gi.repository import Gtk\n"
 "from gi.repository import Gdk\n"
@@ -53816,7 +54886,7 @@ msgid ""
 "    def undo_tooltip_callback(self, widget, x, y, keyboard_mode, tooltip):\n"
 "        # set the text for the tooltip\n"
 "        tooltip.set_text(\"Undo your last action\")\n"
-"        # set an icon fot the tooltip\n"
+"        # set an icon for the tooltip\n"
 "        tooltip.set_icon_from_stock(\"gtk-undo\", Gtk.IconSize.MENU)\n"
 "        # show the tooltip\n"
 "        return True\n"
@@ -53944,7 +55014,7 @@ msgstr ""
 "    def undo_tooltip_callback(self, widget, x, y, keyboard_mode, tooltip):\n"
 "        # set the text for the tooltip\n"
 "        tooltip.set_text(\"Undo your last action\")\n"
-"        # set an icon fot the tooltip\n"
+"        # set an icon for the tooltip\n"
 "        tooltip.set_icon_from_stock(\"gtk-undo\", Gtk.IconSize.MENU)\n"
 "        # show the tooltip\n"
 "        return True\n"
@@ -54117,6 +55187,167 @@ msgstr ""
 #. (itstool) path: section/code
 #: C/tooltip.vala.page:31
 #, no-wrap
+#| msgid ""
+#| "/* This is the Window */\n"
+#| "class MyWindow : Gtk.ApplicationWindow {\n"
+#| "\n"
+#| "\t/* Instance variables belonging to the window */\n"
+#| "\tGtk.Toolbar toolbar;\n"
+#| "\tGtk.ToolButton new_button;\n"
+#| "\tGtk.ToolButton open_button;\n"
+#| "\tGtk.ToolButton undo_button;\n"
+#| "\tGtk.ToolButton fullscreen_button;\n"
+#| "\tGtk.ToolButton leave_fullscreen_button;\n"
+#| "\n"
+#| "\t/* Constructor */\n"
+#| "\tinternal MyWindow (MyApplication app) {\n"
+#| "\t\tObject (application: app, title: \"Toolbar with Tooltips Example\");\n"
+#| "\n"
+#| "\t\tthis.set_default_size (400, 200);\n"
+#| "\t\tvar grid = new Gtk.Grid ();\n"
+#| "\t\tthis.add (grid);\n"
+#| "\t\tgrid.show ();\n"
+#| "\n"
+#| "\t\tcreate_toolbar ();\n"
+#| "\t\ttoolbar.set_hexpand (true);\n"
+#| "\t\tgrid.attach (toolbar, 0, 0, 1, 1);\n"
+#| "\t\ttoolbar.show ();\n"
+#| "\n"
+#| "\t\t/* create the \"undo\" window action action */\n"
+#| "\t\tvar undo_action = new SimpleAction (\"undo\", null);\n"
+#| "\t\tundo_action.activate.connect (undo_callback);\n"
+#| "\t\tthis.add_action (undo_action);\n"
+#| "\n"
+#| "\t\t/* create the \"fullscreen\" window action */\n"
+#| "\t\tvar fullscreen_action = new SimpleAction (\"fullscreen\", null);\n"
+#| "\t\tfullscreen_action.activate.connect (fullscreen_callback);\n"
+#| "\t\tthis.add_action (fullscreen_action);\n"
+#| "\t}\n"
+#| "\n"
+#| "\t/* Callback for query_tooltip signal */\n"
+#| "\tbool undo_tooltip_callback (int x, int y, bool keyboard_tooltip, Gtk.Tooltip tooltip) {\n"
+#| "\n"
+#| "\t\t/* set the text for the tooltip */\n"
+#| "        \ttooltip.set_text (\"Undo your last action\");\n"
+#| "\t\t\n"
+#| "\t\t/* set an icon fot the tooltip */\n"
+#| "\t\ttooltip.set_icon_from_stock(\"gtk-undo\", Gtk.IconSize.MENU);\n"
+#| "\n"
+#| "        \t/* show the tooltip */\n"
+#| "        \treturn true;\n"
+#| "\t}\n"
+#| "\n"
+#| "\t/* This function creates the toolbar, its  ToolButtons,\n"
+#| "\t * and assigns the actions names to the ToolButtons.*/\n"
+#| "\tvoid create_toolbar () {\n"
+#| "\t\ttoolbar = new Gtk.Toolbar ();\n"
+#| "\t\ttoolbar.get_style_context ().add_class (Gtk.STYLE_CLASS_PRIMARY_TOOLBAR);\n"
+#| "\n"
+#| "\t\tnew_button = new Gtk.ToolButton.from_stock (Gtk.Stock.NEW);\n"
+#| "\n"
+#| "\t\t/* tooltip with text */\n"
+#| "\t\tnew_button.set_tooltip_text (\"Create a new file\");\n"
+#| "\n"
+#| "\t\tnew_button.is_important = true; //decides whether to show the label\n"
+#| "\t\ttoolbar.add (new_button);\n"
+#| "\t\tnew_button.show ();\n"
+#| "\t\tnew_button.action_name = \"app.new\";\n"
+#| "\n"
+#| "\t\topen_button = new Gtk.ToolButton.from_stock (Gtk.Stock.OPEN);\n"
+#| "\n"
+#| "\t\t/* a tooltip using Pango markup language */\n"
+#| "\t\topen_button.set_tooltip_markup (\"Open an &lt;i&gt;existing&lt;/i&gt; file\");\n"
+#| "\n"
+#| "\t\topen_button.is_important = true;\n"
+#| "\t\ttoolbar.add (open_button);\n"
+#| "\t\topen_button.show ();\n"
+#| "\t\topen_button.action_name = \"app.open\";\n"
+#| "\n"
+#| "\t\tundo_button = new Gtk.ToolButton.from_stock (Gtk.Stock.UNDO);\n"
+#| "\t\n"
+#| "\t\t/* For a tooltip to have an image, first we must set_has_tooltip to be 'true' */\t\n"
+#| "\t\t(undo_button as Gtk.Widget).set_has_tooltip (true);\n"
+#| "\n"
+#| "\t\t/* Connect the query_tooltip signal to the callback */\n"
+#| "\t\tundo_button.query_tooltip.connect (undo_tooltip_callback);\n"
+#| "\t\n"
+#| "\t\tundo_button.is_important = true;\n"
+#| "\t\ttoolbar.add (undo_button);\n"
+#| "\t\tundo_button.show ();\n"
+#| "\t\tundo_button.action_name = \"win.undo\";\n"
+#| "\n"
+#| "\t\tfullscreen_button = new Gtk.ToolButton.from_stock (Gtk.Stock.FULLSCREEN);\n"
+#| "\t\tfullscreen_button.is_important = true;\n"
+#| "\t\ttoolbar.add (fullscreen_button);\n"
+#| "\t\tfullscreen_button.show ();\n"
+#| "\t\tfullscreen_button.action_name = \"win.fullscreen\";\n"
+#| "\n"
+#| "\t\tleave_fullscreen_button = new Gtk.ToolButton.from_stock (Gtk.Stock.LEAVE_FULLSCREEN)\n"
+#| ";\n"
+#| "\t\tleave_fullscreen_button.is_important = true;\n"
+#| "\t\ttoolbar.add (leave_fullscreen_button);\n"
+#| "\n"
+#| "\t\tleave_fullscreen_button.action_name = \"win.fullscreen\";\n"
+#| "\t}\n"
+#| "\n"
+#| "\tvoid undo_callback (SimpleAction simple, Variant? parameter) {\n"
+#| "\t\t\tprint (\"You clicked \\\"Undo\\\".\\n\");\n"
+#| "\t}\n"
+#| "\n"
+#| "\tvoid fullscreen_callback (SimpleAction simple, Variant? parameter) {\n"
+#| "\t\tif ((this.get_window ().get_state () &amp; Gdk.WindowState.FULLSCREEN) != 0) {\n"
+#| "\t\t\tthis.unfullscreen ();\n"
+#| "\t\t\tleave_fullscreen_button.hide ();\n"
+#| "\t\t\tfullscreen_button.show ();\n"
+#| "\t\t}\n"
+#| "\t\telse {\n"
+#| "\t\t\tthis.fullscreen ();\n"
+#| "\t\t\tfullscreen_button.hide ();\n"
+#| "\t\t\tleave_fullscreen_button.show ();\n"
+#| "\t\t}\n"
+#| "\t}\n"
+#| "}\n"
+#| "\n"
+#| "/* This is the application */\n"
+#| "class MyApplication : Gtk.Application {\n"
+#| "\tprotected override void activate () {\n"
+#| "\t\tnew MyWindow (this).show ();\n"
+#| "\t}\n"
+#| "\n"
+#| "\tprotected override void startup () {\n"
+#| "\t\tbase.startup ();\n"
+#| "\n"
+#| "\t\t/* Create the \"new\" action and add it to the app*/\n"
+#| "\t\tvar new_action = new SimpleAction (\"new\", null);\n"
+#| "\t\tnew_action.activate.connect (new_callback);\n"
+#| "\t\tthis.add_action (new_action);\n"
+#| "\n"
+#| "\t\t/* Create the \"open\" action, and add it to the app */\n"
+#| "\t\tvar open_action = new SimpleAction (\"open\", null);\n"
+#| "\t\topen_action.activate.connect (open_callback);\n"
+#| "\t\tthis.add_action (open_action);\n"
+#| "\n"
+#| "\t\t/* You could also add the action to the app menu\n"
+#| "\t\t * if you wanted to.\n"
+#| "\t\t */\n"
+#| "\t\t//var menu = new Menu ();\n"
+#| "\t\t//menu.append (\"New\", \"app.new\");\n"
+#| "\t\t//this.app_menu = menu;\n"
+#| "\t}\n"
+#| "\n"
+#| "\tvoid new_callback (SimpleAction action, Variant? parameter) {\n"
+#| "\t\tprint (\"You clicked \\\"New\\\".\\n\");\n"
+#| "\t}\n"
+#| "\n"
+#| "\tvoid open_callback (SimpleAction action, Variant? parameter) {\n"
+#| "\t\t\tprint (\"You clicked \\\"Open\\\".\\n\");\n"
+#| "\t}\n"
+#| "}\n"
+#| "\n"
+#| "/* The main function creates the application and runs it. */\n"
+#| "int main (string[] args) {\n"
+#| "\treturn new MyApplication ().run (args);\n"
+#| "}\n"
 msgid ""
 "/* This is the Window */\n"
 "class MyWindow : Gtk.ApplicationWindow {\n"
@@ -54160,7 +55391,7 @@ msgid ""
 "\t\t/* set the text for the tooltip */\n"
 "        \ttooltip.set_text (\"Undo your last action\");\n"
 "\t\t\n"
-"\t\t/* set an icon fot the tooltip */\n"
+"\t\t/* set an icon for the tooltip */\n"
 "\t\ttooltip.set_icon_from_stock(\"gtk-undo\", Gtk.IconSize.MENU);\n"
 "\n"
 "        \t/* show the tooltip */\n"
@@ -54321,7 +55552,7 @@ msgstr ""
 "\t\t/* set the text for the tooltip */\n"
 "        \ttooltip.set_text (\"Undo your last action\");\n"
 "\t\t\n"
-"\t\t/* set an icon fot the tooltip */\n"
+"\t\t/* set an icon for the tooltip */\n"
 "\t\ttooltip.set_icon_from_stock(\"gtk-undo\", Gtk.IconSize.MENU);\n"
 "\n"
 "        \t/* show the tooltip */\n"
@@ -57912,12 +59143,20 @@ msgstr "Autotools y archivos necesarios"
 
 #. (itstool) path: section/p
 #: C/weatherAutotools.js.page:33
+#, fuzzy
+#| msgid ""
+#| "Having more than one file in your folder makes using autotools a bit "
+#| "tricky. You need the .desktop file, autogen.sh, Makefile.am, configure.ac "
+#| "and as a new file: myapp.sh.in file. Hacking the autotools file is a "
+#| "complicated field. More information can be found in many different "
+#| "sources, <link href=\"http://en.wikipedia.org/wiki/GNU_build_system\";>the "
+#| "wikipedia article</link> provides a good overview on the subject."
 msgid ""
 "Having more than one file in your folder makes using autotools a bit tricky. "
 "You need the .desktop file, autogen.sh, Makefile.am, configure.ac and as a "
 "new file: myapp.sh.in file. Hacking the autotools file is a complicated "
 "field. More information can be found in many different sources, <link href="
-"\"http://en.wikipedia.org/wiki/GNU_build_system\";>the wikipedia article</"
+"\"http://en.wikipedia.org/wiki/GNU_build_system\";>the Wikipedia article</"
 "link> provides a good overview on the subject."
 msgstr ""
 "Tener más de un archivo en la carpeta complica un poco el uso de autotools. "
@@ -60153,6 +61392,13 @@ msgstr ""
 "link> sincroniza el hilo principal y un hilo trabajador TLS que realiza las "
 "operaciones de bloqueo de TLS."
 
+#~ msgid ""
+#~ "const Lang = imports.lang;\n"
+#~ "const Gtk = imports.gi.Gtk;"
+#~ msgstr ""
+#~ "const Lang = imports.lang;\n"
+#~ "const Gtk = imports.gi.Gtk;"
+
 #~ msgid ""
 #~ "\n"
 #~ "const HelloGNOME = new Lang.Class ({\n"



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