[gnome-devel-docs] Updated Greek translation



commit aa8def49dddeb67f7426b913d7916cad2762ef7b
Author: Dimitris Spingos <dmtrs32 gmail com>
Date:   Sat Mar 2 16:14:00 2013 +0200

    Updated Greek translation

 platform-demos/el/el.po | 8738 +++++++++++++++++++++++++++++++----------------
 1 files changed, 5709 insertions(+), 3029 deletions(-)
---
diff --git a/platform-demos/el/el.po b/platform-demos/el/el.po
index b291674..ee36bc5 100644
--- a/platform-demos/el/el.po
+++ b/platform-demos/el/el.po
@@ -3,26 +3,26 @@
 # This file is distributed under the same license as the gnome-devel-docs package.
 # Chris Triantafillis <christriant1995 gmail com>, 2011.
 # Simos Xenitellis <simos gnome org>, 2011.
-# Dimitris Spingos (Δημήτρης Σπίγγος) <dmtrs32 gmail com>, 2012.
+# Dimitris Spingos (Δημήτρης Σπίγγος) <dmtrs32 gmail com>, 2012, 2013.
 msgid ""
 msgstr ""
 "Project-Id-Version: gnome-devel-docs master\n"
-"POT-Creation-Date: 2013-01-21 11:38+0000\n"
-"PO-Revision-Date: 2013-01-26 09:58+0200\n"
-"Last-Translator: Tom Tryfonidis <tomtryf gmail com>\n"
+"POT-Creation-Date: 2013-02-26 11:57+0000\n"
+"PO-Revision-Date: 2013-03-02 16:00+0300\n"
+"Last-Translator: Dimitris Spingos (Δημήτρης Σπίγγος) <dmtrs32 gmail com>\n"
 "Language-Team: team gnome gr\n"
 "Language: el\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 1.5.4\n"
+"X-Generator: Virtaal 0.7.1\n"
 "X-Project-Style: gnome\n"
 
 #. Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2
 msgctxt "_"
 msgid "translator-credits"
-msgstr "Δημήτρης Σπίγγος <dmtrs32 gmail com>, 2012"
+msgstr "Δημήτρης Σπίγγος <dmtrs32 gmail com>, 2012, 2013"
 
 #: C/index.page:7(credit/name)
 msgid "GNOME Documentation Team"
@@ -56,12 +56,12 @@ msgid "Johannes Schmid"
 msgstr "Johannes Schmid"
 
 #: C/index.page:19(credit/years) C/bug-filing.page:11(credit/years)
-#: C/documentation.page:12(credit/years) C/entry.py.page:20(credit/years)
-#: C/model-view-controller.py.page:16(credit/years)
-#: C/properties.py.page:16(credit/years)
-#: C/signals-callbacks.py.page:16(credit/years)
-#: C/strings.py.page:16(credit/years) C/textview.py.page:16(credit/years)
-#: C/toolbar_builder.py.page:28(credit/years)
+#: C/documentation.page:12(credit/years) C/entry.py.page:22(credit/years)
+#: C/model-view-controller.py.page:17(credit/years)
+#: C/properties.py.page:17(credit/years)
+#: C/signals-callbacks.py.page:17(credit/years)
+#: C/strings.py.page:17(credit/years) C/textview.py.page:17(credit/years)
+#: C/toolbar_builder.py.page:29(credit/years)
 #: C/translate.page:12(credit/years)
 msgid "2011"
 msgstr "2011"
@@ -77,18 +77,18 @@ msgstr "2011"
 #: C/entry.vala.page:12(credit/name)
 #: C/filechooserdialog.vala.page:15(credit/name)
 #: C/gmenu.c.page:12(credit/name) C/gmenu.js.page:12(credit/name)
-#: C/gmenu.py.page:12(credit/name) C/gmenu.vala.page:19(credit/name)
-#: C/grid.py.page:13(credit/name) C/grid.vala.page:14(credit/name)
+#: C/gmenu.py.page:14(credit/name) C/gmenu.vala.page:19(credit/name)
+#: C/grid.py.page:14(credit/name) C/grid.vala.page:14(credit/name)
 #: C/GtkApplicationWindow.c.page:12(credit/name)
 #: C/GtkApplicationWindow.js.page:12(credit/name)
-#: C/GtkApplicationWindow.py.page:12(credit/name)
+#: C/GtkApplicationWindow.py.page:14(credit/name)
 #: C/GtkApplicationWindow.vala.page:12(credit/name)
 #: C/guitar-tuner.vala.page:21(credit/name)
 #: C/helloWorld.js.page:19(credit/name) C/image.vala.page:12(credit/name)
 #: C/image-viewer.vala.page:26(credit/name) C/js.page:11(credit/name)
 #: C/label.vala.page:12(credit/name) C/linkbutton.vala.page:12(credit/name)
 #: C/menubar.py.page:14(credit/name) C/menubar.vala.page:14(credit/name)
-#: C/menubutton.py.page:12(credit/name) C/menubutton.vala.page:12(credit/name)
+#: C/menubutton.py.page:13(credit/name) C/menubutton.vala.page:12(credit/name)
 #: C/messagedialog.vala.page:12(credit/name)
 #: C/progressbar.vala.page:12(credit/name) C/py.page:10(credit/name)
 #: C/radiobutton.vala.page:15(credit/name) C/scale.vala.page:14(credit/name)
@@ -98,12 +98,12 @@ msgstr "2011"
 #: C/textview.vala.page:12(credit/name)
 #: C/togglebutton.vala.page:15(credit/name) C/toolbar.js.page:12(credit/name)
 #: C/toolbar.vala.page:13(credit/name)
-#: C/toolbar_builder.py.page:14(credit/name)
+#: C/toolbar_builder.py.page:15(credit/name)
 #: C/toolbar_builder.vala.page:14(credit/name)
 #: C/treeview_simple_liststore.vala.page:14(credit/name)
 #: C/translate.page:10(credit/name) C/tutorial.py.page:14(credit/name)
 #: C/vala.page:10(credit/name) C/window.c.page:12(credit/name)
-#: C/window.py.page:12(credit/name) C/window.vala.page:12(credit/name)
+#: C/window.py.page:14(credit/name) C/window.vala.page:12(credit/name)
 msgid "Tiffany Antopolski"
 msgstr "Tiffany Antopolski"
 
@@ -238,101 +238,100 @@ msgstr "Taryn Fox"
 #: C/aboutdialog.py.page:15(credit/years)
 #: C/aboutdialog.vala.page:16(credit/years)
 #: C/beginner.js.page:12(credit/years) C/button.c.page:16(credit/years)
-#: C/button.js.page:14(credit/years) C/button.py.page:15(credit/years)
-#: C/button.vala.page:15(credit/years) C/buttonbox.py.page:15(credit/years)
+#: C/button.js.page:14(credit/years) C/button.py.page:16(credit/years)
+#: C/button.vala.page:15(credit/years) C/buttonbox.py.page:16(credit/years)
 #: C/checkbutton.c.page:14(credit/years)
 #: C/checkbutton.js.page:14(credit/years)
 #: C/checkbutton.py.page:15(credit/years)
 #: C/checkbutton.vala.page:14(credit/years)
-#: C/colorbutton.py.page:14(credit/years)
+#: C/colorbutton.py.page:15(credit/years)
 #: C/colorbutton.vala.page:16(credit/years)
 #: C/comboboxtext.js.page:16(credit/years) C/combobox.js.page:18(credit/years)
-#: C/combobox.py.page:14(credit/years) C/combobox.vala.page:14(credit/years)
+#: C/combobox.py.page:16(credit/years) C/combobox.vala.page:14(credit/years)
 #: C/combobox_multicolumn.py.page:15(credit/years)
 #: C/dialog.c.page:16(credit/years) C/dialog.js.page:14(credit/years)
-#: C/dialog.py.page:15(credit/years) C/dialog.vala.page:14(credit/years)
+#: C/dialog.py.page:16(credit/years) C/dialog.vala.page:14(credit/years)
 #: C/entry.c.page:14(credit/years) C/entry.js.page:14(credit/years)
-#: C/entry.py.page:14(credit/years) C/entry.vala.page:14(credit/years)
-#: C/filechooserdialog.py.page:17(credit/years)
+#: C/entry.py.page:16(credit/years) C/entry.vala.page:14(credit/years)
+#: C/filechooserdialog.py.page:18(credit/years)
 #: C/filechooserdialog.vala.page:17(credit/years)
-#: C/fontchooserwidget.py.page:15(credit/years)
+#: C/fontchooserwidget.py.page:16(credit/years)
 #: C/gmenu.c.page:14(credit/years) C/gmenu.js.page:14(credit/years)
-#: C/gmenu.py.page:14(credit/years) C/gmenu.py.page:20(credit/years)
+#: C/gmenu.py.page:16(credit/years) C/gmenu.py.page:22(credit/years)
 #: C/gmenu.vala.page:15(credit/years) C/grid.c.page:14(credit/years)
-#: C/grid.js.page:14(credit/years) C/grid.py.page:15(credit/years)
-#: C/grid.py.page:21(credit/years) C/grid.vala.page:16(credit/years)
+#: C/grid.js.page:14(credit/years) C/grid.py.page:16(credit/years)
+#: C/grid.py.page:22(credit/years) C/grid.vala.page:16(credit/years)
 #: C/GtkApplicationWindow.c.page:14(credit/years)
 #: C/GtkApplicationWindow.js.page:14(credit/years)
-#: C/GtkApplicationWindow.py.page:14(credit/years)
-#: C/GtkApplicationWindow.py.page:19(credit/years)
+#: C/GtkApplicationWindow.py.page:16(credit/years)
+#: C/GtkApplicationWindow.py.page:21(credit/years)
 #: C/GtkApplicationWindow.vala.page:14(credit/years)
 #: C/guitar-tuner.js.page:13(credit/years)
 #: C/hellognome.js.page:13(credit/years) C/helloWorld.js.page:16(credit/years)
 #: C/image.c.page:14(credit/years) C/image.js.page:13(credit/years)
-#: C/image.py.page:14(credit/years) C/image.vala.page:14(credit/years)
+#: C/image.py.page:16(credit/years) C/image.vala.page:14(credit/years)
 #: C/label.c.page:15(credit/years) C/label.js.page:14(credit/years)
-#: C/label.py.page:15(credit/years) C/label.py.page:20(credit/years)
+#: C/label.py.page:17(credit/years) C/label.py.page:22(credit/years)
 #: C/label.vala.page:14(credit/years) C/linkbutton.c.page:14(credit/years)
 #: C/linkbutton.js.page:14(credit/years) C/linkbutton.py.page:15(credit/years)
-#: C/linkbutton.vala.page:14(credit/years) C/menubar.py.page:16(credit/years)
-#: C/menubar.py.page:21(credit/years) C/menubar.vala.page:16(credit/years)
-#: C/menubutton.js.page:14(credit/years) C/menubutton.py.page:14(credit/years)
-#: C/menubutton.py.page:20(credit/years)
+#: C/linkbutton.vala.page:14(credit/years) C/menubar.c.page:16(credit/years)
+#: C/menubar.py.page:16(credit/years) C/menubar.py.page:21(credit/years)
+#: C/menubar.vala.page:16(credit/years) C/menubutton.js.page:14(credit/years)
+#: C/menubutton.py.page:15(credit/years) C/menubutton.py.page:21(credit/years)
 #: C/menubutton.vala.page:14(credit/years)
 #: C/messagedialog.c.page:15(credit/years)
 #: C/messagedialog.js.page:17(credit/years)
 #: C/messagedialog.py.page:15(credit/years)
 #: C/messagedialog.vala.page:14(credit/years)
-#: C/model-view-controller.py.page:21(credit/years)
-#: C/paned.py.page:14(credit/years) C/progressbar.c.page:15(credit/years)
+#: C/model-view-controller.py.page:22(credit/years)
+#: C/paned.py.page:15(credit/years) C/progressbar.c.page:15(credit/years)
 #: C/progressbar.js.page:13(credit/years)
-#: C/progressbar.py.page:14(credit/years)
+#: C/progressbar.py.page:15(credit/years)
 #: C/progressbar.vala.page:14(credit/years)
-#: C/properties.py.page:21(credit/years) C/radiobutton.c.page:16(credit/years)
+#: C/properties.py.page:22(credit/years) C/radiobutton.c.page:16(credit/years)
 #: C/radiobutton.js.page:14(credit/years)
-#: C/radiobutton.py.page:18(credit/years)
+#: C/radiobutton.py.page:16(credit/years)
 #: C/radiobutton.vala.page:17(credit/years) C/scale.c.page:16(credit/years)
-#: C/scale.js.page:14(credit/years) C/scale.py.page:15(credit/years)
-#: C/scale.vala.page:16(credit/years)
-#: C/scrolledwindow.py.page:14(credit/years)
+#: C/scale.js.page:14(credit/years) C/scale.py.page:16(credit/years)
+#: C/scale.vala.page:16(credit/years) C/scrolledwindow.c.page:16(credit/years)
+#: C/scrolledwindow.py.page:15(credit/years)
 #: C/scrolledwindow.vala.page:15(credit/years)
-#: C/separator.py.page:15(credit/years)
+#: C/separator.py.page:16(credit/years)
 #: C/set-up-gedit.js.page:13(credit/years)
-#: C/signals-callbacks.py.page:21(credit/years)
+#: C/signals-callbacks.py.page:22(credit/years)
 #: C/spinbutton.c.page:17(credit/years) C/spinbutton.js.page:17(credit/years)
-#: C/spinbutton.py.page:15(credit/years)
+#: C/spinbutton.py.page:16(credit/years)
 #: C/spinbutton.vala.page:16(credit/years) C/spinner.c.page:15(credit/years)
-#: C/spinner.js.page:14(credit/years) C/spinner.py.page:14(credit/years)
+#: C/spinner.js.page:14(credit/years) C/spinner.py.page:15(credit/years)
 #: C/spinner.vala.page:14(credit/years) C/statusbar.c.page:18(credit/years)
-#: C/statusbar.js.page:14(credit/years) C/statusbar.py.page:17(credit/years)
-#: C/statusbar.vala.page:17(credit/years) C/strings.py.page:21(credit/years)
+#: C/statusbar.js.page:14(credit/years) C/statusbar.py.page:16(credit/years)
+#: C/statusbar.vala.page:17(credit/years) C/strings.py.page:22(credit/years)
 #: C/switch.c.page:14(credit/years) C/switch.js.page:14(credit/years)
-#: C/switch.py.page:19(credit/years) C/switch.vala.page:18(credit/years)
+#: C/switch.py.page:15(credit/years) C/switch.vala.page:18(credit/years)
 #: C/textview.c.page:14(credit/years) C/textview.js.page:18(credit/years)
-#: C/textview.py.page:22(credit/years) C/textview.vala.page:14(credit/years)
+#: C/textview.py.page:23(credit/years) C/textview.vala.page:14(credit/years)
 #: C/togglebutton.c.page:18(credit/years)
 #: C/togglebutton.js.page:14(credit/years)
-#: C/togglebutton.py.page:17(credit/years)
-#: C/togglebutton.vala.page:17(credit/years)
-#: C/toolbar.js.page:14(credit/years) C/toolbar.py.page:15(credit/years)
+#: C/togglebutton.py.page:15(credit/years)
+#: C/togglebutton.vala.page:17(credit/years) C/toolbar.c.page:16(credit/years)
+#: C/toolbar.js.page:14(credit/years) C/toolbar.py.page:16(credit/years)
 #: C/toolbar.vala.page:15(credit/years)
-#: C/toolbar_builder.py.page:16(credit/years)
-#: C/toolbar_builder.py.page:22(credit/years)
+#: C/toolbar_builder.py.page:17(credit/years)
+#: C/toolbar_builder.py.page:23(credit/years)
 #: C/toolbar_builder.vala.page:16(credit/years)
-#: C/tooltip.py.page:15(credit/years)
-#: C/treeview_advanced_liststore.py.page:17(credit/years)
-#: C/treeview_cellrenderertoggle.py.page:14(credit/years)
+#: C/tooltip.py.page:16(credit/years)
+#: C/treeview_advanced_liststore.py.page:15(credit/years)
+#: C/treeview_cellrenderertoggle.py.page:15(credit/years)
 #: C/treeview_simple_liststore.js.page:17(credit/years)
 #: C/treeview_simple_liststore.py.page:16(credit/years)
 #: C/treeview_simple_liststore.vala.page:16(credit/years)
-#: C/treeview_treestore.py.page:14(credit/years)
-#: C/tutorial.py.page:16(credit/years) C/tutorial.py.page:21(credit/years)
-#: C/weatherApp.js.page:13(credit/years)
+#: C/treeview_treestore.py.page:16(credit/years)
+#: C/tutorial.py.page:16(credit/years) C/weatherApp.js.page:13(credit/years)
 #: C/weatherAppMain.js.page:12(credit/years)
 #: C/weatherAutotools.js.page:12(credit/years)
 #: C/weatherGeonames.js.page:12(credit/years) C/window.c.page:14(credit/years)
-#: C/window.js.page:14(credit/years) C/window.py.page:14(credit/years)
-#: C/window.py.page:19(credit/years) C/window.vala.page:14(credit/years)
+#: C/window.js.page:14(credit/years) C/window.py.page:16(credit/years)
+#: C/window.py.page:21(credit/years) C/window.vala.page:14(credit/years)
 msgid "2012"
 msgstr "2012"
 
@@ -384,24 +383,36 @@ msgstr ""
 "όπως οι περισσότερες σελίδες στον ιστό."
 
 #: C/02_welcome_to_the_grid.js.page:34(section/p)
+#| msgid ""
+#| "This time, we're going to use only native GNOME widgets. A widget is just "
+#| "a thing, like a checkbox or picture, and GNOME has a wide variety of them "
+#| "to choose from. We call them \"native\" widgets to distinguish them from "
+#| "things like the button and header in the web app we wrote. Because "
+#| "instead of using web code, these are going to be 100 percent GNOME, using "
+#| "Gtk+."
 msgid ""
 "This time, we're going to use only native GNOME widgets. A widget is just a "
 "thing, like a checkbox or picture, and GNOME has a wide variety of them to "
 "choose from. We call them \"native\" widgets to distinguish them from things "
 "like the button and header in the web app we wrote. Because instead of using "
-"web code, these are going to be 100 percent GNOME, using Gtk+."
+"web code, these are going to be 100 percent GNOME, using GTK+."
 msgstr ""
 "Αυτήν τη φορά, πρόκειται να χρησιμοποιήσουμε μόνο τα εγγενή γραφικά "
 "συστατικά του GNOME. Ένα γραφικό συστατικό είναι μόνο ένα πράγμα, όπως ένα "
 "πλαίσιο ελέγχου ή εικόνα και το GNOME έχει μια πλατιά ποικιλία για επιλογή. "
-"Τα λέμε \"native\" γραφικά συστατικά για να τα διακρίνουμε από πράγματα όπως "
+"Τα λέμε \"εγγενή\" γραφικά συστατικά για να τα διακρίνουμε από πράγματα όπως "
 "το κουμπί και η κεφαλίδα στην εφαρμογή ιστού που γράψαμε. Αντί να "
 "χρησιμοποιήσουμε κώδικα ιστού, αυτά πρόκειται να είναι 100% GNOME, "
 "χρησιμοποιώντας Gtk+."
 
 #: C/02_welcome_to_the_grid.js.page:35(note/p)
+#| msgid ""
+#| "Gtk+ stands for \"GIMP Toolkit\". It's like a toolbox of widgets that you "
+#| "can reach into, while building your applications. It was originally "
+#| "written for <link href=\"http://www.gimp.org/\";>the GIMP</link>, which is "
+#| "a free software image editor."
 msgid ""
-"Gtk+ stands for \"GIMP Toolkit\". It's like a toolbox of widgets that you "
+"GTK+ stands for \"GIMP Toolkit\". It's like a toolbox of widgets that you "
 "can reach into, while building your applications. It was originally written "
 "for <link href=\"http://www.gimp.org/\";>the GIMP</link>, which is a free "
 "software image editor."
@@ -416,8 +427,11 @@ msgid "Setting up our application"
 msgstr "Εγκατάσταση της εφαρμογής μας"
 
 #: C/02_welcome_to_the_grid.js.page:41(section/p)
+#| msgid ""
+#| "Before we dig out any widgets from the Gtk+ toolbox, we first need to "
+#| "write the basic boilerplate code that our application requires."
 msgid ""
-"Before we dig out any widgets from the Gtk+ toolbox, we first need to write "
+"Before we dig out any widgets from the GTK+ toolbox, we first need to write "
 "the basic boilerplate code that our application requires."
 msgstr ""
 "Πριν να ψάξουμε οποιαδήποτε γραφικά συστατικά από την εργαλειοθήκη Gtk+, "
@@ -491,21 +505,24 @@ msgstr ""
 "\n"
 "    // Create the application itself\n"
 "    _init: function() {\n"
-"        this.application = new Gtk.Application();\n"
+"        this.application = new Gtk.Application()·\n"
 "\n"
-"        // Connect 'activate' and 'startup' signals to the callback functions\n"
-"        this.application.connect('activate', Lang.bind(this, this._onActivate));\n"
-"        this.application.connect('startup', Lang.bind(this, this._onStartup));\n"
+"        // Connect 'activate' and 'startup' signals to the callback "
+"functions\n"
+"        this.application.connect('activate', Lang.bind(this, "
+"this._onActivate))·\n"
+"        this.application.connect('startup', Lang.bind(this, "
+"this._onStartup))·\n"
 "    },\n"
 "\n"
 "    // Callback function for 'activate' signal presents windows when active\n"
 "    _onActivate: function() {\n"
-"        this._window.present();\n"
+"        this._window.present()·\n"
 "    },\n"
 "\n"
 "    // Callback function for 'startup' signal builds the UI\n"
 "    _onStartup: function() {\n"
-"        this._buildUI ();\n"
+"        this._buildUI ()·\n"
 "    },\n"
 
 #: C/02_welcome_to_the_grid.js.page:73(section/p)
@@ -551,7 +568,7 @@ msgstr ""
 "            application: this.application,\n"
 "            window_position: Gtk.WindowPosition.CENTER,\n"
 "            border_width: 10,\n"
-"            title: \"Welcome to the Grid\"});\n"
+"            title: \"Welcome to the Grid\"})·\n"
 
 #: C/02_welcome_to_the_grid.js.page:87(section/p)
 msgid ""
@@ -569,7 +586,8 @@ msgstr ""
 "στην κορυφή του παραθύρου."
 
 #: C/02_welcome_to_the_grid.js.page:91(section/title)
-msgid "Reaching into the Gtk+ toolbox"
+#| msgid "Reaching into the Gtk+ toolbox"
+msgid "Reaching into the GTK+ toolbox"
 msgstr "Φτάνοντας στην εργαλειοθήκη Gtk+"
 
 #: C/02_welcome_to_the_grid.js.page:92(section/p)
@@ -597,7 +615,7 @@ msgid ""
 msgstr ""
 "\n"
 "        // Create an image\n"
-"        this._image = new Gtk.Image ({ file: \"gnome-image.png\" });\n"
+"        this._image = new Gtk.Image ({ file: \"gnome-image.png\" })·\n"
 
 #: C/02_welcome_to_the_grid.js.page:102(section/p)
 msgid ""
@@ -620,7 +638,7 @@ msgid ""
 msgstr ""
 "\n"
 "        // Create a label\n"
-"        this._label = new Gtk.Label ({ label: \"Welcome to GNOME, too!\" });\n"
+"        this._label = new Gtk.Label ({ label: \"Welcome to GNOME, too!\" })·\n"
 
 #: C/02_welcome_to_the_grid.js.page:108(section/p)
 msgid ""
@@ -678,7 +696,7 @@ msgid ""
 msgstr ""
 "\n"
 "        // Create the Grid\n"
-"        this._grid = new Gtk.Grid ();\n"
+"        this._grid = new Gtk.Grid ()·\n"
 
 #: C/02_welcome_to_the_grid.js.page:117(section/p)
 msgid ""
@@ -700,8 +718,8 @@ msgid ""
 msgstr ""
 "\n"
 "        // Attach the image and label to the grid\n"
-"        this._grid.attach (this._image, 0, 0, 1, 1);\n"
-"        this._grid.attach (this._label, 0, 1, 1, 1);\n"
+"        this._grid.attach (this._image, 0, 0, 1, 1)·\n"
+"        this._grid.attach (this._label, 0, 1, 1, 1)·\n"
 
 #: C/02_welcome_to_the_grid.js.page:124(section/p)
 msgid ""
@@ -758,17 +776,17 @@ msgid ""
 msgstr ""
 "\n"
 "        // Add the grid to the window\n"
-"        this._window.add (this._grid);\n"
+"        this._window.add (this._grid)·\n"
 "\n"
 "        // Show the window and all child widgets\n"
-"        this._window.show_all();\n"
+"        this._window.show_all()·\n"
 "    }\n"
 "\n"
-"});\n"
+"})·\n"
 "\n"
 "// Run the application\n"
-"let app = new WelcomeToTheGrid ();\n"
-"app.application.run (ARGV);\n"
+"let app = new WelcomeToTheGrid ()·\n"
+"app.application.run (ARGV)·\n"
 
 #: C/02_welcome_to_the_grid.js.page:145(section/p)
 msgid ""
@@ -835,7 +853,7 @@ msgstr ""
 "        // Create a label\n"
 "        this._label = new Gtk.Label ({\n"
 "            label: \"Welcome to GNOME, too!\",\n"
-"            margin_top: 20 });\n"
+"            margin_top: 20 })·\n"
 
 #: C/02_welcome_to_the_grid.js.page:165(section/p)
 msgid ""
@@ -867,7 +885,7 @@ msgstr ""
 "\n"
 "        // Create the Grid\n"
 "        this._grid = new Gtk.Grid ({\n"
-"            row_spacing: 20 });\n"
+"            row_spacing: 20 })·\n"
 
 #: C/02_welcome_to_the_grid.js.page:175(section/p)
 msgid ""
@@ -920,12 +938,12 @@ msgstr ""
 "\n"
 "        // Create a second label\n"
 "        this._labelTwo = new Gtk.Label ({\n"
-"            label: \"The cake is a pie.\" });\n"
+"            label: \"The cake is a pie.\" })·\n"
 "\n"
 "        // Attach the image and labels to the grid\n"
-"        this._grid.attach (this._image, 0, 0, 2, 1);\n"
-"        this._grid.attach (this._label, 0, 1, 1, 1);\n"
-"        this._grid.attach (this._labelTwo, 1, 1, 1, 1);\n"
+"        this._grid.attach (this._image, 0, 0, 2, 1)·\n"
+"        this._grid.attach (this._label, 0, 1, 1, 1)·\n"
+"        this._grid.attach (this._labelTwo, 1, 1, 1, 1)·\n"
 
 #: C/02_welcome_to_the_grid.js.page:194(section/p)
 msgid ""
@@ -1007,7 +1025,7 @@ msgstr ""
 "        // Create the Grid\n"
 "        this._grid = new Gtk.Grid ({\n"
 "            column_homogeneous: true,\n"
-"            row_spacing: 20 });\n"
+"            row_spacing: 20 })·\n"
 
 #: C/02_welcome_to_the_grid.js.page:215(section/p)
 msgid "That makes it look something like this:"
@@ -1034,7 +1052,7 @@ msgstr ""
 "        // Create the Grid\n"
 "        this._grid = new Gtk.Grid ({\n"
 "            column_spacing: 20,\n"
-"            row_spacing: 20 });\n"
+"            row_spacing: 20 })·\n"
 
 #: C/02_welcome_to_the_grid.js.page:225(section/p)
 msgid "That makes it look like this:"
@@ -1067,10 +1085,10 @@ msgid ""
 msgstr ""
 "\n"
 "        // Create an image\n"
-"        this._image = new Gtk.Image ({ file: \"gnome-image.png\" });\n"
+"        this._image = new Gtk.Image ({ file: \"gnome-image.png\" })·\n"
 "\n"
 "        // Create a second image using a stock icon\n"
-"        this._icon = new Gtk.Image ({ stock: 'gtk-about' });\n"
+"        this._icon = new Gtk.Image ({ stock: 'gtk-about' })·\n"
 
 #: C/02_welcome_to_the_grid.js.page:240(section/p)
 msgid ""
@@ -1091,9 +1109,9 @@ msgid ""
 msgstr ""
 "\n"
 "        // Attach the images and label to the grid\n"
-"        this._grid.attach (this._image, 0, 0, 2, 1);\n"
-"        this._grid.attach (this._icon,  0, 1, 1, 1);\n"
-"        this._grid.attach (this._label, 1, 1, 1, 1);\n"
+"        this._grid.attach (this._image, 0, 0, 2, 1)·\n"
+"        this._grid.attach (this._icon,  0, 1, 1, 1)·\n"
+"        this._grid.attach (this._label, 1, 1, 1, 1)·\n"
 
 #: C/02_welcome_to_the_grid.js.page:247(section/p)
 msgid "That gives us this, when we run it:"
@@ -1157,12 +1175,12 @@ msgstr ""
 "\n"
 "        // Create a button\n"
 "        this._button = new Gtk.Button ({\n"
-"            label: \"Welcome to GNOME, too!\"});\n"
+"            label: \"Welcome to GNOME, too!\"})·\n"
 "\n"
 "        // Attach the images and button to the grid\n"
-"        this._grid.attach (this._image,  0, 0, 2, 1);\n"
-"        this._grid.attach (this._icon,   0, 1, 1, 1);\n"
-"        this._grid.attach (this._button, 1, 1, 1, 1);\n"
+"        this._grid.attach (this._image,  0, 0, 2, 1)·\n"
+"        this._grid.attach (this._icon,   0, 1, 1, 1)·\n"
+"        this._grid.attach (this._button, 1, 1, 1, 1)·\n"
 
 #: C/02_welcome_to_the_grid.js.page:269(section/p)
 msgid ""
@@ -1305,29 +1323,29 @@ msgid ""
 msgstr ""
 "#!/usr/bin/gjs\n"
 "\n"
-"const Gtk = imports.gi.Gtk;\n"
-"const Lang = imports.lang;\n"
+"const Gtk = imports.gi.Gtk·\n"
+"const Lang = imports.lang·\n"
 "\n"
 "const WelcomeToTheGrid = new Lang.Class({\n"
 "    Name: 'Welcome to the Grid',\n"
 "\n"
 "    // Create the application itself\n"
 "    _init: function() {\n"
-"        this.application = new Gtk.Application();\n"
+"        this.application = new Gtk.Application()·\n"
 "\n"
 "    // Connect 'activate' and 'startup' signals to the callback functions\n"
-"    this.application.connect('activate', Lang.bind(this, this._onActivate));\n"
-"    this.application.connect('startup', Lang.bind(this, this._onStartup));\n"
+"    this.application.connect('activate', Lang.bind(this, this._onActivate))·\n"
+"    this.application.connect('startup', Lang.bind(this, this._onStartup))·\n"
 "    },\n"
 "\n"
 "    // Callback function for 'activate' signal presents windows when active\n"
 "    _onActivate: function() {\n"
-"        this._window.present();\n"
+"        this._window.present()·\n"
 "    },\n"
 "\n"
 "    // Callback function for 'startup' signal builds the UI\n"
 "    _onStartup: function() {\n"
-"        this._buildUI ();\n"
+"        this._buildUI ()·\n"
 "    },\n"
 "\n"
 "\n"
@@ -1340,55 +1358,55 @@ msgstr ""
 "            application: this.application,\n"
 "            window_position: Gtk.WindowPosition.CENTER,\n"
 "            border_width: 10,\n"
-"            title: \"Welcome to the Grid\"});\n"
+"            title: \"Welcome to the Grid\"})·\n"
 "\n"
 "        // Create the Grid\n"
 "        this._grid = new Gtk.Grid ({\n"
 "            // column_homogeneous: true,\n"
 "            // column_spacing: 20,\n"
-"            row_spacing: 20 });\n"
+"            row_spacing: 20 })·\n"
 "\n"
 "        // Create an image\n"
-"        this._image = new Gtk.Image ({ file: \"gnome-image.png\" });\n"
+"        this._image = new Gtk.Image ({ file: \"gnome-image.png\" })·\n"
 "\n"
 "        // Create a second image using a stock icon\n"
-"        this._icon = new Gtk.Image ({ stock: 'gtk-about' });\n"
+"        this._icon = new Gtk.Image ({ stock: 'gtk-about' })·\n"
 "\n"
 "        // Create a label\n"
 "        this._label = new Gtk.Label ({\n"
 "            label: \"Welcome to GNOME, too!\",\n"
-"            /* margin_top: 20 */ });\n"
+"            /* margin_top: 20 */ })·\n"
 "\n"
 "        /* Create a second label\n"
 "        this._labelTwo = new Gtk.Label ({\n"
-"            label: \"The cake is a pie.\" }); */\n"
+"            label: \"The cake is a pie.\" })· */\n"
 "\n"
 "        /* Create a button\n"
 "        this._button = new Gtk.Button ({\n"
-"            label: \"Welcome to GNOME, too!\"}); */\n"
+"            label: \"Welcome to GNOME, too!\"})· */\n"
 "\n"
 "        // Attach the images and button to the grid\n"
-"        this._grid.attach (this._image,  0, 0, 2, 1);\n"
-"        this._grid.attach (this._icon,   0, 1, 1, 1);\n"
-"        this._grid.attach (this._label,  1, 1, 1, 1);\n"
+"        this._grid.attach (this._image,  0, 0, 2, 1)·\n"
+"        this._grid.attach (this._icon,   0, 1, 1, 1)·\n"
+"        this._grid.attach (this._label,  1, 1, 1, 1)·\n"
 "\n"
-"        // this._grid.attach (this._label, 0, 1, 1, 1);\n"
-"        // this._grid.attach (this._labelTwo, 1, 1, 1, 1);\n"
+"        // this._grid.attach (this._label, 0, 1, 1, 1)·\n"
+"        // this._grid.attach (this._labelTwo, 1, 1, 1, 1)·\n"
 "\n"
-"        // this._grid.attach (this._button, 1, 1, 1, 1);\n"
+"        // this._grid.attach (this._button, 1, 1, 1, 1)·\n"
 "\n"
 "        // Add the grid to the window\n"
-"        this._window.add (this._grid);\n"
+"        this._window.add (this._grid)·\n"
 "\n"
 "        // Show the window and all child widgets\n"
-"        this._window.show_all();\n"
+"        this._window.show_all()·\n"
 "    }\n"
 "\n"
-"});\n"
+"})·\n"
 "\n"
 "// Run the application\n"
-"let app = new WelcomeToTheGrid ();\n"
-"app.application.run (ARGV);\n"
+"let app = new WelcomeToTheGrid ()·\n"
+"app.application.run (ARGV)·\n"
 
 #. This is a reference to an external file such as an image or video. When
 #. the file changes, the md5 hash will change to let you know you need to
@@ -1606,32 +1624,35 @@ msgstr ""
 "\n"
 "#!/usr/bin/gjs\n"
 "\n"
-"const Gtk = imports.gi.Gtk;\n"
-"const Lang = imports.lang;\n"
+"const Gtk = imports.gi.Gtk·\n"
+"const Lang = imports.lang·\n"
 "\n"
 "// We start out with 0 cookies\n"
-"var cookies = 0;\n"
+"var cookies = 0·\n"
 "\n"
 "const GettingTheSignal = new Lang.Class({\n"
 "    Name: 'Getting the Signal',\n"
 "\n"
 "    // Create the application itself\n"
 "    _init: function() {\n"
-"        this.application = new Gtk.Application();\n"
+"        this.application = new Gtk.Application()·\n"
 "\n"
-"        // Connect 'activate' and 'startup' signals to the callback functions\n"
-"        this.application.connect('activate', Lang.bind(this, this._onActivate));\n"
-"        this.application.connect('startup', Lang.bind(this, this._onStartup));\n"
+"        // Connect 'activate' and 'startup' signals to the callback "
+"functions\n"
+"        this.application.connect('activate', Lang.bind(this, "
+"this._onActivate))·\n"
+"        this.application.connect('startup', Lang.bind(this, "
+"this._onStartup))·\n"
 "    },\n"
 "\n"
 "    // Callback function for 'activate' signal presents window when active\n"
 "    _onActivate: function() {\n"
-"        this._window.present();\n"
+"        this._window.present()·\n"
 "    },\n"
 "\n"
 "    // Callback function for 'startup' signal builds the UI\n"
 "    _onStartup: function() {\n"
-"        this._buildUI ();\n"
+"        this._buildUI ()·\n"
 "    },\n"
 
 #: C/03_getting_the_signal.js.page:72(section/p)
@@ -1695,7 +1716,7 @@ msgstr ""
 "            window_position: Gtk.WindowPosition.CENTER,\n"
 "            default_height: 200,\n"
 "            default_width: 400,\n"
-"            title: \"Click the button to get a cookie!\"});\n"
+"            title: \"Click the button to get a cookie!\"})·\n"
 
 #: C/03_getting_the_signal.js.page:94(section/p)
 msgid ""
@@ -1726,7 +1747,7 @@ msgstr ""
 "\n"
 "        // Create the label\n"
 "        this._cookieLabel = new Gtk.Label ({\n"
-"            label: \"Number of cookies: \" + cookies });\n"
+"            label: \"Number of cookies: \" + cookies })·\n"
 
 #: C/03_getting_the_signal.js.page:102(section/p)
 msgid ""
@@ -1752,10 +1773,12 @@ msgid ""
 msgstr ""
 "\n"
 "        // Create the cookie button\n"
-"        this._cookieButton = new Gtk.Button ({ label: \"Get a cookie\" });\n"
+"        this._cookieButton = new Gtk.Button ({ label: \"Get a cookie\" })·\n"
 "\n"
-"        // Connect the cookie button to the function that handles clicking it\n"
-"        this._cookieButton.connect ('clicked', Lang.bind (this, this._getACookie));\n"
+"        // Connect the cookie button to the function that handles clicking "
+"it\n"
+"        this._cookieButton.connect ('clicked', Lang.bind (this, "
+"this._getACookie))·\n"
 
 #: C/03_getting_the_signal.js.page:110(section/p)
 msgid ""
@@ -1801,17 +1824,17 @@ msgstr ""
 "        this._grid = new Gtk.Grid ({\n"
 "            halign: Gtk.Align.CENTER,\n"
 "            valign: Gtk.Align.CENTER,\n"
-"            row_spacing: 20 });\n"
+"            row_spacing: 20 })·\n"
 "\n"
 "        // Put everything inside the grid\n"
-"        this._grid.attach (this._cookieButton, 0, 0, 1, 1);\n"
-"        this._grid.attach (this._cookieLabel, 0, 1, 1, 1);\n"
+"        this._grid.attach (this._cookieButton, 0, 0, 1, 1)·\n"
+"        this._grid.attach (this._cookieLabel, 0, 1, 1, 1)·\n"
 "\n"
 "        // Add the grid to the window\n"
-"        this._window.add (this._grid);\n"
+"        this._window.add (this._grid)·\n"
 "\n"
 "        // Show the window and all child widgets\n"
-"        this._window.show_all();\n"
+"        this._window.show_all()·\n"
 "\n"
 "    },\n"
 
@@ -1861,12 +1884,12 @@ msgstr ""
 "    _getACookie: function() {\n"
 "\n"
 "        // Increase the number of cookies by 1 and update the label\n"
-"        cookies++;\n"
-"        this._cookieLabel.set_label (\"Number of cookies: \" + cookies);\n"
+"        cookies++·\n"
+"        this._cookieLabel.set_label (\"Number of cookies: \" + cookies)·\n"
 "\n"
 "    }\n"
 "\n"
-"});\n"
+"})·\n"
 
 #: C/03_getting_the_signal.js.page:144(section/p)
 msgid ""
@@ -1886,25 +1909,30 @@ msgid ""
 msgstr ""
 "\n"
 "// Run the application\n"
-"let app = new GettingTheSignal ();\n"
-"app.application.run (ARGV);\n"
+"let app = new GettingTheSignal ()·\n"
+"app.application.run (ARGV)·\n"
 
 #: C/03_getting_the_signal.js.page:153(section/title)
 msgid "Flip the switch"
 msgstr "Αναστροφή του διακόπτη"
 
 #: C/03_getting_the_signal.js.page:154(section/p)
+#| msgid ""
+#| "Buttons aren't the only input widgets in our Gtk+ toolbox. We can also "
+#| "use switches, like the one in this example. Switches don't have a label "
+#| "property, so we have to create a separate Label that says what it does to "
+#| "go next to it."
 msgid ""
-"Buttons aren't the only input widgets in our Gtk+ toolbox. We can also use "
+"Buttons aren't the only input widgets in our GTK+ toolbox. We can also use "
 "switches, like the one in this example. Switches don't have a label "
 "property, so we have to create a separate Label that says what it does to go "
 "next to it."
 msgstr ""
 "Τα κουμπιά δεν είναι τα μόνα γραφικά συστατικά εισόδου στην εργαλειοθήκη μας "
-"Gtk+. Μπορούμε επίσης να χρησιμοποιήσουμε διακόπτες, όπως αυτόν σε το "
-"συγκεκριμένο παράδειγμα. Οι διακόπτες δεν έχουν μια ιδιότητα ετικέτας, έτσι "
-"πρέπει να δημιουργήσουμε μια ξεχωριστή ετικέτα που λέει τι κάνει για να πάει "
-"δίπλα του."
+"Gtk+. Μπορούμε επίσης να χρησιμοποιήσουμε διακόπτες, όπως αυτόν σε αυτό το "
+"παράδειγμα. Οι διακόπτες δεν έχουν μια ιδιότητα ετικέτας, έτσι πρέπει να "
+"δημιουργήσουμε μια ξεχωριστή ετικέτα που λέει τι κάνει για να πάει δίπλα "
+"του."
 
 #: C/03_getting_the_signal.js.page:158(section/p)
 msgid ""
@@ -1951,7 +1979,7 @@ msgid ""
 msgstr ""
 "\n"
 "        // Create the switch that controls whether or not you can win\n"
-"        this._cookieSwitch = new Gtk.Switch ();\n"
+"        this._cookieSwitch = new Gtk.Switch ()·\n"
 
 #: C/03_getting_the_signal.js.page:170(section/p)
 msgid ""
@@ -1975,7 +2003,8 @@ msgid ""
 msgstr ""
 "\n"
 "        // Connect the switch to the function that handles it\n"
-"        this._cookieSwitch.connect ('notify::active', Lang.bind (this, this._cookieDispenser));\n"
+"        this._cookieSwitch.connect ('notify::active', Lang.bind (this, "
+"this._cookieDispenser))·\n"
 
 #: C/03_getting_the_signal.js.page:176(section/p)
 msgid ""
@@ -2033,20 +2062,20 @@ msgid ""
 msgstr ""
 "\n"
 "        // Create the switch that controls whether or not you can win\n"
-"        this._cookieSwitch = new Gtk.Switch ();\n"
+"        this._cookieSwitch = new Gtk.Switch ()·\n"
 "\n"
 "        // Create the label to go with the switch\n"
 "        this._switchLabel = new Gtk.Label ({\n"
-"            label: \"Cookie dispenser\" });\n"
+"            label: \"Cookie dispenser\" })·\n"
 "\n"
 "        // Create a grid for the switch and its label\n"
 "        this._switchGrid = new Gtk.Grid ({\n"
 "            halign: Gtk.Align.CENTER,\n"
-"            valign: Gtk.Align.CENTER });\n"
+"            valign: Gtk.Align.CENTER })·\n"
 "\n"
 "        // Put the switch and its label inside that grid\n"
-"        this._switchGrid.attach (this._switchLabel, 0, 0, 1, 1);\n"
-"        this._switchGrid.attach (this._cookieSwitch, 1, 0, 1, 1);\n"
+"        this._switchGrid.attach (this._switchLabel, 0, 0, 1, 1)·\n"
+"        this._switchGrid.attach (this._cookieSwitch, 1, 0, 1, 1)·\n"
 
 #: C/03_getting_the_signal.js.page:200(section/p)
 msgid "And now we arrange everything in the larger Grid like so."
@@ -2063,9 +2092,9 @@ msgid ""
 msgstr ""
 "\n"
 "        // Put everything inside the grid\n"
-"        this._grid.attach (this._cookieButton, 0, 0, 1, 1);\n"
-"        this._grid.attach (this._switchGrid, 0, 1, 1, 1);\n"
-"        this._grid.attach (this._cookieLabel, 0, 2, 1, 1);\n"
+"        this._grid.attach (this._cookieButton, 0, 0, 1, 1)·\n"
+"        this._grid.attach (this._switchGrid, 0, 1, 1, 1)·\n"
+"        this._grid.attach (this._cookieLabel, 0, 2, 1, 1)·\n"
 
 #: C/03_getting_the_signal.js.page:208(section/p)
 msgid ""
@@ -2107,12 +2136,12 @@ msgstr ""
 "\n"
 "    _getACookie: function() {\n"
 "\n"
-"        // Is the cookie dispenser turned on?\n"
+"        // Is the cookie dispenser turned on;\n"
 "        if (this._cookieSwitch.get_active()) {\n"
 "\n"
 "            // Increase the number of cookies by 1 and update the label\n"
-"            cookies++;\n"
-"            this._cookieLabel.set_label (\"Number of cookies: \" + cookies);\n"
+"            cookies++·\n"
+"            this._cookieLabel.set_label (\"Number of cookies: \" + cookies)·\n"
 "\n"
 "        }\n"
 "\n"
@@ -2171,7 +2200,7 @@ msgstr ""
 "            default_height: 200,\n"
 "            default_width: 400,\n"
 "            border_width: 20,\n"
-"            title: \"Choose the one that says 'cookie'!\"});\n"
+"            title: \"Choose the one that says 'cookie'!\"})·\n"
 
 #: C/03_getting_the_signal.js.page:246(section/p)
 msgid ""
@@ -2196,11 +2225,11 @@ msgid ""
 msgstr ""
 "\n"
 "        // Create the radio buttons\n"
-"        this._cookieButton = new Gtk.RadioButton ({ label: \"Cookie\" });\n"
+"        this._cookieButton = new Gtk.RadioButton ({ label: \"Cookie\" })·\n"
 "        this._notCookieOne = new Gtk.RadioButton ({ label: \"Not cookie\",\n"
-"            group: this._cookieButton });\n"
+"            group: this._cookieButton })·\n"
 "        this._notCookieTwo = new Gtk.RadioButton ({ label: \"Not cookie\",\n"
-"            group: this._cookieButton });\n"
+"            group: this._cookieButton })·\n"
 
 #: C/03_getting_the_signal.js.page:256(section/p)
 msgid ""
@@ -2223,10 +2252,10 @@ msgid ""
 msgstr ""
 "\n"
 "        // Arrange the radio buttons in their own grid\n"
-"        this._radioGrid = new Gtk.Grid ();\n"
-"        this._radioGrid.attach (this._notCookieOne, 0, 0, 1, 1);\n"
-"        this._radioGrid.attach (this._cookieButton, 0, 1, 1, 1);\n"
-"        this._radioGrid.attach (this._notCookieTwo, 0, 2, 1, 1);\n"
+"        this._radioGrid = new Gtk.Grid ()·\n"
+"        this._radioGrid.attach (this._notCookieOne, 0, 0, 1, 1)·\n"
+"        this._radioGrid.attach (this._cookieButton, 0, 1, 1, 1)·\n"
+"        this._radioGrid.attach (this._notCookieTwo, 0, 2, 1, 1)·\n"
 
 #: C/03_getting_the_signal.js.page:265(section/p)
 msgid ""
@@ -2253,7 +2282,7 @@ msgid ""
 msgstr ""
 "\n"
 "        // Set the button that will be at the top to be active by default\n"
-"        this._notCookieOne.set_active (true);\n"
+"        this._notCookieOne.set_active (true)·\n"
 
 #: C/03_getting_the_signal.js.page:272(section/p)
 msgid "Now we arrange everything in our main Grid like usual ..."
@@ -2270,9 +2299,9 @@ msgid ""
 msgstr ""
 "\n"
 "        // Put everything inside the grid\n"
-"        this._grid.attach (this._radioGrid, 0, 0, 1, 1);\n"
-"        this._grid.attach (this._cookieButton, 0, 1, 1, 1);\n"
-"        this._grid.attach (this._cookieLabel, 0, 2, 1, 1);\n"
+"        this._grid.attach (this._radioGrid, 0, 0, 1, 1)·\n"
+"        this._grid.attach (this._cookieButton, 0, 1, 1, 1)·\n"
+"        this._grid.attach (this._cookieLabel, 0, 2, 1, 1)·\n"
 
 #: C/03_getting_the_signal.js.page:280(section/p)
 msgid ""
@@ -2302,12 +2331,12 @@ msgstr ""
 "\n"
 "    _getACookie: function() {\n"
 "\n"
-"        // Did you select \"cookie\" instead of \"not cookie\"?\n"
+"        // Did you select \"cookie\" instead of \"not cookie\";\n"
 "        if (this._cookieButton.get_active()) {\n"
 "\n"
 "            // Increase the number of cookies by 1 and update the label\n"
-"            cookies++;\n"
-"            this._cookieLabel.set_label (\"Number of cookies: \" + cookies);\n"
+"            cookies++·\n"
+"            this._cookieLabel.set_label (\"Number of cookies: \" + cookies)·\n"
 "\n"
 "        }\n"
 "\n"
@@ -2351,7 +2380,7 @@ msgid ""
 "        this._spellCookie = new Gtk.Entry ();\n"
 msgstr ""
 "\n"
-"        // Create the text entry field\n"
+"        // Δημιουργία του πεδίου καταχώρισης κειμένου\n"
 "        this._spellCookie = new Gtk.Entry ();\n"
 
 #: C/03_getting_the_signal.js.page:311(section/p)
@@ -2369,9 +2398,9 @@ msgid ""
 msgstr ""
 "\n"
 "        // Put everything inside the grid\n"
-"        this._grid.attach (this._spellCookie, 0, 0, 1, 1);\n"
-"        this._grid.attach (this._cookieButton, 0, 1, 1, 1);\n"
-"        this._grid.attach (this._cookieLabel, 0, 2, 1, 1);\n"
+"        this._grid.attach (this._spellCookie, 0, 0, 1, 1)·\n"
+"        this._grid.attach (this._cookieButton, 0, 1, 1, 1)·\n"
+"        this._grid.attach (this._cookieLabel, 0, 2, 1, 1)·\n"
 
 #: C/03_getting_the_signal.js.page:319(section/p)
 msgid ""
@@ -2421,12 +2450,12 @@ msgstr ""
 "\n"
 "    _getACookie: function() {\n"
 "\n"
-"        // Did you spell \"cookie\" correctly?\n"
+"        // Did you spell \"cookie\" correctly;\n"
 "        if ((this._spellCookie.get_text()).toLowerCase() == \"cookie\") {\n"
 "\n"
 "            // Increase the number of cookies by 1 and update the label\n"
-"            cookies++;\n"
-"            this._cookieLabel.set_label (\"Number of cookies: \" + cookies);\n"
+"            cookies++·\n"
+"            this._cookieLabel.set_label (\"Number of cookies: \" + cookies)·\n"
 "\n"
 "        }\n"
 "\n"
@@ -2552,32 +2581,35 @@ msgid ""
 msgstr ""
 "#!/usr/bin/gjs\n"
 "\n"
-"const Gtk = imports.gi.Gtk;\n"
-"const Lang = imports.lang;\n"
+"const Gtk = imports.gi.Gtk·\n"
+"const Lang = imports.lang·\n"
 "\n"
 "// We start out with 0 cookies\n"
-"var cookies = 0;\n"
+"var cookies = 0·\n"
 "\n"
 "const GettingTheSignal = new Lang.Class({\n"
 "    Name: 'Getting the Signal',\n"
 "\n"
 "    // Create the application itself\n"
 "    _init: function() {\n"
-"        this.application = new Gtk.Application();\n"
+"        this.application = new Gtk.Application()·\n"
 "\n"
-"        // Connect 'activate' and 'startup' signals to the callback functions\n"
-"        this.application.connect('activate', Lang.bind(this, this._onActivate));\n"
-"        this.application.connect('startup', Lang.bind(this, this._onStartup));\n"
+"        // Connect 'activate' and 'startup' signals to the callback "
+"functions\n"
+"        this.application.connect('activate', Lang.bind(this, "
+"this._onActivate))·\n"
+"        this.application.connect('startup', Lang.bind(this, "
+"this._onStartup))·\n"
 "    },\n"
 "\n"
 "    // Callback function for 'activate' signal presents window when active\n"
 "    _onActivate: function() {\n"
-"        this._window.present();\n"
+"        this._window.present()·\n"
 "    },\n"
 "\n"
 "    // Callback function for 'startup' signal builds the UI\n"
 "    _onStartup: function() {\n"
-"        this._buildUI ();\n"
+"        this._buildUI ()·\n"
 "    },\n"
 "\n"
 "\n"
@@ -2591,33 +2623,35 @@ msgstr ""
 "            window_position: Gtk.WindowPosition.CENTER,\n"
 "            default_height: 200,\n"
 "            default_width: 400,\n"
-"            title: \"Click the button to get a cookie!\"});\n"
+"            title: \"Click the button to get a cookie!\"})·\n"
 "\n"
 "        // Create the label\n"
 "        this._cookieLabel = new Gtk.Label ({\n"
-"            label: \"Number of cookies: \" + cookies });\n"
+"            label: \"Number of cookies: \" + cookies })·\n"
 "\n"
 "        // Create the cookie button\n"
-"        this._cookieButton = new Gtk.Button ({ label: \"Get a cookie\" });\n"
+"        this._cookieButton = new Gtk.Button ({ label: \"Get a cookie\" })·\n"
 "\n"
-"        // Connect the cookie button to the function that handles clicking it\n"
-"        this._cookieButton.connect ('clicked', Lang.bind (this, this._getACookie));\n"
+"        // Connect the cookie button to the function that handles clicking "
+"it\n"
+"        this._cookieButton.connect ('clicked', Lang.bind (this, "
+"this._getACookie))·\n"
 "\n"
 "        // Create a grid to arrange everything inside\n"
 "        this._grid = new Gtk.Grid ({\n"
 "            halign: Gtk.Align.CENTER,\n"
 "            valign: Gtk.Align.CENTER,\n"
-"            row_spacing: 20 });\n"
+"            row_spacing: 20 })·\n"
 "\n"
 "        // Put everything inside the grid\n"
-"        this._grid.attach (this._cookieButton, 0, 0, 1, 1);\n"
-"        this._grid.attach (this._cookieLabel, 0, 1, 1, 1);\n"
+"        this._grid.attach (this._cookieButton, 0, 0, 1, 1)·\n"
+"        this._grid.attach (this._cookieLabel, 0, 1, 1, 1)·\n"
 "\n"
 "        // Add the grid to the window\n"
-"        this._window.add (this._grid);\n"
+"        this._window.add (this._grid)·\n"
 "\n"
 "        // Show the window and all child widgets\n"
-"        this._window.show_all();\n"
+"        this._window.show_all()·\n"
 "\n"
 "    },\n"
 "\n"
@@ -2626,16 +2660,16 @@ msgstr ""
 "    _getACookie: function() {\n"
 "\n"
 "        // Increase the number of cookies by 1 and update the label\n"
-"        cookies++;\n"
-"        this._cookieLabel.set_label (\"Number of cookies: \" + cookies);\n"
+"        cookies++·\n"
+"        this._cookieLabel.set_label (\"Number of cookies: \" + cookies)·\n"
 "\n"
 "    }\n"
 "\n"
-"});\n"
+"})·\n"
 "\n"
 "// Run the application\n"
-"let app = new GettingTheSignal ();\n"
-"app.application.run (ARGV);\n"
+"let app = new GettingTheSignal ()·\n"
+"app.application.run (ARGV)·\n"
 
 #: C/03_getting_the_signal.js.page:357(section/title)
 msgid "Code sample with Switch"
@@ -2756,32 +2790,35 @@ msgid ""
 msgstr ""
 "#!/usr/bin/gjs\n"
 "\n"
-"const Gtk = imports.gi.Gtk;\n"
-"const Lang = imports.lang;\n"
+"const Gtk = imports.gi.Gtk·\n"
+"const Lang = imports.lang·\n"
 "\n"
 "// We start out with 0 cookies\n"
-"var cookies = 0;\n"
+"var cookies = 0·\n"
 "\n"
 "const GettingTheSignal = new Lang.Class({\n"
 "    Name: 'Getting the Signal',\n"
 "\n"
 "    // Create the application itself\n"
 "    _init: function() {\n"
-"        this.application = new Gtk.Application();\n"
+"        this.application = new Gtk.Application()·\n"
 "\n"
-"        // Connect 'activate' and 'startup' signals to the callback functions\n"
-"        this.application.connect('activate', Lang.bind(this, this._onActivate));\n"
-"        this.application.connect('startup', Lang.bind(this, this._onStartup));\n"
+"        // Connect 'activate' and 'startup' signals to the callback "
+"functions\n"
+"        this.application.connect('activate', Lang.bind(this, "
+"this._onActivate))·\n"
+"        this.application.connect('startup', Lang.bind(this, "
+"this._onStartup))·\n"
 "    },\n"
 "\n"
 "    // Callback function for 'activate' signal presents window when active\n"
 "    _onActivate: function() {\n"
-"        this._window.present();\n"
+"        this._window.present()·\n"
 "    },\n"
 "\n"
 "    // Callback function for 'startup' signal builds the UI\n"
 "    _onStartup: function() {\n"
-"        this._buildUI ();\n"
+"        this._buildUI ()·\n"
 "    },\n"
 "\n"
 "\n"
@@ -2795,51 +2832,53 @@ msgstr ""
 "            window_position: Gtk.WindowPosition.CENTER,\n"
 "            default_height: 200,\n"
 "            default_width: 400,\n"
-"            title: \"Click the button to get a cookie!\"});\n"
+"            title: \"Click the button to get a cookie!\"})·\n"
 "\n"
 "        // Create the label\n"
 "        this._cookieLabel = new Gtk.Label ({\n"
-"            label: \"Number of cookies: \" + cookies });\n"
+"            label: \"Number of cookies: \" + cookies })·\n"
 "\n"
 "        // Create the cookie button\n"
 "        this._cookieButton = new Gtk.Button ({\n"
-"            label: \"Get a cookie\" });\n"
+"            label: \"Get a cookie\" })·\n"
 "\n"
-"        // Connect the cookie button to the function that handles clicking it\n"
-"        this._cookieButton.connect ('clicked', Lang.bind (this, this._getACookie));\n"
+"        // Connect the cookie button to the function that handles clicking "
+"it\n"
+"        this._cookieButton.connect ('clicked', Lang.bind (this, "
+"this._getACookie))·\n"
 "\n"
 "        // Create the switch that controls whether or not you can win\n"
-"        this._cookieSwitch = new Gtk.Switch ();\n"
+"        this._cookieSwitch = new Gtk.Switch ()·\n"
 "\n"
 "        // Create the label to go with the switch\n"
 "        this._switchLabel = new Gtk.Label ({\n"
-"            label: \"Cookie dispenser\" });\n"
+"            label: \"Cookie dispenser\" })·\n"
 "\n"
 "        // Create a grid for the switch and its label\n"
 "        this._switchGrid = new Gtk.Grid ({\n"
 "            halign: Gtk.Align.CENTER,\n"
-"            valign: Gtk.Align.CENTER });\n"
+"            valign: Gtk.Align.CENTER })·\n"
 "\n"
 "        // Put the switch and its label inside that grid\n"
-"        this._switchGrid.attach (this._switchLabel, 0, 0, 1, 1);\n"
-"        this._switchGrid.attach (this._cookieSwitch, 1, 0, 1, 1);\n"
+"        this._switchGrid.attach (this._switchLabel, 0, 0, 1, 1)·\n"
+"        this._switchGrid.attach (this._cookieSwitch, 1, 0, 1, 1)·\n"
 "\n"
 "        // Create a grid to arrange everything else inside\n"
 "        this._grid = new Gtk.Grid ({\n"
 "            halign: Gtk.Align.CENTER,\n"
 "            valign: Gtk.Align.CENTER,\n"
-"            row_spacing: 20 });\n"
+"            row_spacing: 20 })·\n"
 "\n"
 "        // Put everything inside the grid\n"
-"        this._grid.attach (this._cookieButton, 0, 0, 1, 1);\n"
-"        this._grid.attach (this._switchGrid, 0, 1, 1, 1);\n"
-"        this._grid.attach (this._cookieLabel, 0, 2, 1, 1);\n"
+"        this._grid.attach (this._cookieButton, 0, 0, 1, 1)·\n"
+"        this._grid.attach (this._switchGrid, 0, 1, 1, 1)·\n"
+"        this._grid.attach (this._cookieLabel, 0, 2, 1, 1)·\n"
 "\n"
 "        // Add the grid to the window\n"
-"        this._window.add (this._grid);\n"
+"        this._window.add (this._grid)·\n"
 "\n"
 "        // Show the window and all child widgets\n"
-"        this._window.show_all();\n"
+"        this._window.show_all()·\n"
 "\n"
 "    },\n"
 "\n"
@@ -2847,22 +2886,22 @@ msgstr ""
 "\n"
 "    _getACookie: function() {\n"
 "\n"
-"        // Is the cookie dispenser turned on?\n"
+"        // Is the cookie dispenser turned on;\n"
 "        if (this._cookieSwitch.get_active()) {\n"
 "\n"
 "            // Increase the number of cookies by 1 and update the label\n"
-"            cookies++;\n"
-"            this._cookieLabel.set_label (\"Number of cookies: \" + cookies);\n"
+"            cookies++·\n"
+"            this._cookieLabel.set_label (\"Number of cookies: \" + cookies)·\n"
 "\n"
 "        }\n"
 "\n"
 "    }\n"
 "\n"
-"});\n"
+"})·\n"
 "\n"
 "// Run the application\n"
-"let app = new GettingTheSignal ();\n"
-"app.application.run (ARGV);\n"
+"let app = new GettingTheSignal ()·\n"
+"app.application.run (ARGV)·\n"
 
 #: C/03_getting_the_signal.js.page:363(section/title)
 msgid "Code sample with RadioButton"
@@ -2982,124 +3021,129 @@ msgid ""
 "let app = new GettingTheSignal ();\n"
 "app.application.run (ARGV);\n"
 msgstr ""
-"#!/usr/bin/gjs\n"
-"\n"
-"const Gtk = imports.gi.Gtk;\n"
-"const Lang = imports.lang;\n"
-"\n"
-"// We start out with 0 cookies\n"
-"var cookies = 0;\n"
-"\n"
-"const GettingTheSignal = new Lang.Class({\n"
-"    Name: 'Getting the Signal',\n"
-"\n"
-"    // Create the application itself\n"
-"    _init: function() {\n"
-"        this.application = new Gtk.Application();\n"
-"\n"
-"        // Connect 'activate' and 'startup' signals to the callback functions\n"
-"        this.application.connect('activate', Lang.bind(this, this._onActivate));\n"
-"        this.application.connect('startup', Lang.bind(this, this._onStartup));\n"
-"    },\n"
-"\n"
-"    // Callback function for 'activate' signal presents window when active\n"
-"    _onActivate: function() {\n"
-"        this._window.present();\n"
-"    },\n"
-"\n"
-"    // Callback function for 'startup' signal builds the UI\n"
-"    _onStartup: function() {\n"
-"        this._buildUI ();\n"
-"    },\n"
-"\n"
-"\n"
-"\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"
-"            window_position: Gtk.WindowPosition.CENTER,\n"
-"            default_height: 200,\n"
-"            default_width: 400,\n"
-"            border_width: 20,\n"
-"            title: \"Choose the one that says 'cookie'!\"});\n"
-"\n"
-"        // Create the radio buttons\n"
-"        this._cookieButton = new Gtk.RadioButton ({ label: \"Cookie\" });\n"
-"        this._notCookieOne = new Gtk.RadioButton ({ label: \"Not cookie\",\n"
-"            group: this._cookieButton });\n"
-"        this._notCookieTwo = new Gtk.RadioButton ({ label: \"Not cookie\",\n"
-"            group: this._cookieButton });\n"
-"\n"
-"        // Arrange the radio buttons in their own grid\n"
-"        this._radioGrid = new Gtk.Grid ();\n"
-"        this._radioGrid.attach (this._notCookieOne, 0, 0, 1, 1);\n"
-"        this._radioGrid.attach (this._cookieButton, 0, 1, 1, 1);\n"
-"        this._radioGrid.attach (this._notCookieTwo, 0, 2, 1, 1);\n"
-"\n"
-"        // Set the button that will be at the top to be active by default\n"
-"        this._notCookieOne.set_active (true);\n"
-"\n"
-"        // Create the cookie button\n"
-"        this._cookieButton = new Gtk.Button ({\n"
-"            label: \"Get a cookie\" });\n"
-"\n"
-"        // Connect the cookie button to the function that handles clicking it\n"
-"        this._cookieButton.connect ('clicked', Lang.bind (this, this._getACookie));\n"
-"\n"
-"        // Create the label\n"
-"        this._cookieLabel = new Gtk.Label ({\n"
-"            label: \"Number of cookies: \" + cookies });\n"
-"\n"
-"        // Create a grid to arrange everything inside\n"
-"        this._grid = new Gtk.Grid ({\n"
-"            halign: Gtk.Align.CENTER,\n"
-"            valign: Gtk.Align.CENTER,\n"
-"            row_spacing: 20 });\n"
-"\n"
-"        // Put everything inside the grid\n"
-"        this._grid.attach (this._radioGrid, 0, 0, 1, 1);\n"
-"        this._grid.attach (this._cookieButton, 0, 1, 1, 1);\n"
-"        this._grid.attach (this._cookieLabel, 0, 2, 1, 1);\n"
-"\n"
-"        // Add the grid to the window\n"
-"        this._window.add (this._grid);\n"
-"\n"
-"        // Show the window and all child widgets\n"
-"        this._window.show_all();\n"
-"\n"
-"    },\n"
-"\n"
-"\n"
-"\n"
-"    _getACookie: function() {\n"
-"\n"
-"        // Did you select \"cookie\" instead of \"not cookie\"?\n"
-"        if (this._cookieButton.get_active()) {\n"
-"\n"
-"            // Increase the number of cookies by 1 and update the label\n"
-"            cookies++;\n"
-"            this._cookieLabel.set_label (\"Number of cookies: \" + cookies);\n"
-"\n"
-"        }\n"
-"\n"
-"    }\n"
-"\n"
-"});\n"
-"\n"
-"// Run the application\n"
-"let app = new GettingTheSignal ();\n"
-"app.application.run (ARGV);\n"
-
-#: C/03_getting_the_signal.js.page:369(section/title)
-msgid "Code sample with Entry"
-msgstr "Δείγμα κώδικα με καταχώριση"
-
-#: C/03_getting_the_signal.js.page:371(section/code)
-#, no-wrap
-msgid ""
+"#!/usr/bin/gjs\n"
+"\n"
+"const Gtk = imports.gi.Gtk·\n"
+"const Lang = imports.lang·\n"
+"\n"
+"// We start out with 0 cookies\n"
+"var cookies = 0·\n"
+"\n"
+"const GettingTheSignal = new Lang.Class({\n"
+"    Name: 'Getting the Signal',\n"
+"\n"
+"    // Create the application itself\n"
+"    _init: function() {\n"
+"        this.application = new Gtk.Application()·\n"
+"\n"
+"        // Connect 'activate' and 'startup' signals to the callback "
+"functions\n"
+"        this.application.connect('activate', Lang.bind(this, "
+"this._onActivate))·\n"
+"        this.application.connect('startup', Lang.bind(this, "
+"this._onStartup))·\n"
+"    },\n"
+"\n"
+"    // Callback function for 'activate' signal presents window when active\n"
+"    _onActivate: function() {\n"
+"        this._window.present()·\n"
+"    },\n"
+"\n"
+"    // Callback function for 'startup' signal builds the UI\n"
+"    _onStartup: function() {\n"
+"        this._buildUI ()·\n"
+"    },\n"
+"\n"
+"\n"
+"\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"
+"            window_position: Gtk.WindowPosition.CENTER,\n"
+"            default_height: 200,\n"
+"            default_width: 400,\n"
+"            border_width: 20,\n"
+"            title: \"Choose the one that says 'cookie'!\"})·\n"
+"\n"
+"        // Create the radio buttons\n"
+"        this._cookieButton = new Gtk.RadioButton ({ label: \"Cookie\" })·\n"
+"        this._notCookieOne = new Gtk.RadioButton ({ label: \"Not cookie\",\n"
+"            group: this._cookieButton })·\n"
+"        this._notCookieTwo = new Gtk.RadioButton ({ label: \"Not cookie\",\n"
+"            group: this._cookieButton })·\n"
+"\n"
+"        // Arrange the radio buttons in their own grid\n"
+"        this._radioGrid = new Gtk.Grid ()·\n"
+"        this._radioGrid.attach (this._notCookieOne, 0, 0, 1, 1)·\n"
+"        this._radioGrid.attach (this._cookieButton, 0, 1, 1, 1)·\n"
+"        this._radioGrid.attach (this._notCookieTwo, 0, 2, 1, 1)·\n"
+"\n"
+"        // Set the button that will be at the top to be active by default\n"
+"        this._notCookieOne.set_active (true)·\n"
+"\n"
+"        // Create the cookie button\n"
+"        this._cookieButton = new Gtk.Button ({\n"
+"            label: \"Get a cookie\" })·\n"
+"\n"
+"        // Connect the cookie button to the function that handles clicking "
+"it\n"
+"        this._cookieButton.connect ('clicked', Lang.bind (this, "
+"this._getACookie))·\n"
+"\n"
+"        // Create the label\n"
+"        this._cookieLabel = new Gtk.Label ({\n"
+"            label: \"Number of cookies: \" + cookies })·\n"
+"\n"
+"        // Create a grid to arrange everything inside\n"
+"        this._grid = new Gtk.Grid ({\n"
+"            halign: Gtk.Align.CENTER,\n"
+"            valign: Gtk.Align.CENTER,\n"
+"            row_spacing: 20 })·\n"
+"\n"
+"        // Put everything inside the grid\n"
+"        this._grid.attach (this._radioGrid, 0, 0, 1, 1)·\n"
+"        this._grid.attach (this._cookieButton, 0, 1, 1, 1)·\n"
+"        this._grid.attach (this._cookieLabel, 0, 2, 1, 1)·\n"
+"\n"
+"        // Add the grid to the window\n"
+"        this._window.add (this._grid)·\n"
+"\n"
+"        // Show the window and all child widgets\n"
+"        this._window.show_all()·\n"
+"\n"
+"    },\n"
+"\n"
+"\n"
+"\n"
+"    _getACookie: function() {\n"
+"\n"
+"        // Did you select \"cookie\" instead of \"not cookie\";\n"
+"        if (this._cookieButton.get_active()) {\n"
+"\n"
+"            // Increase the number of cookies by 1 and update the label\n"
+"            cookies++·\n"
+"            this._cookieLabel.set_label (\"Number of cookies: \" + cookies)·\n"
+"\n"
+"        }\n"
+"\n"
+"    }\n"
+"\n"
+"})·\n"
+"\n"
+"// Run the application\n"
+"let app = new GettingTheSignal ()·\n"
+"app.application.run (ARGV)·\n"
+
+#: C/03_getting_the_signal.js.page:369(section/title)
+msgid "Code sample with Entry"
+msgstr "Δείγμα κώδικα με καταχώριση"
+
+#: C/03_getting_the_signal.js.page:371(section/code)
+#, no-wrap
+msgid ""
 "#!/usr/bin/gjs\n"
 "\n"
 "const Gtk = imports.gi.Gtk;\n"
@@ -3200,32 +3244,35 @@ msgid ""
 msgstr ""
 "#!/usr/bin/gjs\n"
 "\n"
-"const Gtk = imports.gi.Gtk;\n"
-"const Lang = imports.lang;\n"
+"const Gtk = imports.gi.Gtk·\n"
+"const Lang = imports.lang·\n"
 "\n"
 "// We start out with 0 cookies\n"
-"var cookies = 0;\n"
+"var cookies = 0·\n"
 "\n"
 "const GettingTheSignal = new Lang.Class({\n"
 "    Name: 'Getting the Signal',\n"
 "\n"
 "    // Create the application itself\n"
 "    _init: function() {\n"
-"        this.application = new Gtk.Application();\n"
+"        this.application = new Gtk.Application()·\n"
 "\n"
-"        // Connect 'activate' and 'startup' signals to the callback functions\n"
-"        this.application.connect('activate', Lang.bind(this, this._onActivate));\n"
-"        this.application.connect('startup', Lang.bind(this, this._onStartup));\n"
+"        // Connect 'activate' and 'startup' signals to the callback "
+"functions\n"
+"        this.application.connect('activate', Lang.bind(this, "
+"this._onActivate))·\n"
+"        this.application.connect('startup', Lang.bind(this, "
+"this._onStartup))·\n"
 "    },\n"
 "\n"
 "    // Callback function for 'activate' signal presents window when active\n"
 "    _onActivate: function() {\n"
-"        this._window.present();\n"
+"        this._window.present()·\n"
 "    },\n"
 "\n"
 "    // Callback function for 'startup' signal builds the UI\n"
 "    _onStartup: function() {\n"
-"        this._buildUI ();\n"
+"        this._buildUI ()·\n"
 "    },\n"
 "\n"
 "\n"
@@ -3240,38 +3287,40 @@ msgstr ""
 "            default_height: 200,\n"
 "            default_width: 400,\n"
 "            border_width: 20,\n"
-"            title: \"Spell 'cookie' to get a cookie!\"});\n"
+"            title: \"Spell 'cookie' to get a cookie!\"})·\n"
 "\n"
 "        // Create the text entry field\n"
-"        this._spellCookie = new Gtk.Entry ();\n"
+"        this._spellCookie = new Gtk.Entry ()·\n"
 "\n"
 "        // Create the cookie button\n"
 "        this._cookieButton = new Gtk.Button ({\n"
-"            label: \"Get a cookie\" });\n"
+"            label: \"Get a cookie\" })·\n"
 "\n"
-"        // Connect the cookie button to the function that handles clicking it\n"
-"        this._cookieButton.connect ('clicked', Lang.bind (this, this._getACookie));\n"
+"        // Connect the cookie button to the function that handles clicking "
+"it\n"
+"        this._cookieButton.connect ('clicked', Lang.bind (this, "
+"this._getACookie))·\n"
 "\n"
 "        // Create the label\n"
 "        this._cookieLabel = new Gtk.Label ({\n"
-"            label: \"Number of cookies: \" + cookies });\n"
+"            label: \"Number of cookies: \" + cookies })·\n"
 "\n"
 "        // Create a grid to arrange everything inside\n"
 "        this._grid = new Gtk.Grid ({\n"
 "            halign: Gtk.Align.CENTER,\n"
 "            valign: Gtk.Align.CENTER,\n"
-"            row_spacing: 20 });\n"
+"            row_spacing: 20 })·\n"
 "\n"
 "        // Put everything inside the grid\n"
-"        this._grid.attach (this._spellCookie, 0, 0, 1, 1);\n"
-"        this._grid.attach (this._cookieButton, 0, 1, 1, 1);\n"
-"        this._grid.attach (this._cookieLabel, 0, 2, 1, 1);\n"
+"        this._grid.attach (this._spellCookie, 0, 0, 1, 1)·\n"
+"        this._grid.attach (this._cookieButton, 0, 1, 1, 1)·\n"
+"        this._grid.attach (this._cookieLabel, 0, 2, 1, 1)·\n"
 "\n"
 "        // Add the grid to the window\n"
-"        this._window.add (this._grid);\n"
+"        this._window.add (this._grid)·\n"
 "\n"
 "        // Show the window and all child widgets\n"
-"        this._window.show_all();\n"
+"        this._window.show_all()·\n"
 "\n"
 "    },\n"
 "\n"
@@ -3279,22 +3328,22 @@ msgstr ""
 "\n"
 "    _getACookie: function() {\n"
 "\n"
-"        // Did you spell \"cookie\" correctly?\n"
+"        // Did you spell \"cookie\" correctly;\n"
 "        if ((this._spellCookie.get_text()).toLowerCase() == \"cookie\") {\n"
 "\n"
 "            // Increase the number of cookies by 1 and update the label\n"
-"            cookies++;\n"
-"            this._cookieLabel.set_label (\"Number of cookies: \" + cookies);\n"
+"            cookies++·\n"
+"            this._cookieLabel.set_label (\"Number of cookies: \" + cookies)·\n"
 "\n"
 "        }\n"
 "\n"
 "    }\n"
 "\n"
-"});\n"
+"})·\n"
 "\n"
 "// Run the application\n"
-"let app = new GettingTheSignal ();\n"
-"app.application.run (ARGV);\n"
+"let app = new GettingTheSignal ()·\n"
+"app.application.run (ARGV)·\n"
 
 #. This is a reference to an external file such as an image or video. When
 #. the file changes, the md5 hash will change to let you know you need to
@@ -3334,11 +3383,13 @@ msgstr "AboutDialog (C)"
 #: C/dialog.c.page:14(credit/name) C/entry.c.page:12(credit/name)
 #: C/grid.c.page:12(credit/name) C/image.c.page:12(credit/name)
 #: C/label.c.page:13(credit/name) C/linkbutton.c.page:12(credit/name)
-#: C/messagedialog.c.page:13(credit/name) C/progressbar.c.page:13(credit/name)
-#: C/radiobutton.c.page:14(credit/name) C/scale.c.page:14(credit/name)
+#: C/menubar.c.page:14(credit/name) C/messagedialog.c.page:13(credit/name)
+#: C/progressbar.c.page:13(credit/name) C/radiobutton.c.page:14(credit/name)
+#: C/scale.c.page:14(credit/name) C/scrolledwindow.c.page:14(credit/name)
 #: C/spinbutton.c.page:15(credit/name) C/spinner.c.page:13(credit/name)
 #: C/statusbar.c.page:16(credit/name) C/switch.c.page:12(credit/name)
 #: C/textview.c.page:12(credit/name) C/togglebutton.c.page:16(credit/name)
+#: C/toolbar.c.page:14(credit/name)
 msgid "Monica Kochofar"
 msgstr "Monica Kochofar"
 
@@ -3358,7 +3409,7 @@ msgstr ""
 "Ένα παράδειγμα AboutDialog χρησιμοποιώντας Gtk.ApplicationWindow και μενού"
 
 #: C/aboutdialog.c.page:26(note/p) C/aboutdialog.vala.page:31(note/p)
-#: C/gmenu.c.page:23(note/p) C/gmenu.py.page:29(note/p)
+#: C/gmenu.c.page:23(note/p)
 msgid ""
 "<em style=\"bold\">You need to be running Gtk3.4 or later for this to work</"
 "em>"
@@ -3542,7 +3593,8 @@ msgstr ""
 "\n"
 "\n"
 "\n"
-"/* Callback function in which reacts to the \"response\" signal from the user in\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"
@@ -3558,7 +3610,8 @@ msgstr ""
 "\n"
 "\n"
 "\n"
-"/* Callback function for the response signal \"activate\" related to the SimpleAction\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"
@@ -3571,19 +3624,25 @@ 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/ 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_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"
+"   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"
@@ -3591,7 +3650,8 @@ msgstr ""
 "   */\n"
 "  gtk_window_set_title (GTK_WINDOW (about_dialog), \"\");\n"
 "\n"
-"  /* To close the aboutdialog when \"close\" is clicked we connect the response \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"
@@ -3617,7 +3677,8 @@ msgstr ""
 "  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"
+"   * 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"
@@ -3639,7 +3700,8 @@ msgstr ""
 "\n"
 "\n"
 "\n"
-"/* Callback function for the response signal \"activate\" from the \"quit\" action \n"
+"/* Callback function for the response signal \"activate\" from the \"quit\" "
+"action \n"
 " * found in the function directly below.\n"
 " */ \n"
 "static void\n"
@@ -3662,7 +3724,7 @@ msgstr ""
 "  GMenu *menu;\n"
 "  GSimpleAction *quit_action;\n"
 "\n"
-"  /* Initialize the GMenu, and add a menu item with label \"About\" and action \n"
+"  /* Initialize the GMenu, and add a menu item with label \"About\" and action "
 "   * \"win.about\". Also add another menu item with label \"Quit\" and action \n"
 "   * \"app.quit\" \n"
 "   */\n"
@@ -3670,12 +3732,13 @@ msgstr ""
 "  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"
+"  /* Create a new simple action for the application. (In this case it is the "
 "   * \"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"
+"  /* 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"
@@ -3708,63 +3771,65 @@ msgstr ""
 #: C/aboutdialog.c.page:30(page/p) C/aboutdialog.js.page:24(page/p)
 #: C/aboutdialog.py.page:41(section/p) C/aboutdialog.vala.page:34(page/p)
 #: C/button.c.page:29(page/p) C/button.js.page:26(page/p)
-#: C/button.py.page:50(section/p) C/buttonbox.py.page:45(section/p)
-#: C/checkbutton.c.page:25(page/p) C/checkbutton.py.page:44(section/p)
-#: C/checkbutton.vala.page:25(page/p) C/colorbutton.py.page:38(section/p)
+#: C/button.py.page:52(section/p) C/buttonbox.py.page:46(section/p)
+#: C/checkbutton.c.page:25(page/p) C/checkbutton.py.page:42(section/p)
+#: C/checkbutton.vala.page:25(page/p) C/colorbutton.py.page:40(section/p)
 #: C/colorbutton.vala.page:27(page/p) C/comboboxtext.js.page:176(section/p)
-#: C/combobox.js.page:233(section/p) C/combobox.py.page:38(section/p)
+#: C/combobox.js.page:233(section/p) C/combobox.py.page:42(section/p)
 #: C/combobox.vala.page:25(page/p)
 #: C/combobox_multicolumn.py.page:41(section/p) C/dialog.c.page:29(page/p)
-#: C/dialog.js.page:25(page/p) C/dialog.py.page:45(section/p)
+#: C/dialog.js.page:25(page/p) C/dialog.py.page:46(section/p)
 #: C/dialog.vala.page:27(page/p) C/entry.c.page:27(page/p)
-#: C/entry.js.page:25(page/p) C/entry.py.page:59(section/p)
-#: C/entry.vala.page:25(page/p) C/filechooserdialog.py.page:69(section/p)
+#: C/entry.js.page:25(page/p) C/entry.py.page:61(section/p)
+#: C/entry.vala.page:25(page/p) C/filechooserdialog.py.page:70(section/p)
 #: C/filechooserdialog.vala.page:35(section/p)
-#: C/fontchooserwidget.py.page:43(section/p) C/gmenu.c.page:27(page/p)
-#: C/gmenu.js.page:25(page/p) C/gmenu.py.page:74(section/p)
+#: C/fontchooserwidget.py.page:44(section/p) C/gmenu.c.page:27(page/p)
+#: C/gmenu.js.page:25(page/p) C/gmenu.py.page:77(section/p)
 #: C/gmenu.vala.page:37(page/p) C/grid.c.page:27(page/p)
-#: C/grid.js.page:29(page/p) C/grid.py.page:53(section/p)
+#: C/grid.js.page:29(page/p) C/grid.py.page:54(section/p)
 #: C/grid.vala.page:27(page/p) C/GtkApplicationWindow.c.page:25(page/p)
 #: C/GtkApplicationWindow.js.page:26(page/p)
-#: C/GtkApplicationWindow.py.page:48(section/p)
+#: C/GtkApplicationWindow.py.page:50(section/p)
 #: C/GtkApplicationWindow.vala.page:26(page/p) C/image.c.page:28(page/p)
-#: C/image.js.page:27(page/p) C/image.py.page:98(section/p)
+#: C/image.js.page:27(page/p) C/image.py.page:100(section/p)
 #: C/image.vala.page:27(page/p) C/label.c.page:32(page/p)
-#: C/label.js.page:25(page/p) C/label.py.page:86(section/p)
+#: C/label.js.page:25(page/p) C/label.py.page:87(section/p)
 #: C/label.vala.page:26(page/p) C/linkbutton.c.page:27(page/p)
 #: C/linkbutton.js.page:25(page/p) C/linkbutton.py.page:44(section/p)
-#: C/linkbutton.vala.page:25(page/p) C/menubar.py.page:181(section/p)
-#: C/menubar.vala.page:187(section/p) C/menubutton.js.page:28(page/p)
-#: C/menubutton.py.page:50(section/p) C/menubutton.vala.page:28(page/p)
-#: C/messagedialog.c.page:31(page/p) C/messagedialog.js.page:189(section/p)
+#: C/linkbutton.vala.page:25(page/p) C/menubar.c.page:32(page/p)
+#: C/menubar.py.page:183(section/p) C/menubar.vala.page:187(section/p)
+#: C/menubutton.js.page:28(page/p) C/menubutton.py.page:53(section/p)
+#: C/menubutton.vala.page:28(page/p) C/messagedialog.c.page:31(page/p)
+#: C/messagedialog.js.page:189(section/p)
 #: C/messagedialog.py.page:54(section/p) C/messagedialog.vala.page:26(page/p)
-#: C/paned.py.page:38(section/p) C/progressbar.c.page:28(page/p)
-#: C/progressbar.js.page:34(page/p) C/progressbar.py.page:53(section/p)
+#: C/paned.py.page:39(section/p) C/progressbar.c.page:28(page/p)
+#: C/progressbar.js.page:34(page/p) C/progressbar.py.page:54(section/p)
 #: C/progressbar.vala.page:25(page/p) C/radiobutton.c.page:29(page/p)
-#: C/radiobutton.py.page:49(section/p) C/radiobutton.vala.page:28(page/p)
-#: C/scale.c.page:29(page/p) C/scale.py.page:53(section/p)
-#: C/scale.vala.page:27(page/p) C/scrolledwindow.py.page:41(section/p)
-#: C/scrolledwindow.vala.page:26(page/p) C/separator.py.page:35(section/p)
-#: C/spinbutton.c.page:30(page/p) C/spinbutton.py.page:45(section/p)
+#: C/radiobutton.py.page:46(section/p) C/radiobutton.vala.page:28(page/p)
+#: C/scale.c.page:29(page/p) C/scale.py.page:54(section/p)
+#: C/scale.vala.page:27(page/p) C/scrolledwindow.c.page:29(page/p)
+#: C/scrolledwindow.py.page:42(section/p)
+#: C/scrolledwindow.vala.page:26(page/p) C/separator.py.page:36(section/p)
+#: C/spinbutton.c.page:30(page/p) C/spinbutton.py.page:46(section/p)
 #: C/spinbutton.vala.page:27(page/p) C/spinner.c.page:28(page/p)
-#: C/spinner.js.page:25(page/p) C/spinner.py.page:38(section/p)
+#: C/spinner.js.page:25(page/p) C/spinner.py.page:39(section/p)
 #: C/spinner.vala.page:25(page/p) C/statusbar.c.page:31(page/p)
 #: C/statusbar.py.page:50(section/p) C/statusbar.vala.page:28(page/p)
-#: C/switch.c.page:28(page/p) C/switch.py.page:46(section/p)
+#: C/switch.c.page:28(page/p) C/switch.py.page:42(section/p)
 #: C/switch.vala.page:31(page/p) C/textview.c.page:31(page/p)
 #: C/textview.py.page:93(section/p) C/textview.vala.page:30(page/p)
-#: C/togglebutton.c.page:31(page/p) C/togglebutton.py.page:43(section/p)
-#: C/togglebutton.vala.page:28(page/p) C/toolbar.js.page:26(page/p)
-#: C/toolbar.py.page:50(section/p) C/toolbar.vala.page:29(page/p)
-#: C/toolbar_builder.py.page:189(section/p)
-#: C/toolbar_builder.vala.page:146(page/p) C/tooltip.py.page:53(section/p)
-#: C/treeview_advanced_liststore.py.page:43(section/p)
-#: C/treeview_cellrenderertoggle.py.page:39(section/p)
+#: C/togglebutton.c.page:31(page/p) C/togglebutton.py.page:41(section/p)
+#: C/togglebutton.vala.page:28(page/p) C/toolbar.c.page:30(page/p)
+#: C/toolbar.js.page:26(page/p) C/toolbar.py.page:52(section/p)
+#: C/toolbar.vala.page:29(page/p) C/toolbar_builder.py.page:191(section/p)
+#: C/toolbar_builder.vala.page:146(page/p) C/tooltip.py.page:55(section/p)
+#: C/treeview_advanced_liststore.py.page:41(section/p)
+#: C/treeview_cellrenderertoggle.py.page:41(section/p)
 #: C/treeview_simple_liststore.js.page:272(section/p)
-#: C/treeview_simple_liststore.py.page:41(section/p)
+#: C/treeview_simple_liststore.py.page:42(section/p)
 #: C/treeview_simple_liststore.vala.page:27(page/p)
-#: C/treeview_treestore.py.page:39(section/p) C/window.c.page:29(page/p)
-#: C/window.py.page:60(section/p) C/window.vala.page:33(page/p)
+#: C/treeview_treestore.py.page:41(section/p) C/window.c.page:29(page/p)
+#: C/window.py.page:61(section/p) C/window.vala.page:33(page/p)
 msgid "In this sample we used the following:"
 msgstr "Σε αυτό το παράδειγμα χρησιμοποιήσαμε τα παρακάτω:"
 
@@ -4049,7 +4114,7 @@ msgstr ""
 "app.application.run(ARGV);\n"
 
 #: C/aboutdialog.js.page:28(item/p) C/gmenu.c.page:31(item/p)
-#: C/gmenu.js.page:29(item/p) C/gmenu.py.page:76(item/p)
+#: C/gmenu.js.page:29(item/p) C/gmenu.py.page:79(item/p)
 #: C/messagedialog.js.page:193(item/p) C/switch.js.page:265(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gio/unstable/GMenu.html\";>GMenu</"
@@ -4058,10 +4123,11 @@ msgstr ""
 "<link href=\"http://developer.gnome.org/gio/unstable/GMenu.html\";>GMenu</"
 "link>"
 
-#: C/aboutdialog.js.page:29(item/p) C/filechooserdialog.py.page:78(item/p)
+#: C/aboutdialog.js.page:29(item/p) C/filechooserdialog.py.page:79(item/p)
 #: C/gmenu.c.page:32(item/p) C/gmenu.js.page:30(item/p)
-#: C/gmenu.py.page:77(item/p) C/messagedialog.js.page:194(item/p)
-#: C/messagedialog.py.page:61(item/p) C/switch.js.page:266(item/p)
+#: C/gmenu.py.page:80(item/p) C/menubar.c.page:38(item/p)
+#: C/messagedialog.js.page:194(item/p) C/messagedialog.py.page:61(item/p)
+#: C/switch.js.page:266(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gio/stable/GSimpleAction.html";
 "\">GSimpleAction</link>"
@@ -4120,35 +4186,50 @@ msgctxt "text"
 msgid "AboutDialog (Python)"
 msgstr "AboutDialog (Python)"
 
-#: C/aboutdialog.py.page:13(credit/name) C/button.py.page:13(credit/name)
-#: C/buttonbox.py.page:13(credit/name) C/checkbutton.py.page:13(credit/name)
-#: C/colorbutton.py.page:12(credit/name) C/combobox.py.page:12(credit/name)
+#: C/aboutdialog.py.page:13(credit/name) C/beginner.c.page:19(credit/name)
+#: C/beginner.js.page:15(credit/name) C/beginner.py.page:18(credit/name)
+#: C/beginner.vala.page:18(credit/name) C/button.py.page:14(credit/name)
+#: C/buttonbox.py.page:14(credit/name) C/checkbutton.py.page:13(credit/name)
+#: C/colorbutton.py.page:13(credit/name) C/combobox.py.page:14(credit/name)
 #: C/combobox_multicolumn.py.page:13(credit/name)
-#: C/dialog.py.page:13(credit/name) C/entry.py.page:12(credit/name)
-#: C/filechooserdialog.py.page:15(credit/name)
-#: C/fontchooserwidget.py.page:13(credit/name) C/gmenu.py.page:18(credit/name)
-#: C/grid.py.page:19(credit/name)
-#: C/GtkApplicationWindow.py.page:17(credit/name)
-#: C/image.py.page:12(credit/name) C/label.py.page:13(credit/name)
-#: C/linkbutton.py.page:13(credit/name) C/menubar.py.page:19(credit/name)
-#: C/menubutton.py.page:18(credit/name)
+#: C/dialog.py.page:14(credit/name) C/entry.py.page:14(credit/name)
+#: C/filechooserdialog.py.page:16(credit/name)
+#: C/fontchooserwidget.py.page:14(credit/name) C/gmenu.py.page:20(credit/name)
+#: C/grid.py.page:20(credit/name)
+#: C/GtkApplicationWindow.py.page:19(credit/name)
+#: C/guitar-tuner.c.page:22(credit/name)
+#: C/guitar-tuner.cpp.page:20(credit/name)
+#: C/guitar-tuner.py.page:22(credit/name)
+#: C/guitar-tuner.py.page:27(credit/name)
+#: C/guitar-tuner.vala.page:25(credit/name) C/image.py.page:14(credit/name)
+#: C/image-viewer.c.page:22(credit/name)
+#: C/image-viewer.cpp.page:20(credit/name)
+#: C/image-viewer.js.page:22(credit/name)
+#: C/image-viewer.py.page:22(credit/name)
+#: C/image-viewer.vala.page:30(credit/name) C/js.page:15(credit/name)
+#: C/label.py.page:15(credit/name) C/linkbutton.py.page:13(credit/name)
+#: C/magic-mirror.vala.page:22(credit/name) C/menubar.py.page:19(credit/name)
+#: C/menubutton.py.page:19(credit/name) C/message-board.c.page:19(credit/name)
 #: C/messagedialog.py.page:13(credit/name)
-#: C/model-view-controller.py.page:19(credit/name)
-#: C/paned.py.page:12(credit/name) C/progressbar.py.page:12(credit/name)
-#: C/properties.py.page:19(credit/name) C/radiobutton.py.page:16(credit/name)
-#: C/scale.py.page:13(credit/name) C/scrolledwindow.py.page:12(credit/name)
-#: C/separator.py.page:13(credit/name)
-#: C/signals-callbacks.py.page:19(credit/name)
-#: C/spinbutton.py.page:13(credit/name) C/spinner.py.page:12(credit/name)
-#: C/statusbar.py.page:15(credit/name) C/strings.py.page:19(credit/name)
-#: C/switch.py.page:17(credit/name) C/textview.py.page:20(credit/name)
-#: C/togglebutton.py.page:15(credit/name) C/toolbar.py.page:13(credit/name)
-#: C/toolbar_builder.py.page:20(credit/name) C/tooltip.py.page:13(credit/name)
-#: C/treeview_advanced_liststore.py.page:15(credit/name)
-#: C/treeview_cellrenderertoggle.py.page:12(credit/name)
+#: C/model-view-controller.py.page:20(credit/name)
+#: C/paned.py.page:13(credit/name) C/photo-wall.c.page:21(credit/name)
+#: C/progressbar.py.page:13(credit/name) C/properties.py.page:20(credit/name)
+#: C/py.page:14(credit/name) C/radiobutton.py.page:14(credit/name)
+#: C/record-collection.js.page:22(credit/name) C/scale.py.page:14(credit/name)
+#: C/scrolledwindow.py.page:13(credit/name)
+#: C/separator.py.page:14(credit/name)
+#: C/signals-callbacks.py.page:20(credit/name)
+#: C/spinbutton.py.page:14(credit/name) C/spinner.py.page:13(credit/name)
+#: C/statusbar.py.page:14(credit/name) C/strings.py.page:20(credit/name)
+#: C/switch.py.page:13(credit/name) C/textview.py.page:21(credit/name)
+#: C/togglebutton.py.page:13(credit/name) C/toolbar.py.page:14(credit/name)
+#: C/toolbar_builder.py.page:21(credit/name) C/tooltip.py.page:14(credit/name)
+#: C/treeview_advanced_liststore.py.page:13(credit/name)
+#: C/treeview_cellrenderertoggle.py.page:13(credit/name)
 #: C/treeview_simple_liststore.py.page:14(credit/name)
-#: C/treeview_treestore.py.page:12(credit/name)
-#: C/tutorial.py.page:19(credit/name) C/window.py.page:17(credit/name)
+#: C/treeview_treestore.py.page:14(credit/name)
+#: C/tutorial.py.page:19(credit/name) C/vala.page:14(credit/name)
+#: C/weatherApp.js.page:16(credit/name) C/window.py.page:19(credit/name)
 msgid "Marta Maria Casetti"
 msgstr "Marta Maria Casetti"
 
@@ -4164,37 +4245,37 @@ msgstr ""
 "Ένα παράδειγμα AboutDialog χρησιμοποιώντας Gtk.ApplicationWindow και μενού "
 "(το \"περί\" εμφανίζεται εάν επιλεγεί το \"Περί\" στο μενού)."
 
-#: C/aboutdialog.py.page:28(section/title) C/button.py.page:29(section/title)
-#: C/buttonbox.py.page:29(section/title)
+#: C/aboutdialog.py.page:28(section/title) C/button.py.page:30(section/title)
+#: C/buttonbox.py.page:30(section/title)
 #: C/checkbutton.py.page:28(section/title)
-#: C/colorbutton.py.page:27(section/title)
-#: C/combobox.py.page:27(section/title)
+#: C/colorbutton.py.page:28(section/title)
+#: C/combobox.py.page:29(section/title)
 #: C/combobox_multicolumn.py.page:28(section/title)
-#: C/dialog.py.page:28(section/title) C/entry.py.page:32(section/title)
-#: C/filechooserdialog.py.page:51(section/title)
-#: C/fontchooserwidget.py.page:29(section/title)
-#: C/gmenu.py.page:34(section/title) C/grid.py.page:35(section/title)
-#: C/GtkApplicationWindow.py.page:32(section/title)
-#: C/image.py.page:31(section/title) C/label.py.page:33(section/title)
+#: C/dialog.py.page:29(section/title) C/entry.py.page:34(section/title)
+#: C/filechooserdialog.py.page:52(section/title)
+#: C/fontchooserwidget.py.page:30(section/title)
+#: C/gmenu.py.page:35(section/title) C/grid.py.page:36(section/title)
+#: C/GtkApplicationWindow.py.page:34(section/title)
+#: C/image.py.page:33(section/title) C/label.py.page:35(section/title)
 #: C/linkbutton.py.page:29(section/title)
-#: C/menubutton.py.page:35(section/title)
-#: C/messagedialog.py.page:28(section/title) C/paned.py.page:27(section/title)
-#: C/progressbar.py.page:37(section/title)
-#: C/radiobutton.py.page:31(section/title) C/scale.py.page:28(section/title)
-#: C/scrolledwindow.py.page:27(section/title)
-#: C/separator.py.page:29(section/title)
-#: C/spinbutton.py.page:28(section/title) C/spinner.py.page:27(section/title)
-#: C/statusbar.py.page:30(section/title) C/switch.py.page:34(section/title)
-#: C/textview.py.page:42(section/title)
-#: C/togglebutton.py.page:30(section/title)
-#: C/toolbar.py.page:29(section/title)
-#: C/toolbar_builder.py.page:162(section/title)
-#: C/tooltip.py.page:28(section/title)
-#: C/treeview_advanced_liststore.py.page:30(section/title)
-#: C/treeview_cellrenderertoggle.py.page:27(section/title)
+#: C/menubutton.py.page:36(section/title)
+#: C/messagedialog.py.page:28(section/title) C/paned.py.page:28(section/title)
+#: C/progressbar.py.page:38(section/title)
+#: C/radiobutton.py.page:29(section/title) C/scale.py.page:29(section/title)
+#: C/scrolledwindow.py.page:28(section/title)
+#: C/separator.py.page:30(section/title)
+#: C/spinbutton.py.page:29(section/title) C/spinner.py.page:28(section/title)
+#: C/statusbar.py.page:29(section/title) C/switch.py.page:30(section/title)
+#: C/textview.py.page:43(section/title)
+#: C/togglebutton.py.page:28(section/title)
+#: C/toolbar.py.page:30(section/title)
+#: C/toolbar_builder.py.page:163(section/title)
+#: C/tooltip.py.page:29(section/title)
+#: C/treeview_advanced_liststore.py.page:28(section/title)
+#: C/treeview_cellrenderertoggle.py.page:28(section/title)
 #: C/treeview_simple_liststore.py.page:29(section/title)
-#: C/treeview_treestore.py.page:27(section/title)
-#: C/window.py.page:42(section/title)
+#: C/treeview_treestore.py.page:29(section/title)
+#: C/window.py.page:44(section/title)
 msgid "Code used to generate this example"
 msgstr "Ο χρησιμοποιούμενος κώδικας για παραγωγή αυτού παραδείγματος"
 
@@ -4367,47 +4448,49 @@ msgstr ""
 msgid "Useful methods for an AboutDialog widget"
 msgstr "Χρήσιμες μέθοδοι για ένα γραφικό συστατικό AboutDialog"
 
-#: C/aboutdialog.py.page:36(section/p) C/button.py.page:34(section/p)
-#: C/dialog.py.page:36(section/p) C/fontchooserwidget.py.page:34(section/p)
-#: C/messagedialog.py.page:36(section/p) C/radiobutton.py.page:37(section/p)
-#: C/togglebutton.py.page:38(section/p)
+#: C/aboutdialog.py.page:36(section/p)
 msgid ""
-"For an explanation of signals and callback functions, see <link xref="
-"\"signals-callbacks.py\">this page</link>."
+"In line 15 the signal <code>\"activate\"</code> is connected to the callback "
+"function <code>about_cb()</code> using <code><var>widget</var>.connect"
+"(<var>signal</var>, <var>callback function</var>)</code>. See <link xref="
+"\"signals-callbacks.py\"/> for a more detailed explanation."
 msgstr ""
-"Για μια εξήγηση των σημάτων και συναρτήσεων επανάκλησης, δείτε <link xref="
-"\"signals-callbacks.py\">αυτήν τη σελίδα</link>."
+"Στη γραμμή 15 το σήμα <code>\"activate\"</code> συνδέεται με τη συνάρτηση "
+"επανάκλησης <code>about_cb()</code> χρησιμοποιώντας "
+"<code><var>widget</var>.connect(<var>signal</var>, <var>callback "
+"function</var>)</code>. Δείτε <link xref=\"signals-callbacks.py\"/> για μια "
+"πιο λεπτομερή εξήγηση."
 
-#: C/aboutdialog.py.page:40(section/title) C/button.py.page:49(section/title)
-#: C/buttonbox.py.page:44(section/title)
-#: C/checkbutton.py.page:43(section/title)
-#: C/colorbutton.py.page:37(section/title)
-#: C/combobox.py.page:37(section/title)
+#: C/aboutdialog.py.page:40(section/title) C/button.py.page:51(section/title)
+#: C/buttonbox.py.page:45(section/title)
+#: C/checkbutton.py.page:41(section/title)
+#: C/colorbutton.py.page:39(section/title)
+#: C/combobox.py.page:41(section/title)
 #: C/combobox_multicolumn.py.page:40(section/title)
-#: C/dialog.py.page:44(section/title) C/entry.py.page:58(section/title)
-#: C/filechooserdialog.py.page:68(section/title)
-#: C/fontchooserwidget.py.page:42(section/title)
-#: C/gmenu.py.page:73(section/title) C/grid.py.page:52(section/title)
-#: C/GtkApplicationWindow.py.page:47(section/title)
-#: C/image.py.page:97(section/title) C/label.py.page:85(section/title)
-#: C/linkbutton.py.page:43(section/title) C/menubar.py.page:180(section/title)
-#: C/menubutton.py.page:49(section/title)
-#: C/messagedialog.py.page:53(section/title) C/paned.py.page:37(section/title)
-#: C/progressbar.py.page:52(section/title)
-#: C/radiobutton.py.page:48(section/title) C/scale.py.page:52(section/title)
-#: C/scrolledwindow.py.page:40(section/title)
-#: C/spinbutton.py.page:44(section/title) C/spinner.py.page:37(section/title)
-#: C/statusbar.py.page:49(section/title) C/switch.py.page:45(section/title)
+#: C/dialog.py.page:45(section/title) C/entry.py.page:60(section/title)
+#: C/filechooserdialog.py.page:69(section/title)
+#: C/fontchooserwidget.py.page:43(section/title)
+#: C/gmenu.py.page:76(section/title) C/grid.py.page:53(section/title)
+#: C/GtkApplicationWindow.py.page:49(section/title)
+#: C/image.py.page:99(section/title) C/label.py.page:86(section/title)
+#: C/linkbutton.py.page:43(section/title) C/menubar.py.page:182(section/title)
+#: C/menubutton.py.page:52(section/title)
+#: C/messagedialog.py.page:53(section/title) C/paned.py.page:38(section/title)
+#: C/progressbar.py.page:53(section/title)
+#: C/radiobutton.py.page:45(section/title) C/scale.py.page:53(section/title)
+#: C/scrolledwindow.py.page:41(section/title)
+#: C/spinbutton.py.page:45(section/title) C/spinner.py.page:38(section/title)
+#: C/statusbar.py.page:49(section/title) C/switch.py.page:41(section/title)
 #: C/textview.py.page:92(section/title)
-#: C/togglebutton.py.page:42(section/title)
-#: C/toolbar.py.page:49(section/title)
-#: C/toolbar_builder.py.page:188(section/title)
-#: C/tooltip.py.page:52(section/title)
-#: C/treeview_advanced_liststore.py.page:42(section/title)
-#: C/treeview_cellrenderertoggle.py.page:38(section/title)
-#: C/treeview_simple_liststore.py.page:40(section/title)
-#: C/treeview_treestore.py.page:38(section/title)
-#: C/window.py.page:58(section/title)
+#: C/togglebutton.py.page:40(section/title)
+#: C/toolbar.py.page:51(section/title)
+#: C/toolbar_builder.py.page:190(section/title)
+#: C/tooltip.py.page:54(section/title)
+#: C/treeview_advanced_liststore.py.page:40(section/title)
+#: C/treeview_cellrenderertoggle.py.page:40(section/title)
+#: C/treeview_simple_liststore.py.page:41(section/title)
+#: C/treeview_treestore.py.page:40(section/title)
+#: C/window.py.page:59(section/title)
 msgid "API References"
 msgstr "Αναφορές API"
 
@@ -4419,8 +4502,8 @@ msgstr ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkAboutDialog.html";
 "\">GtkAboutDialog</link>"
 
-#: C/aboutdialog.py.page:46(item/p) C/checkbutton.py.page:47(item/p)
-#: C/grid.py.page:56(item/p) C/GtkApplicationWindow.py.page:53(item/p)
+#: C/aboutdialog.py.page:46(item/p) C/checkbutton.py.page:45(item/p)
+#: C/grid.py.page:57(item/p) C/GtkApplicationWindow.py.page:55(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkApplicationWindow.";
 "html\">GtkApplicationWindow</link>"
@@ -4428,9 +4511,9 @@ msgstr ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkApplicationWindow.";
 "html\">GtkApplicationWindow</link>"
 
-#: C/aboutdialog.py.page:48(item/p) C/checkbutton.py.page:46(item/p)
-#: C/grid.py.page:55(item/p) C/GtkApplicationWindow.py.page:52(item/p)
-#: C/messagedialog.py.page:64(item/p) C/window.py.page:62(item/p)
+#: C/aboutdialog.py.page:48(item/p) C/checkbutton.py.page:44(item/p)
+#: C/grid.py.page:56(item/p) C/GtkApplicationWindow.py.page:54(item/p)
+#: C/messagedialog.py.page:64(item/p) C/window.py.page:63(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkApplication.html";
 "\">GtkApplication</link>"
@@ -4625,13 +4708,14 @@ msgid "GNOME Documentation Project"
 msgstr "Έργο τεκμηρίωσης GNOME"
 
 #: C/audio-player.vala.page:18(page/title)
-msgid "3 Audio Player"
-msgstr "3 αναπαραγωγός ήχου"
+#| msgid "3 Audio Player"
+msgid "Audio player"
+msgstr "Αναπαραγωγός ήχου"
 
 #: C/beginner.c.page:8(info/title)
 msgctxt "text"
-msgid "Beginner's Tutorials (C)"
-msgstr "Μαθήματα αρχαρίων (C)"
+msgid "Tutorial for beginners (C)"
+msgstr "Μάθημα για αρχάριους (C)"
 
 #: C/beginner.c.page:12(info/desc) C/beginner.vala.page:12(info/desc)
 msgid ""
@@ -4641,11 +4725,34 @@ msgstr ""
 "Ένας οδηγός αρχαρίων στην ανάπτυξη διεπαφών χρήστη (GUI) χρησιμοποιώντας GTK"
 "+, συμπεριλαμβάνει δείγματα κώδικα και πρακτικές ασκήσεις."
 
-#: C/beginner.c.page:20(page/title) C/beginner.vala.page:19(page/title)
-msgid "0 Beginner's Tutorials"
-msgstr "0 μαθήματα αρχαρίων"
-
-#: C/beginner.c.page:22(synopsis/p) C/beginner.vala.page:21(synopsis/p)
+#: C/beginner.c.page:21(credit/years) C/beginner.js.page:17(credit/years)
+#: C/beginner.py.page:20(credit/years) C/beginner.vala.page:20(credit/years)
+#: C/guitar-tuner.c.page:24(credit/years)
+#: C/guitar-tuner.cpp.page:22(credit/years)
+#: C/guitar-tuner.py.page:24(credit/years)
+#: C/guitar-tuner.py.page:29(credit/years)
+#: C/guitar-tuner.vala.page:27(credit/years)
+#: C/image-viewer.c.page:24(credit/years)
+#: C/image-viewer.cpp.page:22(credit/years)
+#: C/image-viewer.js.page:24(credit/years)
+#: C/image-viewer.py.page:24(credit/years)
+#: C/image-viewer.vala.page:32(credit/years) C/js.page:17(credit/years)
+#: C/magic-mirror.vala.page:24(credit/years)
+#: C/message-board.c.page:21(credit/years)
+#: C/photo-wall.c.page:23(credit/years) C/py.page:16(credit/years)
+#: C/record-collection.js.page:24(credit/years)
+#: C/tutorial.py.page:26(credit/years) C/vala.page:16(credit/years)
+#: C/weatherApp.js.page:18(credit/years)
+msgid "2013"
+msgstr "2013"
+
+#: C/beginner.c.page:25(page/title) C/beginner.js.page:23(page/title)
+#: C/beginner.vala.page:24(page/title)
+#| msgid "To run the code samples"
+msgid "Tutorial for beginners and code samples"
+msgstr "Μάθημα για αρχάριους και δείγματα κώδικα"
+
+#: C/beginner.c.page:27(synopsis/p) C/beginner.vala.page:26(synopsis/p)
 msgid ""
 "Although these tutorials are designed for beginners, we can't cover all the "
 "basics. Before attempting to follow these tutorials, you are expected to be "
@@ -4655,161 +4762,167 @@ msgstr ""
 "καλύψουμε όλα τα βασικά. Πριν να προσπαθήσετε να παρακολουθήσετε αυτά τα "
 "μαθήματα, πρέπει να εξοικειωθείτε με τις παρακάτω έννοιες:"
 
-#: C/beginner.c.page:24(item/p) C/beginner.vala.page:23(item/p)
+#: C/beginner.c.page:29(item/p) C/beginner.vala.page:28(item/p)
 msgid "Object oriented programming"
 msgstr "Αντικειμενοστραφής προγραμματισμός"
 
-#: C/beginner.c.page:25(item/p)
+#: C/beginner.c.page:30(item/p)
 msgid "The C programming language"
 msgstr "Η γλώσσα προγραμματισμού C"
 
-#: C/beginner.c.page:29(synopsis/p) C/beginner.vala.page:32(synopsis/p)
-#: C/tutorial.py.page:28(synopsis/p)
+#: C/beginner.c.page:34(synopsis/p) C/beginner.vala.page:37(synopsis/p)
+#| msgid ""
+#| "By following these tutorials you will learn the basics of GUI programming "
+#| "using Gtk+."
 msgid ""
 "By following these tutorials you will learn the basics of GUI programming "
-"using Gtk+."
+"using GTK+."
 msgstr ""
 "Παρακολουθώντας αυτά τα μαθήματα θα μάθετε τα βασικά του προγραμματισμού GUI "
-"χρησιμοποιώντας Gtk+."
+"χρησιμοποιώντας GTK+."
 
-#: C/beginner.c.page:33(section/title) C/beginner.js.page:36(section/title)
-#: C/beginner.vala.page:36(section/title)
+#: C/beginner.c.page:38(section/title) C/beginner.js.page:41(section/title)
+#: C/beginner.vala.page:41(section/title)
 msgid "Tutorials"
 msgstr "Μαθήματα"
 
-#: C/beginner.c.page:37(section/title) C/beginner.js.page:40(section/title)
-#: C/beginner.py.page:27(section/title) C/beginner.vala.page:40(section/title)
+#: C/beginner.c.page:42(section/title) C/beginner.js.page:45(section/title)
+#: C/beginner.vala.page:45(section/title) C/py.page:31(section/title)
 msgid "Code samples"
 msgstr "Δείγματα κώδικα"
 
-#: C/beginner.c.page:38(section/p) C/beginner.js.page:42(section/p)
-#: C/beginner.vala.page:41(section/p) C/tutorial.py.page:38(section/p)
+#: C/beginner.c.page:43(section/p) C/beginner.js.page:47(section/p)
+#: C/beginner.vala.page:46(section/p)
 msgid "To run the code samples:"
 msgstr "Για να εκτελέσετε τα δείγματα κώδικα:"
 
-#: C/beginner.c.page:42(item/p)
+#: C/beginner.c.page:47(item/p)
 msgid "Copy and paste the code into <var>filename</var>.c"
 msgstr "Αντιγράψτε και επικολλήστε τον κώδικα στο <var>filename</var>.c"
 
-#: C/beginner.c.page:43(item/p) C/beginner.c.page:56(item/p)
-#: C/beginner.vala.page:46(item/p) C/tutorial.py.page:41(item/p)
+#: C/beginner.c.page:48(item/p) C/beginner.c.page:61(item/p)
+#: C/beginner.vala.page:51(item/p)
 msgid "In the terminal type:"
 msgstr "Πληκτρολογήστε στο τερματικό:"
 
-#: C/beginner.c.page:44(item/screen)
+#: C/beginner.c.page:49(item/screen)
 #, no-wrap
 msgid "gcc <var>filename</var>.c `pkg-config --cflags --libs gtk+-3.0` -o <var>filename</var>\n"
 msgstr "gcc <var>filename</var>.c `pkg-config --cflags --libs gtk+-3.0` -o <var>filename</var>\n"
 
-#: C/beginner.c.page:46(item/screen) C/beginner.c.page:60(item/screen)
-#: C/beginner.vala.page:48(item/screen)
+#: C/beginner.c.page:51(item/screen) C/beginner.c.page:65(item/screen)
+#: C/beginner.vala.page:53(item/screen)
 #, no-wrap
 msgid "./<var>filename</var>"
 msgstr "./<var>filename</var>"
 
-#: C/beginner.c.page:50(note/p)
+#: C/beginner.c.page:55(note/p)
+#| msgid ""
+#| "For more information about compiling Gtk+ programs see <link href="
+#| "\"http://developer.gnome.org/gtk3/3.4/gtk-compiling.html\";>Compiling Gtk+ "
+#| "Applications on UNIX</link>."
 msgid ""
-"For more information about compiling Gtk+ programs see <link href=\"http://";
-"developer.gnome.org/gtk3/3.4/gtk-compiling.html\">Compiling Gtk+ "
+"For more information about compiling GTK+ programs see <link href=\"http://";
+"developer.gnome.org/gtk3/3.4/gtk-compiling.html\">Compiling GTK+ "
 "Applications on UNIX</link>."
 msgstr ""
-"Για περισσότερες πληροφορίες σχετικά με τη μεταγλώττιση των προγραμμάτων GTK"
-"+ δείτε <link href=\"http://developer.gnome.org/gtk3/3.4/gtk-compiling.html";
-"\">Μεταγλωττίζοντας εφαρμογές GTK+ στο UNIX</link>."
+"Για περισσότερες πληροφορίες σχετικά με τη μεταγλώττιση των προγραμμάτων "
+"GTK+ δείτε <link href=\"http://developer.gnome.org/gtk3/3.4/gtk-";
+"compiling.html\">Μεταγλωττίζοντας εφαρμογές GTK+ στο UNIX</link>."
 
-#: C/beginner.c.page:54(section/p)
+#: C/beginner.c.page:59(section/p)
 msgid "You can also use the Vala compiler to compile these samples:"
 msgstr ""
 "Μπορείτε επίσης να χρησιμοποιήσετε τον μεταγλωττιστή Vala για να "
 "μεταγλωττίσετε αυτά τα παραδείγματα:"
 
-#: C/beginner.c.page:57(item/screen)
+#: C/beginner.c.page:62(item/screen)
 #, no-wrap
 msgid "valac --pkg gtk+-3.0 <var>filename</var>.c"
 msgstr "valac --pkg gtk+-3.0 <var>filename</var>.c"
 
-#: C/beginner.c.page:59(item/p)
+#: C/beginner.c.page:64(item/p)
 msgid "To run:"
 msgstr "Για εκτέλεση:"
 
-#: C/beginner.c.page:63(section/title) C/beginner.js.page:49(section/title)
-#: C/beginner.py.page:29(section/title) C/beginner.vala.page:52(section/title)
+#: C/beginner.c.page:68(section/title) C/beginner.js.page:54(section/title)
+#: C/beginner.py.page:31(section/title) C/beginner.vala.page:57(section/title)
 msgid "Windows"
 msgstr "Παράθυρα"
 
-#: C/beginner.c.page:66(section/title) C/beginner.js.page:51(section/title)
-#: C/beginner.py.page:32(section/title) C/beginner.vala.page:55(section/title)
+#: C/beginner.c.page:71(section/title) C/beginner.js.page:56(section/title)
+#: C/beginner.py.page:33(section/title) C/beginner.vala.page:60(section/title)
 msgid "Display widgets"
 msgstr "Εμφάνιση γραφικών συστατικών"
 
-#: C/beginner.c.page:68(section/title) C/beginner.js.page:53(section/title)
-#: C/beginner.py.page:34(section/title) C/beginner.vala.page:57(section/title)
+#: C/beginner.c.page:73(section/title) C/beginner.js.page:58(section/title)
+#: C/beginner.py.page:35(section/title) C/beginner.vala.page:62(section/title)
 msgid "Buttons and toggles"
 msgstr "Κουμπιά και εναλλαγές"
 
-#: C/beginner.c.page:70(section/title) C/beginner.js.page:55(section/title)
-#: C/beginner.py.page:36(section/title) C/beginner.vala.page:59(section/title)
+#: C/beginner.c.page:75(section/title) C/beginner.js.page:60(section/title)
+#: C/beginner.py.page:37(section/title) C/beginner.vala.page:64(section/title)
 msgid "Numeric and text data entry"
 msgstr "Καταχώριση δεδομένων αριθμητικών και κειμένου"
 
-#: C/beginner.c.page:72(section/title) C/beginner.js.page:57(section/title)
-#: C/beginner.py.page:38(section/title) C/beginner.vala.page:61(section/title)
+#: C/beginner.c.page:77(section/title) C/beginner.js.page:62(section/title)
+#: C/beginner.py.page:39(section/title) C/beginner.vala.page:66(section/title)
 msgid "Multiline text editor"
 msgstr "Επεξεργαστής κειμένου πολλαπλών γραμμών"
 
-#: C/beginner.c.page:74(section/title) C/beginner.js.page:59(section/title)
-#: C/beginner.py.page:40(section/title) C/beginner.vala.page:63(section/title)
+#: C/beginner.c.page:79(section/title) C/beginner.js.page:64(section/title)
+#: C/beginner.py.page:41(section/title) C/beginner.vala.page:68(section/title)
 msgid "Menu, combo box and toolbar widgets"
 msgstr "Μενού, σύνθετο πλαίσιο και γραφικά συστατικά εργαλειοθήκης"
 
-#: C/beginner.c.page:76(section/title) C/beginner.js.page:61(section/title)
-#: C/beginner.py.page:42(section/title) C/beginner.vala.page:65(section/title)
+#: C/beginner.c.page:81(section/title) C/beginner.js.page:66(section/title)
+#: C/beginner.py.page:43(section/title) C/beginner.vala.page:70(section/title)
 msgid "TreeView widget"
 msgstr "Γραφικό συστατικό TreeView"
 
-#: C/beginner.c.page:78(section/title) C/beginner.js.page:63(section/title)
-#: C/beginner.py.page:44(section/title) C/beginner.vala.page:67(section/title)
+#: C/beginner.c.page:83(section/title) C/beginner.js.page:68(section/title)
+#: C/beginner.py.page:45(section/title) C/beginner.vala.page:72(section/title)
+#: C/tutorial.py.page:126(steps/title)
 msgid "Selectors"
 msgstr "Επιλογείς"
 
-#: C/beginner.c.page:79(section/title) C/beginner.js.page:64(section/title)
-#: C/beginner.py.page:45(section/title) C/beginner.vala.page:68(section/title)
+#: C/beginner.c.page:84(section/title) C/beginner.js.page:69(section/title)
+#: C/beginner.py.page:46(section/title) C/beginner.vala.page:73(section/title)
 msgid "File selectors"
 msgstr "Επιλογείς αρχείων"
 
-#: C/beginner.c.page:81(section/title) C/beginner.js.page:66(section/title)
-#: C/beginner.py.page:47(section/title) C/beginner.vala.page:70(section/title)
+#: C/beginner.c.page:86(section/title) C/beginner.js.page:71(section/title)
+#: C/beginner.py.page:48(section/title) C/beginner.vala.page:75(section/title)
 msgid "Font selectors"
 msgstr "Επιλογείς γραμματοσειρών"
 
-#: C/beginner.c.page:83(section/title) C/beginner.js.page:68(section/title)
-#: C/beginner.py.page:49(section/title) C/beginner.vala.page:72(section/title)
+#: C/beginner.c.page:88(section/title) C/beginner.js.page:73(section/title)
+#: C/beginner.py.page:50(section/title) C/beginner.vala.page:77(section/title)
 msgid "Color Selectors"
 msgstr "Επιλογείς χρώματος"
 
-#: C/beginner.c.page:86(section/title) C/beginner.js.page:71(section/title)
-#: C/beginner.py.page:52(section/title) C/beginner.vala.page:75(section/title)
+#: C/beginner.c.page:91(section/title) C/beginner.js.page:76(section/title)
+#: C/beginner.py.page:53(section/title) C/beginner.vala.page:80(section/title)
 msgid "Layout containers"
 msgstr "Περιέκτες διάταξης"
 
-#: C/beginner.c.page:88(section/title) C/beginner.js.page:73(section/title)
-#: C/beginner.py.page:54(section/title) C/beginner.vala.page:77(section/title)
-#: C/tutorial.py.page:68(steps/title)
+#: C/beginner.c.page:93(section/title) C/beginner.js.page:78(section/title)
+#: C/beginner.py.page:55(section/title) C/beginner.vala.page:82(section/title)
 msgid "Ornaments"
 msgstr "Διακοσμητικά"
 
-#: C/beginner.c.page:90(section/title) C/beginner.js.page:75(section/title)
-#: C/beginner.py.page:56(section/title) C/beginner.vala.page:79(section/title)
+#: C/beginner.c.page:95(section/title) C/beginner.js.page:80(section/title)
+#: C/beginner.py.page:57(section/title) C/beginner.vala.page:84(section/title)
 msgid "Scrolling"
 msgstr "Κύλιση"
 
-#: C/beginner.c.page:92(section/title) C/beginner.js.page:77(section/title)
-#: C/beginner.py.page:58(section/title) C/beginner.vala.page:81(section/title)
+#: C/beginner.c.page:97(section/title) C/beginner.js.page:82(section/title)
+#: C/beginner.py.page:59(section/title) C/beginner.vala.page:86(section/title)
 msgid "Miscellaneous"
 msgstr "Διάφορα"
 
-#: C/beginner.c.page:97(section/title) C/beginner.js.page:82(section/title)
-#: C/beginner.vala.page:86(section/title)
+#: C/beginner.c.page:102(section/title) C/beginner.js.page:87(section/title)
+#: C/beginner.vala.page:91(section/title)
 #: C/menubar.vala.page:197(section/title)
 msgid "Exercises"
 msgstr "Ασκήσεις"
@@ -4823,7 +4936,7 @@ msgstr "Ασκήσεις"
 msgid "Susanna Huhtanen"
 msgstr "Susanna Huhtanen"
 
-#: C/beginner.js.page:15(info/desc)
+#: C/beginner.js.page:20(info/desc)
 msgid ""
 "A beginner's guide to writing GNOME applications in JavaScript, including "
 "code samples and practice exercises."
@@ -4831,11 +4944,7 @@ msgstr ""
 "Ένας οδηγός αρχαρίων στη συγγραφή εφαρμογών GNOME σε JavaScript, "
 "συμπεριλαμβάνοντας δείγματα κώδικα και πρακτικές ασκήσεις."
 
-#: C/beginner.js.page:18(page/title)
-msgid "0 Beginner's tutorials and samples"
-msgstr "0 Μαθήματα και παραδείγματα αρχαρίων"
-
-#: C/beginner.js.page:20(synopsis/p)
+#: C/beginner.js.page:25(synopsis/p)
 msgid ""
 "JavaScript is one of the most popular programming languages on the web. It's "
 "not just for the web, though. If you have even a basic understanding of "
@@ -4852,7 +4961,7 @@ msgstr ""
 "live.gnome.org/GnomeShell/Tour\">κέλυφος GNOME</link>, το πιο βασικό μέρος "
 "του GNOME."
 
-#: C/beginner.js.page:21(note/p)
+#: C/beginner.js.page:26(note/p)
 msgid ""
 "GNOME Shell is what you see when you click on \"Activities\" in the top-left "
 "corner of your screen. It also controls the clock and the rest of the top "
@@ -4867,11 +4976,11 @@ msgstr ""
 "να γράψετε επεκτάσεις κελύφους GNOME, που του δίνουν νέα γνωρίσματα ή "
 "αλλάζουν τον τρόπο που κάνει πράγματα."
 
-#: C/beginner.js.page:25(section/title)
+#: C/beginner.js.page:30(section/title)
 msgid "Getting Started"
 msgstr "Ξεκίνημα"
 
-#: C/beginner.js.page:26(section/p)
+#: C/beginner.js.page:31(section/p)
 msgid ""
 "These tutorials are designed for people who already know how to write in "
 "JavaScript, and who have GNOME installed on their computers already, but who "
@@ -4885,7 +4994,7 @@ msgstr ""
 "JavaScript, ή εάν χρειαζόσαστε βοήθεια για εγκατάσταση του GNOME, ρίξτε μια "
 "ματιά πρώτα σε αυτές τις πηγές πρώτα:"
 
-#: C/beginner.js.page:28(item/p)
+#: C/beginner.js.page:33(item/p)
 msgid ""
 "<link href=\"http://eloquentjavascript.net/contents.html\";>Eloquent "
 "JavaScript</link> is a free, Creative Commons-licensed book, which explains "
@@ -4898,7 +5007,7 @@ msgstr ""
 "JavaScript για τον ιστό, χρειάζεται να διαβάσετε μέχρι το κεφάλαιο 10 "
 "περίπου."
 
-#: C/beginner.js.page:29(item/p)
+#: C/beginner.js.page:34(item/p)
 msgid ""
 "<link href=\"http://www.gnome.org/getting-gnome/\";>Download GNOME</link> as "
 "part of a distribution, like Fedora, openSUSE, or Ubuntu. Each distribution "
@@ -4908,17 +5017,16 @@ msgstr ""
 "είναι μέρος μιας διανομής, όπως Fedora, openSUSE, ή Ubuntu. Κάθε διανομή "
 "έχει τις δικές της οδηγίες για το πώς να πάρετε το GNOME."
 
-#: C/beginner.js.page:30(item/p)
-#, fuzzy
+#: C/beginner.js.page:35(item/p)
 msgid ""
 "<link xref=\"set-up-gedit.js\">Set up gedit</link> for writing applications. "
 "GNOME's text editor, gedit, is sometimes just called \"text editor\"."
 msgstr ""
 "<link xref=\"set-up-gedit.js\">Εγκατάσταση gedit</link> για συγγραφή "
 "εφαρμογών. Ο επεξεργαστής κειμένου του GNOME, gedit, αποκαλείται μερικές "
-"φορές απλά \"text editor.\""
+"φορές απλά \"επεξεργασία κειμένου\"."
 
-#: C/beginner.js.page:41(section/p)
+#: C/beginner.js.page:46(section/p)
 msgid ""
 "These samples show how to use widgets in your GNOME applications. Each one "
 "demonstrates a complete application which showcases the featured widget. At "
@@ -4930,24 +5038,23 @@ msgstr ""
 "χαρακτηριστικά γραφικά συστατικά. Στο τέλος κάθε δείγματος, θα βρείτε "
 "συνδέσμους σε πιο λεπτομερή υλικά αναφοράς."
 
-#: C/beginner.js.page:44(item/p)
+#: C/beginner.js.page:49(item/p)
 msgid "Copy and paste the code into <var>filename</var>.js"
 msgstr "Αντιγραφή και επικόλληση του κώδικα στο <var>filename</var>.js"
 
-#: C/beginner.js.page:45(item/p)
+#: C/beginner.js.page:50(item/p)
 msgid "In the terminal, type:"
 msgstr "Στον τερματικό, πληκτρολογήστε:"
 
-#: C/beginner.js.page:46(item/screen)
+#: C/beginner.js.page:51(item/screen)
 #, no-wrap
 msgid "gjs <var>filename</var>.js"
 msgstr "gjs <var>filename</var>.js"
 
 #: C/beginner.py.page:8(info/title)
-#, fuzzy
 msgctxt "text"
-msgid "Gtk Widget Sample Code and Tutorials (Python)"
-msgstr "Δείγμα κώδικα γραφικού συστατικού Gtk και μαθημάτων (Python)"
+msgid "GTK+ widgets sample code (Python)"
+msgstr "Δείγμα κώδικα γραφικών συστατικών GTK+ (Python)"
 
 #: C/beginner.py.page:12(info/desc)
 msgid ""
@@ -4957,11 +5064,11 @@ msgstr ""
 "Ένας οδηγός για την ανάπτυξη διεπαφών χρήστη (GUI) χρησιμοποιώντας GTK+, "
 "συμπεριλαμβάνοντας δείγματα κώδικα και πρακτικές ασκήσεις."
 
-#: C/beginner.py.page:19(page/title)
-msgid "Gtk Widget Sample Code and Tutorials"
-msgstr "Δείγμα κώδικα γραφικού συστατικού Gtk και μαθημάτων"
+#: C/beginner.py.page:24(page/title)
+msgid "GTK+ widgets sample code"
+msgstr "Κώδικας δείγματος γραφικών συστατικών GTK+"
 
-#: C/beginner.py.page:21(synopsis/p)
+#: C/beginner.py.page:26(synopsis/p)
 msgid ""
 "If you are a beginner and you would like a tutorial to guide you step by "
 "step in an exploration of what you can do with GTK+ 3, you should go to the "
@@ -4979,20 +5086,20 @@ msgstr "Σελίδες θεωρίας"
 
 #: C/beginner.vala.page:8(info/title)
 msgctxt "text"
-msgid "Beginner Tutorials (Vala)"
-msgstr "Μαθήματα αρχαρίων (Vala)"
+msgid "Tutorial for beginners (Vala)"
+msgstr "Μάθημα για αρχάριους (Vala)"
 
-#: C/beginner.vala.page:24(item/p)
+#: C/beginner.vala.page:29(item/p)
 msgid "The Vala programming language:"
 msgstr "Η γλώσσα προγραμματισμού Vala:"
 
-#: C/beginner.vala.page:26(item/p)
+#: C/beginner.vala.page:31(item/p)
 msgid ""
 "<link href=\"https://live.gnome.org/Vala/Tutorial\";>The Vala Tutorial</link>"
 msgstr ""
 "<link href=\"https://live.gnome.org/Vala/Tutorial\";>Μαθήματα Vala</link>"
 
-#: C/beginner.vala.page:27(item/p)
+#: C/beginner.vala.page:32(item/p)
 msgid ""
 "<link href=\"https://live.gnome.org/Vala/Documentation#Sample_Code\";>Sample "
 "Vala code</link>"
@@ -5000,11 +5107,11 @@ msgstr ""
 "<link href=\"https://live.gnome.org/Vala/Documentation#Sample_Code\";>Δείγμα "
 "κώδικα Vala</link>"
 
-#: C/beginner.vala.page:45(item/p)
+#: C/beginner.vala.page:50(item/p)
 msgid "Copy and paste the code into <var>filename</var>.vala"
 msgstr "Αντιγραφή και επικόλληση του κώδικα στο <var>filename</var>.vala"
 
-#: C/beginner.vala.page:47(item/screen)
+#: C/beginner.vala.page:52(item/screen)
 #, no-wrap
 msgid "valac --pkg gtk+-3.0 <var>filename</var>.vala"
 msgstr "valac --pkg gtk+-3.0 <var>filename</var>.vala"
@@ -5121,7 +5228,7 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/button.c.page:24(media) C/button.js.page:21(media)
-#: C/button.py.page:23(media) C/button.vala.page:23(media)
+#: C/button.py.page:24(media) C/button.vala.page:23(media)
 msgctxt "_"
 msgid "external ref='media/button.png' md5='8d69efbb3a0d3e043af6139b6492171c'"
 msgstr "external ref='media/button.png' md5='8d69efbb3a0d3e043af6139b6492171c'"
@@ -5131,13 +5238,13 @@ msgctxt "text"
 msgid "Button (C)"
 msgstr "Κουμπί (C)"
 
-#: C/button.c.page:19(info/desc) C/button.py.page:18(info/desc)
+#: C/button.c.page:19(info/desc) C/button.py.page:19(info/desc)
 #: C/button.vala.page:18(info/desc)
 msgid "A button widget which emits a signal when clicked"
 msgstr "Ένα κουμπί γραφικού συστατικού που εκπέμπει σήμα όταν πατηθεί"
 
 #: C/button.c.page:22(page/title) C/button.js.page:20(page/title)
-#: C/button.py.page:21(page/title)
+#: C/button.py.page:22(page/title)
 msgid "Button"
 msgstr "Κουμπί"
 
@@ -5151,6 +5258,71 @@ msgstr ""
 
 #: C/button.c.page:27(page/code)
 #, no-wrap
+#| msgid ""
+#| "\n"
+#| "#include &lt;gtk/gtk.h&gt;\n"
+#| "\n"
+#| "\n"
+#| "\n"
+#| "/*This is the callback function. It is a handler function which \n"
+#| "reacts to the signal. In this case, it will cause the button label's \n"
+#| "string to reverse.*/\n"
+#| "static void\n"
+#| "button_clicked (GtkButton *button,\n"
+#| "                gpointer   user_data)\n"
+#| "{\n"
+#| "  const char *old_label;\n"
+#| "  char *new_label;\n"
+#| "\n"
+#| "  old_label = gtk_button_get_label (button);\n"
+#| "  new_label = g_utf8_strreverse (old_label, -1);\n"
+#| "\n"
+#| "  gtk_button_set_label (button, new_label);\n"
+#| "  g_free (new_label);\n"
+#| "}\n"
+#| "\n"
+#| "\n"
+#| "\n"
+#| "static void\n"
+#| "activate (GtkApplication *app,\n"
+#| "          gpointer        user_data)\n"
+#| "{\n"
+#| "  GtkWidget *window;\n"
+#| "  GtkWidget *button;\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), \"GNOME Button\");\n"
+#| "  gtk_window_set_default_size (GTK_WINDOW (window), 250, 50);\n"
+#| "\n"
+#| "  /*Create a button with a label, and add it to the window*/\n"
+#| "  button = gtk_button_new_with_label (\"Click Me\");\n"
+#| "  gtk_container_add (GTK_CONTAINER (window), button);\n"
+#| "\n"
+#| "  /*Connecting the clicked signal to the callback function*/\n"
+#| "  g_signal_connect (GTK_Button (button), \n"
+#| "                    \"clicked\", \n"
+#| "                    G_CALLBACK (button_clicked), \n"
+#| "                    G_OBJECT (window));\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"
@@ -5193,7 +5365,7 @@ msgid ""
 "  gtk_container_add (GTK_CONTAINER (window), button);\n"
 "\n"
 "  /*Connecting the clicked signal to the callback function*/\n"
-"  g_signal_connect (GTK_Button (button), \n"
+"  g_signal_connect (GTK_BUTTON (button),\n"
 "                    \"clicked\", \n"
 "                    G_CALLBACK (button_clicked), \n"
 "                    G_OBJECT (window));\n"
@@ -5222,9 +5394,10 @@ msgstr ""
 "\n"
 "\n"
 "\n"
-"/*This is the callback function. It is a handler function which \n"
-"reacts to the signal. In this case, it will cause the button label's \n"
-"string to reverse.*/\n"
+"/*Αυτή είναι η συνάρτηση επανάκλησης. Είναι ένας χειριστής συνάρτησης που\n"
+"αντιδρά στο σήμα. Σε αυτήν την περίπτωση, θα προκαλέσει την αναστροφή της "
+"συμβολοσειράς\n"
+"της ετικέτας του κουμπιού.*/\n"
 "static void\n"
 "button_clicked (GtkButton *button,\n"
 "                gpointer   user_data)\n"
@@ -5248,16 +5421,16 @@ msgstr ""
 "  GtkWidget *window;\n"
 "  GtkWidget *button;\n"
 "\n"
-"  /*Create a window with a title and a default size*/\n"
+"  /*Δημιουργήστε ένα παράθυρο με τίτλο και προεπιλεγμένο μέγεθος*/\n"
 "  window = gtk_application_window_new (app);\n"
 "  gtk_window_set_title (GTK_WINDOW (window), \"GNOME Button\");\n"
 "  gtk_window_set_default_size (GTK_WINDOW (window), 250, 50);\n"
 "\n"
-"  /*Create a button with a label, and add it to the window*/\n"
-"  button = gtk_button_new_with_label (\"Click Me\");\n"
+"  /*Δημιουργήστε ένα κουμπί με ετικέτα και προσθέστε το στο παράθυρο*/\n"
+"  button = gtk_button_new_with_label */(  \"Click Me\");\n"
 "  gtk_container_add (GTK_CONTAINER (window), button);\n"
 "\n"
-"  /*Connecting the clicked signal to the callback function*/\n"
+"  /*Σύνδεση του σήματος πατήματος με τη συνάρτηση επανάκλησης*/\n"
 "  g_signal_connect (GTK_Button (button), \n"
 "                    \"clicked\", \n"
 "                    G_CALLBACK (button_clicked), \n"
@@ -5282,7 +5455,7 @@ msgstr ""
 "  return status;\n"
 "}\n"
 
-#: C/button.c.page:35(item/p) C/buttonbox.py.page:49(item/p)
+#: C/button.c.page:35(item/p) C/buttonbox.py.page:50(item/p)
 #: C/grid.c.page:34(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/stable/GtkButton.html";
@@ -5457,12 +5630,12 @@ msgctxt "text"
 msgid "Button (Python)"
 msgstr "Κουμπί (Python)"
 
-#: C/button.py.page:24(page/p) C/button.vala.page:24(page/p)
+#: C/button.py.page:25(page/p) C/button.vala.page:24(page/p)
 msgid "A button widget connected to a simple callback function."
 msgstr ""
 "Ένα γραφικό συστατικό κουμπιού συνδεμένο με μια απλή συνάρτηση επανάκλησης."
 
-#: C/button.py.page:30(section/code)
+#: C/button.py.page:31(section/code)
 #, no-wrap
 msgid ""
 "from gi.repository import Gtk\n"
@@ -5541,22 +5714,24 @@ msgstr ""
 "exit_status = app.run(sys.argv)\n"
 "sys.exit(exit_status)\n"
 
-#: C/button.py.page:33(section/title)
+#: C/button.py.page:35(section/title)
 msgid "Useful methods for a Button widget"
 msgstr "Χρήσιμες μέθοδοι για ένα γραφικό συστατικό κουμπιού"
 
-#: C/button.py.page:35(section/p)
-#, fuzzy
+#: C/button.py.page:36(section/p)
 msgid ""
-"<code>button = Gtk.Button(label=\"Click me\")</code> could also be used to "
-"create a button and set the text directly. For a general discussion of this, "
-"see <link xref=\"properties.py\">here</link>."
+"In line 16 the <code>\"clicked\"</code> signal from the button is connected "
+"to the callback function <code>do_clicked()</code> using <code><var>widget</"
+"var>.connect(<var>signal</var>, <var>callback function</var>)</code>. See "
+"<link xref=\"signals-callbacks.py\"/> for a more detailed explanation."
 msgstr ""
-"Το <code>button = Gtk.Button(label=\"Click me\")</code> μπορεί επίσης να "
-"χρησιμοποιηθεί στη δημιουργία ενός κουμπιού τον ορισμό του κειμένου άμεσα. "
-"Για μια γενική συζήτηση του, δείτε <link xref=\"properties.py\">εδώ</link>."
+"Στη γραμμή 16 το σήμα <code>\"clicked\"</code> από το κουμπί συνδέεται με τη "
+"συνάρτηση επανάκλησης <code>do_clicked()</code> χρησιμοποιώντας "
+"<code><var>widget</var>.connect(<var>signal</var>, <var>callback "
+"function</var>)</code>. Δείτε <link xref=\"signals-callbacks.py\"/> για μια "
+"πιο λεπτομερή εξήγηση."
 
-#: C/button.py.page:37(item/p)
+#: C/button.py.page:38(item/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</"
@@ -5566,7 +5741,7 @@ msgstr ""
 "αναγλύφου των άκρων του Gtk.Button - καθώς αντιτίθεται στο <code>Gtk."
 "ReliefStyle.NORMAL</code>."
 
-#: C/button.py.page:38(item/p)
+#: C/button.py.page:39(item/p)
 msgid ""
 "If the label of the button is a <link href=\"http://developer.gnome.org/gtk3/";
 "unstable/gtk3-Stock-Items.html\">stock icon</link>, <code>set_use_stock(True)"
@@ -5577,14 +5752,14 @@ msgstr ""
 "<code>set_use_stock(True)</code> ορίζει την ετικέτα ως το όνομα του "
 "αντίστοιχου εικονιδίου παρακαταθήκης."
 
-#: C/button.py.page:39(item/p)
+#: C/button.py.page:40(item/p)
 msgid ""
 "To set an image (e.g. a stock image) for the button <code>button</code>:"
 msgstr ""
 "Για ορισμό μιας εικόνας (π.χ. μια εικόνα παρακαταθήκης) για το κουμπί "
 "<code>button</code>:"
 
-#: C/button.py.page:40(item/code)
+#: C/button.py.page:41(item/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -5597,7 +5772,7 @@ msgstr ""
 "image.set_from_stock(Gtk.STOCK_ABOUT, Gtk.IconSize.BUTTON)\n"
 "button.set_image(image)"
 
-#: C/button.py.page:44(item/p)
+#: C/button.py.page:45(item/p)
 msgid ""
 "You should not set a label for the button after this, otherwise it will show "
 "the label and not the image."
@@ -5605,7 +5780,7 @@ msgstr ""
 "Θα πρέπει να μην ορίσετε μια ετικέτα για το κουμπί μετά από αυτό, αλλιώς θα "
 "εμφανίσει την ετικέτα και όχι την εικόνα."
 
-#: C/button.py.page:45(item/p)
+#: C/button.py.page:46(item/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 "
@@ -5617,7 +5792,7 @@ msgstr ""
 "όπως εργαλειοθήκες, έτσι ώστε η εστίαση του πληκτρολογίου να μην αφαιρεθεί "
 "από την κύρια περιοχή της εφαρμογής."
 
-#: C/button.py.page:52(item/p)
+#: C/button.py.page:54(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkButton.html";
 "\">GtkButton</link>"
@@ -5625,11 +5800,11 @@ msgstr ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkButton.html";
 "\">GtkButton</link>"
 
-#: C/button.py.page:53(item/p) C/dialog.py.page:50(item/p)
-#: C/image.py.page:101(item/p) C/label.py.page:89(item/p)
+#: C/button.py.page:55(item/p) C/dialog.py.page:51(item/p)
+#: C/image.py.page:103(item/p) C/label.py.page:90(item/p)
 #: C/linkbutton.py.page:46(item/p) C/messagedialog.py.page:60(item/p)
-#: C/radiobutton.py.page:51(item/p) C/separator.py.page:37(item/p)
-#: C/window.py.page:63(item/p)
+#: C/radiobutton.py.page:48(item/p) C/separator.py.page:38(item/p)
+#: C/window.py.page:64(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkWindow.html";
 "\">GtkWindow</link>"
@@ -5749,7 +5924,7 @@ msgstr ""
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
-#: C/buttonbox.py.page:23(media)
+#: C/buttonbox.py.page:24(media)
 msgctxt "_"
 msgid ""
 "external ref='media/buttonbox_calculator.png' "
@@ -5763,19 +5938,19 @@ msgctxt "text"
 msgid "ButtonBox (Python)"
 msgstr "ButtonBox (Python)"
 
-#: C/buttonbox.py.page:18(info/desc)
+#: C/buttonbox.py.page:19(info/desc)
 msgid "A container for arranging buttons"
 msgstr "Ένας περιέκτης για διευθέτηση κουμπιών"
 
-#: C/buttonbox.py.page:21(page/title)
+#: C/buttonbox.py.page:22(page/title) C/tutorial.py.page:91(steps/title)
 msgid "ButtonBox"
 msgstr "ButtonBox"
 
-#: C/buttonbox.py.page:24(page/p)
+#: C/buttonbox.py.page:25(page/p)
 msgid "A calculator - the buttons are enclosed in horizontal ButtonBoxes."
 msgstr "Μια αριθμομηχανή - τα κουμπιά περικλείονται σε οριζόντια ButtonBoxes."
 
-#: C/buttonbox.py.page:30(section/code)
+#: C/buttonbox.py.page:31(section/code)
 #, no-wrap
 msgid ""
 "from gi.repository import Gtk\n"
@@ -6064,11 +6239,11 @@ msgstr ""
 "exit_status = app.run(sys.argv)\n"
 "sys.exit(exit_status)\n"
 
-#: C/buttonbox.py.page:34(section/title)
+#: C/buttonbox.py.page:35(section/title)
 msgid "Uselful methods for a ButtonBox widget"
 msgstr "Χρήσιμες μέθοδοι για ένα γραφικό συστατικό ButtonBox"
 
-#: C/buttonbox.py.page:36(item/p)
+#: C/buttonbox.py.page:37(item/p)
 msgid ""
 "The layout of the ButtonBox are set with <code>set_layout(layout)</code>, "
 "where <code>layout</code> can be <code>Gtk.ButtonBoxStyle.SPREAD</code> "
@@ -6087,7 +6262,7 @@ msgstr ""
 "ομαδοποιούνται προς το τέλος του πλαισίου), <code>Gtk.ButtonBoxStyle.CENTER</"
 "code> (τα κουμπιά κεντράρονται στο πλαίσιο)."
 
-#: C/buttonbox.py.page:37(item/p)
+#: C/buttonbox.py.page:38(item/p)
 msgid ""
 "<code>set_child_secondary(button, is_secondary)</code> sets whether "
 "<code>button</code> should appear in a secondary group of children. A "
@@ -6110,7 +6285,7 @@ msgstr ""
 "τα κύρια θυγατρικά. Για τους άλλους τύπους, εμφανίζονται αμέσως δίπλα στα "
 "κύρια θυγατρικά."
 
-#: C/buttonbox.py.page:38(item/p)
+#: C/buttonbox.py.page:39(item/p)
 msgid ""
 "<code>set_child_non_homogeneous(button, is_non_homogeneous)</code> sets "
 "whether the child is exempted from homogeous sizing. Default value is "
@@ -6120,7 +6295,7 @@ msgstr ""
 "εάν το θυγατρικό εξαιρείται από το ομογενές μέγεθος. Προεπιλεγμένη τιμή "
 "είναι <code>False</code>."
 
-#: C/buttonbox.py.page:39(item/p)
+#: C/buttonbox.py.page:40(item/p)
 msgid ""
 "<code>set_spacing(spacing)</code> sets the spacing, in pixels, between the "
 "buttons of the box."
@@ -6128,7 +6303,7 @@ msgstr ""
 "<code>set_spacing(spacing)</code> ορίζει το διάκενο, σε εικονοστοιχεία, "
 "μεταξύ των κουμπιών του πλαισίου."
 
-#: C/buttonbox.py.page:47(item/p)
+#: C/buttonbox.py.page:48(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/stable/GtkButtonBox.html";
 "\">GtkButtonBox</link>"
@@ -6136,7 +6311,7 @@ msgstr ""
 "<link href=\"http://developer.gnome.org/gtk3/stable/GtkButtonBox.html";
 "\">GtkButtonBox</link>"
 
-#: C/buttonbox.py.page:48(item/p)
+#: C/buttonbox.py.page:49(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/stable/GtkBox.html\";>GtkBox</"
 "link>"
@@ -6144,7 +6319,7 @@ msgstr ""
 "<link href=\"http://developer.gnome.org/gtk3/stable/GtkBox.html\";>GtkBox</"
 "link>"
 
-#: C/buttonbox.py.page:50(item/p) C/entry.c.page:33(item/p)
+#: C/buttonbox.py.page:51(item/p) C/entry.c.page:33(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/stable/GtkEntry.html";
 "\">GtkEntry</link>"
@@ -6152,7 +6327,7 @@ msgstr ""
 "<link href=\"http://developer.gnome.org/gtk3/stable/GtkEntry.html";
 "\">GtkEntry</link>"
 
-#: C/buttonbox.py.page:51(item/p) C/grid.c.page:35(item/p)
+#: C/buttonbox.py.page:52(item/p) C/grid.c.page:35(item/p)
 #: C/radiobutton.c.page:36(item/p) C/spinbutton.c.page:39(item/p)
 #: C/statusbar.c.page:39(item/p) C/switch.c.page:36(item/p)
 #: C/togglebutton.c.page:39(item/p)
@@ -6169,9 +6344,22 @@ msgid "C"
 msgstr "C"
 
 #: C/c.page:15(page/title)
-msgid "Tutorials, code samples, and plaform demos in C"
+#| msgid "Tutorials, code samples, and plaform demos in C"
+msgid "Tutorials, code samples and plaform demos in C"
 msgstr "Μαθήματα, δείγματα κώδικα και παραδείγματα πλατφόρμας σε C"
 
+#: C/c.page:20(section/title) C/vala.page:25(section/title)
+#| msgid "Code sample with Button"
+msgid "Code samples and tutorial"
+msgstr "Δείγματα κώδικα και μάθημα"
+
+#: C/c.page:27(section/title) C/cpp.page:20(section/title)
+#: C/js.page:35(section/title) C/py.page:38(section/title)
+#: C/vala.page:29(section/title)
+#| msgid "A basic application"
+msgid "Examples of applications"
+msgstr "Παραδείγματα εφαρμογών"
+
 #. This is a reference to an external file such as an image or video. When
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
@@ -6555,7 +6743,6 @@ msgstr ""
 "        this._button.connect (\"toggled\", Lang.bind (this, this._toggledCB));\n"
 
 #: C/checkbutton.js.page:96(section/p)
-#, fuzzy
 msgid ""
 "This code creates the checkbutton itself. The label next to the checkbutton "
 "is created by giving the checkbutton the \"label\" property and assigning a "
@@ -6566,11 +6753,11 @@ msgid ""
 msgstr ""
 "Αυτός ο κώδικας δημιουργεί το ίδιο το πλήκτρο ελέγχου. Η ετικέτα δίπλα στο "
 "πλήκτρο ελέγχου δημιουργείται δίνοντας στο πλήκτρο ελέγχου την ιδιότητα "
-"\"ετικέτα\" και αποδίδοντας την τιμή μιας συμβολοσειράς σε αυτή. Επειδή αυτό "
-"το πλήκτρο ελέγχου εναλλάσσεται εάν ο τίτλος παραθύρου είναι ενεργός ή όχι "
-"και ο τίτλος παραθύρου θα είναι ενεργός στην εκκίνηση, θέλουμε το πλαίσιο να "
+"\"label\" και αποδίδοντας την τιμή μιας συμβολοσειράς σε αυτή. Επειδή αυτό το "
+"πλήκτρο ελέγχου εναλλάσσεται εάν ο τίτλος παραθύρου είναι ενεργός ή όχι και "
+"ο τίτλος παραθύρου θα είναι ενεργός στην εκκίνηση, θέλουμε το πλαίσιο να "
 "σημειωθεί από προεπιλογή. Όταν ο χρήστης σημειώνει ή ξεσημειώνει το πλαίσιο, "
-"καλούμε τη συνάρτηση ._toggledCB."
+"καλούμε τη συνάρτηση _toggledCB."
 
 #: C/checkbutton.js.page:97(section/code)
 #: C/radiobutton.js.page:169(section/code)
@@ -6950,27 +7137,24 @@ msgstr ""
 "exit_status = app.run(sys.argv)\n"
 "sys.exit(exit_status)\n"
 
-#: C/checkbutton.py.page:32(section/p)
-msgid ""
-"We could also create the CheckButton with <code>button = Gtk.CheckButton."
-"new_with_label(\"Show Title\")</code>."
-msgstr ""
-"Θα μπορούσαμε επίσης να δημιουργήσουμε το CheckButton με <code>button = Gtk."
-"CheckButton.new_with_label(\"Show Title\")</code>."
-
-#: C/checkbutton.py.page:37(section/title)
+#: C/checkbutton.py.page:35(section/title)
 msgid "Useful methods for a CheckButton widget"
 msgstr "Χρήσιμες μέθοδοι για ένα γραφικό συστατικό CheckButton"
 
-#: C/checkbutton.py.page:38(section/p) C/switch.py.page:41(section/p)
+#: C/checkbutton.py.page:36(section/p)
 msgid ""
-"For a discussion on signals and callback functions, see <link xref=\"signals-"
-"callbacks.py\">this page</link>."
+"In line 17 the <code>\"toggled\"</code> signal is connected to the callback "
+"function <code>toggled_cb()</code> using <code><var>widget</var>.connect"
+"(<var>signal</var>, <var>callback function</var>)</code>. See <link xref="
+"\"signals-callbacks.py\"/> for a more detailed explanation."
 msgstr ""
-"Για μια συζήτηση των σημάτων και συναρτήσεων επανάκλησης, δείτε <link xref="
-"\"signals-callbacks.py\">αυτήν τη σελίδα</link>."
+"Στη γραμμή 17 το σήμα <code>\"toggled\"</code> συνδέεται με τη συνάρτηση "
+"επανάκλησης <code>toggled_cb()</code> χρησιμοποιώντας "
+"<code><var>widget</var>.connect(<var>signal</var>, <var>callback "
+"function</var>)</code>. Δείτε <link xref=\"signals-callbacks.py\"/> για μια "
+"πιο λεπτομερή εξήγηση."
 
-#: C/checkbutton.py.page:48(item/p) C/togglebutton.py.page:45(item/p)
+#: C/checkbutton.py.page:46(item/p) C/togglebutton.py.page:43(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkToggleButton.html";
 "\">GtkToggleButton</link>"
@@ -6978,7 +7162,7 @@ msgstr ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkToggleButton.html";
 "\">GtkToggleButton</link>"
 
-#: C/checkbutton.py.page:49(item/p)
+#: C/checkbutton.py.page:47(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkCheckButton.html";
 "\">GtkCheckButton</link>"
@@ -7121,7 +7305,7 @@ msgstr ""
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
-#: C/colorbutton.py.page:21(media) C/colorbutton.vala.page:23(media)
+#: C/colorbutton.py.page:22(media) C/colorbutton.vala.page:23(media)
 msgctxt "_"
 msgid ""
 "external ref='media/colorbutton.png' md5='904539d26fe367bf99f9a0961cfc9a03'"
@@ -7133,15 +7317,15 @@ msgctxt "text"
 msgid "ColorButton (Python)"
 msgstr "ColorButton (Python)"
 
-#: C/colorbutton.py.page:17(info/desc) C/colorbutton.vala.page:19(info/desc)
+#: C/colorbutton.py.page:18(info/desc) C/colorbutton.vala.page:19(info/desc)
 msgid "A button to launch a color selection dialog"
 msgstr "Ένα κουμπί για εκκίνηση του διαλόγου επιλογής χρώματος"
 
-#: C/colorbutton.py.page:20(page/title) C/colorbutton.vala.page:22(page/title)
+#: C/colorbutton.py.page:21(page/title) C/colorbutton.vala.page:22(page/title)
 msgid "ColorButton"
 msgstr "ColorButton"
 
-#: C/colorbutton.py.page:22(page/p)
+#: C/colorbutton.py.page:23(page/p)
 msgid ""
 "This ColorButton launches a color selection dialog and prints in the "
 "terminal the RGB values of the color selected."
@@ -7149,7 +7333,7 @@ msgstr ""
 "Αυτό το ColorButton ξεκινά τον διάλογο επιλογής χρωμάτων και τυπώνει στον "
 "τερματικό τις τιμές RGB του επιλεγμένου χρώματος."
 
-#: C/colorbutton.py.page:28(section/code)
+#: C/colorbutton.py.page:29(section/code)
 #, no-wrap
 msgid ""
 "from gi.repository import Gtk\n"
@@ -7258,11 +7442,11 @@ msgstr ""
 "exit_status = app.run(sys.argv)\n"
 "sys.exit(exit_status)\n"
 
-#: C/colorbutton.py.page:32(section/title)
+#: C/colorbutton.py.page:33(section/title)
 msgid "Useful methods for a ColorButton widget"
 msgstr "Χρήσιμες μέθοδοι για ένα γραφικό συστατικό ColorButton"
 
-#: C/colorbutton.py.page:33(section/p)
+#: C/colorbutton.py.page:34(section/p)
 msgid ""
 "<code>set_color(color)</code>, where the <code>color</code> is defined as in "
 "the example, sets the color of the ColorButton, which by default is black. "
@@ -7272,7 +7456,20 @@ msgstr ""
 "παράδειγμα, ορίζει το χρώμα του ColorButton, που από προεπιλογή είναι μαύρο. "
 "<code>get_color()</code> επιστρέφει το χρώμα."
 
-#: C/colorbutton.py.page:40(item/p)
+#: C/colorbutton.py.page:35(section/p)
+msgid ""
+"In line 23 the <code>\"color-set\"</code> signal is connected to the "
+"callback function <code>on_color_chosen()</code> using <code><var>widget</"
+"var>.connect(<var>signal</var>, <var>callback function</var>)</code>. See "
+"<link xref=\"signals-callbacks.py\"/> for a more detailed explanation."
+msgstr ""
+"Στη γραμμή 23 το σήμα <code>\"color-set\"</code> συνδέεται με τη συνάρτηση "
+"επανάκλησης <code>on_color_chosen()</code> χρησιμοποιώντας "
+"<code><var>widget</var>.connect(<var>signal</var>, <var>callback "
+"function</var>)</code>. Δείτε <link xref=\"signals-callbacks.py\"/> για μια "
+"πιο λεπτομερή εξήγηση."
+
+#: C/colorbutton.py.page:42(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkColorButton.html";
 "\">GtkColorButton</link>"
@@ -7280,7 +7477,7 @@ msgstr ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkColorButton.html";
 "\">GtkColorButton</link>"
 
-#: C/colorbutton.py.page:41(item/p)
+#: C/colorbutton.py.page:43(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkColorChooser.html";
 "\">GtkColorChooser</link>"
@@ -7288,7 +7485,7 @@ msgstr ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkColorChooser.html";
 "\">GtkColorChooser</link>"
 
-#: C/colorbutton.py.page:42(item/p)
+#: C/colorbutton.py.page:44(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gdk3/stable/gdk3-RGBA-Colors.html";
 "\">RGBA Colors</link>"
@@ -7415,7 +7612,7 @@ msgstr ""
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
-#: C/comboboxtext.js.page:23(media) C/combobox.py.page:21(media)
+#: C/comboboxtext.js.page:23(media) C/combobox.py.page:23(media)
 #: C/combobox.vala.page:21(media)
 msgctxt "_"
 msgid ""
@@ -8105,9 +8302,7 @@ msgstr "ComboBox (JavaScript)"
 msgid "A customizable drop-down menu"
 msgstr "Ένα προσαρμόσιμο πτυσσόμενο μενού"
 
-#: C/combobox.js.page:24(page/title) C/combobox.py.page:20(page/title)
-#: C/combobox.vala.page:20(page/title)
-#: C/combobox_multicolumn.py.page:21(page/title)
+#: C/combobox.js.page:24(page/title) C/combobox.vala.page:20(page/title)
 msgid "ComboBox"
 msgstr "ComboBox"
 
@@ -8627,15 +8822,14 @@ msgstr ""
 "file>, που επιστρέφει τον αριθμό ταυτότητας της επιλογής σας."
 
 #: C/combobox.js.page:204(note/p)
-#, fuzzy
 msgid ""
 "Other methods you can use include <file>get_active_id</file>, which returns "
 "the text ID assigned by <file>append</file>, and <file>get_active_text</"
 "file>, which returns the full text of the string you selected."
 msgstr ""
 "Άλλες μέθοδοι που μπορείτε να χρησιμοποιήσετε περιλαμβάνουν "
-"<file>get_active_id,</file> που επιστρέφει την ταυτότητα κειμένου που "
-"αποδόθηκε από <file>append,</file> και <file>get_active_text,</file> που "
+"<file>get_active_id,</file> που επιστρέφει το αναγνωριστικό κειμένου που "
+"αποδόθηκε από <file>append</file> και <file>get_active_text,</file> που "
 "επιστρέφει το πλήρες κείμενο της επιλεγμένης συμβολοσειράς."
 
 #: C/combobox.js.page:218(section/code)
@@ -8985,18 +9179,24 @@ msgctxt "text"
 msgid "ComboBox (Python)"
 msgstr "ComboBox (Python)"
 
-#: C/combobox.py.page:17(info/desc) C/combobox.vala.page:17(info/desc)
+#: C/combobox.py.page:19(info/desc) C/combobox.vala.page:17(info/desc)
 #: C/combobox_multicolumn.py.page:18(info/desc)
 msgid "A widget used to choose from a list of items"
 msgstr ""
 "Ένα γραφικό συστατικό χρησιμοποιείται για επιλογή από μια λίστα στοιχείων"
 
-#: C/combobox.py.page:22(page/p) C/combobox_multicolumn.py.page:23(page/p)
+#: C/combobox.py.page:22(page/title)
+#| msgctxt "text"
+#| msgid "ComboBox (Python)"
+msgid "ComboBox (one column)"
+msgstr "ComboBox (μία στήλη)"
+
+#: C/combobox.py.page:24(page/p) C/combobox_multicolumn.py.page:23(page/p)
 msgid "This ComboBox prints to the terminal your selection when you change it."
 msgstr ""
 "Αυτό το ComboBox τυπώνει στον τερματικό την επιλογή σας όταν την αλλάζετε."
 
-#: C/combobox.py.page:28(section/code)
+#: C/combobox.py.page:30(section/code)
 #, no-wrap
 msgid ""
 "from gi.repository import Gtk\n"
@@ -9121,35 +9321,59 @@ msgstr ""
 "exit_status = app.run(sys.argv)\n"
 "sys.exit(exit_status)\n"
 
-#: C/combobox.py.page:32(section/title)
+#: C/combobox.py.page:34(section/title)
 #: C/combobox_multicolumn.py.page:34(section/title)
 msgid "Useful methods for a ComboBox widget"
-msgstr "Χρήσιμες μέθοδοι για ένα γραφικό συστατικό ComboBox"
+msgstr "Χρήσιμες μέθοδοι για ένα γραφικό συστατικό σύνθετουπλαισίου"
 
-#: C/combobox.py.page:33(section/p)
+#: C/combobox.py.page:35(section/p)
 #: C/combobox_multicolumn.py.page:35(section/p)
+#| msgid ""
+#| "The ComboBox widget is designed around a <em>Model/View/Controller</em> "
+#| "design. For more information, and for a list of useful methods for "
+#| "ComboBox and TreeModel, see <link xref=\"model-view-controller.py\">here</"
+#| "link>."
 msgid ""
 "The ComboBox widget is designed around a <em>Model/View/Controller</em> "
-"design. For more information, and for a list of useful methods for ComboBox "
-"and TreeModel, see <link xref=\"model-view-controller.py\">here</link>."
-msgstr ""
-"Το γραφικό συστατικό ComboBox σχεδιάστηκε γύρω από ένα σχέδιο <em>προτύπου/"
-"προβολής/ελεγκτή</em>. Για περισσότερες πληροφορίες και για μια λίστα "
-"χρήσιμων μεθόδων για ComboBox και TreeModel, δείτε <link xref=\"model-view-"
-"controller.py\">εδώ</link>."
-
-#: C/combobox.py.page:40(item/p) C/combobox_multicolumn.py.page:43(item/p)
-#: C/model-view-controller.py.page:188(item/p)
+"design: the <em>Model</em> stores the data; the <em>View</em> gets change "
+"notifications and displays the content of the model; the <em>Controller</"
+"em>, finally, changes the state of the model and notifies the view of these "
+"changes. For more information and for a list of useful methods for ComboBox "
+"see <link xref=\"model-view-controller.py\"/>."
+msgstr ""
+"Το γραφικό συστατικό ComboBox σχεδιάστηκε γύρω από ένα σχέδιο "
+"<em>προτύπου/προβολής/ελεγκτή</em>: το <em>πρότυπο</em> αποθηκεύει τα "
+"δεδομένα· το <em>Προβολή</em> παίρνει ειδοποιήσεις αλλαγής και εμφανίζει το "
+"περιεχόμενο του προτύπου· ο <em>ελεγκτής</em>, τελικά, αλλάζει την κατάσταση "
+"του προτύπου και ειδοποιεί την προβολή για αυτές τις αλλαγές. Για "
+"περισσότερες πληροφορίες και για μια λίστα χρήσιμων μεθόδων για ComboBox, "
+"δείτε <link xref=\"model-view-controller.py\"/>."
+
+#: C/combobox.py.page:36(section/p)
+msgid ""
+"In line 35 the <code>\"changed\"</code> signal is connected to the callback "
+"function <code>on_changed()</code> using <code><var>widget</var>.connect"
+"(<var>signal</var>, <var>callback function</var>)</code>. See <link xref="
+"\"signals-callbacks.py\"/> for a more detailed explanation."
+msgstr ""
+"Στη γραμμή 35 το σήμα <code>\"changed\"</code> συνδέεται με τη συνάρτηση "
+"επανάκλησης <code>on_changed()</code> χρησιμοποιώντας "
+"<code><var>widget</var>.connect(<var>signal</var>, <var>callback "
+"function</var>)</code>. Δείτε <link xref=\"signals-callbacks.py\"/> για μια "
+"πιο λεπτομερή εξήγηση."
+
+#: C/combobox.py.page:44(item/p) C/combobox_multicolumn.py.page:43(item/p)
+#: C/model-view-controller.py.page:189(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkComboBox.html";
 "\">GtkComboBox</link>"
 msgstr ""
-"<link href=\"http://developer.gnome.org/gtk3/unstable/GtkComboBox.html";
-"\">GtkComboBox</link>"
+"<link href=\"http://developer.gnome.org/gtk3/unstable/GtkComboBox.html\";>GtkCo"
+"mboBox</link>"
 
-#: C/combobox.py.page:41(item/p) C/combobox_multicolumn.py.page:44(item/p)
-#: C/treeview_advanced_liststore.py.page:47(item/p)
-#: C/treeview_simple_liststore.py.page:45(item/p)
+#: C/combobox.py.page:45(item/p) C/combobox_multicolumn.py.page:44(item/p)
+#: C/treeview_advanced_liststore.py.page:45(item/p)
+#: C/treeview_simple_liststore.py.page:46(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkListStore.html";
 "\">GtkListStore</link>"
@@ -9157,11 +9381,11 @@ msgstr ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkListStore.html";
 "\">GtkListStore</link>"
 
-#: C/combobox.py.page:42(item/p) C/combobox_multicolumn.py.page:45(item/p)
-#: C/treeview_advanced_liststore.py.page:48(item/p)
-#: C/treeview_cellrenderertoggle.py.page:44(item/p)
-#: C/treeview_simple_liststore.py.page:46(item/p)
-#: C/treeview_treestore.py.page:44(item/p)
+#: C/combobox.py.page:46(item/p) C/combobox_multicolumn.py.page:45(item/p)
+#: C/treeview_advanced_liststore.py.page:46(item/p)
+#: C/treeview_cellrenderertoggle.py.page:46(item/p)
+#: C/treeview_simple_liststore.py.page:47(item/p)
+#: C/treeview_treestore.py.page:46(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkCellRendererText.";
 "html\">GtkCellRendererText</link>"
@@ -9169,7 +9393,7 @@ msgstr ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkCellRendererText.";
 "html\">GtkCellRendererText</link>"
 
-#: C/combobox.py.page:43(item/p)
+#: C/combobox.py.page:47(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkCellLayout.html";
 "\">GtkCellLayout</link>"
@@ -9177,13 +9401,15 @@ msgstr ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkCellLayout.html";
 "\">GtkCellLayout</link>"
 
-#: C/combobox.py.page:44(item/p) C/combobox_multicolumn.py.page:48(item/p)
-#: C/treeview_advanced_liststore.py.page:50(item/p)
-#: C/treeview_simple_liststore.py.page:48(item/p)
+#: C/combobox.py.page:48(item/p) C/combobox_multicolumn.py.page:48(item/p)
+#: C/treeview_advanced_liststore.py.page:48(item/p)
+#: C/treeview_simple_liststore.py.page:49(item/p)
 msgid ""
 "<link href=\"http://git.gnome.org/browse/pygobject/tree/gi/overrides/Gtk.py";
 "\">pygobject - Python bindings for GObject Introspection</link>"
 msgstr ""
+"<link href=\"http://git.gnome.org/browse/pygobject/tree/gi/overrides/Gtk.py\";>"
+"pygobject - δεσμεύσεις Python για αυτοέλεγχο GObject</link>"
 
 #: C/combobox.vala.page:7(info/title)
 msgctxt "text"
@@ -9390,6 +9616,12 @@ msgstr ""
 "<link href=\"http://www.valadoc.org/gtk+-3.0/Gtk.CellLayout.set_attributes.";
 "html\">set_attributes</link>"
 
+#: C/combobox_multicolumn.py.page:21(page/title)
+#| msgctxt "text"
+#| msgid "ComboBox (Python)"
+msgid "ComboBox (two columns)"
+msgstr "ComboBox (δύο στήλες)"
+
 #: C/combobox_multicolumn.py.page:29(section/code)
 #, no-wrap
 msgid ""
@@ -9537,6 +9769,19 @@ msgstr ""
 "exit_status = app.run(sys.argv)\n"
 "sys.exit(exit_status)\n"
 
+#: C/combobox_multicolumn.py.page:36(section/p)
+msgid ""
+"In line 45 the <code>\"changed\"</code> signal is connected to the callback "
+"function <code>on_changed()</code> using <code><var>widget</var>.connect"
+"(<var>signal</var>, <var>callback function</var>)</code>. See <link xref="
+"\"signals-callbacks.py\"/> for a more detailed explanation."
+msgstr ""
+"Στη γραμμή 45 το σήμα <code>\"changed\"</code> συνδέεται με τη συνάρτηση "
+"επανάκλησης <code>on_changed()</code> χρησιμοποιώντας "
+"<code><var>widget</var>.connect(<var>signal</var>, <var>callback "
+"function</var>)</code>. Δείτε <link xref=\"signals-callbacks.py\"/> για μια "
+"πιο λεπτομερή εξήγηση."
+
 #: C/combobox_multicolumn.py.page:46(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkCellRendererPixbuf.";
@@ -9545,7 +9790,7 @@ msgstr ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkCellRendererPixbuf.";
 "html\">GtkCellRendererPixbuf</link>"
 
-#: C/combobox_multicolumn.py.page:47(item/p) C/toolbar.py.page:55(item/p)
+#: C/combobox_multicolumn.py.page:47(item/p) C/toolbar.py.page:57(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/gtk3-Stock-Items.html";
 "\">Stock Items</link>"
@@ -9559,8 +9804,9 @@ msgid "C++"
 msgstr "C++"
 
 #: C/cpp.page:15(page/title)
-msgid "Platform demos in C++"
-msgstr "Παραδείγματα πλατφόρμας σε C++"
+#| msgid "Tutorials, code samples, and plaform demos in C"
+msgid "Code samples and platform demos in C++"
+msgstr "Δείγματα κώδικα και παρουσιάσεις πλατφόρμας σε C++"
 
 #. This is a reference to an external file such as an image or video. When
 #. the file changes, the md5 hash will change to let you know you need to
@@ -9582,7 +9828,7 @@ msgstr "Παραδείγματα πλατφόρμας σε C++"
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/dialog.c.page:24(media) C/dialog.js.page:21(media)
-#: C/dialog.py.page:22(media) C/dialog.vala.page:21(media)
+#: C/dialog.py.page:23(media) C/dialog.vala.page:21(media)
 msgctxt "_"
 msgid "external ref='media/dialog.png' md5='c90a33386a600e892fe623d4072c8c38'"
 msgstr "external ref='media/dialog.png' md5='c90a33386a600e892fe623d4072c8c38'"
@@ -9593,12 +9839,12 @@ msgid "Dialog (C)"
 msgstr "Διάλογος (C)"
 
 #: C/dialog.c.page:19(info/desc) C/dialog.js.page:17(info/desc)
-#: C/dialog.py.page:18(info/desc) C/dialog.vala.page:17(info/desc)
+#: C/dialog.py.page:19(info/desc) C/dialog.vala.page:17(info/desc)
 msgid "A popup window"
 msgstr "Ένα αναδυόμενο παράθυρο"
 
 #: C/dialog.c.page:22(page/title) C/dialog.js.page:20(page/title)
-#: C/dialog.py.page:21(page/title) C/dialog.vala.page:20(page/title)
+#: C/dialog.py.page:22(page/title) C/dialog.vala.page:20(page/title)
 msgid "Dialog"
 msgstr "Διάλογος"
 
@@ -10038,12 +10284,12 @@ msgctxt "text"
 msgid "Dialog (Python)"
 msgstr "Διάλογος (Python)"
 
-#: C/dialog.py.page:23(page/p)
+#: C/dialog.py.page:24(page/p)
 msgid "A dialog with the response signal connected to a callback function."
 msgstr ""
 "Ένας διάλογος με το σήμα απάντησης συνδεμένο σε μια συνάρτηση επανάκλησης."
 
-#: C/dialog.py.page:30(section/code)
+#: C/dialog.py.page:31(section/code)
 #, no-wrap
 msgid ""
 "from gi.repository import Gtk\n"
@@ -10164,11 +10410,24 @@ msgstr ""
 "exit_status = app.run(sys.argv)\n"
 "sys.exit(exit_status)\n"
 
-#: C/dialog.py.page:35(section/title)
+#: C/dialog.py.page:36(section/title)
 msgid "Useful methods for a Dialog widget"
 msgstr "Χρήσιμες μέθοδοι για ένα γραφικό συστατικό διαλόγου"
 
-#: C/dialog.py.page:38(item/p)
+#: C/dialog.py.page:37(section/p)
+msgid ""
+"In line 16 the signal <code>\"clicked\"</code> is connected to the callback "
+"function <code>on_button_click()</code> using <code><var>widget</var>.connect"
+"(<var>signal</var>, <var>callback function</var>)</code>. See <link xref="
+"\"signals-callbacks.py\"/> for a more detailed explanation."
+msgstr ""
+"Στη γραμμή 16 το σήμα <code>\"clicked\"</code> συνδέεται με τη συνάρτηση "
+"επανάκλησης <code>on_button_click()</code> χρησιμοποιώντας "
+"<code><var>widget</var>.connect(<var>signal</var>, <var>callback "
+"function</var>)</code>. Δείτε <link xref=\"signals-callbacks.py\"/> για μια "
+"πιο λεπτομερή εξήγηση."
+
+#: C/dialog.py.page:39(item/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 "
@@ -10178,7 +10437,7 @@ msgstr ""
 "ακολουθούμενο από <code>set_destroy_with_parent(True)</code> που μπορεί να "
 "καταστρέψει το παράθυρο διαλόγου εάν το κύριο παράθυρο κλείσει."
 
-#: C/dialog.py.page:39(item/p)
+#: C/dialog.py.page:40(item/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"
@@ -10194,7 +10453,7 @@ msgstr ""
 "CANCEL, CLOSE, YES, NO, APPLY, HELP</code>, που με τη σειρά του αντιστοιχεί "
 "σε ακέραιους <code>-5, -6,..., -11</code>."
 
-#: C/dialog.py.page:49(item/p) C/messagedialog.py.page:59(item/p)
+#: C/dialog.py.page:50(item/p) C/messagedialog.py.page:59(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkDialog.html";
 "\">GtkDialog</link>"
@@ -10453,7 +10712,7 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/entry.c.page:22(media) C/entry.js.page:21(media)
-#: C/entry.py.page:26(media) C/entry.vala.page:21(media)
+#: C/entry.py.page:28(media) C/entry.vala.page:21(media)
 msgctxt "_"
 msgid "external ref='media/entry.png' md5='8a828cffdcbaa4bad83342e109f28cc8'"
 msgstr "external ref='media/entry.png' md5='8a828cffdcbaa4bad83342e109f28cc8'"
@@ -10463,13 +10722,13 @@ msgctxt "text"
 msgid "Entry (C)"
 msgstr "Καταχώριση (C)"
 
-#: C/entry.c.page:17(info/desc) C/entry.py.page:22(info/desc)
+#: C/entry.c.page:17(info/desc) C/entry.py.page:24(info/desc)
 #: C/entry.vala.page:17(info/desc)
 msgid "A single line text entry field"
 msgstr "Ένα πεδίο καταχώρισης κειμένου μοναδικής γραμμής"
 
 #: C/entry.c.page:20(page/title) C/entry.js.page:20(page/title)
-#: C/entry.py.page:25(page/title) C/entry.vala.page:20(page/title)
+#: C/entry.py.page:27(page/title) C/entry.vala.page:20(page/title)
 msgid "Entry"
 msgstr "Καταχώριση"
 
@@ -10805,20 +11064,20 @@ msgctxt "text"
 msgid "Entry (Python)"
 msgstr "Καταχώριση (Python)"
 
-#: C/entry.py.page:18(credit/name) C/label.py.page:18(credit/name)
-#: C/model-view-controller.py.page:14(credit/name)
-#: C/properties.py.page:14(credit/name)
-#: C/signals-callbacks.py.page:14(credit/name)
-#: C/strings.py.page:14(credit/name) C/textview.py.page:14(credit/name)
-#: C/toolbar_builder.py.page:26(credit/name)
+#: C/entry.py.page:20(credit/name) C/label.py.page:20(credit/name)
+#: C/model-view-controller.py.page:15(credit/name)
+#: C/properties.py.page:15(credit/name)
+#: C/signals-callbacks.py.page:15(credit/name)
+#: C/strings.py.page:15(credit/name) C/textview.py.page:15(credit/name)
+#: C/toolbar_builder.py.page:27(credit/name)
 msgid "Sebastian Pölsterl"
 msgstr "Sebastian Pölsterl"
 
-#: C/entry.py.page:27(page/p)
+#: C/entry.py.page:29(page/p)
 msgid "This application greets you in the terminal with the name you provide."
 msgstr "Αυτή η εφαρμογή σας χαιρετά στον τερματικό με το όνομα που δώσατε."
 
-#: C/entry.py.page:33(section/code)
+#: C/entry.py.page:35(section/code)
 #, no-wrap
 msgid ""
 "from gi.repository import Gtk\n"
@@ -10901,48 +11160,68 @@ msgstr ""
 "exit_status = app.run(sys.argv)\n"
 "sys.exit(exit_status)\n"
 
-#: C/entry.py.page:37(section/title)
+#: C/entry.py.page:39(section/title)
 msgid "Useful methods for an Entry widget"
 msgstr "Χρήσιμες μέθοδοι για γραφικό συστατικό εισαγωγής"
 
-#: C/entry.py.page:38(section/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 ""
-"Για μια εξήγηση των σημάτων και των συναρτήσεων επανάκλησης, δείτε <link "
-"xref=\"signals-callbacks.py\">αυτήν τη σελίδα</link>. Μερικά από τα σήματα "
-"που το γραφικό συστατικό Gtk.Entry μπορεί να εκπέμψει είναι: <code>\"activate"
-"\"</code> (εκπεμπόμενο όταν ο χρήστης ενεργοποιεί το πλήκτρο εισαγωγής)· "
-"<code>\"backspace\"</code> (εκπεμπόμενη όταν ο χρήστης ενεργοποιεί την "
-"οπισθοδιαγραφή ή τα πλήκτρα Shift-οπισθοδιαγραφή)· <code>\"copy-clipboard\"</"
-"code> (Ctrl-c και Ctrl-Insert); <code>\"paste-clipboard\"</code> (Ctrl-v και "
-"Shift-Insert); <code>\"delete-from-cursor\"</code> (διαγραφή, για να "
-"διαγρφτεί ένας χαρακτήρας· Ctrl-διαγραφή, για να διαγραφτεί μια λέξη)· <code>"
-"\"icon-press\"</code> (εκπεμπόμενο όταν ο χρήστης πατά ένα ενεργοποιήσιμο "
-"εικονίδιο)· <code>\"icon-release\"</code> (εκπεμπόμενη με την απελευθέρωση "
-"του κουμπιού από ένα πάτημα του ποντικιού πάνω από ένα ενεργοποιήσιμο "
-"εικονίδιο)· <code>\"insert-at-cursor\"</code> (εκπεμπόμενη όταν ο χρήστης "
-"αρχικοποιεί την εισαγωγή μιας σταθερής συμβολοσειράς στον δρομέα)· <code>"
-"\"move-cursor\"</code> (εκπεμπόμενη όταν ο χρήστης αρχικοποιεί μια "
-"μετακίνηση δρομέα)· <code>\"populate-popup\"</code> (εκπεμπόμενη πριν την "
-"προβολή του μενού περιεχομένου της εισαγωγής· μπορεί να χρησιμοποιηθεί για "
-"προσθήκη στοιχείων σε αυτή)."
-
-#: C/entry.py.page:40(item/p)
+#: C/entry.py.page:40(section/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)."
+msgid ""
+"In line 14 the signal <code>\"activate\"</code> is connected to the callback "
+"function <code>cb_activate()</code> using <code><var>widget</var>.connect"
+"(<var>signal</var>, <var>callback function</var>)</code>. See <link xref="
+"\"signals-callbacks.py\"/> for a more detailed explanation. 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 ""
+"Στη γραμμή 14 το σήμα <code>\"activate\"</code> συνδέεται με τη συνάρτηση "
+"επανάκλησης <code>cb_activate()</code> χρησιμοποιώντας "
+"<code><var>widget</var>.connect(<var>signal</var>, <var>callback "
+"function</var>)</code>. Δείτε <link xref=\"signals-callbacks.py\"/> για μια "
+"πιο λεπτομερή εξήγηση. Μερικά από τα σήματα που το γραφικό συστατικό "
+"Gtk.Entry μπορεί να εκπέμψει είναι: <code>\"activate\"</code> (εκπεμπόμενο "
+"όταν ο χρήστης ενεργοποιεί το πλήκτρο εισαγωγής)· <code>\"backspace\"</code> "
+"(εκπεμπόμενο όταν ο χρήστης ενεργοποιεί την οπισθοδιαγραφή ή τα πλήκτρα "
+"Shift-οπισθοδιαγραφή)· <code>\"copy-clipboard\"</code> (Ctrl-c και Ctrl-"
+"Insert); <code>\"paste-clipboard\"</code> (Ctrl-v και Shift-Insert); <code"
+">\"delete-from-cursor\"</code> (διαγραφή, για να διαγραφτεί ένας χαρακτήρας· "
+"Ctrl-διαγραφή, για να διαγραφτεί μια λέξη)· <code>\"icon-press\"</code> "
+"(εκπεμπόμενο όταν ο χρήστης πατά ένα ενεργοποιήσιμο εικονίδιο)· <code>\"icon-"
+"release\"</code> (εκπεμπόμενο με την απελευθέρωση του κουμπιού από ένα πάτημα "
+"του ποντικιού πάνω από ένα ενεργοποιήσιμο εικονίδιο)· <code>\"insert-at-"
+"cursor\"</code> (εκπεμπόμενο όταν ο χρήστης αρχικοποιεί την εισαγωγή μιας "
+"σταθερής συμβολοσειράς στον δρομέα)· <code>\"move-cursor\"</code> (εκπεμπόμενο "
+"όταν ο χρήστης αρχικοποιεί μια μετακίνηση δρομέα)· <code>\"populate-"
+"popup\"</code> (εκπεμπόμενο πριν την προβολή του μενού περιεχομένου της "
+"εισαγωγής· μπορεί να χρησιμοποιηθεί για προσθήκη στοιχείων σε αυτή)."
+
+#: C/entry.py.page:42(item/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 "
@@ -10952,7 +11231,7 @@ msgstr ""
 "<code>buffer</code> είναι ένα αντικείμενο Gtk.EntryBuffer, μπορούν να "
 "χρησιμοποιηθούν για λήψη και ορισμό της ενδιάμεσης μνήμης για την εισαγωγή."
 
-#: C/entry.py.page:41(item/p)
+#: C/entry.py.page:43(item/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."
@@ -10960,18 +11239,18 @@ msgstr ""
 "<code>get_text()</code> και <code>set_text(\"some text\")</code> μπορούν να "
 "χρησιμοποιηθούν για λήψη και ορισμό του περιεχομένου για την εισαγωγή."
 
-#: C/entry.py.page:42(item/p)
+#: C/entry.py.page:44(item/p)
 msgid "<code>get_text_length()</code> is self-explanatory."
 msgstr "<code>get_text_length()</code> είναι αυτονόητο."
 
-#: C/entry.py.page:43(item/p)
+#: C/entry.py.page:45(item/p)
 msgid ""
 "<code>get_text_area()</code> gets the area where the entry's text is drawn."
 msgstr ""
 "<code>get_text_area()</code> δέχεται την περιοχή όπου το κείμενο εισαγωγής "
 "σύρεται."
 
-#: C/entry.py.page:44(item/p)
+#: C/entry.py.page:46(item/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 "
@@ -10986,7 +11265,7 @@ msgstr ""
 "χαρακτήρας Unicode. Η τελευταία μέθοδος αντιστρέφεται με τον "
 "<code>unset_invisbile_char()</code>."
 
-#: C/entry.py.page:45(item/p)
+#: C/entry.py.page:47(item/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 "
@@ -10996,7 +11275,7 @@ msgstr ""
 "που περικόπτει κάθε καταχώριση μεγαλύτερη από <code>int</code> για να έχει "
 "το επιθυμητό μέγιστο μήκος."
 
-#: C/entry.py.page:46(item/p)
+#: C/entry.py.page:48(item/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 "
@@ -11009,13 +11288,13 @@ msgstr ""
 "<code>set_default(widget)</code> στο παράθυρο), έπειτα χρησιμοποιήστε "
 "<code>set_activates_default(True)</code>."
 
-#: C/entry.py.page:47(item/p)
+#: C/entry.py.page:49(item/p)
 msgid "To set a frame around the entry: <code>set_has_frame(True)</code>."
 msgstr ""
 "Για τον ορισμό ενός πλαισίου γύρω από την καταχώριση: <code>set_has_frame"
 "(True)</code>."
 
-#: C/entry.py.page:48(item/p)
+#: C/entry.py.page:50(item/p)
 msgid ""
 "<code>set_placeholder_text(\"some text\")</code> sets the text to be "
 "displayed in the entry when it is empty and unfocused."
@@ -11023,7 +11302,7 @@ msgstr ""
 "Ο <code>set_placeholder_text(\"some text\")</code> ορίζει το εμφανιζόμενο "
 "κείμενο στην καταχώριση όταν είναι κενό και χωρίς εστίαση."
 
-#: C/entry.py.page:49(item/p)
+#: C/entry.py.page:51(item/p)
 msgid ""
 "<code>set_overwrite_mode(True)</code> and <code>set_overwrite_mode(False)</"
 "code> are self-explanatory."
@@ -11031,7 +11310,7 @@ msgstr ""
 "<code>set_overwrite_mode(True)</code> και <code>set_overwrite_mode(False)</"
 "code> είναι αυτονόητα."
 
-#: C/entry.py.page:50(item/p)
+#: C/entry.py.page:52(item/p)
 msgid ""
 "If we have <code>set_editable(False)</code> the user cannot edit the text in "
 "the widget."
@@ -11039,7 +11318,7 @@ msgstr ""
 "Εάν έχουμε <code>set_editable(False)</code> ο χρήστης δεν μπορεί να "
 "επεξεργαστεί το κείμενο στο γραφικό συστατικό."
 
-#: C/entry.py.page:51(item/p)
+#: C/entry.py.page:53(item/p)
 msgid ""
 "<code>set_completion(completion)</code>, where <code>completion</code> is a "
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkEntryCompletion.html";
@@ -11052,7 +11331,7 @@ msgstr ""
 "την ολοκλήρωση - ή το απενεργοποιεί εάν η <code>completion</code> είναι "
 "<code>None</code>."
 
-#: C/entry.py.page:52(item/p)
+#: C/entry.py.page:54(item/p)
 msgid ""
 "An Entry widget can display progress or activity information behind the "
 "text. We use <code>set_progress_fraction(fraction)</code>, where "
@@ -11082,7 +11361,7 @@ msgstr ""
 "παλμό καθορίζεται, όπως ειπώθηκε πριν, κατά <code>set_progress_pulse_step()</"
 "code>)."
 
-#: C/entry.py.page:53(item/p)
+#: C/entry.py.page:55(item/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 "
@@ -11110,7 +11389,7 @@ msgstr ""
 "code> ή <code>set_icon_tooltip_markup(\"tooltip text in Pango markup language"
 "\")</code>."
 
-#: C/entry.py.page:61(item/p)
+#: C/entry.py.page:63(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkEntry.html";
 "\">GtkEntry</link>"
@@ -11242,7 +11521,7 @@ msgstr ""
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
-#: C/filechooserdialog.py.page:24(media)
+#: C/filechooserdialog.py.page:25(media)
 msgctxt "_"
 msgid ""
 "external ref='media/filechooserdialog_save.png' "
@@ -11255,7 +11534,7 @@ msgstr ""
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
-#: C/filechooserdialog.py.page:26(media)
+#: C/filechooserdialog.py.page:27(media)
 msgctxt "_"
 msgid ""
 "external ref='media/filechooserdialog_menu.png' "
@@ -11269,16 +11548,16 @@ msgctxt "text"
 msgid "FileChooserDialog (Python)"
 msgstr "FileChooserDialog (Python)"
 
-#: C/filechooserdialog.py.page:20(info/desc)
+#: C/filechooserdialog.py.page:21(info/desc)
 msgid "A dialog suitable for \"Open\" and \"Save\" commands"
 msgstr "Ένας διάλογος κατάλληλος για τις εντολές \"Open\" και \"Save\""
 
-#: C/filechooserdialog.py.page:23(page/title)
+#: C/filechooserdialog.py.page:24(page/title)
 #: C/filechooserdialog.vala.page:23(page/title)
 msgid "FileChooserDialog"
 msgstr "FileChooserDialog"
 
-#: C/filechooserdialog.py.page:25(page/p)
+#: C/filechooserdialog.py.page:26(page/p)
 msgid ""
 "This FileChooserDialog saves a text document, which can be opened or written "
 "from scratch in a TextView (see below)."
@@ -11286,17 +11565,17 @@ msgstr ""
 "Αυτός ο FileChooserDialog αποθηκεύει ένα έγγραφο κειμένου, που μπορεί να "
 "ανοιχτεί ή να γραφτεί από την αρχή σε μια TextView (δείτε παρακάτω)."
 
-#: C/filechooserdialog.py.page:27(page/p)
+#: C/filechooserdialog.py.page:28(page/p)
 msgid "It is also possible to call a FileChooserDialog to open a new document."
 msgstr ""
 "Είναι επίσης πιθανό να καλείτε έναν FileChooserDialog για να ανοίξετε ένα "
 "νέο έγγραφο."
 
-#: C/filechooserdialog.py.page:32(section/title)
+#: C/filechooserdialog.py.page:33(section/title)
 msgid "Steps to recreate the example"
 msgstr "Βήματα για αναδημιουργία του παραδείγματος"
 
-#: C/filechooserdialog.py.page:34(item/p)
+#: C/filechooserdialog.py.page:35(item/p)
 msgid ""
 "Create a file .ui to describe an app-menu with items \"New\", \"Open\", "
 "\"Save\", \"Save as\", and \"Quit\". This can be done with Glade or in a "
@@ -11306,7 +11585,7 @@ msgstr ""
 "στοιχεία \"New\", \"Open\", \"Save\", \"Save as\" και \"Quit\". Αυτό μπορεί "
 "να γίνει με Glade ή έναν επεξεργαστή κειμένου. Δείτε <link xref=\"#xml\"/>"
 
-#: C/filechooserdialog.py.page:35(item/p)
+#: C/filechooserdialog.py.page:36(item/p)
 msgid ""
 "Create a Python program for a Gtk.TextView with a Gtk.Buffer <code>self."
 "buffer</code>, and a <code>self.file</code> which will be a Gio.File and we "
@@ -11316,7 +11595,7 @@ msgstr ""
 "<code>self.buffer</code> και ένα <code>self.file</code> που θα είναι ένα Gio."
 "File και το ορίζουμε αρχικά ως <code>None</code>."
 
-#: C/filechooserdialog.py.page:36(item/p)
+#: C/filechooserdialog.py.page:37(item/p)
 msgid ""
 "In this program, create also the actions corresponding to the items in the "
 "app-menu, connect them to callback functions, and import the menu in the "
@@ -11326,15 +11605,21 @@ msgstr ""
 "στοιχεία στο μενού εφαρμογών, συνδέστε τα στις συναρτήσεις επανάκλησης και "
 "εισάγετε το μενού στη μέθοδο <code>do_startup()</code> με ένα Gtk.Builder."
 
-#: C/filechooserdialog.py.page:37(item/p)
+#: C/filechooserdialog.py.page:38(item/p)
+#| msgid ""
+#| "\"New\" and \"Quit\" actions and callback functions are quite "
+#| "straightforward, see <link xref=\"#code\"/>."
 msgid ""
 "\"New\" and \"Quit\" actions and callback functions are quite "
-"straightforward, see <link xref=\"#code\"/>."
+"straightforward, see <link xref=\"#code\"/>. See <link xref=\"signals-"
+"callbacks.py\"/> for a more detailed explanation of signals and callback "
+"functions."
 msgstr ""
-"Οι ενέργειες \"New\" και \"Quit\" και οι συναρτήσεις επανάκλησης είναι "
-"αρκετά απλές, δείτε <link xref=\"#code\"/>."
+"Οι ενέργειες \"New\" και \"Quit\" και οι συναρτήσεις επανάκλησης είναι αρκετά "
+"απλές, δείτε <link xref=\"#code\"/>. Δείτε <link xref=\"signals-callbacks.py\"/> "
+"για μια πιο λεπτομερή εξήγηση των σημάτων και των συναρτήσεων επανάκλησης."
 
-#: C/filechooserdialog.py.page:38(item/p)
+#: C/filechooserdialog.py.page:39(item/p)
 msgid ""
 "\"Open\" callback should create and open a Gtk.FileChooserDialog for \"Open"
 "\", connected with another callback function for each of the two \"Open\" "
@@ -11344,7 +11629,7 @@ msgstr ""
 "FileChooserDialog για \"Open\", συνδεμένο με μια άλλη συνάρτηση επανάκλησης "
 "για κάθε κουμπί από τα δύο \"Open\" και \"Cancel\" του FileChooserDialog."
 
-#: C/filechooserdialog.py.page:39(item/p)
+#: C/filechooserdialog.py.page:40(item/p)
 msgid ""
 "\"Save as\" works basically as \"Open\", but the callback function of the "
 "\"Save\" button depends on a more complex method <code>save_to_file()</code>."
@@ -11353,7 +11638,7 @@ msgstr ""
 "κουμπιού \"Save\" εξαρτάται από μια πιο σύνθετη μέθοδο <code>save_to_file()</"
 "code>."
 
-#: C/filechooserdialog.py.page:40(item/p)
+#: C/filechooserdialog.py.page:41(item/p)
 msgid ""
 "\"Save\" can be reduced to the case where the file is <code>None</code>, "
 "that is the case where <code>self.file</code> is a new file, which in turn "
@@ -11366,7 +11651,7 @@ msgstr ""
 "το αρχείο δεν είναι <code>None</code>, που με τη σειρά του ανάγεται σε to "
 "<code>save_to_file()</code>."
 
-#: C/filechooserdialog.py.page:41(item/p)
+#: C/filechooserdialog.py.page:42(item/p)
 msgid ""
 "Finally, the method <code>save_to_file()</code>: see <link xref=\"#code\"/>, "
 "lines 146 - 175."
@@ -11374,11 +11659,11 @@ msgstr ""
 "Τελικά, η μέθοδος <code>save_to_file()</code>: δείτε <link xref=\"#code\"/>, "
 "γραμμές 146 - 175."
 
-#: C/filechooserdialog.py.page:46(section/title)
+#: C/filechooserdialog.py.page:47(section/title)
 msgid "XML file which creates the app-menu"
 msgstr "Το αρχείο XML που δημιουργεί το μενού εφαρμογών"
 
-#: C/filechooserdialog.py.page:47(section/code)
+#: C/filechooserdialog.py.page:48(section/code)
 #: C/filechooserdialog.vala.page:29(section/code)
 #, no-wrap
 msgid ""
@@ -11446,7 +11731,7 @@ msgstr ""
 "  &lt;/menu&gt;\n"
 "&lt;/interface&gt;\n"
 
-#: C/filechooserdialog.py.page:52(section/code)
+#: C/filechooserdialog.py.page:53(section/code)
 #, no-wrap
 msgid ""
 "from gi.repository import Gtk\n"
@@ -11869,11 +12154,11 @@ msgstr ""
 "exit_status = app.run(sys.argv)\n"
 "sys.exit(exit_status)\n"
 
-#: C/filechooserdialog.py.page:56(section/title)
+#: C/filechooserdialog.py.page:57(section/title)
 msgid "Useful methods for a FileChooserDialog"
 msgstr "Χρήσιμες μέθοδοι για ένα FileChooserDialog"
 
-#: C/filechooserdialog.py.page:57(section/p)
+#: C/filechooserdialog.py.page:58(section/p)
 msgid ""
 "Note that the action of the FileChooserDialog can be one of the following: "
 "<code>Gtk.FileChooserAction.OPEN</code> (the file chooser will only let the "
@@ -11894,12 +12179,12 @@ msgstr ""
 "CREATE_FOLDER</code> (ο επιλογέας αρχείου θα επιτρέψει στον χρήστη να "
 "ονομάσει έναν υπάρχοντα ή νέο φάκελο)."
 
-#: C/filechooserdialog.py.page:58(section/p)
+#: C/filechooserdialog.py.page:59(section/p)
 msgid "Besides the methods used in the <link xref=\"#code\"/>, we have:"
 msgstr ""
 "Εκτός από τις χρησιμοποιούμενες μεθόδους στο <link xref=\"#code\"/>, έχουμε:"
 
-#: C/filechooserdialog.py.page:60(item/p)
+#: C/filechooserdialog.py.page:61(item/p)
 msgid ""
 "<code>set_show_hidden(True)</code> is used to display hidden files and "
 "folders."
@@ -11907,7 +12192,7 @@ msgstr ""
 "<code>set_show_hidden(True)</code> χρησιμοποιείται για προβολή κρυφών "
 "αρχείων και φακέλων."
 
-#: C/filechooserdialog.py.page:61(item/p)
+#: C/filechooserdialog.py.page:62(item/p)
 msgid ""
 "<code>set_select_multiple(True)</code> sets that multiple files can be "
 "selected. This is only relevant if the mode is <code>Gtk.FileChooserAction."
@@ -11918,7 +12203,7 @@ msgstr ""
 "FileChooserAction.OPEN</code> ή <code>Gtk.FileChooserAction.SELECT_FOLDER</"
 "code>."
 
-#: C/filechooserdialog.py.page:62(item/p)
+#: C/filechooserdialog.py.page:63(item/p)
 msgid ""
 "In a \"Save as\" dialog, <code>set_current_name(current_name)</code> sets "
 "<code>current_name</code> in the file selector, as if entered by the user; "
@@ -11931,7 +12216,7 @@ msgstr ""
 "<em>άτιτλο.txt</em>. Αυτή η μέθοδος δεν πρέπει να χρησιμοποιηθεί εκτός από "
 "έναν διάλογο \"Save as\"."
 
-#: C/filechooserdialog.py.page:63(item/p)
+#: C/filechooserdialog.py.page:64(item/p)
 msgid ""
 "The default current folder is \"recent items\". To set another folder use "
 "<code>set_current_folder_uri(uri)</code>; but note you should use this "
@@ -11945,7 +12230,7 @@ msgstr ""
 "όταν εκτελείτε μια εντολή \"Save as\" και έχετε ήδη ένα αρχείο αποθηκευμένο "
 "κάπου."
 
-#: C/filechooserdialog.py.page:71(item/p)
+#: C/filechooserdialog.py.page:72(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/stable/GtkFileChooserDialog.html";
 "\">GtkFileChooserDialog</link>"
@@ -11953,7 +12238,7 @@ msgstr ""
 "<link href=\"http://developer.gnome.org/gtk3/stable/GtkFileChooserDialog.html";
 "\">GtkFileChooserDialog</link>"
 
-#: C/filechooserdialog.py.page:72(item/p)
+#: C/filechooserdialog.py.page:73(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/stable/GtkFileChooser.html";
 "\">GtkFileChooser</link>"
@@ -11961,8 +12246,9 @@ msgstr ""
 "<link href=\"http://developer.gnome.org/gtk3/stable/GtkFileChooser.html";
 "\">GtkFileChooser</link>"
 
-#: C/filechooserdialog.py.page:73(item/p) C/image.c.page:33(item/p)
-#: C/label.c.page:37(item/p)
+#: C/filechooserdialog.py.page:74(item/p) C/image.c.page:33(item/p)
+#: C/label.c.page:37(item/p) C/menubar.c.page:37(item/p)
+#: C/scrolledwindow.c.page:34(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/stable/GtkWindow.html";
 "\">GtkWindow</link>"
@@ -11970,7 +12256,7 @@ msgstr ""
 "<link href=\"http://developer.gnome.org/gtk3/stable/GtkWindow.html";
 "\">GtkWindow</link>"
 
-#: C/filechooserdialog.py.page:74(item/p) C/textview.c.page:38(item/p)
+#: C/filechooserdialog.py.page:75(item/p) C/textview.c.page:38(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/stable/GtkTextView.html";
 "\">GtkTextView</link>"
@@ -11978,7 +12264,7 @@ msgstr ""
 "<link href=\"http://developer.gnome.org/gtk3/stable/GtkTextView.html";
 "\">GtkTextView</link>"
 
-#: C/filechooserdialog.py.page:75(item/p) C/textview.c.page:37(item/p)
+#: C/filechooserdialog.py.page:76(item/p) C/textview.c.page:37(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/stable/GtkTextBuffer.html";
 "\">GtkTextBuffer</link>"
@@ -11986,7 +12272,8 @@ msgstr ""
 "<link href=\"http://developer.gnome.org/gtk3/stable/GtkTextBuffer.html";
 "\">GtkTextBuffer</link>"
 
-#: C/filechooserdialog.py.page:76(item/p) C/textview.c.page:39(item/p)
+#: C/filechooserdialog.py.page:77(item/p) C/scrolledwindow.c.page:35(item/p)
+#: C/textview.c.page:39(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/stable/GtkScrolledWindow.html";
 "\">GtkScrolledWindow</link>"
@@ -11994,13 +12281,13 @@ msgstr ""
 "<link href=\"http://developer.gnome.org/gtk3/stable/GtkScrolledWindow.html";
 "\">GtkScrolledWindow</link>"
 
-#: C/filechooserdialog.py.page:77(item/p)
+#: C/filechooserdialog.py.page:78(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gio/stable/GFile.html\";>GFile</link>"
 msgstr ""
 "<link href=\"http://developer.gnome.org/gio/stable/GFile.html\";>GFile</link>"
 
-#: C/filechooserdialog.py.page:79(item/p)
+#: C/filechooserdialog.py.page:80(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/stable/GtkBuilder.html";
 "\">GtkBuilder</link>"
@@ -12484,7 +12771,7 @@ msgstr ""
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
-#: C/fontchooserwidget.py.page:23(media)
+#: C/fontchooserwidget.py.page:24(media)
 msgctxt "_"
 msgid ""
 "external ref='media/fontchooserwidget.png' "
@@ -12498,19 +12785,19 @@ msgctxt "text"
 msgid "FontChooserWidget (Python)"
 msgstr "FontChooserWidget (Python)"
 
-#: C/fontchooserwidget.py.page:18(info/desc)
+#: C/fontchooserwidget.py.page:19(info/desc)
 msgid "A widget to choose a font"
 msgstr "Ένα γραφικό συστατικό για επιλογή μιας γραμματοσειράς"
 
-#: C/fontchooserwidget.py.page:21(page/title)
+#: C/fontchooserwidget.py.page:22(page/title)
 msgid "FontChooserWidget"
 msgstr "FontChooserWidget"
 
-#: C/fontchooserwidget.py.page:24(page/p)
+#: C/fontchooserwidget.py.page:25(page/p)
 msgid "A FontChooserWidget with a callback function."
 msgstr "Ένα FontChooserWidget με μια συνάρτηση επανάκλησης."
 
-#: C/fontchooserwidget.py.page:30(section/code)
+#: C/fontchooserwidget.py.page:31(section/code)
 #, no-wrap
 msgid ""
 "from gi.repository import Gtk\n"
@@ -12593,11 +12880,25 @@ msgstr ""
 "exit_status = app.run(sys.argv)\n"
 "sys.exit(exit_status)\n"
 
-#: C/fontchooserwidget.py.page:33(section/title)
+#: C/fontchooserwidget.py.page:34(section/title)
 msgid "Useful methods for a FontChooserWidget"
 msgstr "Χρήσιμες μέθοδοι για ένα FontChooserWidget"
 
-#: C/fontchooserwidget.py.page:36(item/p)
+#: C/fontchooserwidget.py.page:35(section/p)
+msgid ""
+"In line 16 the <code>\"notify::font\"</code> signal from the widget is "
+"connected to the callback function <code>font_cb()</code> using "
+"<code><var>widget</var>.connect(<var>signal</var>, <var>callback function</"
+"var>)</code>. See <link xref=\"signals-callbacks.py\"/> for a more detailed "
+"explanation."
+msgstr ""
+"Στη γραμμή 16 το σήμα <code>\"notify::font\"</code> από το γραφικό συστατικό "
+"συνδέεται με τη συνάρτηση επανάκλησης <code>font_cb()</code> χρησιμοποιώντας "
+"<code><var>widget</var>.connect(<var>signal</var>, <var>callback "
+"function</var>)</code>. Δείτε <link xref=\"signals-callbacks.py\"/> για μια "
+"πιο λεπτομερή εξήγηση."
+
+#: C/fontchooserwidget.py.page:37(item/p)
 msgid ""
 "To set the font which is initially selected, use <code>set_font(font)</code> "
 "(where <code>font</code> is the font name) or <code>set_font_desc(font)</"
@@ -12608,7 +12909,7 @@ msgstr ""
 "γραμματοσειράς) ή <code>set_font_desc(font)</code> (όπου <code>font</code> "
 "είναι η PangoFontDescription)."
 
-#: C/fontchooserwidget.py.page:37(item/p)
+#: C/fontchooserwidget.py.page:38(item/p)
 msgid ""
 "To get the selected font use <code>get_font()</code> or <code>get_font_desc()"
 "</code>."
@@ -12616,7 +12917,7 @@ msgstr ""
 "Για τη λήψη της επιλεγμένης γραμματοσειράς χρησιμοποιήστε <code>get_font()</"
 "code> ή <code>get_font_desc()</code>."
 
-#: C/fontchooserwidget.py.page:38(item/p)
+#: C/fontchooserwidget.py.page:39(item/p)
 msgid ""
 "To change the text which is shown in the preview area, use "
 "<code>set_preview_text()</code>."
@@ -12624,7 +12925,7 @@ msgstr ""
 "Για αλλαγή του κειμένου που προβάλλεται στην περιοχή προεπισκόπησης, "
 "χρησιμοποιήστε <code>set_preview_text()</code>."
 
-#: C/fontchooserwidget.py.page:45(item/p)
+#: C/fontchooserwidget.py.page:46(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkFontChooserWidget.";
 "html\">GtkFontChooserWidget</link>"
@@ -12804,12 +13105,12 @@ msgid "A simple implementation of GMenuModel"
 msgstr "Μια απλή υλοποίηση του GMenuModel"
 
 #: C/gmenu.c.page:20(page/title) C/gmenu.js.page:20(page/title)
-#: C/gmenu.py.page:26(page/title) C/gmenu.vala.page:26(page/title)
+#: C/gmenu.py.page:28(page/title) C/gmenu.vala.page:26(page/title)
 msgid "GMenu"
 msgstr "GMenu"
 
 #: C/gmenu.c.page:22(page/p) C/gmenu.js.page:22(page/p)
-#: C/gmenu.py.page:28(page/p) C/gmenu.vala.page:34(page/p)
+#: C/gmenu.py.page:30(page/p) C/gmenu.vala.page:34(page/p)
 msgid "A GtkApplication with a simple GMenu and SimpleActions"
 msgstr "Μια GtkApplication με ένα απλό GMenu και SimpleActions"
 
@@ -13157,7 +13458,7 @@ msgstr ""
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
-#: C/gmenu.py.page:27(media)
+#: C/gmenu.py.page:29(media)
 msgctxt "_"
 msgid ""
 "external ref='media/gmenu.py.png' md5='52c68b34d5d566f37e9f803dedb6353a'"
@@ -13169,11 +13470,11 @@ msgctxt "text"
 msgid "GMenu (Python)"
 msgstr "GMenu (Python)"
 
-#: C/gmenu.py.page:23(info/desc)
+#: C/gmenu.py.page:25(info/desc)
 msgid "A simple implementation of GMenu"
 msgstr "Μια απλή εφαρμογή του GMenuModel"
 
-#: C/gmenu.py.page:35(section/code)
+#: C/gmenu.py.page:36(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -13304,15 +13605,30 @@ msgstr ""
 "exit_status = app.run(sys.argv)\n"
 "sys.exit(exit_status)\n"
 
-#: C/gmenu.py.page:40(section/title)
+#: C/gmenu.py.page:41(section/title)
 msgid "Useful methods for a GSimpleAction and a GMenu"
 msgstr "Χρήσιμες μέθοδοι για μια GSimpleAction και ένα GMenu"
 
-#: C/gmenu.py.page:42(section/p)
+#: C/gmenu.py.page:43(section/p)
+msgid ""
+"In line 33 the signal <code>\"activate\"</code> from the action "
+"<code>new_action</code> (not the menu!) is connected to the callback "
+"function <code>new_cb()</code> using <code><var>action</var>.connect"
+"(<var>signal</var>, <var>callback function</var>)</code>. See <link xref="
+"\"signals-callbacks.py\"/> for a more detailed explanation."
+msgstr ""
+"Στη γραμμή 33 το σήμα <code>\"activate\"</code> από την ενέργεια "
+"<code>new_action</code> (όχι το μενού!) συνδέεται με τη συνάρτηση "
+"επανάκλησης <code>new_cb()</code> χρησιμοποιώντας "
+"<code><var>action</var>.connect(<var>signal</var>, <var>callback "
+"function</var>)</code>. Δείτε <link xref=\"signals-callbacks.py\"/> για μια "
+"πιο λεπτομερή εξήγηση."
+
+#: C/gmenu.py.page:45(section/p)
 msgid "Useful methods for a GSimpleAction:"
 msgstr "Χρήσιμες μέθοδοι για μια GSimpleAction:"
 
-#: C/gmenu.py.page:44(item/p)
+#: C/gmenu.py.page:47(item/p)
 msgid ""
 "To create a new action that is <em>stateless</em>, that is, an action that "
 "do not retain or depend on a state given by the action itself, use"
@@ -13321,7 +13637,7 @@ msgstr ""
 "δηλαδή, μια ενέργεια που δεν κρατά ή εξαρτάται από τη δεδομένη κατάσταση από "
 "την ίδια την ενέργεια, χρησιμοποιήστε"
 
-#: C/gmenu.py.page:45(item/code)
+#: C/gmenu.py.page:48(item/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -13330,7 +13646,7 @@ msgstr ""
 "\n"
 "action = Gio.SimpleAction.new(\"name\", parameter_type)"
 
-#: C/gmenu.py.page:47(item/p)
+#: C/gmenu.py.page:50(item/p)
 msgid ""
 "where <code>\"name\"</code> is the name of the action and "
 "<code>parameter_type</code> is the type of the parameters that the action "
@@ -13349,7 +13665,7 @@ msgstr ""
 "GVariantType.html\">εδώ</link>. Για τη δημιουργία μιας νέας ενέργειας <em>με "
 "κατάσταση</em> (δηλαδή όχι χωρίς κατάσταση), χρησιμοποιήστε"
 
-#: C/gmenu.py.page:48(item/code)
+#: C/gmenu.py.page:51(item/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -13358,7 +13674,7 @@ msgstr ""
 "\n"
 "action = Gio.SimpleAction.new_stateful(\"name\", parameter_type, initial_state)"
 
-#: C/gmenu.py.page:50(item/p)
+#: C/gmenu.py.page:53(item/p)
 msgid ""
 "where <code>initial_state</code> is defined as a GVariant - for instance "
 "<code>Glib.Variant.new_string('start')</code>; for a list of possiblities "
@@ -13370,7 +13686,7 @@ msgstr ""
 "δείτε <link href=\"http://developer.gnome.org/glib/unstable/glib-GVariant.";
 "html\">εδώ</link>."
 
-#: C/gmenu.py.page:51(item/p)
+#: C/gmenu.py.page:54(item/p)
 msgid ""
 "<code>set_enabled(True)</code> sets the action as enabled; an action must be "
 "enabled in order to be activated or in order to have its state changed from "
@@ -13383,7 +13699,7 @@ msgstr ""
 "εφαρμογή της ενέργειας. Οι χρήστες της ενέργειας δεν πρέπει να προσπαθούν να "
 "τροποποιήσουν την ενεργή σημαία του."
 
-#: C/gmenu.py.page:52(item/p)
+#: C/gmenu.py.page:55(item/p)
 msgid ""
 "<code>set_state(state)</code>, where <code>state</code> is a GVariant, sets "
 "the state of the action, updating the 'state' property to the given value. "
@@ -13398,11 +13714,11 @@ msgstr ""
 "(state)</code> (όπου <code>state</code> είναι όπως πιο πάνω) για να ζητούν "
 "την αλλαγή."
 
-#: C/gmenu.py.page:55(section/p)
+#: C/gmenu.py.page:58(section/p)
 msgid "Useful methods for a GMenu:"
 msgstr "Χρήσιμες μέθοδοι για ένα GMenu:"
 
-#: C/gmenu.py.page:57(item/p)
+#: C/gmenu.py.page:60(item/p)
 msgid ""
 "To insert an item in the menu in position <code>position</code>, use "
 "<code>insert(position, label, detailed_action)</code>, where <code>label</"
@@ -13419,7 +13735,7 @@ msgstr ""
 "πιο λεπτομερής συζήτηση αυτού μπορεί να βρεθεί στο <link xref=\"menubar."
 "py#win-app\"/>."
 
-#: C/gmenu.py.page:58(item/p)
+#: C/gmenu.py.page:61(item/p)
 msgid ""
 "To append or prepend an item in the menu use respectively <code>append"
 "(label, detailed_action)</code> and <code>prepend(label, detailed_action)</"
@@ -13429,7 +13745,7 @@ msgstr ""
 "<code>append(label, detailed_action)</code> και <code>prepend(label, "
 "detailed_action)</code>."
 
-#: C/gmenu.py.page:59(item/p)
+#: C/gmenu.py.page:62(item/p)
 msgid ""
 "Another way of adding items to the menu is to create them as "
 "<code>GMenuItem</code>s and use <code>insert_item(position, item)</code>, "
@@ -13441,7 +13757,7 @@ msgstr ""
 "<code>append_item(item)</code>, ή <code>prepend_item(item)</code>; έτσι για "
 "παράδειγμα πρέπει να έχουμε:"
 
-#: C/gmenu.py.page:60(item/code)
+#: C/gmenu.py.page:63(item/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -13452,7 +13768,7 @@ msgstr ""
 "about = Gio.MenuItem.new(\"About\", \"app.about\")\n"
 "menu.append_item(about)"
 
-#: C/gmenu.py.page:64(item/p)
+#: C/gmenu.py.page:67(item/p)
 msgid ""
 "We can also add a whole subsection in a menu using <code>insert_section"
 "(position, label, section)</code>, <code>append_section(label, section)</"
@@ -13464,7 +13780,7 @@ msgstr ""
 "<code>append_section(label, section)</code>, ή <code>prepend_section(label, "
 "section)</code>, όπου <code>label</code> είναι ο τίτλος της υποενότητας."
 
-#: C/gmenu.py.page:65(item/p)
+#: C/gmenu.py.page:68(item/p)
 msgid ""
 "To add a submenu that will expand and collapse, use <code>insert_submenu"
 "(position, label, section)</code>, <code>append_submenu(label, section)</"
@@ -13476,19 +13792,19 @@ msgstr ""
 "<code>append_submenu(label, section)</code>, ή <code>prepend_submenu(label, "
 "section)</code>, όπου <code>label</code> είναι ο τίτλος της υποενότητας."
 
-#: C/gmenu.py.page:66(item/p)
+#: C/gmenu.py.page:69(item/p)
 msgid "To remove an item from the menu, use <code>remove(postion)</code>."
 msgstr ""
 "Για την αφαίρεση ενός στοιχείου από το μενού, χρησιμοποιήστε <code>remove"
 "(postion)</code>."
 
-#: C/gmenu.py.page:67(item/p)
+#: C/gmenu.py.page:70(item/p)
 msgid "To set a label for the menu, use <code>set_label(label)</code>."
 msgstr ""
 "Για ορισμό μιας ετικέτας για το μενού, χρησιμοποιήστε <code>set_label(label)"
 "</code>."
 
-#: C/gmenu.py.page:78(item/p)
+#: C/gmenu.py.page:81(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/glib/unstable/glib-GVariantType.html";
 "\">GVariantType</link>"
@@ -13496,7 +13812,7 @@ msgstr ""
 "<link href=\"http://developer.gnome.org/glib/unstable/glib-GVariantType.html";
 "\">GVariantType</link>"
 
-#: C/gmenu.py.page:79(item/p)
+#: C/gmenu.py.page:82(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/glib/unstable/glib-GVariant.html";
 "\">GVariant</link>"
@@ -13521,12 +13837,15 @@ msgid "GMenu (Vala)"
 msgstr "GMenu (Vala)"
 
 #: C/gmenu.vala.page:29(note/p)
+#| msgid ""
+#| "<em style=\"strong\">You need to be running Gtk+-3.4 or later for this to "
+#| "work</em>"
 msgid ""
-"<em style=\"strong\">You need to be running Gtk+-3.4 or later for this to "
+"<em style=\"strong\">You need to be running GTK+-3.4 or later for this to "
 "work</em>"
 msgstr ""
-"<em style=\"strong\">Χρειάζεται να τρέξετε το Gtk+-3.4 ή μεταγενέστερο για "
-"αυτή τη δουλειά</em>"
+"<em style=\"strong\">Χρειάζεται να τρέξετε το Gtk+-3.4 ή μεταγενέστερο για να "
+"δουλέψει αυτό</em>"
 
 #: C/gmenu.vala.page:32(note/p)
 msgid ""
@@ -13719,12 +14038,12 @@ msgid "Grid (C)"
 msgstr "Πλέγμα (C)"
 
 #: C/grid.c.page:17(info/desc) C/grid.js.page:21(info/desc)
-#: C/grid.py.page:24(info/desc) C/grid.vala.page:19(info/desc)
+#: C/grid.py.page:25(info/desc) C/grid.vala.page:19(info/desc)
 msgid "Pack widgets in rows and columns"
 msgstr "Πακετάρισμα γραφικών συστατικών σε γραμμές και στήλες"
 
 #: C/grid.c.page:20(page/title) C/grid.js.page:24(page/title)
-#: C/grid.py.page:27(page/title) C/tutorial.py.page:64(steps/title)
+#: C/grid.py.page:28(page/title)
 msgid "Grid"
 msgstr "Πλέγμα"
 
@@ -14065,7 +14384,7 @@ msgstr ""
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
-#: C/grid.py.page:29(media)
+#: C/grid.py.page:30(media)
 msgctxt "_"
 msgid ""
 "external ref='media/grid_simple.png' md5='c806f2e69b30373d4d2e08b41d6cc1f6'"
@@ -14077,11 +14396,11 @@ msgctxt "text"
 msgid "Grid (Python)"
 msgstr "Πλέγμα (Python)"
 
-#: C/grid.py.page:30(page/p)
+#: C/grid.py.page:31(page/p)
 msgid "Some labels in a grid."
 msgstr "Μερικές ετικέτες σε ένα πλέγμα."
 
-#: C/grid.py.page:36(section/code)
+#: C/grid.py.page:37(section/code)
 #, no-wrap
 msgid ""
 "from gi.repository import Gtk\n"
@@ -14166,11 +14485,11 @@ msgstr ""
 "exit_status = app.run(sys.argv)\n"
 "sys.exit(exit_status)\n"
 
-#: C/grid.py.page:40(section/title)
+#: C/grid.py.page:41(section/title)
 msgid "Useful methods for a Grid widget"
 msgstr "Χρήσιμες μέθοδοι για ένα γραφικό συστατικό πλέγματος"
 
-#: C/grid.py.page:43(item/p)
+#: C/grid.py.page:44(item/p)
 msgid ""
 "To attach a widget <code>child</code> in position <code>left, top</code> in "
 "a slot of given <code>width, height</code> use <code>attach(child, top, "
@@ -14189,8 +14508,7 @@ msgstr ""
 "PositionType.LEFT, Gtk.PositionType.RIGHT, Gtk.PositionType.TOP, Gtk."
 "PositionType.BOTTOM</code>."
 
-#: C/grid.py.page:44(item/p)
-#, fuzzy
+#: C/grid.py.page:45(item/p)
 msgid ""
 "<code>insert_row(position)</code> and <code>insert_column(position)</code> "
 "do exactly what they say; children which are attached at or below this "
@@ -14210,12 +14528,12 @@ msgstr ""
 "<code>insert_next_to(sibling, side)</code> εισάγει μια γραμμή ή στήλη στη "
 "συγκεκριμένη θέση. Η νέα γραμμή ή στήλη τοποθετείται δίπλα στο "
 "<code>sibling</code>, στην πλευρά που ορίστηκε από <code>side</code>; εάν η "
-"πλευρά είναι <code>Gtk.PositionType.TOP</code> ή <code>Gtk.PositionType."
-"BOTTOM</code>, εισάγεται μια γραμμή, εάν η πλευρά είναι <code>Gtk."
-"PositionType.LEFT</code> του <code>Gtk.PositionType.RIGHT</code>, εισάγεται "
-"μια στήλη."
+"πλευρά είναι <code>Gtk.PositionType.TOP</code> ή "
+"<code>Gtk.PositionType.BOTTOM</code>, εισάγεται μια γραμμή, εάν η πλευρά "
+"είναι <code>Gtk.PositionType.LEFT</code> του "
+"<code>Gtk.PositionType.RIGHT</code>, εισάγεται μια στήλη."
 
-#: C/grid.py.page:45(item/p)
+#: C/grid.py.page:46(item/p)
 msgid ""
 "<code>set_row_homogeneous(True)</code> and <code>set_column_homogeneous(True)"
 "</code> ensure that (respectively) every row or every column has the same "
@@ -14225,24 +14543,26 @@ msgstr ""
 "</code> βεβαιώνουν ότι (αντίστοιχα) κάθε γραμμή ή στήλη έχει το ίδιο πλάτος "
 "ή ύψος."
 
-#: C/grid.py.page:46(item/p)
+#: C/grid.py.page:47(item/p)
+#| msgid ""
+#| "<code>set_row_spacing(spacing)</code> and <code>set_column_spacing"
+#| "(spacing)</code> force a spacing between (respectively) rows or columns. "
+#| "The value of <code>spacing</code> can be between <code>0</code>, which is "
+#| "the default value, and <code>32767</code>"
 msgid ""
 "<code>set_row_spacing(spacing)</code> and <code>set_column_spacing(spacing)</"
 "code> force a spacing between (respectively) rows or columns. The value of "
 "<code>spacing</code> can be between <code>0</code>, which is the default "
-"value, and <code>32767</code>"
+"value, and <code>32767</code>."
 msgstr ""
-"<code>set_row_spacing(spacing)</code> και <code>set_column_spacing(spacing)</"
-"code> εξαναγκάζουν ένα διάκενο μεταξύ (αντίστοιχα) γραμμών ή στηλών. Η τιμή "
-"του <code>spacing</code> μπορεί να είναι μεταξύ <code>0</code>, που είναι η "
-"προεπιλεγμένη τιμή και <code>32767</code>"
-
-#: C/grid.py.page:42(section/list)
-msgid "<_:item-1/> <_:item-2/> <_:item-3/> <_:item-4/>."
-msgstr "<_:item-1/> <_:item-2/> <_:item-3/> <_:item-4/>."
+"<code>set_row_spacing(spacing)</code> και "
+"<code>set_column_spacing(spacing)</code> εξαναγκάζουν ένα διάκενο μεταξύ "
+"(αντίστοιχα) γραμμών ή στηλών. Η τιμή του <code>spacing</code> μπορεί να "
+"είναι μεταξύ <code>0</code>, που είναι η προεπιλεγμένη τιμή και "
+"<code>32767</code>."
 
-#: C/grid.py.page:57(item/p) C/label.py.page:88(item/p)
-#: C/separator.py.page:40(item/p) C/switch.py.page:49(item/p)
+#: C/grid.py.page:58(item/p) C/label.py.page:89(item/p)
+#: C/separator.py.page:41(item/p) C/switch.py.page:45(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkLabel.html";
 "\">GtkLabel</link>"
@@ -14250,8 +14570,8 @@ msgstr ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkLabel.html";
 "\">GtkLabel</link>"
 
-#: C/grid.py.page:58(item/p) C/image.py.page:100(item/p)
-#: C/paned.py.page:42(item/p) C/scrolledwindow.py.page:45(item/p)
+#: C/grid.py.page:59(item/p) C/image.py.page:102(item/p)
+#: C/paned.py.page:43(item/p) C/scrolledwindow.py.page:46(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkImage.html";
 "\">GtkImage</link>"
@@ -14259,9 +14579,9 @@ msgstr ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkImage.html";
 "\">GtkImage</link>"
 
-#: C/grid.py.page:59(item/p) C/radiobutton.py.page:52(item/p)
-#: C/separator.py.page:39(item/p) C/switch.py.page:50(item/p)
-#: C/toolbar_builder.py.page:193(item/p)
+#: C/grid.py.page:60(item/p) C/radiobutton.py.page:49(item/p)
+#: C/separator.py.page:40(item/p) C/switch.py.page:46(item/p)
+#: C/toolbar_builder.py.page:195(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkGrid.html";
 "\">GtkGrid</link>"
@@ -14410,9 +14730,9 @@ msgstr ""
 #. whatever you like once you have updated your copy of the file.
 #: C/GtkApplicationWindow.c.page:21(media)
 #: C/GtkApplicationWindow.js.page:21(media)
-#: C/GtkApplicationWindow.py.page:26(media)
+#: C/GtkApplicationWindow.py.page:28(media)
 #: C/GtkApplicationWindow.vala.page:21(media) C/window.c.page:21(media)
-#: C/window.js.page:24(media) C/window.py.page:30(media)
+#: C/window.js.page:24(media) C/window.py.page:32(media)
 #: C/window.vala.page:24(media)
 msgctxt "_"
 msgid "external ref='media/window.png' md5='eb0cde3530978619c25bddfaeb453345'"
@@ -14431,7 +14751,7 @@ msgstr ""
 
 #: C/GtkApplicationWindow.c.page:20(page/title)
 #: C/GtkApplicationWindow.js.page:20(page/title)
-#: C/GtkApplicationWindow.py.page:25(page/title)
+#: C/GtkApplicationWindow.py.page:27(page/title)
 #: C/GtkApplicationWindow.vala.page:20(page/title)
 msgid "ApplicationWindow"
 msgstr "ApplicationWindow"
@@ -14509,7 +14829,7 @@ msgid "ApplicationWindow (JavaScript)"
 msgstr "ApplicationWindow (JavaScript)"
 
 #: C/GtkApplicationWindow.js.page:17(info/desc)
-#: C/GtkApplicationWindow.py.page:22(info/desc)
+#: C/GtkApplicationWindow.py.page:24(info/desc)
 #: C/GtkApplicationWindow.vala.page:17(info/desc)
 msgid "GtkWindow subclass with GtkApplication support"
 msgstr "Η υποκλάση GtkWindow με υποστήριξη GtkApplication"
@@ -14628,12 +14948,12 @@ msgctxt "text"
 msgid "ApplicationWindow (Python)"
 msgstr "ApplicationWindow (Python)"
 
-#: C/GtkApplicationWindow.py.page:27(page/p)
+#: C/GtkApplicationWindow.py.page:29(page/p)
 #: C/GtkApplicationWindow.vala.page:22(page/p)
 msgid "The simplest GtkApplication Window which can support Menus."
 msgstr "Το απλούστερο παράθυρο GtkApplication που μπορεί να υποστηρίξει μενού."
 
-#: C/GtkApplicationWindow.py.page:34(section/code)
+#: C/GtkApplicationWindow.py.page:36(section/code)
 #, no-wrap
 msgid ""
 "from gi.repository import Gtk\n"
@@ -14706,11 +15026,11 @@ msgstr ""
 "exit_status = app.run(sys.argv)\n"
 "sys.exit(exit_status)\n"
 
-#: C/GtkApplicationWindow.py.page:38(section/title)
+#: C/GtkApplicationWindow.py.page:40(section/title)
 msgid "Useful methods for a Gtk.ApplicationWindow widget"
 msgstr "Χρήσιμες μέθοδοι για γραφικό συστατικό Gtk.ApplicationWindow"
 
-#: C/GtkApplicationWindow.py.page:41(item/p) C/window.py.page:52(item/p)
+#: C/GtkApplicationWindow.py.page:43(item/p) C/window.py.page:53(item/p)
 msgid ""
 "<code>set_default_size(200, 100)</code> sets the default size of the window "
 "to a width of <code>200</code> and a height of <code>100</code>; if instead "
@@ -14720,7 +15040,7 @@ msgstr ""
 "παραθύρου σε πλάτος <code>200</code> και ύψος <code>100</code>· εάν αντί για "
 "ένα θετικό αριθμό περνάμε το <code>-1</code> έχουμε το προεπιλεγμένο μέγεθος."
 
-#: C/GtkApplicationWindow.py.page:42(item/p) C/window.py.page:53(item/p)
+#: C/GtkApplicationWindow.py.page:44(item/p) C/window.py.page:54(item/p)
 msgid ""
 "<code>set_position(Gtk.WindowPosition.CENTER)</code> centers the window. "
 "Other options are <code>Gtk.WindowPosition.NONE, Gtk.WindowPosition.MOUSE, "
@@ -14805,9 +15125,9 @@ msgstr ""
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
-#: C/guitar-tuner.c.page:39(media) C/guitar-tuner.cpp.page:37(media)
-#: C/guitar-tuner.js.page:36(media) C/guitar-tuner.py.page:39(media)
-#: C/guitar-tuner.vala.page:42(media)
+#: C/guitar-tuner.c.page:44(media) C/guitar-tuner.cpp.page:42(media)
+#: C/guitar-tuner.js.page:36(media) C/guitar-tuner.py.page:49(media)
+#: C/guitar-tuner.vala.page:47(media)
 msgctxt "_"
 msgid ""
 "external ref='media/guitar-tuner.png' md5='35e615e0f5e293671d00c5c414ac2f6b'"
@@ -14833,8 +15153,8 @@ msgstr ""
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
-#: C/guitar-tuner.c.page:94(media) C/guitar-tuner.cpp.page:88(media)
-#: C/guitar-tuner.py.page:90(media) C/guitar-tuner.vala.page:95(media)
+#: C/guitar-tuner.c.page:99(media) C/guitar-tuner.cpp.page:93(media)
+#: C/guitar-tuner.py.page:100(media) C/guitar-tuner.vala.page:100(media)
 msgctxt "_"
 msgid ""
 "external ref='media/guitar-tuner-glade.png' "
@@ -14867,9 +15187,9 @@ msgstr ""
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
-#: C/guitar-tuner.c.page:139(media) C/guitar-tuner.cpp.page:117(media)
-#: C/guitar-tuner.js.page:42(media) C/guitar-tuner.py.page:133(media)
-#: C/guitar-tuner.vala.page:129(media)
+#: C/guitar-tuner.c.page:144(media) C/guitar-tuner.cpp.page:122(media)
+#: C/guitar-tuner.js.page:42(media) C/guitar-tuner.py.page:143(media)
+#: C/guitar-tuner.vala.page:134(media)
 msgctxt "_"
 msgid ""
 "external ref='media/guitar-tuner-pipeline.png' "
@@ -14879,25 +15199,33 @@ msgstr ""
 "md5='5adc952909d92af5dae6954781b4ad5f'"
 
 #: C/guitar-tuner.c.page:7(info/title)
+#| msgctxt "text"
+#| msgid "Guitar Tuner (C)"
 msgctxt "text"
-msgid "Guitar Tuner (C)"
+msgid "Guitar tuner (C)"
 msgstr "Συντονιστής κιθάρας (C)"
 
 #: C/guitar-tuner.c.page:10(info/desc) C/guitar-tuner.py.page:10(info/desc)
+#| msgid ""
+#| "Use Gtk+ and GStreamer to build a simple guitar tuner application for "
+#| "GNOME. Shows off how to use the interface designer."
 msgid ""
-"Use Gtk+ and GStreamer to build a simple guitar tuner application for GNOME. "
+"Use GTK+ and GStreamer to build a simple guitar tuner application for GNOME. "
 "Shows off how to use the interface designer."
 msgstr ""
-"Χρησιμοποιήστε Gtk+ και GStreamer για να φτιάξετε ένα απλό πρόγραμμα "
-"συντονιστή κιθάρας για το GNOME. Αναδεικνύοντας πως να χρησιμοποιήσετε το "
+"Χρησιμοποιήστε GTK+ και GStreamer για να φτιάξετε ένα απλό πρόγραμμα "
+"συντονιστή κιθάρας για το GNOME. Αναδεικνύει πώς να χρησιμοποιήσετε τον "
 "σχεδιαστή διεπαφών."
 
-#: C/guitar-tuner.c.page:23(page/title) C/guitar-tuner.cpp.page:21(page/title)
-msgid "Guitar Tuner"
+#: C/guitar-tuner.c.page:28(page/title) C/guitar-tuner.cpp.page:26(page/title)
+#: C/guitar-tuner.js.page:19(page/title) C/guitar-tuner.py.page:33(page/title)
+#: C/guitar-tuner.vala.page:31(page/title)
+#| msgid "Guitar Tuner"
+msgid "Guitar tuner"
 msgstr "Συντονιστής κιθάρας"
 
-#: C/guitar-tuner.c.page:26(synopsis/p) C/guitar-tuner.cpp.page:24(synopsis/p)
-#: C/guitar-tuner.py.page:26(synopsis/p)
+#: C/guitar-tuner.c.page:31(synopsis/p) C/guitar-tuner.cpp.page:29(synopsis/p)
+#: C/guitar-tuner.py.page:36(synopsis/p)
 msgid ""
 "In this tutorial, we're going to make a program which plays tones that you "
 "can use to tune a guitar. You will learn how to:"
@@ -14905,65 +15233,65 @@ msgstr ""
 "Σε αυτόν τον οδηγό, θα φτιάξουμε ένα πρόγραμμα που παίζει μουσικούς τόνους "
 "και μπορεί να συντονίσει μια κιθάρα. Θα μάθετε να:"
 
-#: C/guitar-tuner.c.page:28(item/p) C/guitar-tuner.cpp.page:26(item/p)
-#: C/guitar-tuner.py.page:28(item/p)
+#: C/guitar-tuner.c.page:33(item/p) C/guitar-tuner.cpp.page:31(item/p)
+#: C/guitar-tuner.py.page:38(item/p)
 msgid "Set up a basic project in Anjuta"
 msgstr "Ρυθμίζετε το κύριο έργο στο Anjuta"
 
-#: C/guitar-tuner.c.page:29(item/p) C/guitar-tuner.cpp.page:27(item/p)
-#: C/guitar-tuner.py.page:29(item/p)
+#: C/guitar-tuner.c.page:34(item/p) C/guitar-tuner.cpp.page:32(item/p)
+#: C/guitar-tuner.py.page:39(item/p)
 msgid "Create a simple GUI with Anjuta's UI designer"
 msgstr "Δημιουργείτε απλό GUI με τον σχεδιαστή UI του Anjuta"
 
-#: C/guitar-tuner.c.page:30(item/p) C/guitar-tuner.cpp.page:28(item/p)
-#: C/guitar-tuner.py.page:30(item/p)
+#: C/guitar-tuner.c.page:35(item/p) C/guitar-tuner.cpp.page:33(item/p)
+#: C/guitar-tuner.py.page:40(item/p)
 msgid "Use GStreamer to play sounds"
 msgstr "Χρησιμοποιείτε το GStreamer για να παίζετε ήχους"
 
-#: C/guitar-tuner.c.page:32(synopsis/p) C/guitar-tuner.cpp.page:30(synopsis/p)
-#: C/guitar-tuner.py.page:32(synopsis/p)
-#: C/guitar-tuner.vala.page:35(synopsis/p)
-#: C/image-viewer.js.page:34(synopsis/p) C/image-viewer.py.page:34(synopsis/p)
-#: C/image-viewer.vala.page:40(synopsis/p)
-#: C/magic-mirror.vala.page:33(synopsis/p)
+#: C/guitar-tuner.c.page:37(synopsis/p) C/guitar-tuner.cpp.page:35(synopsis/p)
+#: C/guitar-tuner.py.page:42(synopsis/p)
+#: C/guitar-tuner.vala.page:40(synopsis/p)
+#: C/image-viewer.js.page:38(synopsis/p) C/image-viewer.py.page:38(synopsis/p)
+#: C/image-viewer.vala.page:45(synopsis/p)
+#: C/magic-mirror.vala.page:38(synopsis/p)
 msgid "You'll need the following to be able to follow this tutorial:"
 msgstr ""
 "Θα χρειαστείτε τα παρακάτω για να μπορέσετε να ακολουθήσετε αυτό το μάθημα:"
 
-#: C/guitar-tuner.c.page:34(item/p) C/guitar-tuner.cpp.page:32(item/p)
-#: C/guitar-tuner.py.page:34(item/p) C/image-viewer.js.page:36(item/p)
-#: C/image-viewer.py.page:36(item/p) C/magic-mirror.vala.page:35(item/p)
+#: C/guitar-tuner.c.page:39(item/p) C/guitar-tuner.cpp.page:37(item/p)
+#: C/guitar-tuner.py.page:44(item/p) C/image-viewer.js.page:40(item/p)
+#: C/image-viewer.py.page:40(item/p) C/magic-mirror.vala.page:40(item/p)
 msgid "An installed copy of the <link xref=\"getting-ready\">Anjuta IDE</link>"
 msgstr ""
 "Ένα εγκατεστημένο αντίγραφο του <link xref=\"getting-ready\">Anjuta IDE</"
 "link>"
 
-#: C/guitar-tuner.c.page:35(item/p)
+#: C/guitar-tuner.c.page:40(item/p)
 msgid "Basic knowledge of the C programming language"
 msgstr "Βασική γνώση της γλώσσας προγραμματισμού C"
 
-#: C/guitar-tuner.c.page:42(section/title)
-#: C/guitar-tuner.cpp.page:40(section/title)
-#: C/guitar-tuner.py.page:42(section/title)
-#: C/image-viewer.c.page:36(section/title)
-#: C/image-viewer.cpp.page:34(section/title)
-#: C/image-viewer.js.page:45(section/title)
-#: C/image-viewer.py.page:44(section/title)
-#: C/image-viewer.vala.page:51(section/title)
-#: C/magic-mirror.vala.page:44(section/title)
-#: C/message-board.c.page:41(section/title)
-#: C/photo-wall.c.page:46(section/title)
-#: C/record-collection.js.page:47(section/title)
+#: C/guitar-tuner.c.page:47(section/title)
+#: C/guitar-tuner.cpp.page:45(section/title)
+#: C/guitar-tuner.py.page:52(section/title)
+#: C/image-viewer.c.page:41(section/title)
+#: C/image-viewer.cpp.page:39(section/title)
+#: C/image-viewer.js.page:49(section/title)
+#: C/image-viewer.py.page:48(section/title)
+#: C/image-viewer.vala.page:56(section/title)
+#: C/magic-mirror.vala.page:49(section/title)
+#: C/message-board.c.page:45(section/title)
+#: C/photo-wall.c.page:51(section/title)
+#: C/record-collection.js.page:52(section/title)
 msgid "Create a project in Anjuta"
 msgstr "Δημιουργία έργου με το Anjuta"
 
-#: C/guitar-tuner.c.page:43(section/p) C/guitar-tuner.cpp.page:41(section/p)
-#: C/guitar-tuner.py.page:43(section/p) C/guitar-tuner.vala.page:46(section/p)
-#: C/image-viewer.c.page:37(section/p) C/image-viewer.cpp.page:35(section/p)
-#: C/image-viewer.js.page:46(section/p) C/image-viewer.py.page:45(section/p)
-#: C/image-viewer.vala.page:52(section/p)
-#: C/magic-mirror.vala.page:45(section/p) C/photo-wall.c.page:47(section/p)
-#: C/record-collection.js.page:48(section/p)
+#: C/guitar-tuner.c.page:48(section/p) C/guitar-tuner.cpp.page:46(section/p)
+#: C/guitar-tuner.py.page:53(section/p) C/guitar-tuner.vala.page:51(section/p)
+#: C/image-viewer.c.page:42(section/p) C/image-viewer.cpp.page:40(section/p)
+#: C/image-viewer.js.page:50(section/p) C/image-viewer.py.page:49(section/p)
+#: C/image-viewer.vala.page:57(section/p)
+#: C/magic-mirror.vala.page:50(section/p) C/photo-wall.c.page:52(section/p)
+#: C/record-collection.js.page:53(section/p)
 msgid ""
 "Before you start coding, you'll need to set up a new project in Anjuta. This "
 "will create all of the files you need to build and run the code later on. "
@@ -14974,11 +15302,11 @@ msgstr ""
 "χρειάζονται για την εκτέλεση του κώδικα αργότερα. Επίσης θα ήταν χρήσιμο να "
 "τα κρατάτε όλα μαζί."
 
-#: C/guitar-tuner.c.page:46(item/p) C/guitar-tuner.cpp.page:44(item/p)
-#: C/guitar-tuner.py.page:46(item/p) C/image-viewer.c.page:40(item/p)
-#: C/image-viewer.cpp.page:38(item/p) C/image-viewer.js.page:49(item/p)
-#: C/image-viewer.py.page:48(item/p) C/magic-mirror.vala.page:48(item/p)
-#: C/photo-wall.c.page:50(item/p) C/record-collection.js.page:51(item/p)
+#: C/guitar-tuner.c.page:51(item/p) C/guitar-tuner.cpp.page:49(item/p)
+#: C/guitar-tuner.py.page:56(item/p) C/image-viewer.c.page:45(item/p)
+#: C/image-viewer.cpp.page:43(item/p) C/image-viewer.js.page:53(item/p)
+#: C/image-viewer.py.page:52(item/p) C/magic-mirror.vala.page:53(item/p)
+#: C/photo-wall.c.page:55(item/p) C/record-collection.js.page:56(item/p)
 msgid ""
 "Start Anjuta and click <guiseq><gui>File</gui><gui>New</gui><gui>Project</"
 "gui></guiseq> to open the project wizard."
@@ -14986,18 +15314,22 @@ msgstr ""
 "Ξεκινήστε το Anjuta και πατήστε <guiseq><gui>αρχείο</gui><gui>νέο</"
 "gui><gui>έργο</gui></guiseq> για να ανοίξετε τον οδηγό του έργου."
 
-#: C/guitar-tuner.c.page:49(item/p)
+#: C/guitar-tuner.c.page:54(item/p)
+#| msgid ""
+#| "Choose <gui>Gtk+ (Simple)</gui> from the <gui>C</gui> tab, click "
+#| "<gui>Continue</gui>, and fill out your details on the next few pages. Use "
+#| "<file>guitar-tuner</file> as project name and directory."
 msgid ""
-"Choose <gui>Gtk+ (Simple)</gui> from the <gui>C</gui> tab, click "
+"Choose <gui>GTK+ (Simple)</gui> from the <gui>C</gui> tab, click "
 "<gui>Continue</gui>, and fill out your details on the next few pages. Use "
 "<file>guitar-tuner</file> as project name and directory."
 msgstr ""
-"Επιλέξτε <gui>Gtk+ (απλό)</gui> από την καρτέλα <gui>C</gui>, πατήστε "
+"Επιλέξτε <gui>GTK+ (απλό)</gui> από την καρτέλα <gui>C</gui>, πατήστε "
 "<gui>συνέχεια</gui>, και συμπληρώστε τις λεπτομέρειές σας στις επόμενες "
 "λίγες σελίδες. Χρησιμοποιήστε το <file>guitar-tuner</file> ως όνομα του "
 "έργου και του καταλόγου."
 
-#: C/guitar-tuner.c.page:52(item/p)
+#: C/guitar-tuner.c.page:57(item/p)
 msgid ""
 "Make sure that <gui>Configure external packages</gui> is switched <gui>ON</"
 "gui>. On the next page, select <em>gstreamer-0.10</em> from the list to "
@@ -15007,8 +15339,8 @@ msgstr ""
 "gui>. Στην επόμενη σελίδα, επιλέξτε <em>gstreamer-0.10</em> από τη λίστα για "
 "συμπερίληψη της βιβλιοθήκης GStreamer στο έργο σας."
 
-#: C/guitar-tuner.c.page:56(item/p) C/image-viewer.c.page:51(item/p)
-#: C/photo-wall.c.page:65(item/p)
+#: C/guitar-tuner.c.page:61(item/p) C/image-viewer.c.page:56(item/p)
+#: C/photo-wall.c.page:70(item/p)
 msgid ""
 "Click <gui>Apply</gui> and the project will be created for you. Open "
 "<file>src/main.c</file> from the <gui>Project</gui> or <gui>File</gui> tabs. "
@@ -15018,8 +15350,8 @@ msgstr ""
 "<file>src/main.c</file> από τις καρτέλες <gui>έργο</gui> ή <gui>αρχείο</"
 "gui>. Θα πρέπει να δείτε κάποιο κώδικα που ξεκινάει με τις γραμμές:"
 
-#: C/guitar-tuner.c.page:57(item/code) C/image-viewer.c.page:52(item/code)
-#: C/photo-wall.c.page:66(item/code)
+#: C/guitar-tuner.c.page:62(item/code) C/image-viewer.c.page:57(item/code)
+#: C/photo-wall.c.page:71(item/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -15030,17 +15362,17 @@ msgstr ""
 "#include &lt;config.h&gt;\n"
 "#include &lt;gtk/gtk.h&gt;"
 
-#: C/guitar-tuner.c.page:65(section/title)
-#: C/guitar-tuner.cpp.page:63(section/title)
-#: C/guitar-tuner.vala.page:68(section/title)
-#: C/image-viewer.c.page:60(section/title)
-#: C/image-viewer.cpp.page:60(section/title)
-#: C/image-viewer.vala.page:107(section/title)
-#: C/magic-mirror.vala.page:72(section/title)
+#: C/guitar-tuner.c.page:70(section/title)
+#: C/guitar-tuner.cpp.page:68(section/title)
+#: C/guitar-tuner.vala.page:73(section/title)
+#: C/image-viewer.c.page:65(section/title)
+#: C/image-viewer.cpp.page:65(section/title)
+#: C/image-viewer.vala.page:112(section/title)
+#: C/magic-mirror.vala.page:77(section/title)
 msgid "Build the code for the first time"
 msgstr "Κατασκευάστε τον κώδικα για πρώτη φορά"
 
-#: C/guitar-tuner.c.page:66(section/p)
+#: C/guitar-tuner.c.page:71(section/p)
 msgid ""
 "C is a rather verbose language, so don't be surprised that the file contains "
 "quite a lot of code. Most of it is template code. It loads an (empty) window "
@@ -15053,7 +15385,7 @@ msgstr ""
 "Περισσότερες λεπτομέρειες δίνονται πιο κάτω· προσπεράστε αυτή τη λίστα αν "
 "καταλαβαίνετε τα βασικά:"
 
-#: C/guitar-tuner.c.page:70(item/p) C/image-viewer.c.page:65(item/p)
+#: C/guitar-tuner.c.page:75(item/p) C/image-viewer.c.page:70(item/p)
 msgid ""
 "The three <code>#include</code> lines at the top include the <code>config</"
 "code> (useful autoconf build defines), <code>gtk</code> (user interface) and "
@@ -15065,7 +15397,7 @@ msgstr ""
 "code> (διεπαφή χρήστη) και βιβλιοθήκες <code>gi18n</code> (διεθνοποίηση). "
 "Συναρτήσεις από αυτές τις βιβλιοθήκες χρησιμοποιούνται στον υπόλοιπο κώδικα."
 
-#: C/guitar-tuner.c.page:73(item/p)
+#: C/guitar-tuner.c.page:78(item/p)
 msgid ""
 "The <code>create_window</code> function creates a new window by opening a "
 "GtkBuilder file (<file>src/guitar-tuner.ui</file>, defined a few lines "
@@ -15081,8 +15413,8 @@ msgstr ""
 "χρησιμοποιήσετε τον επεξεργαστή του Anjuta για σχεδίαση διεπαφών χρήστη "
 "GtkBuilder."
 
-#: C/guitar-tuner.c.page:74(item/p) C/image-viewer.c.page:69(item/p)
-#: C/image-viewer.vala.page:117(item/p)
+#: C/guitar-tuner.c.page:79(item/p) C/image-viewer.c.page:74(item/p)
+#: C/image-viewer.vala.page:122(item/p)
 msgid ""
 "Connecting signals is how you define what happens when you push a button, or "
 "when some other event happens. Here, the <code>destroy</code> function is "
@@ -15092,7 +15424,7 @@ msgstr ""
 "όταν συμβεί κάποιο άλλο συμβάν. Εδώ, καλείται η συνάρτηση <code>destroy</"
 "code> (και τερματίζει την εφαρμογή) όταν κλείνετε το παράθυρο."
 
-#: C/guitar-tuner.c.page:77(item/p) C/image-viewer.c.page:72(item/p)
+#: C/guitar-tuner.c.page:82(item/p) C/image-viewer.c.page:77(item/p)
 msgid ""
 "The <code>main</code> function is run by default when you start a C "
 "application. It calls a few functions which set up and then run the "
@@ -15106,7 +15438,7 @@ msgstr ""
 "που εκτελεί τη διεπαφή χρήστη και ξεκινά την απάντηση για συμβάντα (όπως "
 "κλικ και πατήματα κουμπιών)."
 
-#: C/guitar-tuner.c.page:80(item/p) C/image-viewer.c.page:75(item/p)
+#: C/guitar-tuner.c.page:85(item/p) C/image-viewer.c.page:80(item/p)
 msgid ""
 "The <code>ENABLE_NLS</code> conditional definition sets up <code>gettext</"
 "code>, which is a framework for translating applications. These functions "
@@ -15116,10 +15448,10 @@ msgstr ""
 "που είναι ο σκελετός για μετάφραση εφαρμογών. Αυτές οι συναρτήσεις ορίζουν "
 "πώς τα εργαλεία μετάφρασης θα χειριστούν την εφαρμογή σας όταν τις εκτελείτε."
 
-#: C/guitar-tuner.c.page:84(section/p) C/guitar-tuner.cpp.page:78(section/p)
-#: C/image-viewer.c.page:79(section/p) C/image-viewer.cpp.page:76(section/p)
-#: C/image-viewer.vala.page:127(section/p)
-#: C/magic-mirror.vala.page:87(section/p)
+#: C/guitar-tuner.c.page:89(section/p) C/guitar-tuner.cpp.page:83(section/p)
+#: C/image-viewer.c.page:84(section/p) C/image-viewer.cpp.page:81(section/p)
+#: C/image-viewer.vala.page:132(section/p)
+#: C/magic-mirror.vala.page:92(section/p)
 msgid ""
 "This code is ready to be used, so you can compile it by clicking "
 "<guiseq><gui>Build</gui><gui>Build Project</gui></guiseq> (or press "
@@ -15129,8 +15461,8 @@ msgstr ""
 "μεταγλωττίσετε με κλικ <guiseq><gui>κατασκευή</gui><gui>κατασκευή έργου</"
 "gui></guiseq> (ή πιέζοντας <keyseq><key>Shift</key><key>F7</key></keyseq>)."
 
-#: C/guitar-tuner.c.page:85(section/p) C/guitar-tuner.cpp.page:79(section/p)
-#: C/image-viewer.c.page:80(section/p) C/image-viewer.cpp.page:77(section/p)
+#: C/guitar-tuner.c.page:90(section/p) C/guitar-tuner.cpp.page:84(section/p)
+#: C/image-viewer.c.page:85(section/p) C/image-viewer.cpp.page:82(section/p)
 msgid ""
 "Press <gui>Execute</gui> on the next window that appears to configure a "
 "debug build. You only need to do this once, for the first build."
@@ -15139,14 +15471,14 @@ msgstr ""
 "κατασκευής αποσφαλμάτωσης. Χρειάζεται να το κάνετε αυτό μόνο μια φορά, για "
 "την πρώτη κατασκευή."
 
-#: C/guitar-tuner.c.page:89(section/title)
-#: C/guitar-tuner.cpp.page:83(section/title)
-#: C/guitar-tuner.py.page:85(section/title)
-#: C/guitar-tuner.vala.page:90(section/title)
+#: C/guitar-tuner.c.page:94(section/title)
+#: C/guitar-tuner.cpp.page:88(section/title)
+#: C/guitar-tuner.py.page:95(section/title)
+#: C/guitar-tuner.vala.page:95(section/title)
 msgid "Create the user interface"
 msgstr "Δημιουργία της διεπαφής χρήστη"
 
-#: C/guitar-tuner.c.page:90(section/p) C/guitar-tuner.cpp.page:84(section/p)
+#: C/guitar-tuner.c.page:95(section/p) C/guitar-tuner.cpp.page:89(section/p)
 msgid ""
 "A description of the user interface (UI) is contained in the GtkBuilder "
 "file. To edit the user interface, open <file>src/guitar_tuner.ui</file>. "
@@ -15160,8 +15492,8 @@ msgstr ""
 "κέντρο· τα γραφικά συστατικά και οι ρυθμίσεις τους είναι στα αριστερά, η "
 "παλέτα με τα διαθέσιμα γραφικά συστατικά στα δεξιά."
 
-#: C/guitar-tuner.c.page:92(section/p) C/guitar-tuner.cpp.page:86(section/p)
-#: C/guitar-tuner.py.page:88(section/p)
+#: C/guitar-tuner.c.page:97(section/p) C/guitar-tuner.cpp.page:91(section/p)
+#: C/guitar-tuner.py.page:98(section/p)
 msgid ""
 "The layout of every UI in GTK+ is organized using boxes and tables. Let's "
 "use a vertical <gui>GtkButtonBox</gui> here to assign six <gui>GtkButtons</"
@@ -15171,8 +15503,8 @@ msgstr ""
 "χρησιμοποιήσουμε εδώ ένα κάθετο <gui>GtkButtonBox</gui> για να τοποθετήσουμε "
 "έξι <gui>GtkButtons</gui>, ένα για κάθε μία από τις χορδές της κιθάρας."
 
-#: C/guitar-tuner.c.page:98(item/p) C/guitar-tuner.cpp.page:92(item/p)
-#: C/guitar-tuner.py.page:94(item/p)
+#: C/guitar-tuner.c.page:103(item/p) C/guitar-tuner.cpp.page:97(item/p)
+#: C/guitar-tuner.py.page:104(item/p)
 msgid ""
 "Select a <gui>GtkButtonBox</gui> from the <gui>Container</gui> section of "
 "the <gui>Palette</gui> on the right and put it into the window. In the "
@@ -15184,8 +15516,8 @@ msgstr ""
 "<gui>Ιδιότητες</gui> καθορίστε τον αριθμό των στοιχείων σε 6 (για τις έξι "
 "χορδές της κιθάρας) και τον προσανατολισμό σε κάθετο."
 
-#: C/guitar-tuner.c.page:102(item/p) C/guitar-tuner.cpp.page:96(item/p)
-#: C/guitar-tuner.py.page:98(item/p)
+#: C/guitar-tuner.c.page:107(item/p) C/guitar-tuner.cpp.page:101(item/p)
+#: C/guitar-tuner.py.page:108(item/p)
 msgid ""
 "Now, choose a <gui>GtkButton</gui> from the palette and put it into the "
 "first part of the box."
@@ -15193,7 +15525,7 @@ msgstr ""
 "Τώρα, διαλέξτε ένα <gui>GtkButton</gui> από την παλέτα και βάλτε το στο "
 "πρώτο μέρος του κουτιού."
 
-#: C/guitar-tuner.c.page:105(item/p) C/guitar-tuner.py.page:101(item/p)
+#: C/guitar-tuner.c.page:110(item/p) C/guitar-tuner.py.page:111(item/p)
 msgid ""
 "While the button is still selected, change the <gui>Label</gui> property in "
 "the <gui>Widgets</gui> tab to <gui>E</gui>. This will be the low E string."
@@ -15202,7 +15534,7 @@ msgstr ""
 "καρτέλα <gui>Γραφικά συστατικά</gui> σε <gui>E</gui>. Αυτή θα είναι η χαμηλή "
 "χορδή Ε."
 
-#: C/guitar-tuner.c.page:108(item/p) C/guitar-tuner.py.page:104(item/p)
+#: C/guitar-tuner.c.page:113(item/p) C/guitar-tuner.py.page:114(item/p)
 msgid ""
 "Switch to the <gui>Signals</gui> tab (inside the <gui>Widgets</gui> tab) and "
 "look for the <code>clicked</code> signal of the button. You can use this to "
@@ -15217,8 +15549,8 @@ msgstr ""
 "πατήστε πάνω στο σήμα και πληκτρολογήστε <code>on_button_clicked</code> στη "
 "στήλη <gui>χειριστής</gui> και πατήστε <key>Επιστροφή</key>."
 
-#: C/guitar-tuner.c.page:111(item/p) C/guitar-tuner.py.page:107(item/p)
-#: C/guitar-tuner.vala.page:116(item/p)
+#: C/guitar-tuner.c.page:116(item/p) C/guitar-tuner.py.page:117(item/p)
+#: C/guitar-tuner.vala.page:121(item/p)
 msgid ""
 "Repeat the above steps for the other buttons, adding the next 5 strings with "
 "the names <em>A</em>, <em>D</em>, <em>G</em>, <em>B</em>, and <em>e</em>."
@@ -15227,8 +15559,8 @@ msgstr ""
 "επόμενες 5 χορδές με τα ονόματα <em>A</em>, <em>D</em>, <em>G</em>, <em>B</"
 "em>, και <em>e</em>."
 
-#: C/guitar-tuner.c.page:114(item/p) C/guitar-tuner.py.page:110(item/p)
-#: C/guitar-tuner.vala.page:119(item/p)
+#: C/guitar-tuner.c.page:119(item/p) C/guitar-tuner.py.page:120(item/p)
+#: C/guitar-tuner.vala.page:124(item/p)
 msgid ""
 "Save the UI design (by clicking <guiseq><gui>File</gui><gui>Save</gui></"
 "guiseq>) and keep it open."
@@ -15236,12 +15568,12 @@ msgstr ""
 "Αποθηκεύστε τη σχεδίαση UI (πατώντας <guiseq><gui>αρχείο</"
 "gui><gui>αποθήκευση</gui></guiseq>) και κρατήστε το ανοιχτό."
 
-#: C/guitar-tuner.c.page:120(section/title)
-#: C/guitar-tuner.vala.page:197(section/title)
+#: C/guitar-tuner.c.page:125(section/title)
+#: C/guitar-tuner.vala.page:202(section/title)
 msgid "Creating the signal handler"
 msgstr "Δημιουργία χειριστή σημάτων"
 
-#: C/guitar-tuner.c.page:121(section/p) C/guitar-tuner.py.page:117(section/p)
+#: C/guitar-tuner.c.page:126(section/p) C/guitar-tuner.py.page:127(section/p)
 msgid ""
 "In the UI designer, you made it so that all of the buttons will call the "
 "same function, <gui>on_button_clicked</gui>, when they are clicked. We need "
@@ -15251,7 +15583,7 @@ msgstr ""
 "συνάρτηση, <gui>on_button_clicked</gui>, όταν πατηθούν. Πρέπει να "
 "προσθέσουμε αυτή την συνάρτηση στο πηγαίο κώδικα."
 
-#: C/guitar-tuner.c.page:122(section/p)
+#: C/guitar-tuner.c.page:127(section/p)
 msgid ""
 "To do this, open <file>main.c</file> while the user interface file is still "
 "open. Switch to the <gui>Signals</gui> tab, which you already used to set "
@@ -15266,7 +15598,7 @@ msgstr ""
 "πηγαίο αρχείο σε μια θέση που είναι έξω από κάθε συνάρτηση. Ο ακόλουθος "
 "κώδικας θα προστεθεί στο πηγαίο αρχείο:"
 
-#: C/guitar-tuner.c.page:125(section/code)
+#: C/guitar-tuner.c.page:130(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -15281,7 +15613,7 @@ msgstr ""
 "\n"
 "}"
 
-#: C/guitar-tuner.c.page:130(section/p)
+#: C/guitar-tuner.c.page:135(section/p)
 msgid ""
 "This signal handler has two arguments: a pointer to the <code>GtkWidget</"
 "code> that called the function (in our case, always a <code>GtkButton</"
@@ -15299,7 +15631,7 @@ msgstr ""
 "code>; χρησιμοποιείται κανονικά για το πέρασμα ενός δείκτη σε μια δομή "
 "δεδομένων που ίσως χρειαστείτε να προσπελάσετε στο χειριστή σήματος.)"
 
-#: C/guitar-tuner.c.page:131(section/p) C/guitar-tuner.py.page:125(section/p)
+#: C/guitar-tuner.c.page:136(section/p) C/guitar-tuner.py.page:135(section/p)
 msgid ""
 "For now, we'll leave the signal handler empty while we work on writing the "
 "code to produce sounds."
@@ -15307,16 +15639,16 @@ msgstr ""
 "Για την ώρα, θα αφήσουμε το χειριστή σημάτων άδειο καθώς θα ασχοληθούμε με "
 "το γράψιμο του κώδικα που θα παράγει τους ήχους."
 
-#: C/guitar-tuner.c.page:135(section/title)
-#: C/guitar-tuner.cpp.page:112(section/title)
+#: C/guitar-tuner.c.page:140(section/title)
+#: C/guitar-tuner.cpp.page:117(section/title)
 #: C/guitar-tuner.js.page:38(section/title)
-#: C/guitar-tuner.py.page:129(section/title)
-#: C/guitar-tuner.vala.page:125(section/title)
+#: C/guitar-tuner.py.page:139(section/title)
+#: C/guitar-tuner.vala.page:130(section/title)
 msgid "GStreamer pipelines"
 msgstr "Διοχετεύσεις GStreamer"
 
-#: C/guitar-tuner.c.page:136(section/p) C/guitar-tuner.js.page:39(section/p)
-#: C/guitar-tuner.py.page:130(section/p)
+#: C/guitar-tuner.c.page:141(section/p) C/guitar-tuner.js.page:39(section/p)
+#: C/guitar-tuner.py.page:140(section/p)
 msgid ""
 "GStreamer is GNOME's multimedia framework — you can use it for playing, "
 "recording, and processing video, audio, webcam streams and the like. Here, "
@@ -15327,8 +15659,8 @@ msgstr ""
 "βίντεο, ήχο, ροές βίντεο και τα λοιπά. Εδώ, θα το χρησιμοποιήσουμε για να "
 "παράγουμε μονές-συχνότητες τόνων."
 
-#: C/guitar-tuner.c.page:137(section/p) C/guitar-tuner.cpp.page:115(section/p)
-#: C/guitar-tuner.js.page:40(section/p) C/guitar-tuner.py.page:131(section/p)
+#: C/guitar-tuner.c.page:142(section/p) C/guitar-tuner.cpp.page:120(section/p)
+#: C/guitar-tuner.js.page:40(section/p) C/guitar-tuner.py.page:141(section/p)
 msgid ""
 "Conceptually, GStreamer works as follows: You create a <em>pipeline</em> "
 "containing several processing elements going from the <em>source</em> to the "
@@ -15341,9 +15673,9 @@ msgstr ""
 "ένα αρχείο εικόνας, βίντεο, ή και μουσικής, για παράδειγμα, και η έξοδος "
 "μπορεί να είναι ένα γραφικό συστατικό ή η κάρτα ήχου."
 
-#: C/guitar-tuner.c.page:138(section/p) C/guitar-tuner.cpp.page:116(section/p)
-#: C/guitar-tuner.js.page:41(section/p) C/guitar-tuner.py.page:132(section/p)
-#: C/guitar-tuner.vala.page:128(section/p)
+#: C/guitar-tuner.c.page:143(section/p) C/guitar-tuner.cpp.page:121(section/p)
+#: C/guitar-tuner.js.page:41(section/p) C/guitar-tuner.py.page:142(section/p)
+#: C/guitar-tuner.vala.page:133(section/p)
 msgid ""
 "Between source and sink, you can apply various filters and converters to "
 "handle effects, format conversions and so on. Each element of the pipeline "
@@ -15354,20 +15686,20 @@ msgstr ""
 "της διοχέτευσης έχει ιδιότητες που μπορούν να χρησιμοποιηθούν για να "
 "αλλάξουν τη συμπεριφορά τους."
 
-#: C/guitar-tuner.c.page:140(media/p) C/guitar-tuner.cpp.page:118(media/p)
-#: C/guitar-tuner.js.page:43(media/p) C/guitar-tuner.py.page:134(media/p)
-#: C/guitar-tuner.vala.page:130(media/p)
+#: C/guitar-tuner.c.page:145(media/p) C/guitar-tuner.cpp.page:123(media/p)
+#: C/guitar-tuner.js.page:43(media/p) C/guitar-tuner.py.page:144(media/p)
+#: C/guitar-tuner.vala.page:135(media/p)
 msgid "An example GStreamer pipeline."
 msgstr "Ένα παράδειγμα διοχέτευσης GStreamer."
 
-#: C/guitar-tuner.c.page:145(section/title)
-#: C/guitar-tuner.py.page:139(section/title)
-#: C/guitar-tuner.vala.page:135(section/title)
+#: C/guitar-tuner.c.page:150(section/title)
+#: C/guitar-tuner.py.page:149(section/title)
+#: C/guitar-tuner.vala.page:140(section/title)
 msgid "Set up the pipeline"
 msgstr "Ρύθμιση της διοχέτευσης"
 
-#: C/guitar-tuner.c.page:146(section/p) C/guitar-tuner.cpp.page:129(section/p)
-#: C/guitar-tuner.py.page:140(section/p)
+#: C/guitar-tuner.c.page:151(section/p) C/guitar-tuner.cpp.page:134(section/p)
+#: C/guitar-tuner.py.page:150(section/p)
 msgid ""
 "In this simple example we will use a tone generator source called "
 "<code>audiotestsrc</code> and send the output to the default system sound "
@@ -15381,7 +15713,7 @@ msgstr ""
 "ρυθμίσουμε την συχνότητα της παραγωγής τόνου· αυτό είναι εφικτό μέσα από την "
 "ρύθμιση <code>freq</code> του <code>audiotestsrc</code>."
 
-#: C/guitar-tuner.c.page:148(section/p)
+#: C/guitar-tuner.c.page:153(section/p)
 msgid ""
 "Insert the following line into <file>main.c</file>, just below the "
 "<code>#include &lt;gtk/gtk.h&gt;</code> line:"
@@ -15389,12 +15721,12 @@ msgstr ""
 "Εισάγετε την παρακάτω γραμμή στο <file>main.c</file>, ακριβώς κάτω από τη "
 "γραμμή <code>#include &lt;gtk/gtk.h&gt;</code>:"
 
-#: C/guitar-tuner.c.page:149(section/code)
+#: C/guitar-tuner.c.page:154(section/code)
 #, no-wrap
 msgid "#include &lt;gst/gst.h&gt;"
 msgstr "#include &lt;gst/gst.h&gt;"
 
-#: C/guitar-tuner.c.page:150(section/p)
+#: C/guitar-tuner.c.page:155(section/p)
 msgid ""
 "This includes the GStreamer library. You also need to add a line to "
 "initialize GStreamer; put the following code on the line above the "
@@ -15405,12 +15737,12 @@ msgstr ""
 "κώδικα στην γραμμή πάνω από την κλήση <code>gtk_init</code> στη συνάρτηση "
 "<code>main</code>:"
 
-#: C/guitar-tuner.c.page:151(section/code)
+#: C/guitar-tuner.c.page:156(section/code)
 #, no-wrap
 msgid "gst_init (&amp;argc, &amp;argv);"
 msgstr "gst_init (&amp;argc, &amp;argv);"
 
-#: C/guitar-tuner.c.page:152(section/p)
+#: C/guitar-tuner.c.page:157(section/p)
 msgid ""
 "Then, copy the following function into <file>main.c</file> above the empty "
 "<code>on_button_clicked</code> function:"
@@ -15418,7 +15750,7 @@ msgstr ""
 "Μετά, αντιγράψτε την ακόλουθη συνάρτηση στην <file>main.c</file> πάνω από "
 "την κενή συνάρτηση <code>on_button_clicked</code>:"
 
-#: C/guitar-tuner.c.page:153(section/code)
+#: C/guitar-tuner.c.page:158(section/code)
 #, no-wrap
 msgid ""
 "static void\n"
@@ -15469,7 +15801,7 @@ msgstr ""
 "\tg_timeout_add (LENGTH, (GSourceFunc) pipeline_stop, pipeline);\n"
 "}"
 
-#: C/guitar-tuner.c.page:179(item/p)
+#: C/guitar-tuner.c.page:184(item/p)
 msgid ""
 "The first five lines create source and sink GStreamer elements "
 "(<code>GstElement</code>), and a pipeline element (which will be used as a "
@@ -15486,7 +15818,7 @@ msgstr ""
 "την ρυθμίζετε στην έξοδο <code>autoaudiosink</code> (προεπιλεγμένη έξοδος "
 "κάρτας ήχου)."
 
-#: C/guitar-tuner.c.page:182(item/p)
+#: C/guitar-tuner.c.page:187(item/p)
 msgid ""
 "The call to <code>g_object_set</code> sets the <code>freq</code> property of "
 "the source element to <code>frequency</code>, which is passed as an argument "
@@ -15498,7 +15830,7 @@ msgstr ""
 "όρισμα στη συνάρτηση <code>play_sound</code>. Αυτή είναι μόνο η συχνότητα "
 "της νότας σε Hertz· μερικές χρήσιμες συχνότητες θα οριστούν αργότερα."
 
-#: C/guitar-tuner.c.page:185(item/p)
+#: C/guitar-tuner.c.page:190(item/p)
 msgid ""
 "<code>gst_bin_add_many</code> puts the source and sink into the pipeline. "
 "The pipeline is a <code>GstBin</code>, which is just an element that can "
@@ -15512,7 +15844,7 @@ msgstr ""
 "προσθέσετε όσα στοιχεία θέλετε στη διοχέτευση προσθέτοντας περισσότερα "
 "ορίσματα στον <code>gst_bin_add_many</code>."
 
-#: C/guitar-tuner.c.page:188(item/p)
+#: C/guitar-tuner.c.page:193(item/p)
 msgid ""
 "Next, <code>gst_element_link</code> is used to connect the elements "
 "together, so the output of <code>source</code> (a tone) goes into the input "
@@ -15528,12 +15860,12 @@ msgstr ""
 "αναπαραγωγής, ορίζοντας την κατάσταση της διοχέτευσης να παίξει "
 "(<code>GST_STATE_PLAYING</code>)."
 
-#: C/guitar-tuner.c.page:195(section/title)
-#: C/guitar-tuner.py.page:180(section/title)
+#: C/guitar-tuner.c.page:200(section/title)
+#: C/guitar-tuner.py.page:190(section/title)
 msgid "Stopping playback"
 msgstr "Διακοπή αναπαραγωγής"
 
-#: C/guitar-tuner.c.page:196(section/p)
+#: C/guitar-tuner.c.page:201(section/p)
 msgid ""
 "We don't want to play an annoying tone forever, so the last thing "
 "<code>play_sound</code> does is to call <code>g_timeout_add</code>. This "
@@ -15549,7 +15881,7 @@ msgstr ""
 "συνάρτηση <code>pipeline_stop</code>, και θα συνεχίσει να την καλεί μέχρι η "
 "<code>pipeline_stop</code> να επιστρέψει <code>False</code>."
 
-#: C/guitar-tuner.c.page:197(section/p)
+#: C/guitar-tuner.c.page:202(section/p)
 msgid ""
 "Now, we'll write the <code>pipeline_stop</code> function which is called by "
 "<code>g_timeout_add</code>. Insert the following code <em>above</em> the "
@@ -15559,7 +15891,7 @@ msgstr ""
 "από το <code>g_timeout_add</code>. Προσθέστε τον ακόλουθο κώδικα <em>πάνω</"
 "em> από τη συνάρτηση <code>play_sound</code>:"
 
-#: C/guitar-tuner.c.page:198(section/code)
+#: C/guitar-tuner.c.page:203(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -15586,7 +15918,7 @@ msgstr ""
 "\treturn FALSE;\n"
 "}"
 
-#: C/guitar-tuner.c.page:209(section/p)
+#: C/guitar-tuner.c.page:214(section/p)
 msgid ""
 "The call to <code>gst_element_set_state</code> pauses the playback of the "
 "pipeline and <code>g_object_unref</code> unreferences the pipeline, "
@@ -15596,12 +15928,12 @@ msgstr ""
 "διοχέτευσης και ο <code>g_object_unref</code> σταματά την αναφορά στη "
 "διοχέτευση, καταστρέφοντας την και ελευθερώνοντας τη μνήμη της."
 
-#: C/guitar-tuner.c.page:213(section/title)
-#: C/guitar-tuner.py.page:197(section/title)
+#: C/guitar-tuner.c.page:218(section/title)
+#: C/guitar-tuner.py.page:207(section/title)
 msgid "Define the tones"
 msgstr "Ορισμός των τόνων"
 
-#: C/guitar-tuner.c.page:214(section/p)
+#: C/guitar-tuner.c.page:219(section/p)
 msgid ""
 "We want to play the correct sound when the user clicks a button. First of "
 "all, we need to know the frequencies for the six guitar strings, which are "
@@ -15611,7 +15943,7 @@ msgstr ""
 "όλα, θέλουμε να ξέρουμε τις συχνότητες για τις έξι χορδές της κιθάρας, οι "
 "οποίες ορίζονται (στην αρχή του <file>main.c</file>) ως ακολούθως:"
 
-#: C/guitar-tuner.c.page:215(section/code)
+#: C/guitar-tuner.c.page:220(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -15632,7 +15964,7 @@ msgstr ""
 "#define NOTE_B 987.77\n"
 "#define NOTE_e 1318.5"
 
-#: C/guitar-tuner.c.page:223(section/p) C/guitar-tuner.py.page:211(section/p)
+#: C/guitar-tuner.c.page:228(section/p) C/guitar-tuner.py.page:221(section/p)
 msgid ""
 "Now to flesh out the signal handler that we defined earlier, "
 "<code>on_button_clicked</code>. We could have connected every button to a "
@@ -15646,7 +15978,7 @@ msgstr ""
 "Αντί αυτού, μπορούμε να χρησιμοποιήσουμε τις ετικέτες στα κουμπιά για να "
 "δούμε ποιο πατήθηκε:"
 
-#: C/guitar-tuner.c.page:224(section/code)
+#: C/guitar-tuner.c.page:229(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -15693,7 +16025,7 @@ msgstr ""
 "\t    play_sound (NOTE_e);\n"
 "}\n"
 
-#: C/guitar-tuner.c.page:246(section/p)
+#: C/guitar-tuner.c.page:251(section/p)
 msgid ""
 "A pointer to the <code>GtkButton</code> that was clicked is passed as an "
 "argument (<code>button</code>) to <code>on_button_clicked</code>. We can get "
@@ -15706,7 +16038,7 @@ msgstr ""
 "<code>gtk_bin_get_child</code> και έπειτα να πάρουμε το κείμενο από αυτήν "
 "την ετικέτα χρησιμοποιώντας <code>gtk_label_get_label</code>."
 
-#: C/guitar-tuner.c.page:247(section/p)
+#: C/guitar-tuner.c.page:252(section/p)
 msgid ""
 "The label text is then compared to the notes that we have using "
 "<code>g_str_equal</code>, and <code>play_sound</code> is called with the "
@@ -15718,20 +16050,20 @@ msgstr ""
 "κατάλληλη συχνότητα για αυτήν την νότα. Αυτό παίζει τον τόνο· ο συντονιστής "
 "κιθάρας είναι έτοιμος!"
 
-#: C/guitar-tuner.c.page:251(section/title)
-#: C/guitar-tuner.cpp.page:249(section/title)
-#: C/guitar-tuner.vala.page:247(section/title)
-#: C/image-viewer.c.page:216(section/title)
-#: C/image-viewer.cpp.page:204(section/title)
-#: C/image-viewer.vala.page:274(section/title)
-#: C/photo-wall.c.page:371(section/title)
+#: C/guitar-tuner.c.page:256(section/title)
+#: C/guitar-tuner.cpp.page:254(section/title)
+#: C/guitar-tuner.vala.page:252(section/title)
+#: C/image-viewer.c.page:221(section/title)
+#: C/image-viewer.cpp.page:209(section/title)
+#: C/image-viewer.vala.page:279(section/title)
+#: C/photo-wall.c.page:391(section/title)
 msgid "Build and run the application"
 msgstr "Κατασκευή και εκτέλεση της εφαρμογής"
 
-#: C/guitar-tuner.c.page:252(section/p)
-#: C/guitar-tuner.vala.page:248(section/p)
-#: C/image-viewer.c.page:217(section/p) C/image-viewer.cpp.page:205(section/p)
-#: C/image-viewer.vala.page:275(section/p)
+#: C/guitar-tuner.c.page:257(section/p)
+#: C/guitar-tuner.vala.page:253(section/p)
+#: C/image-viewer.c.page:222(section/p) C/image-viewer.cpp.page:210(section/p)
+#: C/image-viewer.vala.page:280(section/p)
 msgid ""
 "All of the code should now be ready to go. Click <guiseq><gui>Build</"
 "gui><gui>Build Project</gui></guiseq> to build everything again, and then "
@@ -15742,8 +16074,8 @@ msgstr ""
 "έπειτα <guiseq><gui>τρέξιμο</gui><gui>εκτέλεση</gui></guiseq> για έναρξη της "
 "εφαρμογής."
 
-#: C/guitar-tuner.c.page:253(section/p) C/guitar-tuner.cpp.page:251(section/p)
-#: C/guitar-tuner.vala.page:249(section/p)
+#: C/guitar-tuner.c.page:258(section/p) C/guitar-tuner.cpp.page:256(section/p)
+#: C/guitar-tuner.vala.page:254(section/p)
 msgid ""
 "If you haven't already done so, choose the <file>Debug/src/guitar-tuner</"
 "file> application in the dialog that appears. Finally, hit <gui>Run</gui> "
@@ -15753,23 +16085,23 @@ msgstr ""
 "tuner</file> στον διάλογο που εμφανίζεται. Τελικά, πατήστε <gui>τρέξιμο</"
 "gui> και απολαύστε!"
 
-#: C/guitar-tuner.c.page:257(section/title)
-#: C/guitar-tuner.cpp.page:255(section/title)
-#: C/guitar-tuner.js.page:234(section/title)
-#: C/guitar-tuner.py.page:229(section/title)
-#: C/guitar-tuner.vala.page:253(section/title)
-#: C/image-viewer.c.page:222(section/title)
-#: C/image-viewer.cpp.page:210(section/title)
-#: C/image-viewer.js.page:311(section/title)
-#: C/image-viewer.py.page:225(section/title)
-#: C/image-viewer.vala.page:282(section/title)
-#: C/magic-mirror.vala.page:144(section/title)
-#: C/photo-wall.c.page:379(section/title)
-#: C/record-collection.js.page:291(section/title)
+#: C/guitar-tuner.c.page:262(section/title)
+#: C/guitar-tuner.cpp.page:260(section/title)
+#: C/guitar-tuner.js.page:241(section/title)
+#: C/guitar-tuner.py.page:239(section/title)
+#: C/guitar-tuner.vala.page:258(section/title)
+#: C/image-viewer.c.page:227(section/title)
+#: C/image-viewer.cpp.page:215(section/title)
+#: C/image-viewer.js.page:315(section/title)
+#: C/image-viewer.py.page:229(section/title)
+#: C/image-viewer.vala.page:287(section/title)
+#: C/magic-mirror.vala.page:149(section/title)
+#: C/photo-wall.c.page:399(section/title)
+#: C/record-collection.js.page:296(section/title)
 msgid "Reference Implementation"
 msgstr "Υλοποίηση αναφοράς"
 
-#: C/guitar-tuner.c.page:258(section/p)
+#: C/guitar-tuner.c.page:263(section/p)
 msgid ""
 "If you run into problems with the tutorial, compare your code with this "
 "<link href=\"guitar-tuner/guitar-tuner.c\">reference code</link>."
@@ -15777,43 +16109,43 @@ msgstr ""
 "Αν αντιμετωπίσετε προβλήματα με το μάθημα, συγκρίνετε τον κώδικά σας με "
 "αυτόν τον <link href=\"guitar-tuner/guitar-tuner.c\">κώδικα αναφοράς</link>."
 
-#: C/guitar-tuner.c.page:262(section/title)
-#: C/guitar-tuner.cpp.page:268(section/title)
-#: C/guitar-tuner.py.page:234(section/title)
-#: C/guitar-tuner.vala.page:264(section/title)
-#: C/image-viewer.c.page:227(section/title)
-#: C/image-viewer.cpp.page:215(section/title)
-#: C/image-viewer.js.page:316(section/title)
-#: C/image-viewer.py.page:230(section/title)
-#: C/image-viewer.vala.page:287(section/title)
+#: C/guitar-tuner.c.page:267(section/title)
+#: C/guitar-tuner.cpp.page:273(section/title)
+#: C/guitar-tuner.py.page:244(section/title)
+#: C/guitar-tuner.vala.page:269(section/title)
+#: C/image-viewer.c.page:232(section/title)
+#: C/image-viewer.cpp.page:220(section/title)
+#: C/image-viewer.js.page:320(section/title)
+#: C/image-viewer.py.page:234(section/title)
+#: C/image-viewer.vala.page:292(section/title)
 msgid "Next steps"
 msgstr "Επόμενα βήματα"
 
-#: C/guitar-tuner.c.page:263(section/p) C/guitar-tuner.cpp.page:269(section/p)
-#: C/guitar-tuner.py.page:235(section/p)
-#: C/guitar-tuner.vala.page:265(section/p)
-#: C/image-viewer.c.page:228(section/p) C/image-viewer.cpp.page:216(section/p)
-#: C/image-viewer.js.page:317(section/p) C/image-viewer.py.page:231(section/p)
-#: C/image-viewer.vala.page:288(section/p)
+#: C/guitar-tuner.c.page:268(section/p) C/guitar-tuner.cpp.page:274(section/p)
+#: C/guitar-tuner.py.page:245(section/p)
+#: C/guitar-tuner.vala.page:270(section/p)
+#: C/image-viewer.c.page:233(section/p) C/image-viewer.cpp.page:221(section/p)
+#: C/image-viewer.js.page:321(section/p) C/image-viewer.py.page:235(section/p)
+#: C/image-viewer.vala.page:293(section/p)
 msgid "Here are some ideas for how you can extend this simple demonstration:"
 msgstr ""
 "Εδώ είναι κάποιες ιδέες για το πώς μπορείτε να επεκτείνετε αυτή την απλή "
 "παρουσίαση:"
 
-#: C/guitar-tuner.c.page:266(item/p) C/guitar-tuner.cpp.page:272(item/p)
-#: C/guitar-tuner.py.page:238(item/p) C/guitar-tuner.vala.page:268(item/p)
+#: C/guitar-tuner.c.page:271(item/p) C/guitar-tuner.cpp.page:277(item/p)
+#: C/guitar-tuner.py.page:248(item/p) C/guitar-tuner.vala.page:273(item/p)
 msgid "Have the program automatically cycle through the notes."
 msgstr "Βάλτε το πρόγραμμα να περνάει αυτόματα μέσα από τις νότες."
 
-#: C/guitar-tuner.c.page:269(item/p) C/guitar-tuner.cpp.page:275(item/p)
-#: C/guitar-tuner.py.page:241(item/p) C/guitar-tuner.vala.page:271(item/p)
+#: C/guitar-tuner.c.page:274(item/p) C/guitar-tuner.cpp.page:280(item/p)
+#: C/guitar-tuner.py.page:251(item/p) C/guitar-tuner.vala.page:276(item/p)
 msgid "Make the program play recordings of real guitar strings being plucked."
 msgstr ""
 "Κάντε το πρόγραμμα να αναπαράγει ηχογραφήσεις από αληθινές χορδές κιθάρας "
 "που έχουν εισαχθεί."
 
-#: C/guitar-tuner.c.page:270(item/p) C/guitar-tuner.cpp.page:276(item/p)
-#: C/guitar-tuner.py.page:242(item/p) C/guitar-tuner.vala.page:272(item/p)
+#: C/guitar-tuner.c.page:275(item/p) C/guitar-tuner.cpp.page:281(item/p)
+#: C/guitar-tuner.py.page:252(item/p) C/guitar-tuner.vala.page:277(item/p)
 msgid ""
 "To do this, you would need to set up a more complicated GStreamer pipeline "
 "which allows you to load and play back music files. You'll have to choose "
@@ -15829,8 +16161,8 @@ msgstr ""
 "βάση τον τύπο του αρχείου των ηχογραφημένων ήχων — για παράδειγμα το MP3 "
 "χρησιμοποιεί διαφορετικά στοιχεία από το Ogg Vorbis."
 
-#: C/guitar-tuner.c.page:271(item/p) C/guitar-tuner.cpp.page:277(item/p)
-#: C/guitar-tuner.py.page:243(item/p) C/guitar-tuner.vala.page:273(item/p)
+#: C/guitar-tuner.c.page:276(item/p) C/guitar-tuner.cpp.page:282(item/p)
+#: C/guitar-tuner.py.page:253(item/p) C/guitar-tuner.vala.page:278(item/p)
 msgid ""
 "You might need to connect the elements in more complicated ways too. This "
 "could involve using <link href=\"http://gstreamer.freedesktop.org/data/doc/";
@@ -15848,13 +16180,13 @@ msgstr ""
 "section-intro-basics-pads.html\">pad</link>. Ίσως βρείτε χρήσιμη και την "
 "εντολή <cmd>gst-inspect</cmd>."
 
-#: C/guitar-tuner.c.page:274(item/p) C/guitar-tuner.cpp.page:280(item/p)
-#: C/guitar-tuner.py.page:246(item/p) C/guitar-tuner.vala.page:276(item/p)
+#: C/guitar-tuner.c.page:279(item/p) C/guitar-tuner.cpp.page:285(item/p)
+#: C/guitar-tuner.py.page:256(item/p) C/guitar-tuner.vala.page:281(item/p)
 msgid "Automatically analyze notes that the user plays."
 msgstr "Αυτόματη ανάλυση νότων που παίζει ο χρήστης."
 
-#: C/guitar-tuner.c.page:275(item/p) C/guitar-tuner.cpp.page:281(item/p)
-#: C/guitar-tuner.py.page:247(item/p) C/guitar-tuner.vala.page:277(item/p)
+#: C/guitar-tuner.c.page:280(item/p) C/guitar-tuner.cpp.page:286(item/p)
+#: C/guitar-tuner.py.page:257(item/p) C/guitar-tuner.vala.page:282(item/p)
 msgid ""
 "You could connect a microphone and record sounds from it using an <link href="
 "\"http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good-";
@@ -15881,11 +16213,11 @@ msgstr ""
 "συντονιστή κιθάρας για το GNOME. Αναδεικνύοντας τη χρήση του σχεδιαστή "
 "διεπαφών."
 
-#: C/guitar-tuner.cpp.page:33(item/p)
+#: C/guitar-tuner.cpp.page:38(item/p)
 msgid "Basic knowledge of the C++ programming language"
 msgstr "Βασική γνώση της γλώσσας προγραμματισμού C++"
 
-#: C/guitar-tuner.cpp.page:47(item/p)
+#: C/guitar-tuner.cpp.page:52(item/p)
 msgid ""
 "Choose <gui>GTKmm (Simple)</gui> from the <gui>C++</gui> tab, click "
 "<gui>Forward</gui>, and fill out your details on the next few pages. Use "
@@ -15896,7 +16228,7 @@ msgstr ""
 "σελίδες. Χρησιμοποιήστε ως όνομα του έργου και του καταλόγου το <file>guitar-"
 "tuner</file>."
 
-#: C/guitar-tuner.cpp.page:50(item/p)
+#: C/guitar-tuner.cpp.page:55(item/p)
 msgid ""
 "Make sure that <gui>Configure external packages</gui> is selected. On the "
 "next page, select <em>gstreamermm-0.10</em> from the list to include the "
@@ -15906,7 +16238,7 @@ msgstr ""
 "επόμενη σελίδα, επιλέξτε <em>gstreamer-0.10</em> από τη λίστα για "
 "συμπερίληψη της βιβλιοθήκης GStreamermm στο έργο σας."
 
-#: C/guitar-tuner.cpp.page:54(item/p)
+#: C/guitar-tuner.cpp.page:59(item/p)
 msgid ""
 "Click <gui>Finished</gui> and the project will be created for you. Open "
 "<file>src/main.cc</file> from the <gui>Project</gui> or <gui>File</gui> "
@@ -15916,7 +16248,7 @@ msgstr ""
 "<file>src/main.cc</file> από τις καρτέλες <gui>έργο</gui> ή <gui>αρχείο</"
 "gui>. Θα πρέπει να δείτε κάποιο κώδικα που ξεκινάει με τις γραμμές:"
 
-#: C/guitar-tuner.cpp.page:55(item/code)
+#: C/guitar-tuner.cpp.page:60(item/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -15927,7 +16259,7 @@ msgstr ""
 "#include &lt;gtkmm.h&gt;\n"
 "#include &lt;iostream&gt;"
 
-#: C/guitar-tuner.cpp.page:64(section/p) C/image-viewer.cpp.page:61(section/p)
+#: C/guitar-tuner.cpp.page:69(section/p) C/image-viewer.cpp.page:66(section/p)
 msgid ""
 "This is a very basic C++ code setting up GTKmm. More details are given "
 "below; skip this list if you understand the basics:"
@@ -15936,7 +16268,7 @@ msgstr ""
 "λεπτομέρειες δίνονται παρακάτω· προσπεράστε αυτή τη λίστα αν καταλαβαίνετε "
 "τα βασικά:"
 
-#: C/guitar-tuner.cpp.page:68(item/p)
+#: C/guitar-tuner.cpp.page:73(item/p)
 msgid ""
 "The three <code>#include</code> lines at the top include the <code>config</"
 "code> (useful autoconf build defines), <code>gtkmm</code> (user interface) "
@@ -15948,7 +16280,7 @@ msgstr ""
 "code> (διεπαφή χρήστη) και <code>iostream</code> (STL). Συναρτήσεις από "
 "αυτές τις βιβλιοθήκες χρησιμοποιούνται στον υπόλοιπο κώδικα."
 
-#: C/guitar-tuner.cpp.page:71(item/p)
+#: C/guitar-tuner.cpp.page:76(item/p)
 msgid ""
 "The <code>main</code> function creates a new window by opening a GtkBuilder "
 "file (<file>src/guitar-tuner.ui</file>, defined a few lines above) and then "
@@ -15963,7 +16295,7 @@ msgstr ""
 "στοιχείων του. Μπορείτε να χρησιμοποιήσετε τον επεξεργαστή του Anjuta για "
 "σχεδίαση διεπαφών χρήστη GtkBuilder."
 
-#: C/guitar-tuner.cpp.page:74(item/p)
+#: C/guitar-tuner.cpp.page:79(item/p)
 msgid ""
 "Afterwards it calls a few functions which set up and then run the "
 "application. The <code>kit.run</code> function starts the GTKmm main loop, "
@@ -15975,7 +16307,7 @@ msgstr ""
 "που εκτελεί τη διεπαφή χρήστη και ξεκινά την απάντηση για συμβάντα (όπως "
 "κλικ και πατήματα κουμπιών)."
 
-#: C/guitar-tuner.cpp.page:99(item/p)
+#: C/guitar-tuner.cpp.page:104(item/p)
 msgid ""
 "While the button is still selected, change the <gui>Label</gui> property in "
 "the <gui>Widgets</gui> tab to <gui>E</gui>. This will be the low E string. "
@@ -15988,7 +16320,7 @@ msgstr ""
 "<gui>button_E</gui>. Με αυτό το όνομα θα αναφερθούμε στο γραφικό συστατικό "
 "αργότερα στον κώδικα."
 
-#: C/guitar-tuner.cpp.page:103(item/p)
+#: C/guitar-tuner.cpp.page:108(item/p)
 msgid ""
 "Repeat the above steps for the other buttons, adding the next 5 strings with "
 "the labels <em>A</em>, <em>D</em>, <em>G</em>, <em>B</em>, and <em>e</em> "
@@ -15998,7 +16330,7 @@ msgstr ""
 "επόμενες 5 χορδές με τις ετικέτες <em>A</em>, <em>D</em>, <em>G</em>, <em>B</"
 "em>, και <em>e</em> και τα ονόματα <em>button_A</em>, κλπ."
 
-#: C/guitar-tuner.cpp.page:106(item/p)
+#: C/guitar-tuner.cpp.page:111(item/p)
 msgid ""
 "Save the UI design (by clicking <guiseq><gui>File</gui><gui>Save</gui></"
 "guiseq>) and close the file."
@@ -16006,7 +16338,7 @@ msgstr ""
 "Αποθηκεύστε τη σχεδίαση UI (πατώντας <guiseq><gui>αρχείο</"
 "gui><gui>αποθήκευση</gui></guiseq>) και κλείστε το αρχείο."
 
-#: C/guitar-tuner.cpp.page:113(section/p)
+#: C/guitar-tuner.cpp.page:118(section/p)
 msgid ""
 "GStreamer is GNOME's multimedia framework — you can use it for playing, "
 "recording, and processing video, audio, webcam streams and the like. Here, "
@@ -16019,11 +16351,11 @@ msgstr ""
 "παράξουμε μονές συχνότητες τόνων. Το GStreamermm είναι ένας σύνδεσμος C++ "
 "στο GStreamer που θα χρησιμοποιήσουμε εδώ."
 
-#: C/guitar-tuner.cpp.page:123(section/title)
+#: C/guitar-tuner.cpp.page:128(section/title)
 msgid "Using GStreamermm"
 msgstr "Χρήση GStreamermm"
 
-#: C/guitar-tuner.cpp.page:124(section/p)
+#: C/guitar-tuner.cpp.page:129(section/p)
 msgid ""
 "To use GStreamermm, it has to be initialised. We do that by adding the "
 "following line of code next to the <code>Gtk::Main kit(argc, argv);</code> "
@@ -16033,12 +16365,12 @@ msgstr ""
 "αυτό προσθέτοντας την παρακάτω γραμμή του κώδικα δίπλα στη γραμμή <code>Gtk::"
 "Main kit(argc, argv);</code> στο <file>main.cc</file>:"
 
-#: C/guitar-tuner.cpp.page:126(section/code)
+#: C/guitar-tuner.cpp.page:131(section/code)
 #, no-wrap
 msgid "\tGst::init (argc, argv);"
 msgstr "\tGst::init (argc, argv);"
 
-#: C/guitar-tuner.cpp.page:127(section/p)
+#: C/guitar-tuner.cpp.page:132(section/p)
 msgid ""
 "While we are on it, also make sure that the <file>gstreamermm.h</file> is "
 "included in <file>main.cc</file> properly."
@@ -16046,7 +16378,7 @@ msgstr ""
 "Ενώ είμαστε σε αυτό, βεβαιωθείτε επίσης ότι το <file>gstreamermm.h</file> "
 "περιέχεται κατάλληλα στο <file>main.cc</file>."
 
-#: C/guitar-tuner.cpp.page:131(section/p)
+#: C/guitar-tuner.cpp.page:136(section/p)
 msgid ""
 "To simplify the handling of the pipeline we will define a helper class "
 "<code>Sound</code>. We do that in <file>main.cc</file> in order to keep this "
@@ -16057,7 +16389,7 @@ msgstr ""
 "αυτό το παράδειγμα απλό, ενώ ίσως συνήθως να θέλατε να το χρησιμοποιήσετε σε "
 "ξεχωριστό αρχείο:"
 
-#: C/guitar-tuner.cpp.page:134(section/code)
+#: C/guitar-tuner.cpp.page:139(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -16146,11 +16478,11 @@ msgstr ""
 "\treturn false;\n"
 "}\n"
 
-#: C/guitar-tuner.cpp.page:178(section/p)
+#: C/guitar-tuner.cpp.page:183(section/p)
 msgid "The code has the following purpose:"
 msgstr "Ο κώδικας έχει τον παρακάτω σκοπό:"
 
-#: C/guitar-tuner.cpp.page:181(item/p)
+#: C/guitar-tuner.cpp.page:186(item/p)
 msgid ""
 "In the constructor, source and sink GStreamer elements (<code>Gst::Element</"
 "code>) are created, and a pipeline element (which will be used as a "
@@ -16170,7 +16502,7 @@ msgstr ""
 "ήχου). Αφού τα στοιχεία προστεθούν στη διοχέτευση και συνδεθούν μαζί, η "
 "σωλήνωση είναι έτοιμη να τρέξει."
 
-#: C/guitar-tuner.cpp.page:184(item/p)
+#: C/guitar-tuner.cpp.page:189(item/p)
 msgid ""
 "<code>start_playing</code> sets the source element to play a particular "
 "frequency and then starts the pipeline so the sound actually starts playing. "
@@ -16183,7 +16515,7 @@ msgstr ""
 "ενοχλητικό ήχο για πολύ, ορίζεται μια λήξη χρόνου για να σταματήσει τη "
 "διοχέτευση μετά από 200 ms καλώντας <code>stop_playing</code>."
 
-#: C/guitar-tuner.cpp.page:189(item/p)
+#: C/guitar-tuner.cpp.page:194(item/p)
 msgid ""
 "In <code>stop_playing</code> which is called when the timeout has elapsed, "
 "the pipeline is stopped and as such there isn't any sound output anymore. As "
@@ -16197,11 +16529,11 @@ msgstr ""
 "<code>Glib::RefPtr</code>, η μνήμη αυτόματα ελευθερώνεται μόλις η κλάση "
 "<code>Sound</code> καταστραφεί."
 
-#: C/guitar-tuner.cpp.page:197(section/title)
+#: C/guitar-tuner.cpp.page:202(section/title)
 msgid "Connecting the signals"
 msgstr "Σύνδεση σημάτων"
 
-#: C/guitar-tuner.cpp.page:198(section/p)
+#: C/guitar-tuner.cpp.page:203(section/p)
 msgid ""
 "We want to play the correct sound when the user clicks a button. That means "
 "that we have to connect to the signal that is fired when the user clicks the "
@@ -16215,7 +16547,7 @@ msgstr ""
 "τόνο να παίξει. Το GTKmm το κάνει αρκετά απλό καθώς μπορούμε εύκολα να "
 "συνδέσουμε πληροφορίες με τη βιβλιοθήκη <em>sigc</em>."
 
-#: C/guitar-tuner.cpp.page:203(section/p)
+#: C/guitar-tuner.cpp.page:208(section/p)
 msgid ""
 "The function that is called when the user clicks a button can be pretty "
 "simple, as all the interesting stuff is done in the helper class now:"
@@ -16223,7 +16555,7 @@ msgstr ""
 "Η συνάρτηση που καλείται όταν ο χρήστης πατά ένα κουμπί μπορεί να είναι "
 "αρκετά απλή, καθώς όλο το ενδιαφέρον υλικό γίνεται τώρα στη βοηθητική κλάση:"
 
-#: C/guitar-tuner.cpp.page:205(section/code)
+#: C/guitar-tuner.cpp.page:210(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -16240,7 +16572,7 @@ msgstr ""
 "\tsound-&gt;start_playing (frequency);\n"
 "}\n"
 
-#: C/guitar-tuner.cpp.page:212(section/p)
+#: C/guitar-tuner.cpp.page:217(section/p)
 msgid ""
 "It only calls the helper class we defined before to play the correct "
 "frequencies. With some more clever code we would also have been able to "
@@ -16252,7 +16584,7 @@ msgstr ""
 "άμεση σύνδεση στην κλάση χωρίς χρήση της συνάρτησης, αλλά θα το αφήσουμε να "
 "χρησιμοποιηθεί ως άσκηση."
 
-#: C/guitar-tuner.cpp.page:216(section/p)
+#: C/guitar-tuner.cpp.page:221(section/p)
 msgid ""
 "The code to set up the signals should be added to the <code>main()</code> "
 "function just after the <code>builder-&gt;get_widget(\"main_window\", "
@@ -16262,7 +16594,7 @@ msgstr ""
 "<code>main()</code> αμέσως μετά τη γραμμή <code>builder-&gt;get_widget"
 "(\"main_window\", main_win);</code>:"
 
-#: C/guitar-tuner.cpp.page:218(section/code)
+#: C/guitar-tuner.cpp.page:223(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -16281,7 +16613,7 @@ msgstr ""
 "button-&gt;signal_clicked().connect (sigc::bind&lt;double, 
Sound*&gt;(sigc::ptr_fun(&amp;on_button_clicked),\n"
 "                                              329.63, &amp;sound));\n"
 
-#: C/guitar-tuner.cpp.page:228(item/p)
+#: C/guitar-tuner.cpp.page:233(item/p)
 msgid ""
 "At first we create an instance of our helper class that we want to use now "
 "and declare a variable for the button we want to connect to."
@@ -16290,7 +16622,7 @@ msgstr ""
 "χρησιμοποιήσουμε τώρα και δηλώνουμε μια μεταβλητή για το κουμπί στο οποίο "
 "θέλουμε να συνδεθούμε."
 
-#: C/guitar-tuner.cpp.page:232(item/p)
+#: C/guitar-tuner.cpp.page:237(item/p)
 msgid ""
 "Next, we receive the button object from the user interface that was created "
 "out of the user interface file. Remember that <em>button_E</em> is the name "
@@ -16300,7 +16632,7 @@ msgstr ""
 "δημιουργήθηκε από το αρχείο διεπαφής χρήστη. Να θυμάστε ότι <em>button_E</"
 "em> είναι το όνομα που δώσαμε στο πρώτο κουμπί."
 
-#: C/guitar-tuner.cpp.page:236(item/p)
+#: C/guitar-tuner.cpp.page:241(item/p)
 msgid ""
 "Finally we connect the <em>clicked</em> signal. This isn't fully "
 "straightforward because this is done in a fully type-safe way and we "
@@ -16320,7 +16652,7 @@ msgstr ""
 "πρόσθετα ορίσματα στην υποδοχή και σε αυτήν την περίπτωση περνάμε τη "
 "συχνότητα (ως διπλή) και τη βοηθητική μας κλάση."
 
-#: C/guitar-tuner.cpp.page:243(section/p)
+#: C/guitar-tuner.cpp.page:248(section/p)
 msgid ""
 "Now that we have set up the <em>E</em> button we also need to connect the "
 "other buttons according to their frequencies: 440 for A, 587.33 for D, "
@@ -16332,7 +16664,7 @@ msgstr ""
 "783.99 για G, 987.77 για B και 1318.5 για την υψηλή Ε. Αυτό γίνεται με τον "
 "ίδιο τρόπο, απλά περνώντας μια διαφορετική συχνότητα στον χειριστή."
 
-#: C/guitar-tuner.cpp.page:250(section/p)
+#: C/guitar-tuner.cpp.page:255(section/p)
 msgid ""
 "All of the code should now be ready to go. Click <guiseq><gui>Build</"
 "gui><gui>Build Project</gui></guiseq> to build everything again, and then "
@@ -16343,7 +16675,7 @@ msgstr ""
 "έπειτα <guiseq><gui>τρέξιμο</gui><gui>τρέξιμο</gui></guiseq> για έναρξη της "
 "εφαρμογής."
 
-#: C/guitar-tuner.cpp.page:256(section/p)
+#: C/guitar-tuner.cpp.page:261(section/p)
 msgid ""
 "If you run into problems with the tutorial, compare your code with this "
 "<link href=\"guitar-tuner/guitar-tuner.cc\">reference code</link>."
@@ -16351,11 +16683,11 @@ msgstr ""
 "Αν αντιμετωπίσετε προβλήματα με το μάθημα, συγκρίνετε τον κώδικά σας με "
 "αυτόν τον <link href=\"guitar-tuner/guitar-tuner.cc\">κώδικα αναφοράς</link>."
 
-#: C/guitar-tuner.cpp.page:260(section/title)
+#: C/guitar-tuner.cpp.page:265(section/title)
 msgid "Further Reading"
 msgstr "Περαιτέρω ανάγνωση"
 
-#: C/guitar-tuner.cpp.page:261(section/p)
+#: C/guitar-tuner.cpp.page:266(section/p)
 msgid ""
 "Many of the things shown above are explained in detail in the <link href="
 "\"http://library.gnome.org/devel/gtkmm-tutorial/stable/\";>GTKmm book</link> "
@@ -16371,22 +16703,22 @@ msgstr ""
 "GStreamermm</link>."
 
 #: C/guitar-tuner.js.page:6(info/title)
+#| msgctxt "text"
+#| msgid "Guitar Tuner (JavaScript)"
 msgctxt "text"
-msgid "Guitar Tuner (JavaScript)"
+msgid "Guitar tuner (JavaScript)"
 msgstr "Συντονιστής κιθάρας (JavaScript)"
 
 #: C/guitar-tuner.js.page:16(info/desc)
+#| msgid ""
+#| "Use Gtk+ and GStreamer to build a simple guitar tuner application for "
+#| "GNOME."
 msgid ""
-"Use Gtk+ and GStreamer to build a simple guitar tuner application for GNOME."
+"Use GTK+ and GStreamer to build a simple guitar tuner application for GNOME."
 msgstr ""
-"Χρησιμοποιήστε Gtk+ και GStreamer για να κατασκευάσετε μια απλή εφαρμογή "
+"Χρησιμοποιήστε GTK+ και GStreamer για να κατασκευάσετε μια απλή εφαρμογή "
 "ρυθμιστή κιθάρας για το GNOME."
 
-#: C/guitar-tuner.js.page:19(page/title) C/guitar-tuner.py.page:23(page/title)
-#: C/guitar-tuner.vala.page:26(page/title)
-msgid "2 Guitar Tuner"
-msgstr "2 Συντονιστής κιθάρας"
-
 #: C/guitar-tuner.js.page:22(synopsis/p)
 msgid ""
 "In this tutorial we'll construct a small application, Guitar Tuner, using "
@@ -16421,9 +16753,8 @@ msgstr ""
 "link>"
 
 #: C/guitar-tuner.js.page:28(item/p)
-#, fuzzy
 msgid "<link xref=\"#buttons\">Buttons for the tunes</link>"
-msgstr "<link xref=\"#script\">Σενάριο για εκτέλεση της εφαρμογής</link>"
+msgstr "<link xref=\"#buttons\">Κουμπιά για τις μελωδίες</link>"
 
 #: C/guitar-tuner.js.page:29(item/p)
 msgid "<link xref=\"#playSound\">Making the sounds with GStreamer</link>"
@@ -16441,7 +16772,7 @@ msgstr "<link xref=\"#guitarjs\">Ολόκληρο το προόγραμμα</lin
 msgid "<link xref=\"#terminal\">Running the application form Terminal</link>"
 msgstr "<link xref=\"#terminal\">Εκτέλεση της εφαρμογής από τερματικό</link>"
 
-#: C/guitar-tuner.js.page:35(page/p) C/weatherApp.js.page:34(page/p)
+#: C/guitar-tuner.js.page:35(page/p) C/weatherApp.js.page:39(page/p)
 msgid "After reading this tutorial, you should see this in your screen:"
 msgstr ""
 "Μετά την ανάγνωση αυτού του μαθήματος, θα πρέπει να δείτε αυτό στην οθόνη "
@@ -16763,28 +17094,37 @@ msgstr ""
 "});"
 
 #: C/guitar-tuner.js.page:146(section/p)
+#| msgid ""
+#| "The method of connecting button clicks to playSound with the correct tune "
+#| "is by using the connect method of the button widget. So we choose a "
+#| "button to be connected and type E.connect(\"clicked\", function()"
+#| "{playSound(frequencies.E);}); The connect tells that when pushing E, "
+#| "something should happen. The \"clicked\" tells the type of something "
+#| "happening to E and then in the function(){}; we the playSound happen with "
+#| "the correct tune that should be associated to the button."
 msgid ""
 "The method of connecting button clicks to playSound with the correct tune is "
 "by using the connect method of the button widget. So we choose a button to "
-"be connected and type E.connect(\"clicked\", function(){playSound"
-"(frequencies.E);}); The connect tells that when pushing E, something should "
-"happen. The \"clicked\" tells the type of something happening to E and then "
-"in the function(){}; we the playSound happen with the correct tune that "
-"should be associated to the button."
+"be connected and type <code>E.connect(\"clicked\", function(){playSound"
+"(frequencies.E);});</code> The <code>connect</code> tells that when pushing "
+"E, something should happen. The <code>clicked</code> tells the type of the "
+"signal happening to E and then in the <code>function(){};</code> we call "
+"playSound with the correct note that should be associated with the button."
 msgstr ""
 "Η μέθοδος σύνδεσης κουμπιού πατά το playSound με τη σωστή μελωδία γίνεται "
 "χρησιμοποιώντας τη μέθοδο σύνδεσης του γραφικού συστατικού κουμπιού. Έτσι "
-"επιλέγουμε ένα κουμπί να συνδεθεί και πληκτρολογούμε E.connect(\"clicked\", "
-"function(){playSound(frequencies.E);}); η σύνδεση λέει ότι όταν πατάμε Ε, "
-"κάτι θα συμβεί. Το \"πατημένο\" λέει τον τύπο που κάτι συμβαίνει στο Ε και "
-"έπειτα στη function(){}; συμβαίνει το playSound με τη σωστή μελωδία που "
-"μπορεί να συσχετιστεί με το κουμπί."
-
-#: C/guitar-tuner.js.page:149(section/title)
+"επιλέγουμε ένα κουμπί να συνδεθεί και πληκτρολογούμε "
+"<code>E.connect(\"clicked\", function(){playSound(frequencies.E);});</code> Το "
+"<code>connect</code> λέει ότι όταν πατάμε Ε, κάτι θα συμβεί. Το "
+"<code>clicked</code> λέει τον τύπο του σήματος που κάτι συμβαίνει στο Ε και "
+"έπειτα στη <code>function(){};</code> καλούμε το playSound με τη σωστή "
+"μελωδία που μπορεί να συσχετιστεί με το κουμπί."
+
+#: C/guitar-tuner.js.page:156(section/title)
 msgid "The whole program"
 msgstr "Όλο το πρόγραμμα"
 
-#: C/guitar-tuner.js.page:150(section/p)
+#: C/guitar-tuner.js.page:157(section/p)
 msgid ""
 "So this is what all the parts combined looks like. When running this code, "
 "you should be able to tune your guitar(if you have correctly calibrated "
@@ -16794,7 +17134,7 @@ msgstr ""
 "κώδικας, θα μπορούσατε να συντονίσετε την κιθάρα σας (εάν έχετε σωστά "
 "βαθμονομημένα ηχεία)."
 
-#: C/guitar-tuner.js.page:151(section/code)
+#: C/guitar-tuner.js.page:158(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -16949,11 +17289,11 @@ msgstr ""
 "guitarwindow.show();\n"
 "Gtk.main();"
 
-#: C/guitar-tuner.js.page:229(section/title)
+#: C/guitar-tuner.js.page:236(section/title)
 msgid "Running the application form Terminal"
 msgstr "Εκτέλεση της εφαρμογής από τερματικό"
 
-#: C/guitar-tuner.js.page:230(section/p)
+#: C/guitar-tuner.js.page:237(section/p)
 msgid ""
 "To run this application open Terminal, go to the folder where your "
 "application is stored and then run"
@@ -16961,12 +17301,12 @@ msgstr ""
 "Για να τρέξετε αυτήν την εφαρμογή ανοίξτε τον τερματικό, πηγαίνετε στον "
 "φάκελο όπου είναι αποθηκευμένη η εφαρμογή σας και μετά τρέξτε την"
 
-#: C/guitar-tuner.js.page:230(section/screen)
+#: C/guitar-tuner.js.page:237(section/screen)
 #, no-wrap
 msgid " <output style=\"prompt\">$ </output><input> GJS_PATH=`pwd` gjs guitarTuner.js</input> "
 msgstr " <output style=\"prompt\">$ </output><input> GJS_PATH=`pwd` gjs guitarTuner.js</input> "
 
-#: C/guitar-tuner.js.page:235(section/p)
+#: C/guitar-tuner.js.page:242(section/p)
 msgid ""
 "If you run into problems with the tutorial, compare your code with this "
 "<link href=\"guitar-tuner/guitar-tuner.js\">reference code</link>."
@@ -16975,15 +17315,17 @@ msgstr ""
 "αυτόν τον <link href=\"guitar-tuner/guitar-tuner.js\">κώδικα αναφοράς</link>."
 
 #: C/guitar-tuner.py.page:7(info/title)
+#| msgctxt "text"
+#| msgid "Guitar Tuner (Python)"
 msgctxt "text"
-msgid "Guitar Tuner (Python)"
+msgid "Guitar tuner (Python)"
 msgstr "Συντονιστής κιθάρας (Python)"
 
-#: C/guitar-tuner.py.page:35(item/p)
+#: C/guitar-tuner.py.page:45(item/p)
 msgid "Basic knowledge of the Python programming language"
 msgstr "Βασική γνώση της γλώσσας προγραμματισμού Python"
 
-#: C/guitar-tuner.py.page:49(item/p)
+#: C/guitar-tuner.py.page:59(item/p)
 msgid ""
 "Choose <gui>PyGTK (automake)</gui> from the <gui>Python</gui> tab, click "
 "<gui>Continue</gui>, and fill out your details on the next few pages. Use "
@@ -16994,7 +17336,7 @@ msgstr ""
 "επόμενες λίγες σελίδες. Χρησιμοποιήστε ως όνομα του έργου και του καταλόγου "
 "το <file>guitar-tuner</file>."
 
-#: C/guitar-tuner.py.page:52(item/p)
+#: C/guitar-tuner.py.page:62(item/p)
 msgid ""
 "Click <gui>Apply</gui> and the project will be created for you. Open "
 "<file>src/guitar_tuner.py</file> from the <gui>Project</gui> or <gui>File</"
@@ -17004,7 +17346,7 @@ msgstr ""
 "guitar_tuner.py</file> από τις καρτέλες <gui>έργο</gui> ή <gui>αρχείο</gui>. "
 "Θα πρέπει να δείτε κάποιο κώδικα που ξεκινάει με τις γραμμές:"
 
-#: C/guitar-tuner.py.page:53(item/code)
+#: C/guitar-tuner.py.page:63(item/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -17015,11 +17357,11 @@ msgstr ""
 "from gi.repository import Gtk, GdkPixbuf, Gdk\n"
 "import os, sys"
 
-#: C/guitar-tuner.py.page:61(section/title)
+#: C/guitar-tuner.py.page:71(section/title)
 msgid "Run the code for the first time"
 msgstr "Εκτέλεση του κώδικα για πρώτη φορά"
 
-#: C/guitar-tuner.py.page:62(section/p)
+#: C/guitar-tuner.py.page:72(section/p)
 msgid ""
 "Most of the code in the file is template code. It loads an (empty) window "
 "from the user interface description file and shows it. More details are "
@@ -17030,7 +17372,7 @@ msgstr ""
 "Περισσότερες πληροφορίες υπάρχουν πιο κάτω· προσπεράστε αυτή τη λίστα αν "
 "καταλαβαίνετε τα βασικά:"
 
-#: C/guitar-tuner.py.page:66(item/p)
+#: C/guitar-tuner.py.page:76(item/p)
 msgid ""
 "The <code>import</code> lines at the top include the tell Python to load the "
 "user interface and system libraries needed."
@@ -17038,7 +17380,7 @@ msgstr ""
 "Οι γραμμές <code>import</code> στην αρχή λένε στην Python να φορτώσει τις "
 "βιβλιοθήκες του συστήματος και της διεπαφής χρήστη που χρειάζονται."
 
-#: C/guitar-tuner.py.page:70(item/p)
+#: C/guitar-tuner.py.page:80(item/p)
 msgid ""
 "A class is declared that will be the main class for our application. In the "
 "<code>__init__</code> method the main window is loaded from the GtkBuilder "
@@ -17048,7 +17390,7 @@ msgstr ""
 "μέθοδο <code>__init__</code> το κύριο παράθυρο φορτώνεται από το αρχείο "
 "GtkBuilder (<file>src/guitar-tuner.ui</file>) και τα σήματα συνδέονται."
 
-#: C/guitar-tuner.py.page:73(item/p)
+#: C/guitar-tuner.py.page:83(item/p)
 msgid ""
 "Connecting signals is how you define what happens when you push a button, or "
 "when some other event happens. Here, the <code>destroy</code> method is "
@@ -17058,7 +17400,7 @@ msgstr ""
 "πατηθεί, ή όταν συμβεί κάποιο άλλο σήμα. Εδώ, καλείται η μέθοδος "
 "<code>destroy</code> όταν κλείνετε το παράθυρο (και τερματίζει την εφαρμογή)."
 
-#: C/guitar-tuner.py.page:76(item/p)
+#: C/guitar-tuner.py.page:86(item/p)
 msgid ""
 "The <code>main</code> function is run by default when you start a Python "
 "application. It just creates an instance of the main class and starts the "
@@ -17068,7 +17410,7 @@ msgstr ""
 "πρόγραμμα σε Python. Δημιουργεί ένα στιγμιότυπο της κύριας κλάσης και "
 "ξεκινάει τον κύριο βρόχο για να εμφανίσει το παράθυρο."
 
-#: C/guitar-tuner.py.page:81(section/p)
+#: C/guitar-tuner.py.page:91(section/p)
 msgid ""
 "This code is ready to be used, so you can run it by clicking "
 "<guiseq><gui>Run</gui><gui>Execute</gui></guiseq>."
@@ -17076,7 +17418,7 @@ msgstr ""
 "Ο κώδικας είναι έτοιμος να χρησιμοποιηθεί, οπότε μπορείτε να τον εκτελέσετε "
 "πηγαίνοντας <guiseq><gui>Εκτέλεση</gui><gui>Εκτέλεση</gui></guiseq>."
 
-#: C/guitar-tuner.py.page:86(section/p)
+#: C/guitar-tuner.py.page:96(section/p)
 msgid ""
 "A description of the user interface (UI) is contained in the GtkBuilder "
 "file. To edit the user interface, open <file>src/guitar_tuner.ui</file>. "
@@ -17090,11 +17432,11 @@ msgstr ""
 "κέντρο· τα γραφικά συστατικά και οι ιδιότητες τους είναι στα δεξιά και η "
 "παλέτα των διαθέσιμων γραφικών συστατικών στα αριστερά."
 
-#: C/guitar-tuner.py.page:116(section/title)
+#: C/guitar-tuner.py.page:126(section/title)
 msgid "Write the signal handler"
 msgstr "Εγγραφή του χειριστή σημάτων"
 
-#: C/guitar-tuner.py.page:118(section/p)
+#: C/guitar-tuner.py.page:128(section/p)
 msgid ""
 "To do this, open <file>guitar_tuner.py</file> while the user interface file "
 "is still open. Switch to the <gui>Signals</gui> tab, which you already used "
@@ -17109,7 +17451,7 @@ msgstr ""
 "σύρετε την στον πηγαίο κώδικα μέσα στην κλάση. Ο ακόλουθος κώδικας θα "
 "προστεθεί στον πηγαίο σας αρχείο:"
 
-#: C/guitar-tuner.py.page:120(section/code)
+#: C/guitar-tuner.py.page:130(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -17118,7 +17460,7 @@ msgstr ""
 "\n"
 "def on_button_clicked (self, button):\n"
 
-#: C/guitar-tuner.py.page:124(section/p)
+#: C/guitar-tuner.py.page:134(section/p)
 msgid ""
 "This signal handler has two arguments: the usual Python class pointer, and "
 "the <code>Gtk.Button</code> that called the function."
@@ -17126,7 +17468,7 @@ msgstr ""
 "Ο χειριστής σημάτων έχει δυο παράμετρους: τον τυπικό δείκτη κλάσης της "
 "Python και το <code>Gtk.Button</code> που καλεί την συνάρτηση."
 
-#: C/guitar-tuner.py.page:142(section/p)
+#: C/guitar-tuner.py.page:152(section/p)
 msgid ""
 "Change the import line in <file>guitar_tuner.py</file>, just at the "
 "beginning to :"
@@ -17134,12 +17476,12 @@ msgstr ""
 "Αλλάξτε τη γραμμή import στο αρχείο <file>guitar_tuner.py</file>, μόνο στην "
 "αρχή σε :"
 
-#: C/guitar-tuner.py.page:143(section/code)
+#: C/guitar-tuner.py.page:153(section/code)
 #, no-wrap
 msgid "from gi.repository import Gtk, Gst, GObject "
 msgstr "from gi.repository import Gtk, Gst, GObject "
 
-#: C/guitar-tuner.py.page:144(section/p)
+#: C/guitar-tuner.py.page:154(section/p)
 msgid ""
 "The <code>Gst</code> includes the GStreamer library. You also need to "
 "initialise GStreamer properly which is done in the <code>main()</code> "
@@ -17150,12 +17492,12 @@ msgstr ""
 "code> με την προσθήκη αυτής γραμμής πάνω από την γραμμή <code>app = GUI()</"
 "code>:"
 
-#: C/guitar-tuner.py.page:147(section/code)
+#: C/guitar-tuner.py.page:157(section/code)
 #, no-wrap
 msgid "Gst.init_check(sys.argv)"
 msgstr "Gst.init_check(sys.argv)"
 
-#: C/guitar-tuner.py.page:148(section/p)
+#: C/guitar-tuner.py.page:158(section/p)
 msgid ""
 "Then, copy the following function into the class in <file>guitar_tuner.py</"
 "file> somewhere:"
@@ -17163,7 +17505,7 @@ msgstr ""
 "Μετά, αντιγράψτε την ακόλουθη συνάρτηση κάπου στην κλάση στο "
 "<file>guitar_tuner.py</file>:"
 
-#: C/guitar-tuner.py.page:149(section/code)
+#: C/guitar-tuner.py.page:159(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -17194,7 +17536,7 @@ msgstr ""
 "\n"
 "\tGObject.timeout_add(self.LENGTH, self.pipeline_stop, pipeline)"
 
-#: C/guitar-tuner.py.page:164(item/p)
+#: C/guitar-tuner.py.page:174(item/p)
 msgid ""
 "The first three lines create source and sink GStreamer elements and a "
 "pipeline element (which will be used as a container for the other two "
@@ -17210,7 +17552,7 @@ msgstr ""
 "\"output\" και την ρυθμίζετε στην έξοδο <code>autoaudiosink</code> "
 "(προεπιλεγμένη κάρτα ήχου)."
 
-#: C/guitar-tuner.py.page:167(item/p)
+#: C/guitar-tuner.py.page:177(item/p)
 msgid ""
 "The call to <code>source.set_property</code> sets the <code>freq</code> "
 "property of the source element to <code>frequency</code>, which was passed "
@@ -17224,7 +17566,7 @@ msgstr ""
 "συχνότητα της νότας σε Hertz· πολλές χρήσιμες συχνότητες θα οριστούν "
 "αργότερα."
 
-#: C/guitar-tuner.py.page:170(item/p)
+#: C/guitar-tuner.py.page:180(item/p)
 msgid ""
 "The next two lines call <code>pipeline.add</code>, putting the source and "
 "sink into the pipeline. The pipeline can contain multiple other GStreamer "
@@ -17236,7 +17578,7 @@ msgstr ""
 "στοιχεία του GStreamer. Γενικά, μπορείτε να προσθέσετε όσα στοιχεία θέλετε "
 "στη διοχέτευση καλώντας συνεχόμενα τη μέθοδο <code>add</code>."
 
-#: C/guitar-tuner.py.page:173(item/p)
+#: C/guitar-tuner.py.page:183(item/p)
 msgid ""
 "Next <code>pipeline.set_state</code> is used to start playback, by setting "
 "the state of the pipeline to playing (<code>Gst.State.PLAYING</code>)."
@@ -17245,7 +17587,7 @@ msgstr ""
 "αναπαραγωγή, αλλάζοντας την κατάσταση της διοχέτευσης σε αναπαραγωγή "
 "(<code>Gst.State.PLAYING</code>)."
 
-#: C/guitar-tuner.py.page:181(section/p)
+#: C/guitar-tuner.py.page:191(section/p)
 msgid ""
 "We don't want to play an annoying tone forever, so the last thing "
 "<code>play_sound</code> does is to call <code>GObject.timeout_add</code>. "
@@ -17261,7 +17603,7 @@ msgstr ""
 "καλέσει τη συνάρτηση <code>pipeline_stop</code>, και θα συνεχίσει να την "
 "καλεί μέχρι η <code>pipeline_stop</code> να επιστρέψει <code>False</code>."
 
-#: C/guitar-tuner.py.page:182(section/p)
+#: C/guitar-tuner.py.page:192(section/p)
 msgid ""
 "Now, we'll write the <code>pipeline_stop</code> function which is called by "
 "<code>GObject.timeout_add</code>. Insert the following code <em>above</em> "
@@ -17271,7 +17613,7 @@ msgstr ""
 "από το <code>GObject.timeout_add</code>. Προσθέστε τον ακόλουθο κώδικα "
 "<em>πάνω</em> από τη συνάρτηση <code>play_sound</code>:"
 
-#: C/guitar-tuner.py.page:183(section/code)
+#: C/guitar-tuner.py.page:193(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -17284,7 +17626,7 @@ msgstr ""
 "\tpipeline.set_state(Gst.State.PAUSED)\n"
 "\treturn False\n"
 
-#: C/guitar-tuner.py.page:188(section/p)
+#: C/guitar-tuner.py.page:198(section/p)
 msgid ""
 "You need to define the <code>LENGTH</code> constant inside the class, so add "
 "this code at the beginning of the main class:"
@@ -17292,7 +17634,7 @@ msgstr ""
 "Πρέπει να ορίσετε τη σταθερά <code>LENGTH</code> μέσα στην κλάση, οπότε "
 "προσθέστε αυτόν τον κώδικα στην αρχή της κύριας κλάσης:"
 
-#: C/guitar-tuner.py.page:190(section/code)
+#: C/guitar-tuner.py.page:200(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -17301,7 +17643,7 @@ msgstr ""
 "\n"
 "LENGTH = 500\n"
 
-#: C/guitar-tuner.py.page:193(section/p)
+#: C/guitar-tuner.py.page:203(section/p)
 msgid ""
 "The call to <code>pipeline.set_state</code> pauses the playback of the "
 "pipeline."
@@ -17309,7 +17651,7 @@ msgstr ""
 "Όταν καλείται η <code>pipeline.set_state</code> η αναπαραγωγή της "
 "διοχέτευσης σταματάει."
 
-#: C/guitar-tuner.py.page:198(section/p)
+#: C/guitar-tuner.py.page:208(section/p)
 msgid ""
 "We want to play the correct sound when the user clicks a button. First of "
 "all, we need to know the frequencies for the six guitar strings, which are "
@@ -17321,7 +17663,7 @@ msgstr ""
 "οι οποίες είναι ορισμένες (στην αρχή της κύριας κλάσης) μέσα σε ένα λεξικό "
 "ώστε να μπορούμε εύκολα να τις απεικονίσουμε στα ονόματα των χορδών:"
 
-#: C/guitar-tuner.py.page:200(section/code)
+#: C/guitar-tuner.py.page:210(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -17346,7 +17688,7 @@ msgstr ""
 "\t'e': 1318.5\n"
 "}\n"
 
-#: C/guitar-tuner.py.page:212(section/code)
+#: C/guitar-tuner.py.page:222(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -17363,7 +17705,7 @@ msgstr ""
 "\n"
 "\tself.play_sound (self.frequencies[text])\n"
 
-#: C/guitar-tuner.py.page:219(section/p)
+#: C/guitar-tuner.py.page:229(section/p)
 msgid ""
 "The button that was clicked is passed as an argument (<code>button</code>) "
 "to <code>on_button_clicked</code>. We can get the label of that button by "
@@ -17375,7 +17717,7 @@ msgstr ""
 "χρησιμοποιώντας το <code>button.get_child</code>, και το κείμενο από την "
 "ετικέτα χρησιμοποιώντας το <code>label.get_label</code>."
 
-#: C/guitar-tuner.py.page:220(section/p)
+#: C/guitar-tuner.py.page:230(section/p)
 msgid ""
 "The label text is then used as a key for the dictionary and "
 "<code>play_sound</code> is called with the frequency appropriate for that "
@@ -17385,14 +17727,14 @@ msgstr ""
 "καλείται η <code>play_sound</code> με την κατάλληλη συχνότητα από την νότα. "
 "Αυτό παίζει τον τόνο· ο συντονιστής κιθάρας είναι έτοιμος!"
 
-#: C/guitar-tuner.py.page:224(section/title)
-#: C/image-viewer.js.page:306(section/title)
-#: C/image-viewer.py.page:220(section/title)
-#: C/record-collection.js.page:286(section/title)
+#: C/guitar-tuner.py.page:234(section/title)
+#: C/image-viewer.js.page:310(section/title)
+#: C/image-viewer.py.page:224(section/title)
+#: C/record-collection.js.page:291(section/title)
 msgid "Run the application"
 msgstr "Τρέξτε την εφαρμογή"
 
-#: C/guitar-tuner.py.page:225(section/p)
+#: C/guitar-tuner.py.page:235(section/p)
 msgid ""
 "All of the code should now be ready to go. Click <guiseq><gui>Run</"
 "gui><gui>Execute</gui></guiseq> to start the application. Enjoy!"
@@ -17401,7 +17743,7 @@ msgstr ""
 "πατήστε <guiseq><gui>Εκτέλεση</gui><gui>Εκτέλεση</gui></guiseq>. Απολαύστε "
 "το!"
 
-#: C/guitar-tuner.py.page:230(section/p)
+#: C/guitar-tuner.py.page:240(section/p)
 msgid ""
 "If you run into problems with the tutorial, compare your code with this "
 "<link href=\"guitar-tuner/guitar-tuner.py\">reference code</link>."
@@ -17410,19 +17752,24 @@ msgstr ""
 "αυτόν τον <link href=\"guitar-tuner/guitar-tuner.py\">κώδικα αναφοράς</link>."
 
 #: C/guitar-tuner.vala.page:9(info/desc)
+#| msgid ""
+#| "Use <link href=\"http://developer.gnome.org/platform-overview/stable/gtk";
+#| "\">Gtk+</link> and <link href=\"http://developer.gnome.org/platform-";
+#| "overview/stable/gstreamer\">GStreamer</link> to build a simple guitar "
+#| "tuner application for GNOME. Shows off how to use the interface designer."
 msgid ""
 "Use <link href=\"http://developer.gnome.org/platform-overview/stable/gtk";
-"\">Gtk+</link> and <link href=\"http://developer.gnome.org/platform-overview/";
+"\">GTK+</link> and <link href=\"http://developer.gnome.org/platform-overview/";
 "stable/gstreamer\">GStreamer</link> to build a simple guitar tuner "
 "application for GNOME. Shows off how to use the interface designer."
 msgstr ""
-"Χρησιμοποιήστε <link href=\"http://developer.gnome.org/platform-overview/";
-"stable/gtk\">Gtk+</link> και <link href=\"http://developer.gnome.org/";
-"platform-overview/stable/gstreamer\">GStreamer</link> για να φτιάξετε ένα "
+"Χρησιμοποιήστε <link href=\"http://developer.gnome.org/platform-";
+"overview/stable/gtk\">GTK+</link> και <link href=\"http://developer.gnome.org";
+"/platform-overview/stable/gstreamer\">GStreamer</link> για να φτιάξετε ένα "
 "απλό πρόγραμμα ρυθμιστή κιθάρας για το GNOME. Αναδεικνύει πώς να "
 "χρησιμοποιήσετε το σχεδιαστή διεπαφής."
 
-#: C/guitar-tuner.vala.page:29(synopsis/p)
+#: C/guitar-tuner.vala.page:34(synopsis/p)
 msgid ""
 "In this tutorial you will create an application which plays tones that you "
 "can use to tune a guitar. You will learn how to:"
@@ -17430,7 +17777,7 @@ msgstr ""
 "Σε αυτό το μάθημα, θα δημιουργήσουμε μια εφαρμογή που παίζει τόνους και "
 "μπορεί να συντονίσει μια κιθάρα. Θα μάθετε πώς να:"
 
-#: C/guitar-tuner.vala.page:31(item/p)
+#: C/guitar-tuner.vala.page:36(item/p)
 msgid ""
 "Set up a basic project using the <link xref=\"getting-ready\">Anjuta IDE</"
 "link>."
@@ -17438,11 +17785,11 @@ msgstr ""
 "Εγκαταστήσετε ένα βασικό έργο χρησιμοποιώντας το <link xref=\"getting-ready"
 "\">Anjuta IDE</link>."
 
-#: C/guitar-tuner.vala.page:32(item/p)
+#: C/guitar-tuner.vala.page:37(item/p)
 msgid "Create a simple GUI with <app>Anjuta</app>'s UI designer."
 msgstr "Δημιουργήσετε ένα απλό GUI με τον σχεδιαστή UI του <app>Anjuta</app>."
 
-#: C/guitar-tuner.vala.page:33(item/p)
+#: C/guitar-tuner.vala.page:38(item/p)
 msgid ""
 "Use the <link href=\"http://developer.gnome.org/platform-overview/stable/";
 "gstreamer\">GStreamer</link> library to play sounds."
@@ -17450,7 +17797,7 @@ msgstr ""
 "Χρησιμοποιήσετε τη βιβλιοθήκη <link href=\"http://developer.gnome.org/";
 "platform-overview/stable/gstreamer\">GStreamer</link> για να παίξει ήχους."
 
-#: C/guitar-tuner.vala.page:37(item/p) C/image-viewer.vala.page:42(item/p)
+#: C/guitar-tuner.vala.page:42(item/p) C/image-viewer.vala.page:47(item/p)
 msgid ""
 "Basic knowledge of the <link href=\"https://live.gnome.org/Vala/Tutorial";
 "\">Vala</link> programming language."
@@ -17458,15 +17805,15 @@ msgstr ""
 "Βασική γνώση της γλώσσας προγραμματισμού <link href=\"https://live.gnome.org/";
 "Vala/Tutorial\">Vala</link>."
 
-#: C/guitar-tuner.vala.page:38(item/p) C/image-viewer.vala.page:43(item/p)
+#: C/guitar-tuner.vala.page:43(item/p) C/image-viewer.vala.page:48(item/p)
 msgid "An installed copy of <app>Anjuta</app>."
 msgstr "Ένα εγκατεστημένο αντίγραφο του <app>Anjuta</app>."
 
-#: C/guitar-tuner.vala.page:45(section/title)
+#: C/guitar-tuner.vala.page:50(section/title)
 msgid "Create a project in <app>Anjuta</app>"
 msgstr "Δημιουργήστε ένα έργο με το <app>Anjuta</app>"
 
-#: C/guitar-tuner.vala.page:49(item/p) C/image-viewer.vala.page:57(item/p)
+#: C/guitar-tuner.vala.page:54(item/p) C/image-viewer.vala.page:62(item/p)
 msgid ""
 "Start <app>Anjuta</app> and click <gui>Create a new project</gui> or "
 "<guiseq><gui>File</gui><gui>New</gui><gui>Project</gui></guiseq> to open the "
@@ -17476,18 +17823,22 @@ msgstr ""
 "ή <guiseq><gui>αρχείο</gui><gui>νέο</gui><gui>έργο</gui></guiseq> για να "
 "ανοίξετε τον οδηγό του έργου."
 
-#: C/guitar-tuner.vala.page:52(item/p)
+#: C/guitar-tuner.vala.page:57(item/p)
+#| msgid ""
+#| "Click on the <gui>Vala</gui> tab and select <gui>Gtk+ (Simple)</gui>. "
+#| "Click <gui>Continue</gui>, and fill out your details on the next few "
+#| "pages. Use <file>guitar-tuner</file> as project name and directory."
 msgid ""
-"Click on the <gui>Vala</gui> tab and select <gui>Gtk+ (Simple)</gui>. Click "
+"Click on the <gui>Vala</gui> tab and select <gui>GTK+ (Simple)</gui>. Click "
 "<gui>Continue</gui>, and fill out your details on the next few pages. Use "
 "<file>guitar-tuner</file> as project name and directory."
 msgstr ""
-"Κάντε κλικ στην καρτέλα <gui>Vala</gui> και επιλέξτε <gui>Gtk+ (απλό)</gui>. "
-"Κλικ <gui>συνέχεια</gui> και συμπληρώστε τις λεπτομέρειές σας στις επόμενες "
-"λίγες σελίδες. Χρησιμοποιήστε ως όνομα του έργου και του καταλόγου το "
-"<file>guitar-tuner</file>."
+"Πατήστε στην καρτέλα <gui>Vala</gui> και επιλέξτε <gui>GTK+ (απλό)</gui>. "
+"Πατήστε <gui>συνέχεια</gui> και συμπληρώστε τις λεπτομέρειές σας στις "
+"επόμενες λίγες σελίδες. Χρησιμοποιήστε ως όνομα του έργου και του καταλόγου "
+"το <file>guitar-tuner</file>."
 
-#: C/guitar-tuner.vala.page:55(item/p)
+#: C/guitar-tuner.vala.page:60(item/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/";
@@ -17500,7 +17851,7 @@ msgstr ""
 "συμπερίληψη της βιβλιοθήκης GStreamer στο έργο σας. Κάντε κλικ στη "
 "<gui>συνέχεια</gui>"
 
-#: C/guitar-tuner.vala.page:59(item/p)
+#: C/guitar-tuner.vala.page:64(item/p)
 msgid ""
 "Click <gui>Apply</gui> and the project will be created for you. From the "
 "<gui>Project</gui> or <gui>Files</gui> tab, open <file>src/guitar_tuner."
@@ -17512,8 +17863,8 @@ msgstr ""
 "guitar_tuner.vala</file> με διπλό κλικ πάνω του. Θα πρέπει να δείτε κάποιο "
 "κώδικα που ξεκινάει με τις γραμμές:"
 
-#: C/guitar-tuner.vala.page:60(item/code)
-#: C/magic-mirror.vala.page:64(item/code)
+#: C/guitar-tuner.vala.page:65(item/code)
+#: C/magic-mirror.vala.page:69(item/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -17524,7 +17875,7 @@ msgstr ""
 "using GLib;\n"
 "using Gtk;"
 
-#: C/guitar-tuner.vala.page:69(section/p)
+#: C/guitar-tuner.vala.page:74(section/p)
 msgid ""
 "The code loads an (empty) window from the user interface description file "
 "and displays it. More details are given below; you may choose to skip this "
@@ -17534,7 +17885,7 @@ msgstr ""
 "χρήστη και το εμφανίζει. Περισσότερες λεπτομέρειες δίνονται παρακάτω· μπορεί "
 "να επιλέξετε να προσπεράστε αυτή τη λίστα αν καταλαβαίνετε τα βασικά:"
 
-#: C/guitar-tuner.vala.page:73(item/p) C/magic-mirror.vala.page:76(item/p)
+#: C/guitar-tuner.vala.page:78(item/p) C/magic-mirror.vala.page:81(item/p)
 msgid ""
 "The two <code>using</code> lines import namespaces so we don't have to name "
 "them explicitly."
@@ -17542,7 +17893,7 @@ msgstr ""
 "Οι δύο γραμμές <code>using</code> εισάγουν χώρους ονομάτων έτσι ώστε να μην "
 "τους ονομάσουμε ρητά."
 
-#: C/guitar-tuner.vala.page:76(item/p)
+#: C/guitar-tuner.vala.page:81(item/p)
 msgid ""
 "The constructor of the <code>Main</code> class creates a new window by "
 "opening a GtkBuilder file (<file>src/guitar-tuner.ui</file>, defined a few "
@@ -17559,7 +17910,7 @@ msgstr ""
 "χρησιμοποιήσετε τον επεξεργαστή του Anjuta για σχεδίαση διεπαφών χρήστη "
 "GtkBuilder."
 
-#: C/guitar-tuner.vala.page:78(note/p)
+#: C/guitar-tuner.vala.page:83(note/p)
 msgid ""
 "Connecting signals is how you define what happens when you push a button, or "
 "when some other event happens. Here, the <code>on_destroy</code> function is "
@@ -17569,7 +17920,7 @@ msgstr ""
 "όταν συμβεί κάποιο άλλο συμβάν. Εδώ, καλείται η συνάρτηση <code>on_destroy</"
 "code> (και τερματίζει την εφαρμογή) όταν κλείνετε το παράθυρο."
 
-#: C/guitar-tuner.vala.page:82(item/p)
+#: C/guitar-tuner.vala.page:87(item/p)
 msgid ""
 "The static <code>main</code> function is run by default when you start a "
 "Vala application. It calls a few functions which create the Main class, set "
@@ -17583,7 +17934,7 @@ msgstr ""
 "code> ξεκινά τον κύριο βρόχο του GTK, που εκτελεί τη διεπαφή χρήστη και "
 "ξεκινά την απάντηση για συμβάντα (όπως κλικ και πατήματα πλήκτρου)."
 
-#: C/guitar-tuner.vala.page:86(section/p)
+#: C/guitar-tuner.vala.page:91(section/p)
 msgid ""
 "This code is ready to be used, so you can compile it by clicking "
 "<guiseq><gui>Build</gui><gui>Build Project</gui></guiseq> (or press "
@@ -17600,7 +17951,7 @@ msgstr ""
 "ρύθμιση του καταλόγου κατασκευής. Χρειάζεστε να το κάνετε αυτό μόνο μια "
 "φορά, για την πρώτη κατασκευή."
 
-#: C/guitar-tuner.vala.page:91(section/p)
+#: C/guitar-tuner.vala.page:96(section/p)
 msgid ""
 "A description of the user interface (UI) is contained in the GtkBuilder file "
 "<file>src/guitar_tuner.ui</file> defined at the top of the class. To edit "
@@ -17619,7 +17970,7 @@ msgstr ""
 "είναι στα δεξιά και η <gui>παλέτα</gui> με τα διαθέσιμα γραφικά συστατικά "
 "είναι στα αριστερά."
 
-#: C/guitar-tuner.vala.page:93(section/p)
+#: C/guitar-tuner.vala.page:98(section/p)
 msgid ""
 "The layout of every UI in GTK+ is organized using boxes and tables. Let's "
 "use a vertical GtkButtonBox here to assign six GtkButtons, one for each of "
@@ -17629,7 +17980,7 @@ msgstr ""
 "Ας χρησιμοποιήσουμε εδώ ένα κάθετο GtkButtonBox για να αποδώσουμε έξι "
 "GtkButtons, ένα για κάθε μία από τις έξι χορδές της κιθάρας."
 
-#: C/guitar-tuner.vala.page:99(item/p)
+#: C/guitar-tuner.vala.page:104(item/p)
 msgid ""
 "In the <gui>Palette</gui> tab, from the <gui>Containers</gui> section, "
 "select a <gui>Button Box</gui> (GtkButtonBox) by clicking on the icon. Then "
@@ -17644,7 +17995,7 @@ msgstr ""
 "<gui>αριθμό των στοιχείων</gui> σε <input>6</input>. Έπειτα κλικ στο "
 "<gui>δημιουργία</gui>."
 
-#: C/guitar-tuner.vala.page:100(note/p)
+#: C/guitar-tuner.vala.page:105(note/p)
 msgid ""
 "You can also change the <gui>Number of elements</gui> and the "
 "<gui>Orientation</gui> in the <gui>General</gui> tab on the right."
@@ -17652,7 +18003,7 @@ msgstr ""
 "Μπορείτε επίσης να αλλάξετε τον <gui>αριθμό των στοιχείων</gui> και τον "
 "<gui>προσανατολισμό</gui> στην καρτέλα <gui>γενικά</gui> στα δεξιά."
 
-#: C/guitar-tuner.vala.page:104(item/p)
+#: C/guitar-tuner.vala.page:109(item/p)
 msgid ""
 "Now, from the <gui>Control and Display</gui> section of the <gui>Palette</"
 "gui> choose a <gui>Button</gui> (GtkButton) by clicking on it. Place it into "
@@ -17662,7 +18013,7 @@ msgstr ""
 "επιλέξτε ένα <gui>κουμπί</gui> (GtkButton) με κλικ πάνω του. Τοποθετήστε το "
 "στην πρώτη ενότητα του GtkButtonBox με κλικ στην πρώτη ενότητα."
 
-#: C/guitar-tuner.vala.page:107(item/p)
+#: C/guitar-tuner.vala.page:112(item/p)
 msgid ""
 "While the button is still selected, scroll down in the <gui>General</gui> "
 "tab on the right to the <gui>Label</gui> property, and change it to <gui>E</"
@@ -17672,7 +18023,7 @@ msgstr ""
 "gui> στα δεξιά της ιδιότητας <gui>ετικέτα</gui> και αλλάξτε την σε <gui>E</"
 "gui>. Αυτή θα είναι η χαμηλή χορδή της κιθάρας Ε."
 
-#: C/guitar-tuner.vala.page:108(note/p)
+#: C/guitar-tuner.vala.page:113(note/p)
 msgid ""
 "The <gui>General</gui> tab is located in the <gui>Widgets</gui> section on "
 "the right."
@@ -17680,7 +18031,7 @@ msgstr ""
 "Η καρτέλα <gui>γενικά</gui> εντοπίζεται στην ενότητα <gui>γραφικά συστατικά</"
 "gui> στα δεξιά."
 
-#: C/guitar-tuner.vala.page:113(item/p)
+#: C/guitar-tuner.vala.page:118(item/p)
 msgid ""
 "Click on the <gui>Signals</gui> tab in the <gui>Widgets</gui> section on the "
 "right, and look for the <code>clicked</code> signal of the button. You can "
@@ -17696,7 +18047,7 @@ msgstr ""
 "κάνετε αυτό, κλικ στο σήμα και πληκτρολογήστε <code>main_on_button_clicked</"
 "code> στη στήλη <gui>χειριστής</gui> και πατήστε <key>Enter</key>."
 
-#: C/guitar-tuner.vala.page:126(section/p)
+#: C/guitar-tuner.vala.page:131(section/p)
 msgid ""
 "This section will show you how to create the code to produce sounds. <link "
 "href=\"http://developer.gnome.org/platform-overview/stable/gstreamer";
@@ -17711,7 +18062,7 @@ msgstr ""
 "παρόμοια. Εδώ, θα το χρησιμοποιήσουμε για να παράξουμε τόνους μιας "
 "συχνότητας."
 
-#: C/guitar-tuner.vala.page:127(section/p)
+#: C/guitar-tuner.vala.page:132(section/p)
 msgid ""
 "Conceptually, GStreamer works as follows: You create a <link href=\"http://";
 "gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/section-intro-"
@@ -17728,7 +18079,7 @@ msgstr ""
 "βίντεο, ή μουσικής, για παράδειγμα, και η έξοδος μπορεί να είναι γραφικό "
 "συστατικό ή κάρτα ήχου."
 
-#: C/guitar-tuner.vala.page:136(section/p)
+#: C/guitar-tuner.vala.page:141(section/p)
 msgid ""
 "In this example we will use a tone generator source called "
 "<code>audiotestsrc</code> and send the output to the default system sound "
@@ -17743,7 +18094,7 @@ msgstr ""
 "διαθέσιμο μέσα από την ιδιότητα <code>freq</code> του <code>audiotestsrc</"
 "code>."
 
-#: C/guitar-tuner.vala.page:138(section/p)
+#: C/guitar-tuner.vala.page:143(section/p)
 msgid ""
 "We need to add a line to initialize GStreamer; put the following code on the "
 "line above the <code>Gtk.init</code> call in the <code>main</code> function:"
@@ -17752,12 +18103,12 @@ msgstr ""
 "τον παρακάτω κώδικα στην γραμμή πάνω από την κλήση <code>Gtk.init</code> στη "
 "συνάρτηση <code>main</code>:"
 
-#: C/guitar-tuner.vala.page:139(section/code)
+#: C/guitar-tuner.vala.page:144(section/code)
 #, no-wrap
 msgid "Gst.init (ref args);"
 msgstr "Gst.init (ref args);"
 
-#: C/guitar-tuner.vala.page:140(section/p)
+#: C/guitar-tuner.vala.page:145(section/p)
 msgid ""
 "Then, copy the following function into <file>guitar_tuner.vala</file> inside "
 "our <code>Main</code> class:"
@@ -17765,7 +18116,7 @@ msgstr ""
 "Μετά, αντιγράψτε την ακόλουθη συνάρτηση στο <file>guitar_tuner.vala</file> "
 "μέσα στην κλάση μας <code>Main</code>:"
 
-#: C/guitar-tuner.vala.page:141(section/code)
+#: C/guitar-tuner.vala.page:146(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -17832,7 +18183,7 @@ msgstr ""
 "\ttime.attach(null);\n"
 "}"
 
-#: C/guitar-tuner.vala.page:175(item/p)
+#: C/guitar-tuner.vala.page:180(item/p)
 msgid ""
 "The first three lines create source and sink GStreamer elements (<link href="
 "\"http://valadoc.org/gstreamer-0.10/Gst.Element.html\";><code>Gst.Element</"
@@ -17855,7 +18206,7 @@ msgstr ""
 "ρυθμίζεται στην έξοδο <code>autoaudiosink</code> (προεπιλεγμένη έξοδος "
 "κάρτας ήχου)."
 
-#: C/guitar-tuner.vala.page:178(item/p)
+#: C/guitar-tuner.vala.page:183(item/p)
 msgid ""
 "The call to <link href=\"http://valadoc.org/gobject-2.0/GLib.Object.set.html";
 "\"><code>source.set</code></link> sets the <code>freq</code> property of the "
@@ -17869,7 +18220,7 @@ msgstr ""
 "στη συνάρτηση <code>play_sound</code>. Αυτή είναι η συχνότητα της νότας σε "
 "Hertz· πολλές χρήσιμες συχνότητες θα οριστούν αργότερα."
 
-#: C/guitar-tuner.vala.page:181(item/p)
+#: C/guitar-tuner.vala.page:186(item/p)
 msgid ""
 "<link href=\"http://valadoc.org/gstreamer-0.10/Gst.Bin.add.html";
 "\"><code>pipeline.add</code></link> puts the source and sink into the "
@@ -17887,7 +18238,7 @@ msgstr ""
 "μπορείτε να προσθέσετε όσα στοιχεία θέλετε στη διοχέτευση προσθέτοντας "
 "περισσότερες κλήσεις στο <code>pipeline.add</code>."
 
-#: C/guitar-tuner.vala.page:184(item/p)
+#: C/guitar-tuner.vala.page:189(item/p)
 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, "
@@ -17908,7 +18259,7 @@ msgstr ""
 "org/gstreamer-0.10/Gst.State.html\">κατάσταση της σωλήνωσης</link> να παίξει "
 "(<code>Gst.State.PLAYING</code>)."
 
-#: C/guitar-tuner.vala.page:187(item/p)
+#: C/guitar-tuner.vala.page:192(item/p)
 msgid ""
 "We don't want to play an annoying tone forever, so the last thing "
 "<code>play_sound</code> does is to add a <link href=\"http://www.valadoc.org/";
@@ -17927,7 +18278,7 @@ msgstr ""
 "Επιστρέφει <code>false</code> για να αφαιρέσει την ίδια από το χρονικό όριο, "
 "αλλιώς θα συνέχιζε να καλείται κάθε 200 ms."
 
-#: C/guitar-tuner.vala.page:198(section/p)
+#: C/guitar-tuner.vala.page:203(section/p)
 msgid ""
 "In the UI designer, you made it so that all of the buttons will call the "
 "same function, <gui>on_button_clicked</gui>, when they are clicked. Actually "
@@ -17941,7 +18292,7 @@ msgstr ""
 "ότι αυτή η μέθοδος είναι τμήμα του <code>Main</code> μας. Πρέπει να "
 "προσθέσουμε αυτή την συνάρτηση στο πηγαίο αρχείο."
 
-#: C/guitar-tuner.vala.page:199(section/p)
+#: C/guitar-tuner.vala.page:204(section/p)
 msgid ""
 "To do this, in the user interface file (guitar_tuner.ui) select one of the "
 "buttons by clicking on it, then open <file>guitar_tuner.vala</file> (by "
@@ -17959,7 +18310,7 @@ msgstr ""
 "<gui>πατημένο</gui> και σύρσιμο και απόθεσή του στο πηγαίο αρχείο στην αρχή "
 "της κλάσης. Ο παρακάτω κώδικας θα προστεθεί στο πηγαίο σας αρχείο:"
 
-#: C/guitar-tuner.vala.page:201(section/code)
+#: C/guitar-tuner.vala.page:206(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -17972,7 +18323,7 @@ msgstr ""
 "\n"
 "}"
 
-#: C/guitar-tuner.vala.page:206(note/p)
+#: C/guitar-tuner.vala.page:211(note/p)
 msgid ""
 "You can also just type the code at the beginning of the class instead of "
 "using the drag and drop."
@@ -17980,7 +18331,7 @@ msgstr ""
 "Μπορείτε επίσης να πληκτρολογήσετε απλά των κώδικα στην αρχή της κλάσης αντί "
 "της χρήσης συρσίματος και απόθεσης."
 
-#: C/guitar-tuner.vala.page:207(section/p)
+#: C/guitar-tuner.vala.page:212(section/p)
 msgid ""
 "This signal handler has only one argument: the <link href=\"http://valadoc.";
 "org/gtk+-3.0/Gtk.Widget.html\"><code>Gtk.Widget</code></link> that called "
@@ -17992,11 +18343,11 @@ msgstr ""
 "κάλεσε η συνάρτηση (στην περίπτωσή μας, πάντοτε ένα <link href=\"http://";
 "valadoc.org/gtk+-3.0/Gtk.Button.html\"><code>Gtk.Button</code></link>)."
 
-#: C/guitar-tuner.vala.page:213(section/title)
+#: C/guitar-tuner.vala.page:218(section/title)
 msgid "Define the signal handler"
 msgstr "Ορισμός του χειριστή σημάτων"
 
-#: C/guitar-tuner.vala.page:214(section/p)
+#: C/guitar-tuner.vala.page:219(section/p)
 msgid ""
 "We want to play the correct sound when the user clicks a button. For this, "
 "we flesh out the signal handler which we defined above, "
@@ -18012,7 +18363,7 @@ msgstr ""
 "εκτεταμένο διπλασιασμό του κώδικα. Αντίθετα, μπορούμε να χρησιμοποιήσουμε "
 "την ετικέτα του κουμπιού για να καταλάβουμε ποιο κουμπί πατήθηκε:"
 
-#: C/guitar-tuner.vala.page:215(section/code)
+#: C/guitar-tuner.vala.page:220(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -18069,7 +18420,7 @@ msgstr ""
 "\t}\n"
 "}\n"
 
-#: C/guitar-tuner.vala.page:242(section/p)
+#: C/guitar-tuner.vala.page:247(section/p)
 msgid ""
 "The <code>Gtk.Button</code> that was clicked is passed as an argument "
 "(<code>sender</code>) to <code>on_button_clicked</code>. We can get the "
@@ -18082,7 +18433,7 @@ msgstr ""
 "πάρουμε το κείμενο από αυτήν την ετικέτα χρησιμοποιώντας <code>get_label</"
 "code>."
 
-#: C/guitar-tuner.vala.page:243(section/p)
+#: C/guitar-tuner.vala.page:248(section/p)
 msgid ""
 "The switch statement compares the label text to the notes that we can play, "
 "and <code>play_sound</code> is called with the frequency appropriate for "
@@ -18093,7 +18444,7 @@ msgstr ""
 "συχνότητα για αυτήν την νότα. Αυτό παίζει τον τόνο· ο ρυθμιστής κιθάρας "
 "είναι έτοιμος!"
 
-#: C/guitar-tuner.vala.page:254(section/p)
+#: C/guitar-tuner.vala.page:259(section/p)
 msgid ""
 "If you run into problems with the tutorial, compare your code with this "
 "<link href=\"guitar-tuner/guitar-tuner.vala\">reference code</link>."
@@ -18102,12 +18453,12 @@ msgstr ""
 "αυτόν τον <link href=\"guitar-tuner/guitar-tuner.vala\">κώδικα αναφοράς</"
 "link>."
 
-#: C/guitar-tuner.vala.page:258(section/title)
-#: C/magic-mirror.vala.page:151(section/title)
+#: C/guitar-tuner.vala.page:263(section/title)
+#: C/magic-mirror.vala.page:156(section/title)
 msgid "Further reading"
 msgstr "Περαιτέρω ανάγνωση"
 
-#: C/guitar-tuner.vala.page:259(section/p)
+#: C/guitar-tuner.vala.page:264(section/p)
 msgid ""
 "To find out more about the Vala programming language you might want to check "
 "out the <link href=\"http://live.gnome.org/Vala/Tutorial\";>Vala Tutorial</"
@@ -19031,12 +19382,16 @@ msgstr ""
 "});\n"
 
 #: C/helloWorld.js.page:91(section/p)
+#| msgid ""
+#| "GtkApplication initializes Gtk+. It also connects the <gui>x</gui> button "
+#| "that's automatically generated along with the window to the \"destroy\" "
+#| "signal."
 msgid ""
-"GtkApplication initializes Gtk+. It also connects the <gui>x</gui> button "
+"GtkApplication initializes GTK+. It also connects the <gui>x</gui> button "
 "that's automatically generated along with the window to the \"destroy\" "
 "signal."
 msgstr ""
-"Η GtkApplication αρχικοποιεί το Gtk+. Επίσης συνδέει το κουμπί <gui>x</gui> "
+"Η GtkApplication αρχικοποιεί το GTK+. Επίσης συνδέει το κουμπί <gui>x</gui> "
 "που δημιουργείται αυτόματα μαζί με το παράθυρο στο σήμα \"destroy\"."
 
 #: C/helloWorld.js.page:92(section/p)
@@ -19315,7 +19670,7 @@ msgstr ""
 msgid "Now let's go through some parts of the <code>.desktop.in</code> file."
 msgstr "Τώρα, ας εξετάσουμε μερικά μέρη του αρχείου <code>.desktop.in</code>."
 
-#: C/helloWorld.js.page:139(item/title) C/toolbar_builder.py.page:93(td/p)
+#: C/helloWorld.js.page:139(item/title) C/toolbar_builder.py.page:94(td/p)
 #: C/toolbar_builder.vala.page:77(td/p)
 msgid "Name"
 msgstr "Όνομα"
@@ -19640,7 +19995,7 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/image.c.page:21(media) C/image.js.page:20(media)
-#: C/image.py.page:21(media) C/image.vala.page:21(media)
+#: C/image.py.page:23(media) C/image.vala.page:21(media)
 msgctxt "_"
 msgid "external ref='media/image.png' md5='9416aa74d9d6a857783f7a36338e7a02'"
 msgstr "external ref='media/image.png' md5='9416aa74d9d6a857783f7a36338e7a02'"
@@ -19651,17 +20006,17 @@ msgid "Image (C)"
 msgstr "Εικόνα (C)"
 
 #: C/image.c.page:17(info/desc) C/image.js.page:16(info/desc)
-#: C/image.py.page:17(info/desc) C/image.vala.page:17(info/desc)
+#: C/image.py.page:19(info/desc) C/image.vala.page:17(info/desc)
 msgid "A widget displaying an image"
 msgstr "Ένα γραφικό συστατικό που εμφανίζει μια εικόνα"
 
 #: C/image.c.page:20(page/title) C/image.js.page:19(page/title)
-#: C/image.py.page:20(page/title) C/image.vala.page:20(page/title)
+#: C/image.py.page:22(page/title) C/image.vala.page:20(page/title)
 msgid "Image"
 msgstr "Εικόνα"
 
 #: C/image.c.page:22(page/p) C/image.js.page:21(page/p)
-#: C/image.py.page:22(page/p) C/image.vala.page:22(page/p)
+#: C/image.py.page:24(page/p) C/image.vala.page:22(page/p)
 msgid "This GtkApplication displays an image file from the current directory."
 msgstr ""
 "Αυτή η GtkApplication εμφανίζει ένα αρχείο εικόνας από τον τρέχοντα κατάλογο."
@@ -19908,7 +20263,7 @@ msgctxt "text"
 msgid "Image (Python)"
 msgstr "Εικόνα (Python)"
 
-#: C/image.py.page:24(note/p)
+#: C/image.py.page:26(note/p)
 msgid ""
 "If the image file is not loaded successfully, the image will contain a "
 "\"broken image\" icon. The <file>filename.png</file> needs to be in the "
@@ -19918,7 +20273,7 @@ msgstr ""
 "εικονίδιο \"σπασμένης εικόνας\". Το <file>filename.png</file> χρειάζεται να "
 "είναι στον τρέχοντα κατάλογο για να δουλέψει αυτός ο κώδικας."
 
-#: C/image.py.page:33(section/code)
+#: C/image.py.page:35(section/code)
 #, no-wrap
 msgid ""
 "from gi.repository import Gtk\n"
@@ -19983,7 +20338,7 @@ msgstr ""
 "exit_status = app.run(sys.argv)\n"
 "sys.exit(exit_status)\n"
 
-#: C/image.py.page:35(section/p)
+#: C/image.py.page:37(section/p)
 msgid ""
 "Another way to obtain what we have in the example is to create the image as "
 "an instance of another class and add it to the instance of <code>MyWindow</"
@@ -19994,7 +20349,7 @@ msgstr ""
 "στιγμιότυπο του <code>MyWindow</code> στη μέθοδο <code>do_activate(self)</"
 "code>:"
 
-#: C/image.py.page:36(section/code)
+#: C/image.py.page:38(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -20047,11 +20402,11 @@ msgstr ""
 "        # show the window and everything on it\n"
 "        win.show_all()"
 
-#: C/image.py.page:63(section/title)
+#: C/image.py.page:65(section/title)
 msgid "Useful methods for an Image widget"
 msgstr "Χρήσιμες μέθοδοι για γραφικό συστατικό εικόνας"
 
-#: C/image.py.page:66(item/p)
+#: C/image.py.page:68(item/p)
 msgid ""
 "To set a stock icon as image, you can use <code>set_from_stock(stock_id, "
 "size)</code> where <code>stock_id</code> is a stock icon such as <code>Gtk."
@@ -20073,7 +20428,7 @@ msgstr ""
 "Gtk.IconSize.LARGE_TOOLBAR, Gtk.IconSize.BUTTON, Gtk.IconSize.DND, Gtk."
 "IconSize.DIALOG</code>."
 
-#: C/image.py.page:67(item/p)
+#: C/image.py.page:69(item/p)
 msgid ""
 "You can also use <code>set_from_icon_name(icon_name, size)</code>, where "
 "<code>icon_name</code> is a stock icon name such as <code>\"gtk-about\"</"
@@ -20084,7 +20439,7 @@ msgstr ""
 "όπως το <code>\"gtk-about\"</code> (περισσότερα μπορούν να βρεθούν όπως "
 "παραπάνω) και το <code>size</code> είναι όπως παραπάνω."
 
-#: C/image.py.page:68(item/p)
+#: C/image.py.page:70(item/p)
 msgid ""
 "To load an image over a network use <code>set_from_pixbuf(pixbuf)</code>, "
 "where <code>pixbuf</code> is a <link href=\"http://developer.gnome.org/gdk-";
@@ -20094,7 +20449,7 @@ msgstr ""
 "</code>, όπου <code>pixbuf</code> είναι <link href=\"http://developer.gnome.";
 "org/gdk-pixbuf/unstable//index.html\">GdkPixbuf</link>."
 
-#: C/image.py.page:69(item/code)
+#: C/image.py.page:71(item/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -20141,7 +20496,7 @@ msgstr ""
 "        # add the image to the window\n"
 "        self.add(image)"
 
-#: C/image.py.page:90(item/p)
+#: C/image.py.page:92(item/p)
 msgid ""
 "If <code>preserve_aspect_ratio=True</code> we can use "
 "<code>new_from_file_at_size(filename, width, height)</code>. If <code>width</"
@@ -20152,7 +20507,7 @@ msgstr ""
 "<code>width</code> ή <code>height</code> είναι <code>-1</code>, δεν "
 "περιορίζεται."
 
-#: C/image.py.page:91(item/p)
+#: C/image.py.page:93(item/p)
 msgid ""
 "For loading from an input stream, see <code>new_from_stream()</code> and "
 "<code>new_from_stream_at_scale()</code> in the documentation"
@@ -20264,9 +20619,9 @@ msgstr ""
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
-#: C/image-viewer.c.page:33(media) C/image-viewer.cpp.page:31(media)
-#: C/image-viewer.js.page:42(media) C/image-viewer.py.page:41(media)
-#: C/image-viewer.vala.page:48(media)
+#: C/image-viewer.c.page:38(media) C/image-viewer.cpp.page:36(media)
+#: C/image-viewer.js.page:46(media) C/image-viewer.py.page:45(media)
+#: C/image-viewer.vala.page:53(media)
 msgctxt "_"
 msgid ""
 "external ref='media/image-viewer.png' md5='7720360611243b14283b83527be968c2'"
@@ -20274,44 +20629,53 @@ msgstr ""
 "external ref='media/image-viewer.png' md5='7720360611243b14283b83527be968c2'"
 
 #: C/image-viewer.c.page:7(info/title)
+#| msgctxt "text"
+#| msgid "Image Viewer (C)"
 msgctxt "text"
-msgid "Image Viewer (C)"
+msgid "Image viewer (C)"
 msgstr "Προβολέας εικόνων (C)"
 
-#: C/image-viewer.c.page:10(info/desc) C/image-viewer.vala.page:10(info/desc)
+#: C/image-viewer.c.page:10(info/desc)
 msgid "A little bit more than a simple \"Hello world\" Gtk application."
 msgstr "Κάτι περισσότερο από απλή εφαρμογή Gtk όπως το \"Γεια σου κόσμε\"."
 
-#: C/image-viewer.c.page:23(page/title) C/image-viewer.cpp.page:21(page/title)
-msgid "Image Viewer"
+#: C/image-viewer.c.page:28(page/title) C/image-viewer.cpp.page:26(page/title)
+#: C/image-viewer.js.page:28(page/title) C/image-viewer.py.page:28(page/title)
+#: C/image-viewer.vala.page:36(page/title)
+#| msgid "Image Viewer"
+msgid "Image viewer"
 msgstr "Προβολή εικόνων"
 
-#: C/image-viewer.c.page:26(synopsis/p) C/image-viewer.cpp.page:24(synopsis/p)
-#: C/message-board.c.page:24(synopsis/p)
-#: C/record-collection.js.page:26(synopsis/p)
+#: C/image-viewer.c.page:31(synopsis/p) C/image-viewer.cpp.page:29(synopsis/p)
+#: C/message-board.c.page:28(synopsis/p)
+#: C/record-collection.js.page:31(synopsis/p)
 msgid "In this tutorial, you will learn:"
 msgstr "Σε αυτό το μάθημα, θα μάθετε:"
 
-#: C/image-viewer.c.page:28(item/p)
+#: C/image-viewer.c.page:33(item/p)
 msgid "Some basic concepts of C/GObject programming"
 msgstr "Μερικές βασικές έννοιες του προγραμματισμού C/GObject"
 
-#: C/image-viewer.c.page:29(item/p)
+#: C/image-viewer.c.page:34(item/p)
 msgid "How to write a Gtk application in C"
 msgstr "Πώς να γράψετε μια εφαρμογή Gtk σε C"
 
-#: C/image-viewer.c.page:43(item/p)
+#: C/image-viewer.c.page:48(item/p)
+#| msgid ""
+#| "Choose <gui>Gtk+ (Simple)</gui> from the <gui>C</gui> tab, click "
+#| "<gui>Continue</gui>, and fill out your details on the next few pages. Use "
+#| "<file>image-viewer</file> as project name and directory."
 msgid ""
-"Choose <gui>Gtk+ (Simple)</gui> from the <gui>C</gui> tab, click "
+"Choose <gui>GTK+ (Simple)</gui> from the <gui>C</gui> tab, click "
 "<gui>Continue</gui>, and fill out your details on the next few pages. Use "
 "<file>image-viewer</file> as project name and directory."
 msgstr ""
-"Επιλέξτε <gui>Gtk+ (απλό)</gui> από την καρτέλα <gui>C</gui>, πατήστε "
+"Επιλέξτε <gui>GTK+ (απλό)</gui> από την καρτέλα <gui>C</gui>, πατήστε "
 "<gui>συνέχεια</gui>, και συμπληρώστε τις λεπτομέρειές σας στις επόμενες "
 "λίγες σελίδες. Χρησιμοποιήστε το <file>image-viewer</file> ως όνομα του "
 "έργου και του καταλόγου."
 
-#: C/image-viewer.c.page:46(item/p)
+#: C/image-viewer.c.page:51(item/p)
 msgid ""
 "Make sure that <gui>Use GtkBuilder for user interface</gui> is disabled as "
 "we will create the UI manually in this tutorial. Check the <link xref="
@@ -20323,7 +20687,7 @@ msgstr ""
 "μάθημα. Σημειώστε το μάθημα <link xref=\"guitar-tuner.c\">ρυθμιστής κιθάρας</"
 "link> εάν θέλετε να μάθετε τη χρήση του κατασκευαστή διεπαφής."
 
-#: C/image-viewer.c.page:61(section/p)
+#: C/image-viewer.c.page:66(section/p)
 msgid ""
 "C is a rather verbose language, so don't be surprised that the file contains "
 "quite a lot of code. Most of it is template code. It loads an (empty) window "
@@ -20335,7 +20699,7 @@ msgstr ""
 "ένα (κενό) παράθυρο και το εμφανίζει. Περισσότερες λεπτομέρειες υπάρχουν πιο "
 "κάτω· προσπεράστε αυτή τη λίστα αν καταλαβαίνετε τα βασικά:"
 
-#: C/image-viewer.c.page:68(item/p)
+#: C/image-viewer.c.page:73(item/p)
 msgid ""
 "The <code>create_window</code> function creates a new (empty) window and "
 "connects a signal to exit the application when that window is closed."
@@ -20343,13 +20707,13 @@ msgstr ""
 "Η συνάρτηση <code>create_window</code> δημιουργεί ένα νέο (άδειο) παράθυρο "
 "και συνδέει ένα σήμα για έξοδο της εφαρμογής όταν το παράθυρο κλείνει."
 
-#: C/image-viewer.c.page:84(section/title)
-#: C/image-viewer.cpp.page:81(section/title)
-#: C/image-viewer.vala.page:133(section/title)
+#: C/image-viewer.c.page:89(section/title)
+#: C/image-viewer.cpp.page:86(section/title)
+#: C/image-viewer.vala.page:138(section/title)
 msgid "Creating the user interface"
 msgstr "Δημιουργία της διεπαφής χρήστη"
 
-#: C/image-viewer.c.page:85(section/p)
+#: C/image-viewer.c.page:90(section/p)
 msgid ""
 "Now we will bring life into the empty window. GTK organizes the user "
 "interface with <code>GtkContainer</code>s that can contain other widgets and "
@@ -20361,7 +20725,7 @@ msgstr ""
 "και ακόμα άλλους περιέκτες. Εδώ θα χρησιμοποιήσουμε τον απλούστερο διαθέσιμο "
 "περιέκτη, έναν <code>GtkBox</code>:"
 
-#: C/image-viewer.c.page:88(section/code)
+#: C/image-viewer.c.page:93(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -20430,7 +20794,7 @@ msgstr ""
 "\treturn window;\n"
 "}\n"
 
-#: C/image-viewer.c.page:123(item/p)
+#: C/image-viewer.c.page:128(item/p)
 msgid ""
 "The first lines create the widgets we want to use: a button for opening up "
 "an image, the image view widget itself and the box we will use as a "
@@ -20445,7 +20809,7 @@ msgstr ""
 "αλλαγές που απαιτούνται καθώς η C δεν υποστηρίζει προσανατολισμό "
 "αντικειμένου εκτός πλαισίου."
 
-#: C/image-viewer.c.page:128(item/p)
+#: C/image-viewer.c.page:133(item/p)
 msgid ""
 "The calls to <code>gtk_box_pack_start</code> add the two widgets to the box "
 "and define their behaviour. The image will expand into any available space "
@@ -20462,7 +20826,7 @@ msgstr ""
 "έχετε μια διάταξη που φαίνεται καλή με διαφορετικά μεγέθη παραθύρων. Στη "
 "συνέχεια, το πλαίσιο προστίθεται στο παράθυρο."
 
-#: C/image-viewer.c.page:134(item/p)
+#: C/image-viewer.c.page:139(item/p)
 msgid ""
 "We need to define what happens when the user clicks on the button. GTK uses "
 "the concept of <em>signals</em>. When the button is clicked, it fires the "
@@ -20480,7 +20844,7 @@ msgstr ""
 "όταν το κουμπί πατιέται και να περάσει την εικόνα ως πρόσθετο όρισμα σε αυτή "
 "τη συνάρτηση. Θα ορίσουμε την <em>επανάκληση</em> στην επόμενη ενότητα."
 
-#: C/image-viewer.c.page:139(item/p)
+#: C/image-viewer.c.page:144(item/p)
 msgid ""
 "The last <code>g_signal_connect()</code> makes sure that the application "
 "exits when the window is closed."
@@ -20488,7 +20852,7 @@ msgstr ""
 "Ο τελευταίος <code>g_signal_connect()</code> επιβεβαιώνει ότι η εφαρμογή "
 "φεύγει όταν το παράθυρο κλείνει."
 
-#: C/image-viewer.c.page:142(item/p)
+#: C/image-viewer.c.page:147(item/p)
 msgid ""
 "As a last step, make sure to replace the <code>gtk_widget_show</code> call "
 "in the <code>main()</code> function by <code>gtk_widget_show_all()</code> to "
@@ -20499,13 +20863,13 @@ msgstr ""
 "<code>gtk_widget_show_all()</code> για να εμφανιστεί το παράθυρο και όλα τα "
 "γραφικά συστατικά που περιέχει."
 
-#: C/image-viewer.c.page:149(section/title)
-#: C/image-viewer.cpp.page:136(section/title)
-#: C/image-viewer.vala.page:204(section/title)
+#: C/image-viewer.c.page:154(section/title)
+#: C/image-viewer.cpp.page:141(section/title)
+#: C/image-viewer.vala.page:209(section/title)
 msgid "Showing the image"
 msgstr "Εμφάνιση της εικόνας"
 
-#: C/image-viewer.c.page:150(section/p)
+#: C/image-viewer.c.page:155(section/p)
 msgid ""
 "We will now define the signal handler for the <em>clicked</em> signal or the "
 "button we mentioned before. Add this code before the <code>create_window()</"
@@ -20515,7 +20879,7 @@ msgstr ""
 "κουμπί που αναφέραμε πριν. Προσθέστε αυτόν τον κώδικα πριν τη μέθοδο "
 "<code>create_window()</code>."
 
-#: C/image-viewer.c.page:153(section/code)
+#: C/image-viewer.c.page:158(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -20584,8 +20948,8 @@ msgstr ""
 "\tgtk_widget_destroy (dialog);\n"
 "}\n"
 
-#: C/image-viewer.c.page:186(section/p) C/image-viewer.cpp.page:172(section/p)
-#: C/image-viewer.js.page:278(section/p) C/image-viewer.py.page:192(section/p)
+#: C/image-viewer.c.page:191(section/p) C/image-viewer.cpp.page:177(section/p)
+#: C/image-viewer.js.page:282(section/p) C/image-viewer.py.page:196(section/p)
 msgid ""
 "This is a bit more complicated than anything we've attempted so far, so "
 "let's break it down:"
@@ -20593,7 +20957,7 @@ msgstr ""
 "Αυτό είναι λίγο πιο περίπλοκο από όσα έχουμε κάνει μέχρι τώρα, για αυτό θα "
 "το χωρίσουμε σε κομμάτια:"
 
-#: C/image-viewer.c.page:188(item/p)
+#: C/image-viewer.c.page:193(item/p)
 msgid ""
 "The first argument of the signal is always the widget that sent the signal. "
 "Sometimes other arguments related to the signal come after that, but "
@@ -20608,7 +20972,7 @@ msgstr ""
 "συνδέσαμε το σήμα. Σε αυτήν την περίπτωση είναι το αντικείμενό μας "
 "<code>GtkImage</code>."
 
-#: C/image-viewer.c.page:194(item/p)
+#: C/image-viewer.c.page:199(item/p)
 msgid ""
 "The next interesting line is where the dialog for choosing the file is "
 "created using <code>gtk_file_chooser_dialog_new</code>. The function takes "
@@ -20620,8 +20984,8 @@ msgstr ""
 "συνάρτηση παίρνει τον τίτλο του διαλόγου, το ανιόν παράθυρο του διαλόγου και "
 "πολλές επιλογές όπως ο αριθμός των κουμπιών και οι αντίστοιχες τιμές τους."
 
-#: C/image-viewer.c.page:198(item/p) C/image-viewer.cpp.page:180(item/p)
-#: C/image-viewer.js.page:285(item/p) C/image-viewer.py.page:199(item/p)
+#: C/image-viewer.c.page:203(item/p) C/image-viewer.cpp.page:185(item/p)
+#: C/image-viewer.js.page:289(item/p) C/image-viewer.py.page:203(item/p)
 msgid ""
 "Notice that we are using <em>stock</em> button names from Gtk, instead of "
 "manually typing \"Cancel\" or \"Open\". The advantage of using stock names "
@@ -20633,7 +20997,7 @@ msgstr ""
 "Το πλεονέκτημα στη χρήση των προκαθορισμένων ονομάτων είναι ότι οι ετικέτες "
 "των κουμπιών θα έχουν ήδη μεταφραστεί στη γλώσσα του χρήστη."
 
-#: C/image-viewer.c.page:201(item/p)
+#: C/image-viewer.c.page:206(item/p)
 msgid ""
 "The next two lines restrict the <gui>Open</gui> dialog to only display files "
 "which can be opened by GtkImage. A filter object is created first; we then "
@@ -20648,7 +21012,7 @@ msgstr ""
 "περισσότερες μορφές όπως PNG και JPEG) στο φίλτρο. Τέλος, ορίζουμε αυτό το "
 "φίλτρο να είναι το φίλτρο του διαλόγου <gui>άνοιγμα</gui>."
 
-#: C/image-viewer.c.page:204(item/p)
+#: C/image-viewer.c.page:209(item/p)
 msgid ""
 "<code>gtk_dialog_run</code> displays the <gui>Open</gui> dialog. The dialog "
 "will wait for the user to choose an image; when they do, "
@@ -20663,7 +21027,7 @@ msgstr ""
 "code> αν ο χρήστης πατήσει <gui>ακύρωση</gui>). Η πρόταση <code>switch</"
 "code> ελέγχει για αυτό."
 
-#: C/image-viewer.c.page:206(item/p)
+#: C/image-viewer.c.page:211(item/p)
 msgid ""
 "Assuming that the user did click <gui>Open</gui>, the next line sets the "
 "<code>file</code> property of the GtkImage to the filename of the image "
@@ -20675,7 +21039,7 @@ msgstr ""
 "εικόνας που επέλεξε ο χρήστης. Το GtkImage θα φορτώσει τότε και θα εμφανίσει "
 "την επιλεγμένη εικόνα."
 
-#: C/image-viewer.c.page:209(item/p)
+#: C/image-viewer.c.page:214(item/p)
 msgid ""
 "In the final line of this method, we destroy the <gui>Open</gui> dialog "
 "because we don't need it any more. Destroying automatically hides the dialog."
@@ -20684,7 +21048,7 @@ msgstr ""
 "<gui>άνοιγμα</gui> γιατί δεν τον χρειαζόμαστε πια. Καταστρέφοντας τον "
 "αυτόματα κρύβεται ο διάλογος."
 
-#: C/image-viewer.c.page:218(section/p) C/image-viewer.cpp.page:206(section/p)
+#: C/image-viewer.c.page:223(section/p) C/image-viewer.cpp.page:211(section/p)
 msgid ""
 "If you haven't already done so, choose the <file>Debug/src/image-viewer</"
 "file> application in the dialog that appears. Finally, hit <gui>Run</gui> "
@@ -20694,7 +21058,7 @@ msgstr ""
 "viewer</file> στον διάλογο που εμφανίζεται. Τελικά, πατήστε <gui>τρέξιμο</"
 "gui> και απολαύστε!"
 
-#: C/image-viewer.c.page:223(section/p)
+#: C/image-viewer.c.page:228(section/p)
 msgid ""
 "If you run into problems with the tutorial, compare your code with this "
 "<link href=\"image-viewer/image-viewer.c\">reference code</link>."
@@ -20702,9 +21066,9 @@ msgstr ""
 "Αν αντιμετωπίσετε πρόβλημα με το μάθημα, συγκρίνετε τον κώδικά σας με αυτόν "
 "τον <link href=\"image-viewer/image-viewer.c\">κώδικα αναφοράς</link>."
 
-#: C/image-viewer.c.page:231(item/p) C/image-viewer.cpp.page:219(item/p)
-#: C/image-viewer.js.page:320(item/p) C/image-viewer.py.page:234(item/p)
-#: C/image-viewer.vala.page:292(item/p)
+#: C/image-viewer.c.page:236(item/p) C/image-viewer.cpp.page:224(item/p)
+#: C/image-viewer.js.page:324(item/p) C/image-viewer.py.page:238(item/p)
+#: C/image-viewer.vala.page:297(item/p)
 msgid ""
 "Have the user select a directory rather than a file, and provide controls to "
 "cycle through all of the images in a directory."
@@ -20712,9 +21076,9 @@ msgstr ""
 "Βάλτε τον χρήστη να επιλέξει ένα κατάλογο αντί για αρχείο και δώστε ελέγχους "
 "να γυρίζουν όλες τις εικόνες σε έναν κατάλογο."
 
-#: C/image-viewer.c.page:234(item/p) C/image-viewer.cpp.page:222(item/p)
-#: C/image-viewer.js.page:323(item/p) C/image-viewer.py.page:237(item/p)
-#: C/image-viewer.vala.page:295(item/p)
+#: C/image-viewer.c.page:239(item/p) C/image-viewer.cpp.page:227(item/p)
+#: C/image-viewer.js.page:327(item/p) C/image-viewer.py.page:241(item/p)
+#: C/image-viewer.vala.page:300(item/p)
 msgid ""
 "Apply random filters and effects to the image when it is loaded and allow "
 "the user to save the modified image."
@@ -20722,9 +21086,9 @@ msgstr ""
 "Εφαρμόστε τυχαία φίλτρα και εφέ στην εικόνα όταν αυτή φορτωθεί και επιτρέψτε "
 "στον χρήστη να αποθηκεύσει την επεξεργασμένη εικόνα."
 
-#: C/image-viewer.c.page:235(item/p) C/image-viewer.cpp.page:223(item/p)
-#: C/image-viewer.js.page:324(item/p) C/image-viewer.py.page:238(item/p)
-#: C/image-viewer.vala.page:296(item/p)
+#: C/image-viewer.c.page:240(item/p) C/image-viewer.cpp.page:228(item/p)
+#: C/image-viewer.js.page:328(item/p) C/image-viewer.py.page:242(item/p)
+#: C/image-viewer.vala.page:301(item/p)
 msgid ""
 "<link href=\"http://www.gegl.org/api.html\";>GEGL</link> provides powerful "
 "image manipulation capabilities."
@@ -20732,9 +21096,9 @@ msgstr ""
 "Το <link href=\"http://www.gegl.org/api.html\";>GEGL</link> παρέχει ισχυρές "
 "δυνατότητες επεξεργασίας εικόνας."
 
-#: C/image-viewer.c.page:238(item/p) C/image-viewer.cpp.page:226(item/p)
-#: C/image-viewer.js.page:327(item/p) C/image-viewer.py.page:241(item/p)
-#: C/image-viewer.vala.page:299(item/p)
+#: C/image-viewer.c.page:243(item/p) C/image-viewer.cpp.page:231(item/p)
+#: C/image-viewer.js.page:331(item/p) C/image-viewer.py.page:245(item/p)
+#: C/image-viewer.vala.page:304(item/p)
 msgid ""
 "Allow the user to load images from network shares, scanners, and other more "
 "complicated sources."
@@ -20742,9 +21106,9 @@ msgstr ""
 "Επιτρέψτε στον χρήστη να φορτώνει εικόνες από μερισμό δικτύου, από σαρωτές "
 "και από άλλες περίπλοκες πηγές."
 
-#: C/image-viewer.c.page:239(item/p) C/image-viewer.cpp.page:227(item/p)
-#: C/image-viewer.js.page:328(item/p) C/image-viewer.py.page:242(item/p)
-#: C/image-viewer.vala.page:300(item/p)
+#: C/image-viewer.c.page:244(item/p) C/image-viewer.cpp.page:232(item/p)
+#: C/image-viewer.js.page:332(item/p) C/image-viewer.py.page:246(item/p)
+#: C/image-viewer.vala.page:305(item/p)
 msgid ""
 "You can use <link href=\"http://library.gnome.org/devel/gio/unstable/\";>GIO</"
 "link> to handle network file tranfers and the like, and <link href=\"http://";
@@ -20760,15 +21124,15 @@ msgstr ""
 msgid "A little bit more than a simple \"Hello world\" GTKmm application."
 msgstr "Μια λίγο περισσότερο από απλή εφαρμογή GTKmm σαν το \"Hello, world!\"."
 
-#: C/image-viewer.cpp.page:26(item/p)
+#: C/image-viewer.cpp.page:31(item/p)
 msgid "Some basic concepts of C++/GObject programming"
 msgstr "Μερικές βασικές έννοιες του προγραμματισμού C++/GObject"
 
-#: C/image-viewer.cpp.page:27(item/p)
+#: C/image-viewer.cpp.page:32(item/p)
 msgid "How to write a Gtk application in C++"
 msgstr "Πώς να γράψετε μια εφαρμογή Gtk σε C++"
 
-#: C/image-viewer.cpp.page:41(item/p)
+#: C/image-viewer.cpp.page:46(item/p)
 msgid ""
 "Choose <gui>GTKmm (Simple)</gui> from the <gui>C++</gui> tab, click "
 "<gui>Forward</gui>, and fill out your details on the next few pages. Use "
@@ -20779,7 +21143,7 @@ msgstr ""
 "σελίδες. Χρησιμοποιήστε το <file>image-viewer</file> ως όνομα του έργου και "
 "του καταλόγου."
 
-#: C/image-viewer.cpp.page:44(item/p)
+#: C/image-viewer.cpp.page:49(item/p)
 msgid ""
 "Make sure that <gui>Use GtkBuilder for user interface</gui> is disabled as "
 "we will create the UI manually in this tutorial. Check the <link xref="
@@ -20791,7 +21155,7 @@ msgstr ""
 "μάθημα. Σημειώστε το μάθημα <link xref=\"guitar-tuner.cpp\">ρυθμιστής "
 "κιθάρας</link> εάν θέλετε να μάθετε τη χρήση του κατασκευαστή διεπαφής."
 
-#: C/image-viewer.cpp.page:49(item/p)
+#: C/image-viewer.cpp.page:54(item/p)
 msgid ""
 "Click <gui>Apply</gui> and the project will be created for you. Open "
 "<file>src/main.cc</file> from the <gui>Project</gui> or <gui>File</gui> "
@@ -20801,7 +21165,7 @@ msgstr ""
 "<file>src/main.cc</file> από τις καρτέλες <gui>έργο</gui> ή <gui>αρχείο</"
 "gui>. Θα πρέπει να δείτε κάποιο κώδικα που ξεκινά με τις γραμμές:"
 
-#: C/image-viewer.cpp.page:50(item/code)
+#: C/image-viewer.cpp.page:55(item/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -20816,7 +21180,7 @@ msgstr ""
 "\n"
 "#include \"config.h\"&gt;"
 
-#: C/image-viewer.cpp.page:64(item/p)
+#: C/image-viewer.cpp.page:69(item/p)
 msgid ""
 "The three <code>#include</code> lines at the top include the <code>config</"
 "code> (useful autoconf build defines), <code>gtkmm</code> (user interface) "
@@ -20828,7 +21192,7 @@ msgstr ""
 "code> (διεπαφή χρήστη) και βιβλιοθήκες <code>iostream</code> (C++-STL). "
 "Συναρτήσεις από αυτές τις βιβλιοθήκες χρησιμοποιούνται στον υπόλοιπο κώδικα."
 
-#: C/image-viewer.cpp.page:67(item/p)
+#: C/image-viewer.cpp.page:72(item/p)
 msgid ""
 "The <code>main</code> function creates a new (empty) window and sets the "
 "window title."
@@ -20836,7 +21200,7 @@ msgstr ""
 "Η συνάρτηση <code>main</code> δημιουργεί ένα νέο (άδειο) παράθυρο και ορίζει "
 "τον τίτλο του παραθύρου."
 
-#: C/image-viewer.cpp.page:70(item/p)
+#: C/image-viewer.cpp.page:75(item/p)
 msgid ""
 "The <code>kit::run()</code> call starts the GTKmm main loop, which runs the "
 "user interface and starts listening for events (like clicks and key "
@@ -20848,7 +21212,7 @@ msgstr ""
 "πατήματα πλήκτρου). Καθώς δίνουμε το παράθυρο ως όρισμα σε αυτήν τη "
 "συνάρτηση, η εφαρμογή θα εγκαταλείψει αυτόματα όταν το παράθυρο κλείσει."
 
-#: C/image-viewer.cpp.page:82(section/p)
+#: C/image-viewer.cpp.page:87(section/p)
 msgid ""
 "Now we will bring life into the empty window. GTKmm organizes the user "
 "interface with <code>Gtk::Container</code>s that can contain other widgets "
@@ -20860,7 +21224,7 @@ msgstr ""
 "και ακόμα άλλους περιέκτες. Εδώ θα χρησιμοποιήσουμε τον απλούστερο διαθέσιμο "
 "περιέκτη, έναν <code>Gtk::Box</code>:"
 
-#: C/image-viewer.cpp.page:85(section/code)
+#: C/image-viewer.cpp.page:90(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -20919,7 +21283,7 @@ msgstr ""
 "\treturn 0;\n"
 "}\n"
 
-#: C/image-viewer.cpp.page:115(item/p)
+#: C/image-viewer.cpp.page:120(item/p)
 msgid ""
 "The first lines create the widgets we want to use: a button for opening up "
 "an image, the image view widget itself and the box we will use as a "
@@ -20929,7 +21293,7 @@ msgstr ""
 "κουμπί για άνοιγμα μιας εικόνας, το ίδιο το γραφικό συστατικό προβολής της "
 "εικόνας και το πλαίσιο που θα χρησιμοποιήσουμε ως περιέκτη."
 
-#: C/image-viewer.cpp.page:118(item/p)
+#: C/image-viewer.cpp.page:123(item/p)
 msgid ""
 "The calls to <code>pack_start</code> add the two widgets to the box and "
 "define their behaviour. The image will expand into any available space while "
@@ -20946,7 +21310,7 @@ msgstr ""
 "φαίνεται καλή με διαφορετικά μεγέθη παραθύρων. Στη συνέχεια, το πλαίσιο "
 "προστίθεται στο παράθυρο."
 
-#: C/image-viewer.cpp.page:124(item/p)
+#: C/image-viewer.cpp.page:129(item/p)
 msgid ""
 "We need to define what happens when the user clicks on the button. GTKmm "
 "uses the concept of <em>signals</em>. When the button is clicked, it fires "
@@ -20963,7 +21327,7 @@ msgstr ""
 "<code>on_open_image</code> όταν το κουμπί πατιέται. Θα ορίσουμε την "
 "<em>επανάκληση</em> στην επόμενη ενότητα."
 
-#: C/image-viewer.cpp.page:128(item/p)
+#: C/image-viewer.cpp.page:133(item/p)
 msgid ""
 "The last step is to show all widgets in the window using "
 "<code>show_all_children()</code>. This is equivalent to using the <code>show"
@@ -20973,7 +21337,7 @@ msgstr ""
 "χρησιμοποιώντας <code>show_all_children()</code>. Αυτό είναι ισοδύναμο μς τη "
 "χρήση της μεθόδου <code>show()</code> σε όλα τα θυγατρικά γραφικά συστατικά."
 
-#: C/image-viewer.cpp.page:137(section/p)
+#: C/image-viewer.cpp.page:142(section/p)
 msgid ""
 "We will now define the signal handler for the <em>clicked</em> signal or the "
 "button we mentioned before. Add this code before the <code>main</code> "
@@ -20983,7 +21347,7 @@ msgstr ""
 "κουμπί που αναφέραμε πριν. Προσθέστε αυτόν τον κώδικα πριν τη μέθοδο "
 "<code>main</code>."
 
-#: C/image-viewer.cpp.page:140(section/code)
+#: C/image-viewer.cpp.page:145(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -21050,7 +21414,7 @@ msgstr ""
 "\t}\n"
 "}\n"
 
-#: C/image-viewer.cpp.page:175(item/p)
+#: C/image-viewer.cpp.page:180(item/p)
 msgid ""
 "The dialog for choosing the file is created using the <code>Gtk::"
 "FileChooserDialog</code> constructor. This takes the title and type of the "
@@ -21061,7 +21425,7 @@ msgstr ""
 "τύπο του διαλόγου. Στην περίπτωσή μας, είναι ένας διάλογος <em>ανοίγματος</"
 "em>."
 
-#: C/image-viewer.cpp.page:179(item/p)
+#: C/image-viewer.cpp.page:184(item/p)
 msgid ""
 "The next two lines add an <em>Open</em> and a <em>Close</em> button to the "
 "dialog."
@@ -21069,7 +21433,7 @@ msgstr ""
 "Οι επόμενες δυο γραμμές προσθέτουν ένα κουμπί <em>ανοίγματος</em> και ένα "
 "<em>κλεισίματος</em> στο διάλογο."
 
-#: C/image-viewer.cpp.page:181(item/p)
+#: C/image-viewer.cpp.page:186(item/p)
 msgid ""
 "The second argument to the <code>add_button()</code> method is a value to "
 "identify the clicked button. We use predefined values provided by GTKmm "
@@ -21079,7 +21443,7 @@ msgstr ""
 "καθορισμού του πατημένου κουμπιού. Χρησιμοποιούμε προκαθορισμένες τιμές που "
 "παρέχονται από το GTKmm εδώ, επίσης."
 
-#: C/image-viewer.cpp.page:186(item/p)
+#: C/image-viewer.cpp.page:191(item/p)
 msgid ""
 "The next two lines restrict the <gui>Open</gui> dialog to only display files "
 "which can be opened by <code>Gtk::Image</code>. A filter object is created "
@@ -21095,7 +21459,7 @@ msgstr ""
 "περισσότερες μορφές εικόνων όπως PNG και JPEG) στο φίλτρο. Τέλος, ορίζουμε "
 "αυτό το φίλτρο να είναι το φίλτρο του διαλόγου <gui>άνοιγμα</gui>."
 
-#: C/image-viewer.cpp.page:187(item/p)
+#: C/image-viewer.cpp.page:192(item/p)
 msgid ""
 "<code>Glib::RefPtr</code> is a smart pointer used here, that makes sure that "
 "the filter is destroyed when there is no reference to it anymore."
@@ -21104,7 +21468,7 @@ msgstr ""
 "εδώ, αυτό επιβεβαιώνει ότι το φίλτρο καταστρέφεται όταν δεν υπάρχει αναφορά "
 "για αυτό πια."
 
-#: C/image-viewer.cpp.page:191(item/p)
+#: C/image-viewer.cpp.page:196(item/p)
 msgid ""
 "<code>dialog.run</code> displays the <gui>Open</gui> dialog. The dialog will "
 "wait for the user to choose an image; when they do, <code>dialog.run</code> "
@@ -21118,7 +21482,7 @@ msgstr ""
 "code> (θα επιστρέψει <code>Gtk::RESPONSE_CANCEL</code> αν ο χρήστης πατήσει "
 "<gui>ακύρωση</gui>). Η πρόταση <code>switch</code> ελέγχει για αυτό."
 
-#: C/image-viewer.cpp.page:194(item/p)
+#: C/image-viewer.cpp.page:199(item/p)
 msgid ""
 "We hide the <gui>Open</gui> dialog because we don't need it any more. The "
 "dialog would be hidden later anyway, as it is only a local variable and is "
@@ -21129,7 +21493,7 @@ msgstr ""
 "μεταβλητή μόνο και καταστρέφεται (και συνεπώς κρύβεται) όταν η εμβέλεια "
 "τελειώνει."
 
-#: C/image-viewer.cpp.page:197(item/p)
+#: C/image-viewer.cpp.page:202(item/p)
 msgid ""
 "Assuming that the user did click <gui>Open</gui>, the next line loads the "
 "file into the <code>Gtk::Image</code> so that it is displayed."
@@ -21137,7 +21501,7 @@ msgstr ""
 "Αν υποθέσουμε ότι ο χρήστης πάτησε το <gui>άνοιγμα</gui>, η επόμενη γραμμή "
 "φορτώνει το αρχείο στο <code>Gtk::Image</code>, έτσι ώστε να εμφανίζεται."
 
-#: C/image-viewer.cpp.page:211(section/p)
+#: C/image-viewer.cpp.page:216(section/p)
 msgid ""
 "If you run into problems with the tutorial, compare your code with this "
 "<link href=\"image-viewer/image-viewer.cc\">reference code</link>."
@@ -21146,29 +21510,29 @@ msgstr ""
 "τον <link href=\"image-viewer/image-viewer.cc\">κώδικα αναφοράς</link>."
 
 #: C/image-viewer.js.page:7(info/title)
+#| msgctxt "text"
+#| msgid "Image Viewer (JavaScript)"
 msgctxt "text"
-msgid "Image Viewer (JavaScript)"
+msgid "Image viewer (JavaScript)"
 msgstr "Προβολέας εικόνων (JavaScript)"
 
 #: C/image-viewer.js.page:10(info/desc)
+#| msgid ""
+#| "A little bit more than a simple \"Hello world\" application - write an "
+#| "image viewer in GTK. Includes an introduction to the JavaScript language."
 msgid ""
 "A little bit more than a simple \"Hello world\" application - write an image "
-"viewer in GTK. Includes an introduction to the JavaScript language."
+"viewer in GTK+. Includes an introduction to the JavaScript language."
 msgstr ""
 "Μια λίγο περισσότερο από απλή εφαρμογή σαν το \"Hello world\"- συγγραφή ενός "
-"προβολέα εικόνων σε GTK. Περιλαμβάνει μια εισαγωγή στη γλώσσα JavaScript."
+"προβολέα εικόνων σε GTK+. Περιλαμβάνει μια εισαγωγή στη γλώσσα JavaScript."
 
 #: C/image-viewer.js.page:14(credit/name)
 #: C/image-viewer.py.page:14(credit/name)
 msgid "Jonh Wendell"
 msgstr "Jonh Wendell"
 
-#: C/image-viewer.js.page:24(page/title) C/image-viewer.py.page:24(page/title)
-#: C/image-viewer.vala.page:31(page/title)
-msgid "1 Image Viewer"
-msgstr "1 Προβολέας εικόνων"
-
-#: C/image-viewer.js.page:27(synopsis/p) C/image-viewer.py.page:27(synopsis/p)
+#: C/image-viewer.js.page:31(synopsis/p) C/image-viewer.py.page:31(synopsis/p)
 msgid ""
 "In this tutorial, we're going to write a very simple GTK application that "
 "loads and displays an image file. You will learn how to:"
@@ -21176,31 +21540,31 @@ msgstr ""
 "Σε αυτόν το μάθημα θα γράψουμε μια πολύ απλή εφαρμογή σε GTK που φορτώνει "
 "και εμφανίζει ένα αρχείο εικόνας. Θα μάθετε πώς να:"
 
-#: C/image-viewer.js.page:29(item/p)
+#: C/image-viewer.js.page:33(item/p)
 msgid "Write a basic GTK user interface in JavaScript"
 msgstr "Γράψε μια βασικά διεπαφή χρήστη GTK σε JavaScript"
 
-#: C/image-viewer.js.page:30(item/p) C/image-viewer.py.page:30(item/p)
+#: C/image-viewer.js.page:34(item/p) C/image-viewer.py.page:34(item/p)
 msgid "Deal with events by connecting signals to signal handlers"
 msgstr "Να αντιμετωπίζετε συμβάντα συνδέοντας σήματα με τους χειριστές σημάτων"
 
-#: C/image-viewer.js.page:31(item/p) C/image-viewer.py.page:31(item/p)
+#: C/image-viewer.js.page:35(item/p) C/image-viewer.py.page:35(item/p)
 msgid "Lay out GTK user interfaces using containers"
 msgstr "Σχεδιάζετε διεπαφές χρήστη GTK χρησιμοποιώντας περιέκτες"
 
-#: C/image-viewer.js.page:32(item/p) C/image-viewer.py.page:32(item/p)
+#: C/image-viewer.js.page:36(item/p) C/image-viewer.py.page:36(item/p)
 msgid "Load and display image files"
 msgstr "Φορτώνετε και να εμφανίζετε αρχεία εικόνων"
 
-#: C/image-viewer.js.page:37(item/p)
+#: C/image-viewer.js.page:41(item/p)
 msgid "An installed copy of the <em>gjs</em> interpreter"
 msgstr "Ένα εγκατεστημένο αντίγραφο του διερμηνευτή <em>gjs</em>"
 
-#: C/image-viewer.js.page:38(item/p)
+#: C/image-viewer.js.page:42(item/p)
 msgid "Basic knowledge of any object-orientated programming language"
 msgstr "Βασική γνώση οποιασδήποτε αντικειμενοστραφούς γλώσσας προγραμματισμού"
 
-#: C/image-viewer.js.page:52(item/p)
+#: C/image-viewer.js.page:56(item/p)
 msgid ""
 "Choose <gui>Generic Javascript</gui> from the <gui>JS</gui> tab, click "
 "<gui>Forward</gui>, and fill out your details on the next few pages. Use "
@@ -21211,7 +21575,7 @@ msgstr ""
 "σελίδες. Χρησιμοποιήστε το <file>image-viewer</file> ως όνομα έργου και "
 "καταλόγου."
 
-#: C/image-viewer.js.page:55(item/p)
+#: C/image-viewer.js.page:59(item/p)
 msgid ""
 "Click <gui>Apply</gui> and the project will be created for you. Open "
 "<file>src/main.js</file> from the <gui>Project</gui> or <gui>File</gui> "
@@ -21221,11 +21585,11 @@ msgstr ""
 "<file>src/main.js</file> από τις καρτέλες <gui>έργο</gui> ή <gui>αρχείο</"
 "gui>. Περιλαμβάνει πολύ βασικό παράδειγμα κώδικα."
 
-#: C/image-viewer.js.page:62(section/title)
+#: C/image-viewer.js.page:66(section/title)
 msgid "JavaScript basics: Hello World"
 msgstr "Βασικά JavaScript: Hello World"
 
-#: C/image-viewer.js.page:63(section/p)
+#: C/image-viewer.js.page:67(section/p)
 msgid ""
 "Before we start writing the image viewer, let's find out more about the way "
 "JavaScript is used in GNOME. Of course, your very first contact with any "
@@ -21237,12 +21601,12 @@ msgstr ""
 "σας με οποιαδήποτε γλώσσα προγραμματισμού πρέπει να είναι το πρόγραμμα Hello "
 "World που μπορεί να βρεθεί ήδη στο <file>main.js</file>:"
 
-#: C/image-viewer.js.page:64(section/code)
+#: C/image-viewer.js.page:68(section/code)
 #, no-wrap
 msgid "print (\"Hello world!\");"
 msgstr "εκτύπωση (\"Hello world!\")·"
 
-#: C/image-viewer.js.page:65(section/p)
+#: C/image-viewer.js.page:69(section/p)
 msgid ""
 "This should look quite natural if you're familiar with almost any other "
 "programming language. The function <code>print</code> is called with the "
@@ -21254,15 +21618,15 @@ msgstr ""
 "καλείται με το όρισμα <code>\"Hello world!\"</code>, που θα εκτυπωθεί στην "
 "οθόνη. Σημειώστε ότι κάθε γραμμή κώδικα τελειώνει με ;."
 
-#: C/image-viewer.js.page:69(section/title)
+#: C/image-viewer.js.page:73(section/title)
 msgid "Classes in JavaScript"
 msgstr "Κλάσεις στη JavaScript"
 
-#: C/image-viewer.js.page:70(section/p)
+#: C/image-viewer.js.page:74(section/p)
 msgid "This is the standard way to define a class in JavaScript:"
 msgstr "Αυτός είναι ο τυπικός τρόπος ορισμού μιας κλάσης στη JavaScript:"
 
-#: C/image-viewer.js.page:71(section/code)
+#: C/image-viewer.js.page:75(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -21311,7 +21675,7 @@ msgstr ""
 "\n"
 "}"
 
-#: C/image-viewer.js.page:93(section/p)
+#: C/image-viewer.js.page:97(section/p)
 msgid ""
 "This defines a class called <code>MyClass</code>. Let's go through each part "
 "of the class definition:"
@@ -21319,7 +21683,7 @@ msgstr ""
 "Αυτό ορίζει μια κλάση που λέγεται <code>MyClass</code>. Ας δούμε κάθε τμήμα "
 "του ορισμού της κλάσης:"
 
-#: C/image-viewer.js.page:96(item/p)
+#: C/image-viewer.js.page:100(item/p)
 msgid ""
 "<code>function MyClass</code> is the constructor of the class — its name "
 "must match the class's name. You can access any member of the class by using "
@@ -21331,7 +21695,7 @@ msgstr ""
 "οποιοδήποτε μέλος της κλάσης χρησιμοποιώντας το αντικείμενο <code>this</"
 "code>· εδώ, ο κατασκευαστής καλεί τη μέθοδο της κλάσης <code>_init</code>."
 
-#: C/image-viewer.js.page:99(item/p)
+#: C/image-viewer.js.page:103(item/p)
 msgid ""
 "The <code>MyClass.prototype</code> block is where you define the "
 "<em>structure</em> of the class. Each class is made up of methods "
@@ -21342,7 +21706,7 @@ msgstr ""
 "em> της κλάσης. Κάθε κλάση αποτελείται από μεθόδους (συναρτήσεις) και πεδία "
 "(μεταβλητές)· υπάρχουν τρεις μέθοδοι και δύο πεδία σε αυτό το παράδειγμα."
 
-#: C/image-viewer.js.page:102(item/p)
+#: C/image-viewer.js.page:106(item/p)
 msgid ""
 "The first method defined here is called <code>_init</code>, and we specify "
 "that it is a function with no arguments:"
@@ -21350,12 +21714,12 @@ msgstr ""
 "Η πρώτη μέθοδος που καθορίστηκε εδώ λέγεται <code>_init</code> και "
 "καθορίζουμε ότι είναι μια συνάρτηση χωρίς ορίσματα:"
 
-#: C/image-viewer.js.page:103(item/code)
+#: C/image-viewer.js.page:107(item/code)
 #, no-wrap
 msgid "_init: function ()"
 msgstr "_init: function ()"
 
-#: C/image-viewer.js.page:104(item/p)
+#: C/image-viewer.js.page:108(item/p)
 msgid ""
 "We write the function inside some curly braces. Two fields are defined here, "
 "<code>propertyA</code> and <code>propertyB</code>. The first is set to a "
@@ -21367,7 +21731,7 @@ msgstr ""
 "συμβολοσειρά και το δεύτερο ορίζεται σε έναν ακέραιο (10). Η συνάρτηση δεν "
 "επιστρέφει καμία τιμή."
 
-#: C/image-viewer.js.page:107(item/p)
+#: C/image-viewer.js.page:111(item/p)
 msgid ""
 "The next method is called <code>aMethod</code> and has two arguments, which "
 "it prints out when you call it. The final method is <code>dumpProperties</"
@@ -21378,7 +21742,7 @@ msgstr ""
 "εκτυπώνεται όταν την καλείτε. Η τελική μέθοδος είναι <code>dumpProperties</"
 "code> και τυπώνει τα πεδία <code>propertyA</code> και <code>propertyB</code>."
 
-#: C/image-viewer.js.page:110(item/p)
+#: C/image-viewer.js.page:114(item/p)
 msgid ""
 "Note how the class definition (prototype) is arranged; each function "
 "definition is separated by a comma."
@@ -21386,11 +21750,11 @@ msgstr ""
 "Σημειώστε πώς τακτοποιείται ο ορισμός κλάσης (πρωτότυπο)· κάθε ορισμός "
 "συνάρτησης ξεχωρίζεται με κόμμα."
 
-#: C/image-viewer.js.page:114(section/p)
+#: C/image-viewer.js.page:118(section/p)
 msgid "Now that MyClass has been defined, we can play with it:"
 msgstr "Τώρα που η MyClass ορίστηκε, μπορούμε να παίξουμε μαζί της:"
 
-#: C/image-viewer.js.page:115(section/code)
+#: C/image-viewer.js.page:119(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -21405,7 +21769,7 @@ msgstr ""
 "o.propertyA = \"Just changed its value!\";\n"
 "o.dumpProperties ();"
 
-#: C/image-viewer.js.page:120(section/p)
+#: C/image-viewer.js.page:124(section/p)
 msgid ""
 "This code creates a new instance of the class called <code>o</code>, runs "
 "<code>aMethod</code>, changes <code>propertyA</code> to a different string, "
@@ -21416,7 +21780,7 @@ msgstr ""
 "code> σε διαφορετική συμβολοσειρά και έπειτα καλεί <code>dumpProperties</"
 "code> (που εξάγει τα πεδία)."
 
-#: C/image-viewer.js.page:121(section/p)
+#: C/image-viewer.js.page:125(section/p)
 msgid ""
 "Save the code in the <file>main.js</file> and then run it by using "
 "<guiseq><gui>Run</gui><gui>Execute</gui></guiseq> from the menu or using the "
@@ -21426,16 +21790,16 @@ msgstr ""
 "χρησιμοποιώντας <guiseq><gui>τρέξιμο</gui><gui>εκτέλεση</gui></guiseq> από "
 "το μενού ή χρησιμοποιώντας την εργαλειοθήκη."
 
-#: C/image-viewer.js.page:126(section/title)
-#: C/image-viewer.py.page:65(section/title)
+#: C/image-viewer.js.page:130(section/title)
+#: C/image-viewer.py.page:69(section/title)
 msgid "A first Gtk application"
 msgstr "Μια πρώτη εφαρμογή σε Gtk"
 
-#: C/image-viewer.js.page:127(section/p)
+#: C/image-viewer.js.page:131(section/p)
 msgid "Let's see what a very basic Gtk application looks like in JavaScript:"
 msgstr "Για να δούμε πώς μια πολύ βασική εφαρμογή Gtk φαίνεται σε JavaScript:"
 
-#: C/image-viewer.js.page:128(section/code)
+#: C/image-viewer.js.page:132(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -21458,11 +21822,11 @@ msgstr ""
 "\n"
 "Gtk.main ();"
 
-#: C/image-viewer.js.page:137(section/p) C/image-viewer.py.page:90(section/p)
+#: C/image-viewer.js.page:141(section/p) C/image-viewer.py.page:94(section/p)
 msgid "Let's take a look at what's happening:"
 msgstr "Ας ρίξουμε μια ματιά στο τι γίνεται:"
 
-#: C/image-viewer.js.page:140(item/p) C/image-viewer.py.page:93(item/p)
+#: C/image-viewer.js.page:144(item/p) C/image-viewer.py.page:97(item/p)
 msgid ""
 "The first line imports the Gtk namespace (that is, it includes the Gtk "
 "library). The libraries are provided by GObject Introspection (gi), which "
@@ -21472,7 +21836,7 @@ msgstr ""
 "βιβλιοθήκη του Gtk). Οι βιβλιοθήκες παρέχονται από το GObject Introspection "
 "(gi), που παρέχει γλωσσικές συσχετίσεις για πολλές βιβλιοθήκες του GNOME."
 
-#: C/image-viewer.js.page:143(item/p)
+#: C/image-viewer.js.page:147(item/p)
 msgid ""
 "<code>Gtk.init</code> initializes the Gtk library; this statement is "
 "mandatory for all Gtk programs."
@@ -21480,7 +21844,7 @@ msgstr ""
 "Το <code>Gtk.init</code> αρχικοποιεί τη βιβλιοθήκη Gtk· αυτή η πρόταση είναι "
 "υποχρεωτική για όλα τα προγράμματα Gtk."
 
-#: C/image-viewer.js.page:146(item/p)
+#: C/image-viewer.js.page:150(item/p)
 msgid ""
 "The next line creates the main window by creating a new <code>Gtk.Window</"
 "code> object. You can pass several properties to the window's constructor by "
@@ -21493,7 +21857,7 @@ msgstr ""
 "value, property: value, ...}</code>. Σε αυτήν την περίπτωση ορίζουμε τον "
 "τίτλο του παραθύρου."
 
-#: C/image-viewer.js.page:147(item/p)
+#: C/image-viewer.js.page:151(item/p)
 msgid ""
 "The next line explicitly shows the window. In Gtk, every widget is hidden by "
 "default."
@@ -21501,7 +21865,7 @@ msgstr ""
 "Η επόμενη γραμμή ρητά εμφανίζει το παράθυρο. Στο Gtk, κάθε γραφικό συστατικό "
 "κρύβεται από προεπιλογή."
 
-#: C/image-viewer.js.page:148(item/p)
+#: C/image-viewer.js.page:152(item/p)
 msgid ""
 "Finally, <code>Gtk.main</code> runs the main loop — in other words, it "
 "executes the program. The main loop listens for events (signals) from the "
@@ -21513,7 +21877,7 @@ msgstr ""
 "διεπαφή χρήστη και έπειτα καλεί έναν χειριστή σήματος που θα κάνει κάτι "
 "χρήσιμο. Θα μάθουμε περισσότερα για τα σήματα σύντομα."
 
-#: C/image-viewer.js.page:151(section/p)
+#: C/image-viewer.js.page:155(section/p)
 msgid ""
 "Save the code in <file>main.js</file> and run it. You will notice that the "
 "application does not quit when you close the window. This is because we "
@@ -21530,11 +21894,11 @@ msgstr ""
 "key><key>C</key></keyseq> στο παράθυρο τερματικού για να αφήσετε το "
 "πρόγραμμα."
 
-#: C/image-viewer.js.page:156(section/title)
+#: C/image-viewer.js.page:160(section/title)
 msgid "Adding classes"
 msgstr "Προσθήκη κλάσεων"
 
-#: C/image-viewer.js.page:157(section/p)
+#: C/image-viewer.js.page:161(section/p)
 msgid ""
 "The proper way of doing Gtk programming is by using classes. Let's rewrite "
 "the simple code you just wrote using classes:"
@@ -21543,7 +21907,7 @@ msgstr ""
 "κλάσεις. Ας ξαναγράψουμε τον απλό κώδικα που μόλις γράψατε χρησιμοποιώντας "
 "κλάσεις:"
 
-#: C/image-viewer.js.page:158(section/code)
+#: C/image-viewer.js.page:162(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -21582,7 +21946,7 @@ msgstr ""
 "var iv = new ImageViewer ();\n"
 "Gtk.main ();"
 
-#: C/image-viewer.js.page:176(section/p)
+#: C/image-viewer.js.page:180(section/p)
 msgid ""
 "Notice that the program is the same; we just moved the window creation code "
 "to our own <code>ImageViewer</code> class. The class's constructor calls the "
@@ -21596,7 +21960,7 @@ msgstr ""
 "εμφανίζει το παράθυρο. Έπειτα δημιουργούμε ένα στιγμιότυπο της κλάσης πριν "
 "το τρέξιμο του κύριου βρόχου (<code>Gtk.main</code>)."
 
-#: C/image-viewer.js.page:177(section/p)
+#: C/image-viewer.js.page:181(section/p)
 msgid ""
 "This code is modular and can be split into multiple files easily. This makes "
 "it cleaner and easier to read."
@@ -21604,12 +21968,12 @@ msgstr ""
 "Αυτός ο κώδικας είναι αρθρωτός και μπορεί να σπάσει σε πολλαπλά αρχεία "
 "εύκολα. Αυτό τον κάνει καθαρότερο και πιο εύκολα αναγνώσιμο."
 
-#: C/image-viewer.js.page:181(section/title)
-#: C/image-viewer.py.page:114(section/title)
+#: C/image-viewer.js.page:185(section/title)
+#: C/image-viewer.py.page:118(section/title)
 msgid "Signals"
 msgstr "Σήματα"
 
-#: C/image-viewer.js.page:182(section/p) C/image-viewer.py.page:115(section/p)
+#: C/image-viewer.js.page:186(section/p) C/image-viewer.py.page:119(section/p)
 msgid ""
 "Signals are one of the key concepts in Gtk programming. Whenever something "
 "happens to an object, it emits a signal; for example, when a button is "
@@ -21623,7 +21987,7 @@ msgstr ""
 "το πρόγραμμά σας να κάνει κάτι όταν αυτό συμβαίνει, πρέπει να συνδέσετε μια "
 "συνάρτηση (έναν \"χειριστή σημάτων\") σε αυτό το σήμα. Ορίστε ένα παράδειγμα:"
 
-#: C/image-viewer.js.page:183(section/code)
+#: C/image-viewer.js.page:187(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -21640,7 +22004,7 @@ msgstr ""
 "var b = new Gtk.Button ({label:\"Click me\"});\n"
 "b.connect (\"clicked\", button_clicked);"
 
-#: C/image-viewer.js.page:189(section/p) C/image-viewer.py.page:122(section/p)
+#: C/image-viewer.js.page:193(section/p) C/image-viewer.py.page:126(section/p)
 msgid ""
 "The last two lines create a <code>Gtk.Button</code> called <code>b</code> "
 "and connect its <code>clicked</code> signal to the <code>button_clicked</"
@@ -21654,11 +22018,11 @@ msgstr ""
 "που πατιέται ένα κουμπί, ο κώδικας στη συνάρτηση <code>button_clicked</code> "
 "θα εκτελείται. Εδώ απλά τυπώνει ένα μήνυμα."
 
-#: C/image-viewer.js.page:190(section/p)
+#: C/image-viewer.js.page:194(section/p)
 msgid "The syntax for connecting any signal to a function is:"
 msgstr "Η σύνταξη για σύνδεση οποιουδήποτε σήματος σε μια συνάρτηση είναι:"
 
-#: C/image-viewer.js.page:191(section/code)
+#: C/image-viewer.js.page:195(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -21667,7 +22031,7 @@ msgstr ""
 "\n"
 "object.connect (&lt;signal_name&gt;, &lt;function_to_be_called&gt;);"
 
-#: C/image-viewer.js.page:193(section/p)
+#: C/image-viewer.js.page:197(section/p)
 msgid ""
 "You can find signal definitions for any object in the <link href=\"http://";
 "library.gnome.org/devel/gtk/stable/ch01.html\">GTK class reference</link>."
@@ -21676,14 +22040,14 @@ msgstr ""
 "\"http://library.gnome.org/devel/gtk/stable/ch01.html\";>αναφορά κλάσης GTK</"
 "link>."
 
-#: C/image-viewer.js.page:196(note/p)
+#: C/image-viewer.js.page:200(note/p)
 msgid ""
 "You can simplify the code by making use of an inline function definition:"
 msgstr ""
 "Μπορείτε να απλοποιήσετε τον κώδικα χρησιμοποιώντας έναν ενσωματωμένο ορισμό "
 "συνάρτησης:"
 
-#: C/image-viewer.js.page:197(note/code)
+#: C/image-viewer.js.page:201(note/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -21692,11 +22056,11 @@ msgstr ""
 "\n"
 "b.connect (\"clicked\", function () { print (\"you clicked me!\"); });"
 
-#: C/image-viewer.js.page:204(section/title)
+#: C/image-viewer.js.page:208(section/title)
 msgid "Closing the window"
 msgstr "Κλείσιμο του παραθύρου"
 
-#: C/image-viewer.js.page:205(section/p)
+#: C/image-viewer.js.page:209(section/p)
 msgid ""
 "When you close a Gtk window it's not really closed, it's hidden. This allows "
 "you to keep the window around (which is useful if you want to ask the user "
@@ -21707,7 +22071,7 @@ msgstr ""
 "να ζητήσετε από τον χρήστη εάν θέλει πραγματικά να κλείσει το παράθυρο, για "
 "παράδειγμα)."
 
-#: C/image-viewer.js.page:206(section/p)
+#: C/image-viewer.js.page:210(section/p)
 msgid ""
 "In our case, we really do just want to close the window. The simplest way of "
 "doing this is by connecting the <code>hide</code> signal of the GtkWindow "
@@ -21722,12 +22086,12 @@ msgstr ""
 "στη μέθοδο <code>_init</code>, στην παραπάνω γραμμή <code>this.window.show</"
 "code>:"
 
-#: C/image-viewer.js.page:207(section/code)
+#: C/image-viewer.js.page:211(section/code)
 #, no-wrap
 msgid "this.window.connect (\"hide\", Gtk.main_quit);"
 msgstr "this.window.connect (\"hide\", Gtk.main_quit)·"
 
-#: C/image-viewer.js.page:208(section/p)
+#: C/image-viewer.js.page:212(section/p)
 msgid ""
 "This connects the <code>hide</code> signal of the window to Gtk's "
 "<code>main_quit</code> function, which ends the execution of the Gtk main "
@@ -21743,12 +22107,12 @@ msgstr ""
 "μετά τη γραμμή <code>Gtk.main ();</code>, αλλά αφού δεν έχουμε οποιοδήποτε "
 "κώδικα μετά από αυτό το σημείο, το πρόγραμμα απλά τελειώνει."
 
-#: C/image-viewer.js.page:212(section/title)
-#: C/image-viewer.py.page:126(section/title)
+#: C/image-viewer.js.page:216(section/title)
+#: C/image-viewer.py.page:130(section/title)
 msgid "Containers: Laying-out the user interface"
 msgstr "Περιέκτες: Σχεδίαση διεπαφής χρήστη"
 
-#: C/image-viewer.js.page:213(section/p) C/image-viewer.py.page:127(section/p)
+#: C/image-viewer.js.page:217(section/p) C/image-viewer.py.page:131(section/p)
 msgid ""
 "Widgets (controls, such as buttons and labels) can be arranged in the window "
 "by making use of <em>containers</em>. You can organize the layout by mixing "
@@ -21759,7 +22123,7 @@ msgstr ""
 "οργανώσετε την διάταξη συνδυάζοντας διαφορετικών ειδών περιέκτες, όπως "
 "πλαίσια και πλέγματα."
 
-#: C/image-viewer.js.page:214(section/p) C/image-viewer.py.page:128(section/p)
+#: C/image-viewer.js.page:218(section/p) C/image-viewer.py.page:132(section/p)
 msgid ""
 "A <code>Gtk.Window</code> is itself a type of container, but you can only "
 "put one widget directly into it. We would like to have two widgets, an image "
@@ -21782,7 +22146,7 @@ msgstr ""
 "γραφικά συστατικά, οργανωμένα οριζόντια ή κάθετα. Μπορείτε να κάνετε και πιο "
 "περίπλοκες διατάξεις βάζοντας πολλά πλαίσια το ένα μέσα στο άλλο κ.ο.κ."
 
-#: C/image-viewer.js.page:216(note/p) C/image-viewer.py.page:130(note/p)
+#: C/image-viewer.js.page:220(note/p) C/image-viewer.py.page:134(note/p)
 msgid ""
 "There is a graphical user interface designer called <app>Glade</app> "
 "integrated in <app>Anjuta</app> which makes UI design really easy. For this "
@@ -21793,7 +22157,7 @@ msgstr ""
 "περιβάλλοντος πολύ εύκολη. Για αυτό το απλό παράδειγμα, όμως, θα "
 "κωδικοποιήσουμε τα πάντα χειροκίνητα."
 
-#: C/image-viewer.js.page:218(section/p)
+#: C/image-viewer.js.page:222(section/p)
 msgid ""
 "Let's add the box and widgets to the window. Insert the following code into "
 "the <code>_init</code> method, immediately above the <code>this.window.show</"
@@ -21803,7 +22167,7 @@ msgstr ""
 "παρακάτω κώδικα στη μέθοδο <code>_init</code>, αμέσως πάνω από τη γραμμή "
 "<code>this.window.show</code> line:"
 
-#: C/image-viewer.js.page:219(section/code)
+#: C/image-viewer.js.page:223(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -21814,7 +22178,7 @@ msgstr ""
 "var main_box = new Gtk.Box ({orientation: Gtk.Orientation.VERTICAL, spacing: 0});\n"
 "this.window.add (main_box);"
 
-#: C/image-viewer.js.page:222(section/p)
+#: C/image-viewer.js.page:226(section/p)
 msgid ""
 "The first line creates a <code>Gtk.Box</code> called <code>main_box</code> "
 "and sets two of its properties: the <code>orientation</code> is set to "
@@ -21829,7 +22193,7 @@ msgstr ""
 "γραφικά συστατικά που έχει ρυθμιστεί στα 0 εικονοστοιχεία. Η επόμενη γραμμή "
 "έπειτα προσθέτει στο παράθυρο το νεοδημιουργημένο <code>Gtk.Box</code>."
 
-#: C/image-viewer.js.page:223(section/p) C/image-viewer.py.page:141(section/p)
+#: C/image-viewer.js.page:227(section/p) C/image-viewer.py.page:145(section/p)
 msgid ""
 "So far the window only contains an empty <code>Gtk.Box</code>, and if you "
 "run the program now you will see no changes at all (the <code>Gtk.Box</code> "
@@ -21840,12 +22204,12 @@ msgstr ""
 "<code>Gtk.Box</code> είναι ένας διαφανής περιέκτης, οπότε δεν μπορείτε να "
 "δείτε ότι είναι εκεί)."
 
-#: C/image-viewer.js.page:227(section/title)
-#: C/image-viewer.py.page:145(section/title)
+#: C/image-viewer.js.page:231(section/title)
+#: C/image-viewer.py.page:149(section/title)
 msgid "Packing: Adding widgets to the container"
 msgstr "Συσκευασία: Πρόσθεση γραφικών συστατικών στον περιέκτη"
 
-#: C/image-viewer.js.page:228(section/p)
+#: C/image-viewer.js.page:232(section/p)
 msgid ""
 "To add some widgets to the <code>Gtk.Box</code>, insert the following code "
 "directly below the <code>this.window.add (main_box)</code> line:"
@@ -21854,7 +22218,7 @@ msgstr ""
 "εισάγετε τον ακόλουθο κώδικα ακριβώς κάτω από την γραμμή <code>this.window."
 "add (main_box)</code>:"
 
-#: C/image-viewer.js.page:229(section/code)
+#: C/image-viewer.js.page:233(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -21865,7 +22229,7 @@ msgstr ""
 "this.image = new Gtk.Image ();\n"
 "main_box.pack_start (this.image, true, true, 0);"
 
-#: C/image-viewer.js.page:232(section/p)
+#: C/image-viewer.js.page:236(section/p)
 msgid ""
 "The first line creates a new <code>Gtk.Image</code> called <code>image</"
 "code>, which will be used to display an image file. Then, the image widget "
@@ -21881,7 +22245,7 @@ msgstr ""
 "Box</code> <link href=\"http://library.gnome.org/devel/gtk/stable/GtkBox.";
 "html#gtk-box-pack-start\"><code>pack_start</code></link>."
 
-#: C/image-viewer.js.page:233(section/p)
+#: C/image-viewer.js.page:237(section/p)
 msgid ""
 "<code>pack_start</code> takes 4 arguments: the widget that is to be added to "
 "the <code>Gtk.Box</code> (<code>child</code>); whether the <code>Gtk.Box</"
@@ -21900,7 +22264,7 @@ msgstr ""
 "συστατικό και στους γείτονές του μέσα στο <code>Gtk.Box</code>, "
 "(<code>padding</code>)."
 
-#: C/image-viewer.js.page:234(section/p) C/image-viewer.py.page:153(section/p)
+#: C/image-viewer.js.page:238(section/p) C/image-viewer.py.page:157(section/p)
 msgid ""
 "Gtk containers (and widgets) dynamically expand to fill the available space, "
 "if you let them. You don't position widgets by giving them a precise x,y-"
@@ -21915,7 +22279,7 @@ msgstr ""
 "του μεγέθους του παραθύρου πιο εύκολη και τα γραφικά συστατικά πρέπει να "
 "πάρουν αυτόματα ένα λογικό μέγεθος στις περισσότερες περιπτώσεις."
 
-#: C/image-viewer.js.page:235(section/p) C/image-viewer.py.page:154(section/p)
+#: C/image-viewer.js.page:239(section/p) C/image-viewer.py.page:158(section/p)
 msgid ""
 "Also note how the widgets are organized in a hierarchy. Once packed in the "
 "<code>Gtk.Box</code>, the <code>Gtk.Image</code> is considered a <em>child</"
@@ -21930,12 +22294,12 @@ msgstr ""
 "για παράδειγμα, μπορείτε να κρύψετε το <code>Gtk.Box</code>, που θα κρύψει "
 "επίσης όλα τα θυγατρικά του ταυτόχρονα."
 
-#: C/image-viewer.js.page:236(section/p) C/image-viewer.py.page:155(section/p)
+#: C/image-viewer.js.page:240(section/p) C/image-viewer.py.page:159(section/p)
 msgid "Now insert these two lines, below the two you just added:"
 msgstr ""
 "Τώρα προσθέστε αυτές τις δύο γραμμές, κάτω από αυτές που μόλις προσθέσατε:"
 
-#: C/image-viewer.js.page:237(section/code)
+#: C/image-viewer.js.page:241(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -21946,7 +22310,7 @@ msgstr ""
 "var open_button = new Gtk.Button ({label: \"Open a picture...\"});\n"
 "main_box.pack_start (open_button, false, false, 0);"
 
-#: C/image-viewer.js.page:240(section/p)
+#: C/image-viewer.js.page:244(section/p)
 msgid ""
 "These lines are similar to the first two, but this time they create a "
 "<code>Gtk.Button</code> and add it to <code>main_box</code>. Notice that we "
@@ -21967,19 +22331,19 @@ msgstr ""
 "ίδιο, ενώ το μέγεθος της εικόνας θα αυξηθεί, καταλαμβάνοντας όλο το υπόλοιπο "
 "παράθυρο."
 
-#: C/image-viewer.js.page:241(section/p)
+#: C/image-viewer.js.page:245(section/p)
 msgid ""
 "Finally, we must change the <code>this.window.show ();</code> line to read:"
 msgstr ""
 "Τελικά, πρέπει να αλλάξουμε τη γραμμή <code>this.window.show ();</code> για "
 "να διαβάσει:"
 
-#: C/image-viewer.js.page:242(section/code)
+#: C/image-viewer.js.page:246(section/code)
 #, no-wrap
 msgid "this.window.show_all ();"
 msgstr "this.window.show_all ()·"
 
-#: C/image-viewer.js.page:243(section/p)
+#: C/image-viewer.js.page:247(section/p)
 msgid ""
 "This will show the child of the Gtk window, and all of its children, and its "
 "children's children, and so on. (Remember that Gtk widgets are all hidden by "
@@ -21989,14 +22353,14 @@ msgstr ""
 "και τα θυγατρικά των θυγατρικών του κ.ο.κ. (Να θυμάστε ότι τα γραφικά "
 "συστατικά Gtk κρύβονται όλα από προεπιλογή)"
 
-#: C/image-viewer.js.page:247(section/title)
-#: C/image-viewer.py.page:164(section/title)
+#: C/image-viewer.js.page:251(section/title)
+#: C/image-viewer.py.page:168(section/title)
 msgid ""
 "Loading the image: Connecting to the button's <code>clicked</code> signal"
 msgstr ""
 "Φόρτωση της εικόνας: Σύνδεση στο σήμα του κουμπιού <code>clicked</code>"
 
-#: C/image-viewer.js.page:248(section/p)
+#: C/image-viewer.js.page:252(section/p)
 msgid ""
 "When the user clicks on the <gui>Open</gui> button, a dialog should appear "
 "so that the user can choose a picture. Once chosen, the picture should be "
@@ -22006,7 +22370,7 @@ msgstr ""
 "εμφανιστεί έτσι ώστε ο χρήστης να διαλέξει μια εικόνα. Μόλις διαλέξει, η "
 "εικόνα θα φορτωθεί και θα εμφανιστεί στο γραφικό συστατικό της εικόνας."
 
-#: C/image-viewer.js.page:249(section/p)
+#: C/image-viewer.js.page:253(section/p)
 msgid ""
 "The first step is to connect the <code>clicked</code> signal of the button "
 "to a signal handler function, which we call <code>_openClicked</code>. Put "
@@ -22018,7 +22382,7 @@ msgstr ""
 "code>. Βάλτε αυτόν τον κώδικα αμέσως μετά την γραμμή <code>var open_button = "
 "new Gtk.Button</code> όπου το κουμπί δημιουργήθηκε:"
 
-#: C/image-viewer.js.page:250(section/code)
+#: C/image-viewer.js.page:254(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -22027,7 +22391,7 @@ msgstr ""
 "\n"
 "open_button.connect (\"clicked\", Lang.bind (this, this._openClicked));"
 
-#: C/image-viewer.js.page:252(section/p)
+#: C/image-viewer.js.page:256(section/p)
 msgid ""
 "We are using the <em>Lang</em> JavaScript helper here. It allows us to "
 "connect a <em>class method</em> to the signal, rather than a plain function "
@@ -22043,17 +22407,17 @@ msgstr ""
 "δουλέψει χρειαζόσαστε επίσης να βάλετε την παρακάτω γραμμή στην κορυφή του "
 "αρχείου:"
 
-#: C/image-viewer.js.page:253(section/code)
+#: C/image-viewer.js.page:257(section/code)
 #, no-wrap
 msgid "const Lang = imports.lang;"
 msgstr "const Lang = imports.lang·"
 
-#: C/image-viewer.js.page:257(section/title)
-#: C/image-viewer.py.page:175(section/title)
+#: C/image-viewer.js.page:261(section/title)
+#: C/image-viewer.py.page:179(section/title)
 msgid "Loading the image: Writing the signal's callback"
 msgstr "Φόρτωση της εικόνας: Γράφοντας την επανάκληση του σήματος"
 
-#: C/image-viewer.js.page:258(section/p)
+#: C/image-viewer.js.page:262(section/p)
 msgid ""
 "Now we can create the <code>_openClicked()</code> method. Insert the "
 "following into the <code>ImageViewer.prototype</code> code block, after the "
@@ -22063,7 +22427,7 @@ msgstr ""
 "Εισάγετε τα ακόλουθα στην ομάδα κώδικα <code>ImageViewer.prototype</code>, "
 "μετά τη μέθοδο <code>_init</code> (και μη ξεχάσετε το κόμμα):"
 
-#: C/image-viewer.js.page:259(section/code)
+#: C/image-viewer.js.page:263(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -22106,7 +22470,7 @@ msgstr ""
 "    chooser.destroy ();\n"
 "  }"
 
-#: C/image-viewer.js.page:281(item/p)
+#: C/image-viewer.js.page:285(item/p)
 msgid ""
 "The line beginning with <code>var chooser</code> creates an <gui>Open</gui> "
 "dialog, which the user can use to choose files. We set four properties: the "
@@ -22127,7 +22491,7 @@ msgstr ""
 "αποτρέπει το χρήστη από κλικ σε μια άλλη περιοχή της εφαρμογής μέχρι το "
 "κλείσιμο του διαλόγου."
 
-#: C/image-viewer.js.page:284(item/p) C/image-viewer.py.page:198(item/p)
+#: C/image-viewer.js.page:288(item/p) C/image-viewer.py.page:202(item/p)
 msgid ""
 "The next two lines add <gui>Cancel</gui> and <gui>Open</gui> buttons to the "
 "dialog. The second argument of the <code>add_button</code> method is the "
@@ -22139,7 +22503,7 @@ msgstr ""
 "<code>add_button</code> είναι η (ακέραιη) τιμή που επιστρέφει όταν πατιέται "
 "το κουμπί: 0 για το <gui>Ακύρωση</gui> και 1 για το <gui>Άνοιγμα</gui>."
 
-#: C/image-viewer.js.page:288(item/p) C/image-viewer.py.page:202(item/p)
+#: C/image-viewer.js.page:292(item/p) C/image-viewer.py.page:206(item/p)
 msgid ""
 "<code>set_default_response</code> determines the button that will be "
 "activated if the user double-clicks a file or presses <key>Enter</key>. In "
@@ -22151,7 +22515,7 @@ msgstr ""
 "Στην περίπτωση μας, χρησιμοποιούμε το κουμπί <gui>Άνοιγμα</gui> σαν "
 "προεπιλεγμένο (το οποίο έχει τιμή 1)."
 
-#: C/image-viewer.js.page:291(item/p) C/image-viewer.py.page:205(item/p)
+#: C/image-viewer.js.page:295(item/p) C/image-viewer.py.page:209(item/p)
 msgid ""
 "The next three lines restrict the <gui>Open</gui> dialog to only display "
 "files which can be opened by <code>Gtk.Image</code>. A filter object is "
@@ -22166,7 +22530,7 @@ msgstr ""
 "οποίο περιέχει τα περισσότερα είδη εικόνων όπως PNG και JPEG). Τέλος, "
 "καθορίζουμε το φίλτρο να είναι το φίλτρο του διαλόγου <gui>Άνοιγμα</gui>."
 
-#: C/image-viewer.js.page:294(item/p)
+#: C/image-viewer.js.page:298(item/p)
 msgid ""
 "<code>chooser.run</code> displays the <gui>Open</gui> dialog. The dialog "
 "will wait for the user to choose an image; when they do, <code>chooser.run</"
@@ -22180,7 +22544,7 @@ msgstr ""
 "επιστρέψει <output>0</output> αν ο χρήστης πατήσει <gui>ακύρωση</gui>). Η "
 "πρόταση <code>if</code> το ελέγχει."
 
-#: C/image-viewer.js.page:296(item/p) C/image-viewer.py.page:210(item/p)
+#: C/image-viewer.js.page:300(item/p) C/image-viewer.py.page:214(item/p)
 msgid ""
 "Assuming that the user did click <gui>Open</gui>, the next line sets the "
 "<code>file</code> property of the <code>Gtk.Image</code> to the filename of "
@@ -22192,8 +22556,8 @@ msgstr ""
 "του αρχείου εικόνας που επέλεξε ο χρήστης. Το <code>Gtk.Image</code> θα "
 "φορτώσει και θα εμφανίσει την επιλεγμένη εικόνα."
 
-#: C/image-viewer.js.page:299(item/p) C/image-viewer.py.page:213(item/p)
-#: C/image-viewer.vala.page:267(item/p)
+#: C/image-viewer.js.page:303(item/p) C/image-viewer.py.page:217(item/p)
+#: C/image-viewer.vala.page:272(item/p)
 msgid ""
 "In the final line of this method, we destroy the <gui>Open</gui> dialog "
 "because we don't need it any more."
@@ -22201,7 +22565,7 @@ msgstr ""
 "Στην τελευταία γραμμή αυτής της μεθόδου, καταστρέφουμε τον διάλογο "
 "<gui>άνοιγμα</gui> γιατί δεν τον χρειαζόμαστε πια."
 
-#: C/image-viewer.js.page:307(section/p)
+#: C/image-viewer.js.page:311(section/p)
 msgid ""
 "All of the code you need should now be in place, so try running the code. "
 "That should be it; a fully-functioning image viewer (and a whistlestop tour "
@@ -22212,7 +22576,7 @@ msgstr ""
 "προβολέας εικόνων (και μια περιήγηση του JavaScript και Gtk) σε ελάχιστο "
 "χρόνο!"
 
-#: C/image-viewer.js.page:312(section/p)
+#: C/image-viewer.js.page:316(section/p)
 msgid ""
 "If you run into problems with the tutorial, compare your code with this "
 "<link href=\"image-viewer/image-viewer.js\">reference code</link>."
@@ -22221,8 +22585,10 @@ msgstr ""
 "τον <link href=\"image-viewer/image-viewer.js\">κώδικα αναφοράς</link>."
 
 #: C/image-viewer.py.page:7(info/title)
+#| msgctxt "text"
+#| msgid "Image Viewer (Python)"
 msgctxt "text"
-msgid "Image Viewer (Python)"
+msgid "Image viewer (Python)"
 msgstr "Προβολέας εικόνων (Python)"
 
 #: C/image-viewer.py.page:10(info/desc)
@@ -22233,15 +22599,15 @@ msgstr ""
 "Μια λίγο περισσότερο από απλή εφαρμογή σαν το \"Γεια σου κόσμε\" - γράψτε "
 "έναν προβολέα εικόνων σε GTK."
 
-#: C/image-viewer.py.page:29(item/p)
+#: C/image-viewer.py.page:33(item/p)
 msgid "Write a basic GTK user interface in Python"
 msgstr "Γράψετε μια βασική διεπαφή χρήστη GTK σε Python"
 
-#: C/image-viewer.py.page:37(item/p)
+#: C/image-viewer.py.page:41(item/p)
 msgid "Basic knowledge of the python programming language"
 msgstr "Βασική γνώση της γλώσσας προγραμματισμού Python"
 
-#: C/image-viewer.py.page:51(item/p)
+#: C/image-viewer.py.page:55(item/p)
 msgid ""
 "Choose <gui>PyGTK (automake)</gui> from the <gui>Python</gui> tab, click "
 "<gui>Continue</gui>, and fill out your details on the next few pages. Use "
@@ -22252,7 +22618,7 @@ msgstr ""
 "επόμενες λίγες σελίδες. Χρησιμοποιήστε το <file>image-viewer</file> ως όνομα "
 "του έργου και του καταλόγου."
 
-#: C/image-viewer.py.page:54(item/p)
+#: C/image-viewer.py.page:58(item/p)
 msgid ""
 "Be sure to disable <gui>Use GtkBuilder for user interface</gui> as we will "
 "build the user interface manually in this example. For an example of using "
@@ -22264,7 +22630,7 @@ msgstr ""
 "παράδειγμα. Για ένα παράδειγμα χρήσης του σχεδιαστή διεπαφής, δείτε το <link "
 "xref=\"guitar-tuner.py\">επίδειξη ρυθμιστή κιθάρας</link>."
 
-#: C/image-viewer.py.page:59(item/p)
+#: C/image-viewer.py.page:63(item/p)
 msgid ""
 "Click <gui>Apply</gui> and the project will be created for you. Open "
 "<file>src/image_viewer.py</file> from the <gui>Project</gui> or <gui>File</"
@@ -22274,11 +22640,11 @@ msgstr ""
 "<file>src/image_viewer.py</file> από τις καρτέλες <gui>έργο</gui> ή "
 "<gui>αρχείο</gui>. Περιλαμβάνει πολύ βασικό παράδειγμα κώδικα."
 
-#: C/image-viewer.py.page:66(section/p)
+#: C/image-viewer.py.page:70(section/p)
 msgid "Let's see what a very basic Gtk application looks like in Python:"
 msgstr "Για να δούμε πως φαίνεται μια πολύ βασική εφαρμογή Gtk σε Python:"
 
-#: C/image-viewer.py.page:67(section/code)
+#: C/image-viewer.py.page:71(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -22329,7 +22695,7 @@ msgstr ""
 "\n"
 "  "
 
-#: C/image-viewer.py.page:96(item/p)
+#: C/image-viewer.py.page:100(item/p)
 msgid ""
 "In the <code>__init__</code> method of the <code>GUI</code> class creates an "
 "(empty) <code>Gtk.Window</code>, sets its title and then connects a signal "
@@ -22341,7 +22707,7 @@ msgstr ""
 "ένα σήμα να τερματίζει την εφαρμογή όταν το παράθυρο κλείσει. Είναι πολύ "
 "απλό, περισσότερα για τα σήματα αργότερα."
 
-#: C/image-viewer.py.page:101(item/p)
+#: C/image-viewer.py.page:105(item/p)
 msgid ""
 "Next, <code>destroy</code> is defined which just quits the application. It "
 "is called by the <code>destroy</code> signal connected above."
@@ -22349,12 +22715,12 @@ msgstr ""
 "Μετά, ορίζουμε το <code>destroy</code> το οποίο απλά θα τερματίσει την "
 "εφαρμογή. Καλείται από το σήμα <code>destroy</code> που συνδέσατε παραπάνω."
 
-#: C/image-viewer.py.page:105(item/p)
+#: C/image-viewer.py.page:109(item/p)
 msgid "The rest of the file does initialisation for Gtk and displays the GUI."
 msgstr ""
 "Το υπόλοιπο του αρχείου κάνει αρχικοποίηση για το Gtk και εμφανίζει το GUI."
 
-#: C/image-viewer.py.page:109(section/p)
+#: C/image-viewer.py.page:113(section/p)
 msgid ""
 "This code is ready to run, so try it using <guiseq><gui>Run</"
 "gui><gui>Execute</gui></guiseq>. It should show you an empty window."
@@ -22363,7 +22729,7 @@ msgstr ""
 "<guiseq><gui>τρέξιμο</gui><gui>Εκτέλεση</gui></guiseq>. Θα πρέπει να "
 "εμφανίσει ένα άδειο παράθυρο."
 
-#: C/image-viewer.py.page:116(section/code)
+#: C/image-viewer.py.page:120(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -22380,7 +22746,7 @@ msgstr ""
 "b = new Gtk.Button (\"Click me\")\n"
 "b.connect_after ('clicked', button_clicked)"
 
-#: C/image-viewer.py.page:132(section/p)
+#: C/image-viewer.py.page:136(section/p)
 msgid ""
 "Let's add the box and widgets to the window. Insert the following code into "
 "the <code>__init__</code> method, immediately after the <code>window."
@@ -22390,7 +22756,7 @@ msgstr ""
 "παρακάτω κώδικα στη μέθοδο <code>__init__</code>, αμέσως μετά τη γραμμή "
 "<code>window.connect_after</code>:"
 
-#: C/image-viewer.py.page:133(section/code)
+#: C/image-viewer.py.page:137(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -22407,7 +22773,7 @@ msgstr ""
 "window.add (box)\n"
 "\n"
 
-#: C/image-viewer.py.page:140(section/p)
+#: C/image-viewer.py.page:144(section/p)
 msgid ""
 "The first line creates a <code>Gtk.Box</code> called <code>box</code> and "
 "the following lines set two of its properties: the <code>orientation</code> "
@@ -22422,7 +22788,7 @@ msgstr ""
 "συστατικά έχει ρυθμιστεί στα 5 εικονοστοιχεία. Η επόμενη γραμμή έπειτα "
 "προσθέτει στο παράθυρο το νεοδημιουργημένο <code>Gtk.Box</code>."
 
-#: C/image-viewer.py.page:146(section/p)
+#: C/image-viewer.py.page:150(section/p)
 msgid ""
 "To add some widgets to the <code>Gtk.Box</code>, insert the following code "
 "directly below the <code>window.add (box)</code> line:"
@@ -22431,7 +22797,7 @@ msgstr ""
 "εισάγετε τον ακόλουθο κώδικα ακριβώς κάτω από την γραμμή <code>window.add "
 "(box)</code>:"
 
-#: C/image-viewer.py.page:147(section/code)
+#: C/image-viewer.py.page:151(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -22442,7 +22808,7 @@ msgstr ""
 "self.image = Gtk.Image()\n"
 "box.pack_start (self.image, False, False, 0)"
 
-#: C/image-viewer.py.page:150(section/p)
+#: C/image-viewer.py.page:154(section/p)
 msgid ""
 "The first line creates a new <code>Gtk.Image</code> called <code>image</"
 "code>, which will be used to display an image file. As we need that later on "
@@ -22463,7 +22829,7 @@ msgstr ""
 "stable/GtkBox.html#gtk-box-pack-start\"><code>pack_start</code></link> του "
 "GtkBox."
 
-#: C/image-viewer.py.page:152(section/p)
+#: C/image-viewer.py.page:156(section/p)
 msgid ""
 "<code>pack_start</code> takes 4 arguments: the widget that is to be added to "
 "the GtkBox (<code>child</code>); whether the <code>Gtk.Box</code> should "
@@ -22482,7 +22848,7 @@ msgstr ""
 "ανάμεσα στο γραφικό συστατικό και στους γείτονές του μέσα στο <code>Gtk.Box</"
 "code>, (<code>padding</code>)."
 
-#: C/image-viewer.py.page:156(section/code)
+#: C/image-viewer.py.page:160(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -22493,7 +22859,7 @@ msgstr ""
 "button = Gtk.Button (\"Open a picture...\")\n"
 "box.pack_start (button, False, False, 0)\n"
 
-#: C/image-viewer.py.page:160(section/p)
+#: C/image-viewer.py.page:164(section/p)
 msgid ""
 "These lines are similar to the first two, but this time they create a "
 "<code>Gtk.Button</code> and add it to <code>box</code>. Notice that we are "
@@ -22513,7 +22879,7 @@ msgstr ""
 "των κουμπιών θα παραμείνει το ίδιο, ενώ της εικόνας θα αυξηθεί, "
 "χρησιμοποιώντας όλο το υπόλοιπο παράθυρο."
 
-#: C/image-viewer.py.page:165(section/p)
+#: C/image-viewer.py.page:169(section/p)
 msgid ""
 "When the user clicks on the <gui>Open Image...</gui> button, a dialog should "
 "appear so that the user can choose a picture. Once chosen, the picture "
@@ -22524,7 +22890,7 @@ msgstr ""
 "διαλέξει, η εικόνα θα φορτωθεί και θα εμφανιστεί στο αντίστοιχο γραφικό "
 "συστατικό."
 
-#: C/image-viewer.py.page:166(section/p)
+#: C/image-viewer.py.page:170(section/p)
 msgid ""
 "The first step is to connect the <code>clicked</code> signal of the button "
 "to a signal handler function, which we call <code>on_open_clicked</code>. "
@@ -22536,7 +22902,7 @@ msgstr ""
 "<code>on_open_clicked</code>. Βάλτε αυτόν τον κώδικα αμέσως μετά την γραμμή "
 "που το κουμπί δημιουργείται <code>button = Gtk.Button()</code>:"
 
-#: C/image-viewer.py.page:167(section/code)
+#: C/image-viewer.py.page:171(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -22545,7 +22911,7 @@ msgstr ""
 "\n"
 "button.connect_after('clicked', self.on_open_clicked)\n"
 
-#: C/image-viewer.py.page:170(section/p)
+#: C/image-viewer.py.page:174(section/p)
 msgid ""
 "This will connect the <code>clicked</code> signal to <code>on_open_clicked</"
 "code> method that we will define below."
@@ -22553,7 +22919,7 @@ msgstr ""
 "Αυτό θα συνδέσει το σήμα <code>clicked</code> στη μέθοδο "
 "<code>on_open_clicked</code> η οποία θα οριστεί παρακάτω."
 
-#: C/image-viewer.py.page:176(section/p)
+#: C/image-viewer.py.page:180(section/p)
 msgid ""
 "Now we can create the <code>on_open_clicked</code> method. Insert the "
 "following into the <code>GUI</code> class code block, after the "
@@ -22563,7 +22929,7 @@ msgstr ""
 "Εισάγετε τα ακόλουθα στη κλάση <code>GUI</code>, μετά τη μέθοδο "
 "<code>__init__</code>:"
 
-#: C/image-viewer.py.page:177(section/code)
+#: C/image-viewer.py.page:181(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -22598,7 +22964,7 @@ msgstr ""
 "\n"
 "\tdialog.destroy()"
 
-#: C/image-viewer.py.page:195(item/p)
+#: C/image-viewer.py.page:199(item/p)
 msgid ""
 "The line beginning with <code>dialog</code> creates an <gui>Open</gui> "
 "dialog, which the user can use to choose files. We set three properties: the "
@@ -22614,7 +22980,7 @@ msgstr ""
 "<code>SAVE</code> αν θέλαμε να αποθηκεύσουμε ένα αρχείο)· και "
 "<code>transient_for</code>, όπου ορίζει το γονικό παράθυρο του διαλόγου."
 
-#: C/image-viewer.py.page:208(item/p)
+#: C/image-viewer.py.page:212(item/p)
 msgid ""
 "<code>dialog.run</code> displays the <gui>Open</gui> dialog. The dialog will "
 "wait for the user to choose an image; when they do, <code>dialog.run</code> "
@@ -22628,7 +22994,7 @@ msgstr ""
 "επιστρέψει <output>0</output> αν ο χρήστης πατήσει <gui>Ακύρωση</gui>). Ο "
 "έλεγχος ροής <code>if</code> ελέγχει για αυτό."
 
-#: C/image-viewer.py.page:221(section/p)
+#: C/image-viewer.py.page:225(section/p)
 msgid ""
 "All of the code you need should now be in place, so try running the code. "
 "That should be it; a fully-functioning image viewer (and a whistlestop tour "
@@ -22639,7 +23005,7 @@ msgstr ""
 "προβολής εικόνων (και ένας μικρός οδηγός σε Python και Gtk) σε ελάχιστο "
 "χρόνο!"
 
-#: C/image-viewer.py.page:226(section/p)
+#: C/image-viewer.py.page:230(section/p)
 msgid ""
 "If you run into problems with the tutorial, compare your code with this "
 "<link href=\"image-viewer/image-viewer.py\">reference code</link>."
@@ -22648,15 +23014,22 @@ msgstr ""
 "τον <link href=\"image-viewer/image-viewer.py\">κώδικα αναφοράς</link>."
 
 #: C/image-viewer.vala.page:7(info/title)
+#| msgctxt "text"
+#| msgid "Image Viewer (Vala)"
 msgctxt "text"
-msgid "Image Viewer (Vala)"
+msgid "Image viewer (Vala)"
 msgstr "Προβολέας εικόνων (Vala)"
 
+#: C/image-viewer.vala.page:10(info/desc)
+#| msgid "A little bit more than a simple \"Hello world\" GTKmm application."
+msgid "A little bit more than a simple \"Hello world\" GTK+ application."
+msgstr "Μια λίγο περισσότερο από απλή εφαρμογή GTK+ \"Hello world\"."
+
 #: C/image-viewer.vala.page:22(credit/name)
 msgid "Philip Chimento"
 msgstr "Philip Chimento"
 
-#: C/image-viewer.vala.page:33(synopsis/p)
+#: C/image-viewer.vala.page:38(synopsis/p)
 msgid ""
 "In this tutorial you will create an application which opens and displays an "
 "image file. You will learn:"
@@ -22664,7 +23037,7 @@ msgstr ""
 "Σε αυτόν το μάθημα θα φτιάξετε μια εφαρμογή που ανοίγει και εμφανίζει ένα "
 "αρχείο εικόνας. Θα μάθετε:"
 
-#: C/image-viewer.vala.page:35(item/p)
+#: C/image-viewer.vala.page:40(item/p)
 msgid ""
 "How to set up a basic project using the <link xref=\"getting-ready\">Anjuta "
 "IDE</link>."
@@ -22672,7 +23045,7 @@ msgstr ""
 "Πώς θα εγκαταστήσετε ένα βασικό έργο χρησιμοποιώντας το <link xref=\"getting-"
 "ready\">Anjuta IDE</link>."
 
-#: C/image-viewer.vala.page:36(item/p)
+#: C/image-viewer.vala.page:41(item/p)
 msgid ""
 "How to write a <link href=\"http://developer.gnome.org/platform-overview/";
 "stable/gtk\">Gtk application</link> in Vala"
@@ -22680,7 +23053,7 @@ msgstr ""
 "Πώς θα γράψετε μια <link href=\"http://developer.gnome.org/platform-overview/";
 "stable/gtk\">εφαρμογή Gtk</link> στο Vala"
 
-#: C/image-viewer.vala.page:37(item/p)
+#: C/image-viewer.vala.page:42(item/p)
 msgid ""
 "Some basic concepts of <link href=\"http://developer.gnome.org/gobject/";
 "stable/\">GObject</link> programming"
@@ -22688,7 +23061,7 @@ msgstr ""
 "Μερικές βασικές έννοιες του προγραμματισμού <link href=\"http://developer.";
 "gnome.org/gobject/stable/\">GObject</link>"
 
-#: C/image-viewer.vala.page:44(item/p)
+#: C/image-viewer.vala.page:49(item/p)
 msgid ""
 "You may find the <link href=\"http://valadoc.org/gtk+-3.0/\";>gtk+-3.0</link> "
 "API Reference useful, although it is not necessary to follow the tutorial."
@@ -22697,18 +23070,22 @@ msgstr ""
 "+-3.0</link> χρήσιμη, αν και δεν είναι απαραίτητη η παρακολούθηση του "
 "μαθήματος."
 
-#: C/image-viewer.vala.page:60(item/p)
+#: C/image-viewer.vala.page:65(item/p)
+#| msgid ""
+#| "From the <gui>Vala</gui> tab choose <gui>Gtk+ (Simple)</gui>, click "
+#| "<gui>Continue</gui>, and fill out your details on the next page. Use "
+#| "<file>image-viewer</file> as project name and directory."
 msgid ""
-"From the <gui>Vala</gui> tab choose <gui>Gtk+ (Simple)</gui>, click "
+"From the <gui>Vala</gui> tab choose <gui>GTK+ (Simple)</gui>, click "
 "<gui>Continue</gui>, and fill out your details on the next page. Use "
 "<file>image-viewer</file> as project name and directory."
 msgstr ""
-"Από την καρτέλα <gui>Vala</gui> επιλέξτε <gui>Gtk+ (απλό)</gui>, κλικ "
+"Από την καρτέλα <gui>Vala</gui> επιλέξτε <gui>GTK+ (απλό)</gui>, πατήστε "
 "<gui>συνέχεια</gui> και συμπληρώστε τις λεπτομέρειές σας στην επόμενη "
 "σελίδα. Χρησιμοποιήστε το <file>image-viewer</file> ως όνομα του έργου και "
 "του καταλόγου."
 
-#: C/image-viewer.vala.page:64(item/p)
+#: C/image-viewer.vala.page:69(item/p)
 msgid ""
 "Make sure that <gui>Use GtkBuilder for user interface</gui> is unchecked as "
 "we will create the UI manually in this tutorial."
@@ -22716,7 +23093,7 @@ msgstr ""
 "Βεβαιωθείτε ότι το <gui>χρήση του GtkBuilder για διεπαφή χρήστη</gui> είναι "
 "ασημείωτο επειδή θα δημιουργήσουμε την UI χειροκίνητα σε αυτό το μάθημα."
 
-#: C/image-viewer.vala.page:65(note/p)
+#: C/image-viewer.vala.page:70(note/p)
 msgid ""
 "You will learn how to use the interface builder in the <link xref=\"guitar-"
 "tuner.vala\">Guitar-Tuner</link> tutorial."
@@ -22724,7 +23101,7 @@ msgstr ""
 "Θα μάθετε πώς να χρησιμοποιήσετε τον κατασκευαστή διεπαφής στο μάθημα <link "
 "xref=\"guitar-tuner.vala\">ρυθμιστής κιθάρας</link>."
 
-#: C/image-viewer.vala.page:69(item/p)
+#: C/image-viewer.vala.page:74(item/p)
 msgid ""
 "Click <gui>Continue</gui> then <gui>Apply</gui> and the project will be "
 "created for you. Open <file>src/image_viewer.vala</file> from the "
@@ -22734,7 +23111,7 @@ msgstr ""
 "δημιουργηθεί για εσάς. Ανοίξτε το <file>src/image_viewer.vala</file> από τις "
 "καρτέλες <gui>έργο</gui> ή <gui>αρχείο</gui>. Θα δείτε αυτόν τον κώδικα:"
 
-#: C/image-viewer.vala.page:72(item/code)
+#: C/image-viewer.vala.page:77(item/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -22799,7 +23176,7 @@ msgstr ""
 "\t}\n"
 "}"
 
-#: C/image-viewer.vala.page:108(section/p)
+#: C/image-viewer.vala.page:113(section/p)
 msgid ""
 "The code loads an (empty) window from the user interface description file "
 "and shows it. More details are given below; skip this list if you understand "
@@ -22809,7 +23186,7 @@ msgstr ""
 "χρήστη και το εμφανίζει. Περισσότερες πληροφορίες υπάρχουν πιο κάτω· "
 "προσπεράστε αυτή τη λίστα αν καταλαβαίνετε τα βασικά:"
 
-#: C/image-viewer.vala.page:113(item/p)
+#: C/image-viewer.vala.page:118(item/p)
 msgid ""
 "The two <code>using</code> lines at the top import namespaces so we don't "
 "have to name them explicitly."
@@ -22817,7 +23194,7 @@ msgstr ""
 "Οι δύο γραμμές <code>using</code> στην κορυφή εισάγουν τους χώρους ονομάτων, "
 "έτσι ώστε να μην έχουμε να ονομαστούν ρητά."
 
-#: C/image-viewer.vala.page:116(item/p)
+#: C/image-viewer.vala.page:121(item/p)
 msgid ""
 "The constructor of the <code>Main</code> class creates a new (empty) window "
 "and connects a <link href=\"https://live.gnome.org/Vala/SignalsAndCallbacks";
@@ -22828,7 +23205,7 @@ msgstr ""
 "SignalsAndCallbacks\">σήμα</link> για έξοδο από την εφαρμογή, όταν το "
 "παράθυρο κλείσει."
 
-#: C/image-viewer.vala.page:121(item/p)
+#: C/image-viewer.vala.page:126(item/p)
 msgid ""
 "The <code>static main</code> function is run by default when you start a "
 "Vala application. It calls a few functions which create the <code>Main</"
@@ -22846,8 +23223,8 @@ msgstr ""
 "βρόχος</link>, που τρέχει τη διεπαφή χρήστη και ξεκινά ακρόαση των συμβάντων "
 "(όπως κλικ και πατήματα πλήκτρου)."
 
-#: C/image-viewer.vala.page:128(section/p)
-#: C/magic-mirror.vala.page:88(section/p)
+#: C/image-viewer.vala.page:133(section/p)
+#: C/magic-mirror.vala.page:93(section/p)
 msgid ""
 "Change the <gui>Configuration</gui> to <gui>Default</gui> and then press "
 "<gui>Execute</gui> to configure the build directory. You only need to do "
@@ -22857,7 +23234,7 @@ msgstr ""
 "<gui>εκτέλεση</gui> για ρύθμιση του καταλόγου κατασκευής. Χρειάζεται να το "
 "κάνετε μόνο μια φορά, για την πρώτη κατασκευή."
 
-#: C/image-viewer.vala.page:134(section/p)
+#: C/image-viewer.vala.page:139(section/p)
 msgid ""
 "Now we will bring life into the empty window. GTK organizes the user "
 "interface with <link href=\"http://www.valadoc.org/gtk+-2.0/Gtk.Container.";
@@ -22873,12 +23250,12 @@ msgstr ""
 "διαθέσιμο περιέκτη, ένα <link href=\"http://unstable.valadoc.org/gtk+-2.0/";
 "Gtk.Box.html\"><code>Gtk.Box</code></link>."
 
-#: C/image-viewer.vala.page:138(section/p)
+#: C/image-viewer.vala.page:143(section/p)
 msgid "Add the following lines to the top of the <code>Main</code> class:"
 msgstr ""
 "Προσθέστε τις επόμενες γραμμές στην κορυφή της κλάσης <code>Main</code>:"
 
-#: C/image-viewer.vala.page:139(section/code)
+#: C/image-viewer.vala.page:144(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -22889,11 +23266,11 @@ msgstr ""
 "private Window window;\n"
 "private Image image;\n"
 
-#: C/image-viewer.vala.page:144(section/p)
+#: C/image-viewer.vala.page:149(section/p)
 msgid "Now replace the current constructor with the one below:"
 msgstr "Τώρα αντικαταστήστε τον τρέχοντα κατασκευαστή με τον παρακάτω:"
 
-#: C/image-viewer.vala.page:145(section/code)
+#: C/image-viewer.vala.page:150(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -22942,7 +23319,7 @@ msgstr ""
 "\twindow.destroy.connect (main_quit);\n"
 "}\n"
 
-#: C/image-viewer.vala.page:170(item/p)
+#: C/image-viewer.vala.page:175(item/p)
 msgid ""
 "The first two lines are the parts of the GUI that we will need to access "
 "from more than one method. We declare them up here so that they are "
@@ -22953,7 +23330,7 @@ msgstr ""
 "περισσότερες από μία μεθόδους. Τις δηλώνουμε εδώ έτσι ώστε να είναι "
 "προσβάσιμες μέσα από την κλάση αντί μόνο από τη μέθοδο όπου δημιουργούνται."
 
-#: C/image-viewer.vala.page:174(item/p)
+#: C/image-viewer.vala.page:179(item/p)
 msgid ""
 "The first lines of the constructor create the empty window. The next lines "
 "create the widgets we want to use: a button for opening up an image, the "
@@ -22965,7 +23342,7 @@ msgstr ""
 "συστατικό προβολής της εικόνας και το πλαίσιο που θα χρησιμοποιήσουμε ως "
 "περιέκτη."
 
-#: C/image-viewer.vala.page:178(item/p)
+#: C/image-viewer.vala.page:183(item/p)
 msgid ""
 "The calls to <link href=\"http://unstable.valadoc.org/gtk+-2.0/Gtk.Box.";
 "pack_start.html\"><code>pack_start</code></link> add the two widgets to the "
@@ -22984,7 +23361,7 @@ msgstr ""
 "έχετε μια διάταξη που φαίνεται καλή με διαφορετικά μεγέθη παραθύρων. Στη "
 "συνέχεια, το πλαίσιο προστίθεται στο παράθυρο."
 
-#: C/image-viewer.vala.page:185(item/p)
+#: C/image-viewer.vala.page:190(item/p)
 msgid ""
 "We need to define what happens when the user clicks on the button. GTK uses "
 "the concept of <em>signals</em>."
@@ -22992,7 +23369,7 @@ msgstr ""
 "Χρειάζεται να ορίσουμε τι συμβαίνει όταν ο χρήστης πατά το κουμπί. Το GTK "
 "χρησιμοποιεί την έννοια των <em>σημάτων</em>."
 
-#: C/image-viewer.vala.page:186(item/p)
+#: C/image-viewer.vala.page:191(item/p)
 msgid ""
 "When the <link href=\"http://valadoc.org/gtk+-3.0/Gtk.Button.html\";>button</"
 "link> is clicked, it fires the <link href=\"http://valadoc.org/gtk+-3.0/Gtk.";
@@ -23006,7 +23383,7 @@ msgstr ""
 "συνδέσουμε με κάποια ενέργεια (ορισμένη σε μια μέθοδο <link href=\"https://";
 "live.gnome.org/Vala/SignalsAndCallbacks\">επανάκλησης</link>)."
 
-#: C/image-viewer.vala.page:189(item/p)
+#: C/image-viewer.vala.page:194(item/p)
 msgid ""
 "This is done using the <code>connect</code> method of the button's "
 "<code>clicked</code> signal, which in this case tells GTK to call the (yet "
@@ -23019,7 +23396,7 @@ msgstr ""
 "όταν το κουμπί πατιέται. Θα ορίσουμε την <em>επανάκληση</em> στην επόμενη "
 "ενότητα."
 
-#: C/image-viewer.vala.page:193(item/p)
+#: C/image-viewer.vala.page:198(item/p)
 msgid ""
 "In the callback, we need to access the <code>window</code> and <code>image</"
 "code> widgets, which is why we defined them as private members at the top of "
@@ -23029,7 +23406,7 @@ msgstr ""
 "<code>window</code> και <code>image</code>, γι' αυτό τα ορίζουμε ως ιδιωτικά "
 "μέλη στην κορυφή των κλάσεων μας."
 
-#: C/image-viewer.vala.page:197(item/p)
+#: C/image-viewer.vala.page:202(item/p)
 msgid ""
 "The last <code>connect</code> call makes sure that the application exits "
 "when the window is closed. The code generated by Anjuta called an "
@@ -23045,7 +23422,7 @@ msgstr ""
 "link>, αλλά η σύνδεση του σήματος μας στο <code>main_quit</code> άμεσα είναι "
 "ευκολότερη. Μπορείτε να διαγράψετε τη μέθοδο <code>on_destroy</code>."
 
-#: C/image-viewer.vala.page:205(section/p)
+#: C/image-viewer.vala.page:210(section/p)
 msgid ""
 "We will now define the signal handler for the <code>clicked</code> signal "
 "for the button we mentioned before. Add this code after the constructor:"
@@ -23054,7 +23431,7 @@ msgstr ""
 "το κουμπί που αναφέραμε πριν. Προσθέστε αυτόν τον κώδικα μετά τον "
 "κατασκευαστή:"
 
-#: C/image-viewer.vala.page:208(section/code)
+#: C/image-viewer.vala.page:213(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -23103,11 +23480,11 @@ msgstr ""
 "\tdialog.destroy ();\n"
 "}\n"
 
-#: C/image-viewer.vala.page:231(section/p)
+#: C/image-viewer.vala.page:236(section/p)
 msgid "This is a bit complicated, so let's break it down:"
 msgstr "Αυτό είναι λίγο πιο περίπλοκο, γιαυτό ας το χωρίσουμε:"
 
-#: C/image-viewer.vala.page:232(note/p)
+#: C/image-viewer.vala.page:237(note/p)
 msgid ""
 "A signal handler is a type of callback method that is called when a signal "
 "is emitted. Here the terms are used interchangeably."
@@ -23115,7 +23492,7 @@ msgstr ""
 "Ένας χειριστής σήματος είναι ένας τύπος της μεθόδου επανάκλησης που καλείται "
 "όταν ένα σήμα εκπέμπεται. Εδώ οι όροι χρησιμοποιούνται εναλλακτικά."
 
-#: C/image-viewer.vala.page:235(item/p)
+#: C/image-viewer.vala.page:240(item/p)
 msgid ""
 "The first argument of the callback method is always the widget that sent the "
 "signal. Sometimes other arguments related to the signal come after that, but "
@@ -23125,7 +23502,7 @@ msgstr ""
 "που έστειλε το σήμα. Μερικές φορές άλλα ορίσματα που συνδέονται με το σήμα "
 "έρχονται μετά από αυτό, αλλά <em>πατημένο</em> δεν έχει κανένα."
 
-#: C/image-viewer.vala.page:237(item/p)
+#: C/image-viewer.vala.page:242(item/p)
 msgid ""
 "In this case the <code>button</code> sent the <code>clicked</code> signal, "
 "which is connected to the <code>on_open_image</code> callback method:"
@@ -23133,7 +23510,7 @@ msgstr ""
 "Σε αυτήν την περίπτωση το <code>button</code> έστειλε το σήμα <code>clicked</"
 "code>, που συνδέεται με τη μέθοδο επανάκλησης <code>on_open_image</code>:"
 
-#: C/image-viewer.vala.page:238(item/code)
+#: C/image-viewer.vala.page:243(item/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -23142,7 +23519,7 @@ msgstr ""
 "\n"
 "        button.clicked.connect (on_open_image);\n"
 
-#: C/image-viewer.vala.page:242(item/p)
+#: C/image-viewer.vala.page:247(item/p)
 msgid ""
 "The <code>on_open_image</code> method takes the button that emitted the "
 "signal as an argument:"
@@ -23150,7 +23527,7 @@ msgstr ""
 "Η μέθοδος <code>on_open_image</code> παίρνει το κουμπί που εξέπεμψε το σήμα "
 "ως όρισμα:"
 
-#: C/image-viewer.vala.page:243(item/code)
+#: C/image-viewer.vala.page:248(item/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -23159,7 +23536,7 @@ msgstr ""
 "\n"
 "        public void on_open_image (Button self)\n"
 
-#: C/image-viewer.vala.page:248(item/p)
+#: C/image-viewer.vala.page:253(item/p)
 msgid ""
 "The next interesting line is where the dialog for choosing the file is "
 "created. <link href=\"http://www.valadoc.org/gtk+-3.0/Gtk.FileChooserDialog.";
@@ -23174,7 +23551,7 @@ msgstr ""
 "και πολλές επιλογές όπως ο αριθμός των κουμπιών και οι αντίστοιχες τιμές "
 "τους."
 
-#: C/image-viewer.vala.page:250(item/p)
+#: C/image-viewer.vala.page:255(item/p)
 msgid ""
 "Notice that we are using <link href=\"http://unstable.valadoc.org/gtk+-3.0/";
 "Gtk.Stock.html\"><em>stock</em></link> button names from Gtk, instead of "
@@ -23188,7 +23565,7 @@ msgstr ""
 "πλεονέκτημα της χρήσης των ονομάτων αποθέματος είναι ότι οι ετικέτες των "
 "κουμπιών θα έχουν ήδη μεταφραστεί στη γλώσσα του χρήστη."
 
-#: C/image-viewer.vala.page:254(item/p)
+#: C/image-viewer.vala.page:259(item/p)
 msgid ""
 "The next two lines restrict the <gui>Open</gui> dialog to only display files "
 "which can be opened by <em>GtkImage</em>. GtkImage is a widget which "
@@ -23208,7 +23585,7 @@ msgstr ""
 "Τέλος, ορίζουμε αυτό το φίλτρο να είναι το φίλτρο του διαλόγου <gui>άνοιγμα</"
 "gui>."
 
-#: C/image-viewer.vala.page:259(item/p)
+#: C/image-viewer.vala.page:264(item/p)
 msgid ""
 "<link href=\"http://www.valadoc.org/gtk+-3.0/Gtk.Dialog.run.html";
 "\"><code>dialog.run</code></link> displays the <gui>Open</gui> dialog. The "
@@ -23227,7 +23604,7 @@ msgstr ""
 "<code>ResponseType.CANCEL</code> εάν ο χρήστης πατούσε <gui>ακύρωση</gui>). "
 "Η πρόταση <code>switch</code> το ελέγχει."
 
-#: C/image-viewer.vala.page:264(item/p)
+#: C/image-viewer.vala.page:269(item/p)
 msgid ""
 "Assuming that the user did click <gui>Open</gui>, the next lines get the "
 "filename of the image selected by the user, and tell the <code>GtkImage</"
@@ -23238,11 +23615,11 @@ msgstr ""
 "και λέει στο γραφικό συστατικό <code>GtkImage</code> να φορτώσει και να "
 "εμφανίσει την επιλεγμένη εικόνα."
 
-#: C/image-viewer.vala.page:268(item/p)
+#: C/image-viewer.vala.page:273(item/p)
 msgid "Destroying automatically hides the dialog."
 msgstr "Η αυτόματη καταστροφή κρύβει το διάλογο."
 
-#: C/image-viewer.vala.page:277(section/p)
+#: C/image-viewer.vala.page:282(section/p)
 msgid ""
 "If you haven't already done so, choose the <file>src/image-viewer</file> "
 "application in the dialog that appears. Finally, hit <gui>Run</gui> and "
@@ -23252,7 +23629,7 @@ msgstr ""
 "file> στον διάλογο που εμφανίζεται. Τελικά, πατήστε <gui>τρέξιμο</gui> και "
 "απολαύστε το!"
 
-#: C/image-viewer.vala.page:283(section/p)
+#: C/image-viewer.vala.page:288(section/p)
 msgid ""
 "If you run into problems with the tutorial, compare your code with this "
 "<link href=\"image-viewer/image-viewer.vala\">reference code</link>."
@@ -23260,7 +23637,7 @@ msgstr ""
 "Αν αντιμετωπίσετε πρόβλημα με το μάθημα, συγκρίνετε τον κώδικά σας με αυτόν "
 "τον <link href=\"image-viewer/image-viewer.vala\">κώδικα αναφοράς</link>."
 
-#: C/image-viewer.vala.page:290(item/p)
+#: C/image-viewer.vala.page:295(item/p)
 msgid ""
 "Set it up so that when the window opens it is of a specific size to start "
 "off with. For example, 200 X 200 pixels."
@@ -23273,10 +23650,19 @@ msgctxt "link"
 msgid "JavaScript"
 msgstr "JavaScript"
 
-#: C/js.page:16(page/title)
+#: C/js.page:20(credit/name)
+msgid "Ekaterina Gerasimova"
+msgstr "Ekaterina Gerasimova"
+
+#: C/js.page:25(page/title)
 msgid "Tutorials, code samples and platform demos in JavaScript"
 msgstr "Μαθήματα, δείγματα κώδικα και παραδείγματα πλατφόρμας σε JavaScript"
 
+#: C/js.page:30(section/title)
+#| msgid "Gtk Widget Sample Code and Tutorials"
+msgid "Code samples and tutorials"
+msgstr "Δείγματα κώδικα και μαθήματα"
+
 #. This is a reference to an external file such as an image or video. When
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
@@ -23297,7 +23683,7 @@ msgstr "Μαθήματα, δείγματα κώδικα και παραδείγ
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/label.c.page:25(media) C/label.js.page:21(media)
-#: C/label.py.page:27(media) C/label.vala.page:21(media)
+#: C/label.py.page:29(media) C/label.vala.page:21(media)
 msgctxt "_"
 msgid "external ref='media/label.png' md5='734975c18653d88379f983e4501c3fc0'"
 msgstr "external ref='media/label.png' md5='734975c18653d88379f983e4501c3fc0'"
@@ -23312,12 +23698,12 @@ msgid "A widget which displays text"
 msgstr "Ένα γραφικό συστατικό που εμφανίζει κείμενο"
 
 #: C/label.c.page:21(page/title) C/label.js.page:20(page/title)
-#: C/label.py.page:26(page/title) C/label.vala.page:20(page/title)
-#: C/toolbar_builder.py.page:96(td/p) C/toolbar_builder.vala.page:80(td/p)
+#: C/label.py.page:28(page/title) C/label.vala.page:20(page/title)
+#: C/toolbar_builder.py.page:97(td/p) C/toolbar_builder.vala.page:80(td/p)
 msgid "Label"
 msgstr "Ετικέτα"
 
-#: C/label.c.page:26(td/p) C/label.py.page:28(page/p)
+#: C/label.c.page:26(td/p) C/label.py.page:30(page/p)
 #: C/label.vala.page:22(page/p)
 msgid "A simple label"
 msgstr "Μια απλή ετικέτα"
@@ -23572,12 +23958,12 @@ msgctxt "text"
 msgid "Label (Python)"
 msgstr "Ετικέτα (Python)"
 
-#: C/label.py.page:23(info/desc)
+#: C/label.py.page:25(info/desc)
 msgid "A widget that displays a small to medium amount of text"
 msgstr ""
 "Ένα γραφικό συστατικό που εμφανίζει μια μικρή έως μεσαία ποσότητα κειμένου"
 
-#: C/label.py.page:35(section/code)
+#: C/label.py.page:37(section/code)
 #, no-wrap
 msgid ""
 "from gi.repository import Gtk\n"
@@ -23642,7 +24028,7 @@ msgstr ""
 "exit_status = app.run(sys.argv)\n"
 "sys.exit(exit_status)\n"
 
-#: C/label.py.page:37(section/p)
+#: C/label.py.page:39(section/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</"
@@ -23653,7 +24039,7 @@ msgstr ""
 "στιγμιότυπο του <code>MyWindow</code> στη μέθοδο <code>do_activate(self)</"
 "code>:"
 
-#: C/label.py.page:38(section/code)
+#: C/label.py.page:40(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -23710,31 +24096,23 @@ msgstr ""
 "        # show the window and everything on it\n"
 "        win.show_all()"
 
-#: C/label.py.page:68(section/title)
+#: C/label.py.page:70(section/title)
 msgid "Useful methods for a Label widget"
 msgstr "Χρήσιμες μέθοδοι για γραφικά συστατικά ετικέτας"
 
-#: C/label.py.page:69(section/p) C/textview.py.page:49(section/p)
+#: C/label.py.page:71(section/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>."
 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>."
+"An explanation of how to deal with strings in GTK+ can be found in <link "
+"xref=\"strings.py\"/>."
 msgstr ""
-"Μια εξήγηση πώς να αντιμετωπίσετε τις συμβολοσειρές και Unicode (και μια "
-"ανακεφαλαίωση του τι αυτά τα πράγματα είναι) μπορεί να βρεθεί <link xref="
-"\"strings.py.page\">εδώ</link>."
+"Μια εξήγηση πώς να αντιμετωπίσετε τις συμβολοσειρές σε GTK+ μπορεί να βρεθεί "
+"στο <link xref=\"strings.py\"/>."
 
-#: C/label.py.page:70(section/p)
-msgid ""
-"<code>label = Gtk.Label(label=\"Hello GNOME!\")</code> could also be used to "
-"create a label and set the text directly. For a general discussion of this, "
-"see <link xref=\"properties.py\">here</link>."
-msgstr ""
-"Το <code>label = Gtk.Label(\"Hello GNOME!\")</code> μπορεί επίσης να "
-"χρησιμοποιηθεί για τη δημιουργία μιας ετικέτας και τον ορισμό του κειμένου "
-"άμεσα. Για μια γενική συζήτηση σχετικά με αυτό, δείτε <link xref="
-"\"properties.py\">εδώ</link>."
-
-#: C/label.py.page:72(item/p)
+#: C/label.py.page:73(item/p)
 msgid ""
 "<code>set_line_wrap(True)</code> breaks lines if the text of the label "
 "exceeds the size of the widget."
@@ -23742,7 +24120,7 @@ msgstr ""
 "Το <code>set_line_wrap(True)</code> σπάει τις γραμμές εάν το κείμενο της "
 "ετικέτας υπερβαίνει το μέγεθος του γραφικού συστατικού."
 
-#: C/label.py.page:73(item/p)
+#: C/label.py.page:74(item/p)
 msgid ""
 "<code>set_justify(Gtk.Justification.LEFT)</code> (or <code>Gtk.Justification."
 "RIGHT, Gtk.Justification.CENTER, Gtk.Justification.FILL</code>) sets the "
@@ -23754,7 +24132,7 @@ msgstr ""
 "code>) ορίζει τη στοίχιση των γραμμών στο κείμενο της ετικέτας συγκρινόμενες "
 "μεταξύ τους. Η μέθοδος δεν έχει αποτέλεσμα σε ετικέτα μοναδικής γραμμής."
 
-#: C/label.py.page:74(item/p)
+#: C/label.py.page:75(item/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/";
@@ -23766,7 +24144,7 @@ msgstr ""
 "href=\"http://developer.gnome.org/pango/stable/PangoMarkupFormat.html";
 "\">γλώσσα σήμανσης Pango</link>. Ένα παράδειγμα:"
 
-#: C/label.py.page:75(item/code)
+#: C/label.py.page:76(item/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -24302,14 +24680,18 @@ msgstr ""
 "τα σημεία LinkButton ως <code>True</code> (ανάλογα για <code>False</code>)."
 
 #: C/linkbutton.py.page:39(item/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>."
 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>."
+"xref=\"signals-callbacks.py\"/>."
 msgstr ""
 "Κάθε φορά που το κουμπί πατιέται, το σήμα <code>\"activate-link\"</code> "
 "εκπέμπεται. Για μια εξήγηση των σημάτων και των συναρτήσεων επανάκλησης, "
-"δείτε <link xref=\"signals-callbacks.py\">αυτήν τη σελίδα</link>."
+"δείτε <link xref=\"signals-callbacks.py\"/>."
 
 #: C/linkbutton.py.page:47(item/p)
 msgid ""
@@ -24387,7 +24769,7 @@ msgstr ""
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
-#: C/magic-mirror.vala.page:41(media)
+#: C/magic-mirror.vala.page:46(media)
 msgctxt "_"
 msgid ""
 "external ref='media/magic-mirror.png' md5='8171faea6ed3b6ddac0da084c29e4e22'"
@@ -24395,25 +24777,29 @@ msgstr ""
 "external ref='media/magic-mirror.png' md5='8171faea6ed3b6ddac0da084c29e4e22'"
 
 #: C/magic-mirror.vala.page:7(info/title)
+#| msgctxt "text"
+#| msgid "Magic Mirror (Vala)"
 msgctxt "text"
-msgid "Magic Mirror (Vala)"
+msgid "Magic mirror (Vala)"
 msgstr "Μαγικός καθρέπτης (Vala)"
 
 #: C/magic-mirror.vala.page:10(info/desc)
-msgid "Use your webcam as a mirror using the GStreamer framework and Gtk+"
+#| msgid "Use your webcam as a mirror using the GStreamer framework and Gtk+"
+msgid "Use your webcam as a mirror using the GStreamer framework and GTK+"
 msgstr ""
-"Χρησιμοποιήστε τη κάμερα σας ως καθρέφτη χρησιμοποιώντας τον σκελετό "
-"GStreamer και Gtk+"
+"Χρήση της κάμερας σας ως καθρέφτη χρησιμοποιώντας τον σκελετό GStreamer και "
+"GTK+"
 
 #: C/magic-mirror.vala.page:14(credit/name)
 msgid "Daniel G. Siegel"
 msgstr "Daniel G. Siegel"
 
-#: C/magic-mirror.vala.page:23(page/title)
-msgid "4 Magic Mirror"
-msgstr "4 Μαγικός καθρέπτης"
+#: C/magic-mirror.vala.page:28(page/title)
+#| msgid "4 Magic Mirror"
+msgid "Magic mirror"
+msgstr "Μαγικός καθρέπτης"
 
-#: C/magic-mirror.vala.page:26(synopsis/p)
+#: C/magic-mirror.vala.page:31(synopsis/p)
 msgid ""
 "<em>Your mirror just fell off the wall and broke into a thousand pieces — "
 "but you need a mirror to shave your beard off or add some makeup! You only "
@@ -24425,7 +24811,7 @@ msgstr ""
 "κάποια καλλυντικά! Σας απομένουν 15 λεπτά πριν να προλάβετε το λεωφορείο για "
 "τη δουλειά. Τι μπορείτε να κάνετε;</em>"
 
-#: C/magic-mirror.vala.page:27(synopsis/p)
+#: C/magic-mirror.vala.page:32(synopsis/p)
 msgid ""
 "In this tutorial, we're going to make a program which lets you use your "
 "webcam as a mirror. You will learn how to:"
@@ -24433,40 +24819,44 @@ msgstr ""
 "Σε αυτόν τον οδηγό, θα φτιάξουμε ένα πρόγραμμα που επιτρέπει τη χρήση της "
 "ιστοκάμεράς σας ως καθρέπτη. Θα μάθετε πώς να:"
 
-#: C/magic-mirror.vala.page:29(item/p)
+#: C/magic-mirror.vala.page:34(item/p)
 msgid "Create a GTK+ application"
 msgstr "Δημιουργήσετε μια εφαρμογή σε GTK+"
 
-#: C/magic-mirror.vala.page:30(item/p)
+#: C/magic-mirror.vala.page:35(item/p)
 msgid "Access your webcam using GStreamer and embed the result into a window"
 msgstr ""
 "Έχετε πρόσβαση στην ιστοκάμερά σας χρησιμοποιώντας GStreamer και πως να "
 "ενσωματώνετε το αποτέλεσμα σε ένα παράθυρο"
 
-#: C/magic-mirror.vala.page:31(item/p)
+#: C/magic-mirror.vala.page:36(item/p)
 msgid "Grab photos off your webcam"
 msgstr "Πάρετε φωτογραφίες με την ιστοκάμεράς σας"
 
-#: C/magic-mirror.vala.page:36(item/p)
+#: C/magic-mirror.vala.page:41(item/p)
 msgid "Installed copies of GTK, GStreamer, and a Vala compiler"
 msgstr "Εγκατεστημένα αντίγραφα του GTK, GStreamer και ένα μεταγλωττιστή Vala"
 
-#: C/magic-mirror.vala.page:37(item/p)
+#: C/magic-mirror.vala.page:42(item/p)
 msgid "Basic knowledge of an object-oriented programming language"
 msgstr "Βασική γνώση μιας αντικειμενοστραφούς γλώσσας προγραμματισμού"
 
-#: C/magic-mirror.vala.page:51(item/p)
+#: C/magic-mirror.vala.page:56(item/p)
+#| msgid ""
+#| "Choose <gui>Gtk+ (simple)</gui> from the <gui>Vala</gui> tab, click "
+#| "<gui>Forward</gui>, and fill out your details on the next few pages. Use "
+#| "<file>guitar-tuner</file> as project name and directory."
 msgid ""
-"Choose <gui>Gtk+ (simple)</gui> from the <gui>Vala</gui> tab, click "
+"Choose <gui>GTK+ (simple)</gui> from the <gui>Vala</gui> tab, click "
 "<gui>Forward</gui>, and fill out your details on the next few pages. Use "
 "<file>guitar-tuner</file> as project name and directory."
 msgstr ""
-"Επιλέξτε <gui>Gtk+ (απλό)</gui> από την καρτέλα <gui>Vala</gui>, κλικ "
-"<gui>μπροστά</gui>, και συμπληρώστε τις λεπτομέρειές σας στις επόμενες λίγες "
-"σελίδες. Χρησιμοποιήστε ως όνομα του έργου και του καταλόγου το <file>guitar-"
-"tuner</file>."
+"Επιλέξτε <gui>GTK+ (απλό)</gui> από την καρτέλα <gui>Vala</gui>, πατήστε "
+"<gui>μπροστά</gui> και συμπληρώστε τις λεπτομέρειές σας στις επόμενες λίγες "
+"σελίδες. Χρησιμοποιήστε ως όνομα του έργου και του καταλόγου το <file"
+">guitar-tuner</file>."
 
-#: C/magic-mirror.vala.page:54(item/p)
+#: C/magic-mirror.vala.page:59(item/p)
 msgid ""
 "Disable <gui>Use GtkBuilder for user interface</gui> as we will create the "
 "UI manually in this tutorial. Check the <link xref=\"guitar-tuner.vala"
@@ -24477,7 +24867,7 @@ msgstr ""
 "το μάθημα <link xref=\"guitar-tuner.vala\">ρυθμιστής κιθάρας</link> "
 "χρησιμοποιώντας τον κατασκευαστή διεπαφής."
 
-#: C/magic-mirror.vala.page:59(item/p)
+#: C/magic-mirror.vala.page:64(item/p)
 msgid ""
 "Make sure that <gui>Configure external packages</gui> is selected. On the "
 "next page, select <em>gstreamer-0.10</em> from the list to include the "
@@ -24487,7 +24877,7 @@ msgstr ""
 "επόμενη σελίδα, επιλέξτε <em>gstreamer-0.10</em> από τη λίστα για "
 "συμπερίληψη της βιβλιοθήκης <app>GStreamer</app> στο έργο σας."
 
-#: C/magic-mirror.vala.page:63(item/p)
+#: C/magic-mirror.vala.page:68(item/p)
 msgid ""
 "Click <gui>Apply</gui> and the project will be created for you. Open "
 "<file>src/magic_mirror.vala</file> from the <gui>Project</gui> or <gui>File</"
@@ -24497,7 +24887,7 @@ msgstr ""
 "magic_mirror.vala</file> από τις καρτέλες <gui>έργο</gui> ή <gui>αρχείο</"
 "gui>. Θα πρέπει να δείτε κάποιο κώδικα που ξεκινά με τις γραμμές:"
 
-#: C/magic-mirror.vala.page:73(section/p)
+#: C/magic-mirror.vala.page:78(section/p)
 msgid ""
 "The code loads an (empty) window and shows it. More details are given below; "
 "skip this list if you understand the basics:"
@@ -24506,7 +24896,7 @@ msgstr ""
 "πληροφορίες υπάρχουν πιο κάτω· προσπεράστε αυτή τη λίστα αν καταλαβαίνετε τα "
 "βασικά:"
 
-#: C/magic-mirror.vala.page:79(item/p)
+#: C/magic-mirror.vala.page:84(item/p)
 msgid ""
 "The constructor of the <code>Main</code> class creates a new window and sets "
 "its title. Afterwards the window is shown and a signal is connected which "
@@ -24517,7 +24907,7 @@ msgstr ""
 "που εγκαταλείπει την εφαρμογή, εάν το παράθυρο κλείσει. Περισσότερα για τα "
 "σήματα αργότερα."
 
-#: C/magic-mirror.vala.page:83(item/p)
+#: C/magic-mirror.vala.page:88(item/p)
 msgid ""
 "The static <code>main</code> function is run by default when you start a "
 "Vala application. It calls a few functions which create the Main class, set "
@@ -24531,11 +24921,11 @@ msgstr ""
 "code> ξεκινά τον κύριο βρόχο του GTK, που εκτελεί τη διεπαφή χρήστη και "
 "ξεκινά την ακρόαση για συμβάντα (όπως κλικ και πατήματα πλήκτρου)."
 
-#: C/magic-mirror.vala.page:92(section/title)
+#: C/magic-mirror.vala.page:97(section/title)
 msgid "Access the webcam video stream with GStreamer"
 msgstr "Πρόσβαση στη ροή βίντεο της κάμερας web με το GStreamer"
 
-#: C/magic-mirror.vala.page:93(section/p)
+#: C/magic-mirror.vala.page:98(section/p)
 msgid ""
 "The GStreamer multimedia framework is able to handle video from webcams. "
 "Let's add GStreamer to our application and so we can access the video stream."
@@ -24544,7 +24934,7 @@ msgstr ""
 "ιστοκάμερες. Ας προσθέσουμε το GStreamer στην εφαρμογή μας και έτσι μπορούμε "
 "να προσπελάσουμε το ρεύμα βίντεο."
 
-#: C/magic-mirror.vala.page:95(section/code)
+#: C/magic-mirror.vala.page:100(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -24595,7 +24985,7 @@ msgstr ""
 "\t}\n"
 "}\n"
 
-#: C/magic-mirror.vala.page:120(item/p)
+#: C/magic-mirror.vala.page:125(item/p)
 msgid ""
 "First we remove the window we created before because GStreamer will take "
 "care of showing the picture on screen."
@@ -24603,7 +24993,7 @@ msgstr ""
 "Πρώτα ας αφαιρέσουμε το παράθυρο που δημιουργήσαμε πριν επειδή το GStreamer "
 "θα φροντίσει την εμφάνιση της εικόνας στην οθόνη."
 
-#: C/magic-mirror.vala.page:124(item/p)
+#: C/magic-mirror.vala.page:129(item/p)
 msgid ""
 "Now we are creating a GStreamer element which accesses our webcam. We are "
 "using the Camerabin element, which is an all-in-one camera element and is "
@@ -24619,7 +25009,7 @@ msgstr ""
 "camerabin.set_state (Gst.State.PLAYING)</code> λέμε στη διοχέτευση GStreamer "
 "που μόλις δημιουργήσαμε να ξεκινήσει το παίξιμο. Δεν είναι εύκολο;"
 
-#: C/magic-mirror.vala.page:131(item/p)
+#: C/magic-mirror.vala.page:136(item/p)
 msgid ""
 "Of course it is also possible to integrate the video more tighly into other "
 "windows but that is an advanced topic that includes some details of the X "
@@ -24629,7 +25019,7 @@ msgstr ""
 "παράθυρα, αλλά αυτό είναι προχωρημένο θέμα που περιλαμβάνει μερικές "
 "λεπτομέρειες του συστήματος παραθύρου Χ που θα παραλείψουμε εδώ."
 
-#: C/magic-mirror.vala.page:135(item/p)
+#: C/magic-mirror.vala.page:140(item/p)
 msgid ""
 "Compile and run it again. You will end up with two windows. In the next step "
 "we will integrate the video into the GTK+ window."
@@ -24637,7 +25027,7 @@ msgstr ""
 "Μεταγλώττιση και τρέξιμο του πάλι. Θα καταλήξετε με δύο παράθυρα. Στο "
 "επόμενο βήμα θα ενσωματώσουμε το βίντεο στο παράθυρο GTK+."
 
-#: C/magic-mirror.vala.page:145(section/p)
+#: C/magic-mirror.vala.page:150(section/p)
 msgid ""
 "If you run into problems with the tutorial, compare your code with this "
 "<link href=\"magic-mirror/magic-mirror.vala\">reference code</link>. There "
@@ -24653,7 +25043,7 @@ msgstr ""
 "Gtk.Window που εμπεριέχει μερικές προχωρημένες τεχνικές και προσθέτει "
 "κουμπιά για έναρξη/σταμάτημα της εικόνας."
 
-#: C/magic-mirror.vala.page:152(section/p)
+#: C/magic-mirror.vala.page:157(section/p)
 msgid ""
 "To find out more about the Vala programming language you might want to check "
 "out the <link href=\"http://live.gnome.org/Vala/Tutorial\";>Vala Tutorial</"
@@ -24663,11 +25053,11 @@ msgstr ""
 "ελέγξετε το <link href=\"http://live.gnome.org/Vala/Tutorial\";>μάθημα Vala</"
 "link>."
 
-#: C/magic-mirror.vala.page:157(section/title)
+#: C/magic-mirror.vala.page:162(section/title)
 msgid "Conclusion"
 msgstr "Συμπέρασμα"
 
-#: C/magic-mirror.vala.page:158(section/p)
+#: C/magic-mirror.vala.page:163(section/p)
 msgid ""
 "That's it, you have managed to create a full-featured webcam photo "
 "application in 15 minutes. Now you can shave your beard off or add some "
@@ -24690,12 +25080,732 @@ msgstr ""
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
-#: C/menubar.py.page:28(media) C/menubar.vala.page:23(media)
+#.
+#. This is a reference to an external file such as an image or video. When
+#. the file changes, the md5 hash will change to let you know you need to
+#. update your localized copy. The msgstr is not used at all. Set it to
+#. whatever you like once you have updated your copy of the file.
+#: C/menubar.c.page:24(media) C/menubar.py.page:28(media)
+#: C/menubar.vala.page:23(media)
 msgctxt "_"
 msgid "external ref='media/menubar.png' md5='7b642aaa1628d5e43ab85ac230ac1c78'"
 msgstr ""
 "external ref='media/menubar.png' md5='7b642aaa1628d5e43ab85ac230ac1c78'"
 
+#: C/menubar.c.page:7(info/title)
+#| msgctxt "text"
+#| msgid "MenuBar (Vala)"
+msgctxt "text"
+msgid "MenuBar (C)"
+msgstr "Γραμμή μενού (C)"
+
+#: C/menubar.c.page:19(info/desc) C/menubar.py.page:24(info/desc)
+#: C/menubar.vala.page:19(info/desc)
+msgid "A widget which holds GtkMenuItem widgets"
+msgstr "Ένα γραφικό συστατικό που κρατά γραφικά συστατικά GtkMenuItem"
+
+#: C/menubar.c.page:22(page/title) C/menubar.vala.page:22(page/title)
+msgid "MenuBar"
+msgstr "MenuBar"
+
+#: C/menubar.c.page:25(page/p) C/menubar.py.page:29(page/p)
+#: C/menubar.vala.page:24(page/p)
+msgid "A MenuBar created using XML and GtkBuilder."
+msgstr "Μια γραμμή εργαλείων δημιουργήθηκε χρησιμοποιώντας XML και GtkBuilder."
+
+#: C/menubar.c.page:26(note/p)
+msgid ""
+"For a more in-depth look at this sample, please do not hesitate to check out "
+"the <link xref=\"menubar.vala\">Vala MenuBar</link> and/or <link xref="
+"\"menubar.py\">Python MenuBar</link> tutorials."
+msgstr ""
+"Για μια πιο βαθιά ματιά σε αυτό το δείγμα, παρακαλώ μην διστάσετε να "
+"κοιτάξετε το <link xref=\"menubar.vala\">γραμμή μενού Vala</link> και/ή τα "
+"μαθήματα <link xref=\"menubar.py\">γραμμή μενού Python</link>."
+
+#: C/menubar.c.page:30(page/code)
+#, no-wrap
+msgid ""
+"\n"
+"#include &lt;gtk/gtk.h&gt;\n"
+"\n"
+"\n"
+"\n"
+"/* Callback function for the \"copy\" action */\n"
+"static void\n"
+"copy_callback (GSimpleAction *simple,\n"
+"            GVariant      *parameter,\n"
+"            gpointer       user_data)\n"
+"{\n"
+"   g_print (\"\\\"Copy\\\" activated\\n\");\n"
+"}\n"
+"\n"
+"\n"
+"\n"
+"/* Callback function for the \"paste\" action */\n"
+"static void\n"
+"paste_callback (GSimpleAction *simple,\n"
+"            GVariant      *parameter,\n"
+"            gpointer       user_data)\n"
+"{\n"
+"   g_print (\"\\\"Paste\\\" activated\\n\");\n"
+"}\n"
+"\n"
+"\n"
+"\n"
+"/* Callback function for the \"shape\" action */\n"
+"static void\n"
+"shape_callback (GSimpleAction *simple,\n"
+"            GVariant      *parameter,\n"
+"            gpointer       user_data)\n"
+"{\n"
+"   /* We first gather the value of the GVariant instance with a string type.\n"
+"    * The overall goal here is to see if shape is set to line, triangle, etc,\n"
+"    * and put that value within the variable \"answer\".\n"
+"    */\n"
+"   const gchar *answer = g_variant_get_string (parameter, NULL);\n"
+"   g_printf (\"Shape is set to %s.\\n\", answer);\n"
+"   /* Note that we set the state of the action */\n"
+"   g_simple_action_set_state (simple, parameter);\n"
+"}\n"
+"\n"
+"\n"
+"\n"
+"/* Callback function in which closes the about_dialog created below */\n"
+"static void\n"
+"on_close (GtkDialog *dialog,\n"
+"          gint       response_id,\n"
+"          gpointer   user_data)\n"
+"{\n"
+"  gtk_widget_destroy (GTK_WIDGET (dialog));\n"
+"}\n"
+"\n"
+"\n"
+"\n"
+"/* Callback function for the about action (see aboutdialog.c example) */\n"
+"static void\n"
+"about_callback (GSimpleAction *simple,\n"
+"            GVariant      *parameter,\n"
+"            gpointer       user_data)\n"
+"{\n"
+"   GtkWidget *about_dialog;\n"
+"\n"
+"   about_dialog = gtk_about_dialog_new ();\n"
+"\n"
+"   const gchar *authors[] = {\"GNOME Documentation Team\", NULL};\n"
+"   const gchar *documenters[] = {\"GNOME Documentation Team\", NULL};\n"
+"\n"
+"   /* Fill in the about_dialog with the desired information */\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"
+"   /* The \"response\" signal is emitted when the dialog receives a delete event,\n"
+"    * therefore we connect that signal to the on_close callback function\n"
+"    * created above.\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"
+"\n"
+"\n"
+"static void\n"
+"activate (GtkApplication *app,\n"
+"          gpointer        user_data)\n"
+"{\n"
+"  GtkWidget *window;\n"
+"\n"
+"  GSimpleAction *copy_action;\n"
+"  GSimpleAction *paste_action;\n"
+"  GSimpleAction *shape_action;\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), \"MenuBar Example\");\n"
+"  gtk_window_set_default_size (GTK_WINDOW (window), 200, 200);\n"
+"\n"
+"  /* Begin creating the \"copy\" action.\n"
+"   * Note that it is an action without a state.\n"
+"   */\n"
+"  copy_action = g_simple_action_new (\"copy\", NULL);\n"
+"  /* Connected to a callback function */\n"
+"  g_signal_connect (copy_action, \"activate\", G_CALLBACK (copy_callback),\n"
+"                    GTK_WINDOW (window));\n"
+"  /* Added to the window */\n"
+"  g_action_map_add_action (G_ACTION_MAP (window), G_ACTION (copy_action));\n"
+"\n"
+"  /* Begin creating the \"paste\" action.\n"
+"   * Note that it is an action without a state.\n"
+"   */\n"
+"  paste_action = g_simple_action_new (\"paste\", NULL);\n"
+"  /* Connect the action to a callback function */\n"
+"  g_signal_connect (paste_action, \"activate\", G_CALLBACK (paste_callback),\n"
+"                    GTK_WINDOW (window));\n"
+"  /* Add it to the window */\n"
+"  g_action_map_add_action (G_ACTION_MAP (window), G_ACTION (paste_action));\n"
+"\n"
+"  /* Begin creating the \"shape\" action.\n"
+"   * Note that it is an action with a state.\n"
+"   * First we state that the parameter type of the simple action is a string.\n"
+"   * When using g_variant_type_new, it is appropriate to free the return value\n"
+"   * once you're done with it.\n"
+"   */\n"
+"  GVariantType *type_string = g_variant_type_new (\"s\");\n"
+"  /* parameters for the g_simple_action_new_stateful are: (name, parameter type,\n"
+"   * initial state).\n"
+"   */\n"
+"  shape_action = g_simple_action_new_stateful (\"shape\", type_string,\n"
+"                                               g_variant_new_string (\"line\"));\n"
+"  /* Connect the action to a callback function */\n"
+"  g_signal_connect (shape_action, \"activate\", G_CALLBACK (shape_callback),\n"
+"                    GTK_WINDOW (window));\n"
+"  /* Add it to the window */\n"
+"  g_action_map_add_action (G_ACTION_MAP (window), G_ACTION (shape_action));\n"
+"  g_variant_type_free (type_string);\n"
+"\n"
+"  /* Begin creating the \"about\" action.\n"
+"   * Note that it is an action without a state.\n"
+"   */\n"
+"  about_action = g_simple_action_new (\"about\", NULL);\n"
+"  /* Connect the action to a callback function */\n"
+"  g_signal_connect (about_action, \"activate\", G_CALLBACK (about_callback),\n"
+"                    GTK_WINDOW (window));\n"
+"  /* Add it to the window */\n"
+"  g_action_map_add_action (G_ACTION_MAP (window), G_ACTION (about_action));\n"
+"\n"
+"  gtk_widget_show_all (window);\n"
+"}\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"
+"\n"
+"/* Callback function for the \"quit\" action */\n"
+"static void\n"
+"quit_callback (GSimpleAction *simple,\n"
+"         GVariant      *parameter,\n"
+"         gpointer       user_data)\n"
+"{\n"
+"  GApplication *application = user_data;\n"
+"\n"
+"  g_print (\"You clicked \\\"Quit\\\"\\n\");\n"
+"  g_application_quit (application);\n"
+"}\n"
+"\n"
+"\n"
+"\n"
+"/* Callback function for the \"state\" action */\n"
+"static void\n"
+"state_callback (GSimpleAction *simple,\n"
+"         GVariant      *parameter,\n"
+"         gpointer       user_data)\n"
+"{\n"
+"   /* The two possibilies in this case for the \"answer\" variable are either\n"
+"    * \"on\" or \"off\".\n"
+"    */\n"
+"   const gchar *answer = g_variant_get_string (parameter, NULL);\n"
+"   /* We print the information to the user */\n"
+"   g_printf (\"State is set to %s.\\n\", answer);\n"
+"   /* Note that we set the state of the action */\n"
+"   g_simple_action_set_state (simple, parameter);\n"
+"}\n"
+"\n"
+"\n"
+"\n"
+"/* Callback function for the \"awesome\" action */\n"
+"static void\n"
+"awesome_callback (GSimpleAction *simple,\n"
+"         GVariant      *parameter,\n"
+"         gpointer       user_data)\n"
+"{\n"
+"  GVariant *action_state = g_action_get_state (G_ACTION (simple));\n"
+"  gboolean active = g_variant_get_boolean (action_state);\n"
+"  GVariant *new_state = g_variant_new_boolean (!active);\n"
+"  /* Set the new state for the action.\n"
+"   * (Keeps track of whether it was last checked or unchecked).\n"
+"   */\n"
+"  g_simple_action_set_state (simple, new_state);\n"
+"\n"
+"  if (active)\n"
+"     g_print (\"You unchecked \\\"Awesome\\\"\\n\");\n"
+"  else\n"
+"     g_print (\"You checked \\\"Awesome\\\"\\n\");\n"
+"}\n"
+"\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"
+"  /* Initialize variables */\n"
+"  GSimpleAction *new_action;\n"
+"  GSimpleAction *quit_action;\n"
+"  GSimpleAction *state_action;\n"
+"  GSimpleAction *awesome_action;\n"
+"\n"
+"  GtkBuilder *builder;\n"
+"\n"
+"  GError **error;\n"
+"\n"
+"  /* Begin creating the \"new\" action.\n"
+"   * Note that it is an action without a state.\n"
+"   */\n"
+"  new_action = g_simple_action_new (\"new\", NULL);\n"
+"  g_signal_connect (new_action, \"activate\", G_CALLBACK (new_callback), app);\n"
+"  /* It is added to the overall application */\n"
+"  g_action_map_add_action (G_ACTION_MAP (app), G_ACTION (new_action));\n"
+"\n"
+"  /* Begin creating the \"quit\" action.\n"
+"   * Note that it is an action without a state.\n"
+"   */\n"
+"  quit_action = g_simple_action_new (\"quit\", NULL);\n"
+"  g_signal_connect (quit_action, \"activate\", G_CALLBACK (quit_callback), app);\n"
+"  /* It is added to the overall application */\n"
+"  g_action_map_add_action (G_ACTION_MAP (app), G_ACTION (quit_action));\n"
+"\n"
+"  /* Begin creating the \"state\" action.\n"
+"   * Note that it is an action with a state.\n"
+"   */\n"
+"  GVariantType *type_string2 = g_variant_type_new (\"s\");\n"
+"  state_action = g_simple_action_new_stateful (\"state\", type_string2,\n"
+"                                               g_variant_new_string (\"off\"));\n"
+"  g_signal_connect (state_action, \"activate\", G_CALLBACK (state_callback), app);\n"
+"  /* It is added to the overall application */\n"
+"  g_action_map_add_action (G_ACTION_MAP (app), G_ACTION (state_action));\n"
+"  g_variant_type_free (type_string2);\n"
+"\n"
+"  /* Begin creating the \"awesome\" action.\n"
+"   * Note that it is an action with a state.\n"
+"   */\n"
+"  awesome_action = g_simple_action_new_stateful (\"awesome\", NULL, g_variant_new_boolean (FALSE));\n"
+"  g_signal_connect (awesome_action, \"activate\", G_CALLBACK (awesome_callback), app);\n"
+"  /* It is added to the overall application */\n"
+"  g_action_map_add_action (G_ACTION_MAP (app), G_ACTION (awesome_action));\n"
+"\n"
+"  /* A builder to add the User Interface designed with GLADE to the grid: */\n"
+"  builder = gtk_builder_new ();\n"
+"  /* Get the file (if it is there):\n"
+"   * Note: you must make sure that the file is in the current directory for\n"
+"   * this to work. The function used here returns a value within our variable\n"
+"   * \"error\", and it is equal to zero if an error is indeed found.\n"
+"   */\n"
+"  gtk_builder_add_from_file (builder, \"menubar.ui\", error);\n"
+"  if (error == 0) {\n"
+"     g_print (\"File not found.\\n\");\n"
+"  }\n"
+"\n"
+"  /* Extract the menubar */\n"
+"  GObject *menubar = gtk_builder_get_object (builder, \"menubar\");\n"
+"  gtk_application_set_menubar (GTK_APPLICATION (app), G_MENU_MODEL (menubar));\n"
+"\n"
+"  /* Extract the appmenu */\n"
+"  GObject *appmenu = gtk_builder_get_object (builder, \"appmenu\");\n"
+"  gtk_application_set_app_menu (GTK_APPLICATION (app), G_MENU_MODEL (appmenu));\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"
+msgstr ""
+"\n"
+"#include &lt;gtk/gtk.h&gt;\n"
+"\n"
+"\n"
+"\n"
+"/* Η συνάρτηση επανάκλησης για την ενέργεια \"copy\" */\n"
+"static void\n"
+"copy_callback (GSimpleAction *simple,\n"
+"            GVariant      *parameter,\n"
+"            gpointer       user_data)\n"
+"{\n"
+"   g_print (\"\\\"Copy\\\" activated\\n\")·\n"
+"}\n"
+"\n"
+"\n"
+"\n"
+"/* Η συνάρτηση επανάκλησης για την ενέργεια \"paste\" */\n"
+"static void\n"
+"paste_callback (GSimpleAction *simple,\n"
+"            GVariant      *parameter,\n"
+"            gpointer       user_data)\n"
+"{\n"
+"   g_print (\"\\\"Paste\\\" activated\\n\")·\n"
+"}\n"
+"\n"
+"\n"
+"\n"
+"/* Η συνάρτηση επανάκλησης για την ενέργεια \"shape\" */\n"
+"static void\n"
+"shape_callback (GSimpleAction *simple,\n"
+"            GVariant      *parameter,\n"
+"            gpointer       user_data)\n"
+"{\n"
+"   /* We first gather the value of the GVariant instance with a string type.\n"
+"    * The overall goal here is to see if shape is set to line, triangle, "
+"etc,\n"
+"    * and put that value within the variable \"answer\".\n"
+"    */\n"
+"   const gchar *answer = g_variant_get_string (parameter, NULL)·\n"
+"   g_printf (\"Shape is set to %s.\\n\", answer)·\n"
+"   /* Note that we set the state of the action */\n"
+"   g_simple_action_set_state (simple, parameter)·\n"
+"}\n"
+"\n"
+"\n"
+"\n"
+"/* Callback function in which closes the about_dialog created below */\n"
+"static void\n"
+"on_close (GtkDialog *dialog,\n"
+"          gint       response_id,\n"
+"          gpointer   user_data)\n"
+"{\n"
+"  gtk_widget_destroy (GTK_WIDGET (dialog))·\n"
+"}\n"
+"\n"
+"\n"
+"\n"
+"/* Callback function for the about action (see aboutdialog.c example) */\n"
+"static void\n"
+"about_callback (GSimpleAction *simple,\n"
+"            GVariant      *parameter,\n"
+"            gpointer       user_data)\n"
+"{\n"
+"   GtkWidget *about_dialog·\n"
+"\n"
+"   about_dialog = gtk_about_dialog_new ()·\n"
+"\n"
+"   const gchar *authors[] = {\"GNOME Documentation Team\", NULL}·\n"
+"   const gchar *documenters[] = {\"GNOME Documentation Team\", NULL}·\n"
+"\n"
+"   /* Fill in the about_dialog with the desired information */\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"
+"   /* The \"response\" signal is emitted when the dialog receives a delete "
+"event,\n"
+"    * therefore we connect that signal to the on_close callback function\n"
+"    * created above.\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"
+"\n"
+"\n"
+"static void\n"
+"activate (GtkApplication *app,\n"
+"          gpointer        user_data)\n"
+"{\n"
+"  GtkWidget *window·\n"
+"\n"
+"  GSimpleAction *copy_action·\n"
+"  GSimpleAction *paste_action·\n"
+"  GSimpleAction *shape_action·\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), \"MenuBar Example\")·\n"
+"  gtk_window_set_default_size (GTK_WINDOW (window), 200, 200)·\n"
+"\n"
+"  /* Begin creating the \"copy\" action.\n"
+"   * Note that it is an action without a state.\n"
+"   */\n"
+"  copy_action = g_simple_action_new (\"copy\", NULL)·\n"
+"  /* Connected to a callback function */\n"
+"  g_signal_connect (copy_action, \"activate\", G_CALLBACK (copy_callback),\n"
+"                    GTK_WINDOW (window))·\n"
+"  /* Added to the window */\n"
+"  g_action_map_add_action (G_ACTION_MAP (window), G_ACTION (copy_action))·\n"
+"\n"
+"  /* Begin creating the \"paste\" action.\n"
+"   * Note that it is an action without a state.\n"
+"   */\n"
+"  paste_action = g_simple_action_new (\"paste\", NULL)·\n"
+"  /* Connect the action to a callback function */\n"
+"  g_signal_connect (paste_action, \"activate\", G_CALLBACK (paste_callback),\n"
+"                    GTK_WINDOW (window))·\n"
+"  /* Add it to the window */\n"
+"  g_action_map_add_action (G_ACTION_MAP (window), G_ACTION (paste_action))·\n"
+"\n"
+"  /* Begin creating the \"shape\" action.\n"
+"   * Note that it is an action with a state.\n"
+"   * First we state that the parameter type of the simple action is a "
+"string.\n"
+"   * When using g_variant_type_new, it is appropriate to free the return "
+"value\n"
+"   * once you're done with it.\n"
+"   */\n"
+"  GVariantType *type_string = g_variant_type_new (\"s\")·\n"
+"  /* parameters for the g_simple_action_new_stateful are: (name, parameter "
+"type,\n"
+"   * initial state).\n"
+"   */\n"
+"  shape_action = g_simple_action_new_stateful (\"shape\", type_string,\n"
+"                                               g_variant_new_string "
+"(\"line\"))·\n"
+"  /* Connect the action to a callback function */\n"
+"  g_signal_connect (shape_action, \"activate\", G_CALLBACK (shape_callback),\n"
+"                    GTK_WINDOW (window))·\n"
+"  /* Add it to the window */\n"
+"  g_action_map_add_action (G_ACTION_MAP (window), G_ACTION (shape_action))·\n"
+"  g_variant_type_free (type_string)·\n"
+"\n"
+"  /* Begin creating the \"about\" action.\n"
+"   * Note that it is an action without a state.\n"
+"   */\n"
+"  about_action = g_simple_action_new (\"about\", NULL)·\n"
+"  /* Connect the action to a callback function */\n"
+"  g_signal_connect (about_action, \"activate\", G_CALLBACK (about_callback),\n"
+"                    GTK_WINDOW (window))·\n"
+"  /* Add it to the window */\n"
+"  g_action_map_add_action (G_ACTION_MAP (window), G_ACTION (about_action))·\n"
+"\n"
+"  gtk_widget_show_all (window)·\n"
+"}\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"
+"\n"
+"/* Callback function for the \"quit\" action */\n"
+"static void\n"
+"quit_callback (GSimpleAction *simple,\n"
+"         GVariant      *parameter,\n"
+"         gpointer       user_data)\n"
+"{\n"
+"  GApplication *application = user_data·\n"
+"\n"
+"  g_print (\"You clicked \\\"Quit\\\"\\n\")·\n"
+"  g_application_quit (application)·\n"
+"}\n"
+"\n"
+"\n"
+"\n"
+"/* Callback function for the \"state\" action */\n"
+"static void\n"
+"state_callback (GSimpleAction *simple,\n"
+"         GVariant      *parameter,\n"
+"         gpointer       user_data)\n"
+"{\n"
+"   /* The two possibilies in this case for the \"answer\" variable are either\n"
+"    * \"on\" or \"off\".\n"
+"    */\n"
+"   const gchar *answer = g_variant_get_string (parameter, NULL)·\n"
+"   /* We print the information to the user */\n"
+"   g_printf (\"State is set to %s.\\n\", answer)·\n"
+"   /* Note that we set the state of the action */\n"
+"   g_simple_action_set_state (simple, parameter)·\n"
+"}\n"
+"\n"
+"\n"
+"\n"
+"/* Callback function for the \"awesome\" action */\n"
+"static void\n"
+"awesome_callback (GSimpleAction *simple,\n"
+"         GVariant      *parameter,\n"
+"         gpointer       user_data)\n"
+"{\n"
+"  GVariant *action_state = g_action_get_state (G_ACTION (simple))·\n"
+"  gboolean active = g_variant_get_boolean (action_state)·\n"
+"  GVariant *new_state = g_variant_new_boolean (!active)·\n"
+"  /* Set the new state for the action.\n"
+"   * (Keeps track of whether it was last checked or unchecked).\n"
+"   */\n"
+"  g_simple_action_set_state (simple, new_state)·\n"
+"\n"
+"  if (active)\n"
+"     g_print (\"You unchecked \\\"Awesome\\\"\\n\")·\n"
+"  else\n"
+"     g_print (\"You checked \\\"Awesome\\\"\\n\")·\n"
+"}\n"
+"\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"
+"  /* Initialize variables */\n"
+"  GSimpleAction *new_action·\n"
+"  GSimpleAction *quit_action·\n"
+"  GSimpleAction *state_action·\n"
+"  GSimpleAction *awesome_action·\n"
+"\n"
+"  GtkBuilder *builder·\n"
+"\n"
+"  GError **error·\n"
+"\n"
+"  /* Begin creating the \"new\" action.\n"
+"   * Note that it is an action without a state.\n"
+"   */\n"
+"  new_action = g_simple_action_new (\"new\", NULL)·\n"
+"  g_signal_connect (new_action, \"activate\", G_CALLBACK (new_callback), app)·\n"
+"  /* It is added to the overall application */\n"
+"  g_action_map_add_action (G_ACTION_MAP (app), G_ACTION (new_action))·\n"
+"\n"
+"  /* Begin creating the \"quit\" action.\n"
+"   * Note that it is an action without a state.\n"
+"   */\n"
+"  quit_action = g_simple_action_new (\"quit\", NULL)·\n"
+"  g_signal_connect (quit_action, \"activate\", G_CALLBACK (quit_callback), "
+"app)·\n"
+"  /* It is added to the overall application */\n"
+"  g_action_map_add_action (G_ACTION_MAP (app), G_ACTION (quit_action))·\n"
+"\n"
+"  /* Begin creating the \"state\" action.\n"
+"   * Note that it is an action with a state.\n"
+"   */\n"
+"  GVariantType *type_string2 = g_variant_type_new (\"s\")·\n"
+"  state_action = g_simple_action_new_stateful (\"state\", type_string2,\n"
+"                                               g_variant_new_string "
+"(\"off\"))·\n"
+"  g_signal_connect (state_action, \"activate\", G_CALLBACK (state_callback), "
+"app)·\n"
+"  /* It is added to the overall application */\n"
+"  g_action_map_add_action (G_ACTION_MAP (app), G_ACTION (state_action))·\n"
+"  g_variant_type_free (type_string2)·\n"
+"\n"
+"  /* Begin creating the \"awesome\" action.\n"
+"   * Note that it is an action with a state.\n"
+"   */\n"
+"  awesome_action = g_simple_action_new_stateful (\"awesome\", NULL, "
+"g_variant_new_boolean (FALSE))·\n"
+"  g_signal_connect (awesome_action, \"activate\", G_CALLBACK "
+"(awesome_callback), app)·\n"
+"  /* It is added to the overall application */\n"
+"  g_action_map_add_action (G_ACTION_MAP (app), G_ACTION (awesome_action))·\n"
+"\n"
+"  /* A builder to add the User Interface designed with GLADE to the grid: */\n"
+"  builder = gtk_builder_new ()·\n"
+"  /* Get the file (if it is there):\n"
+"   * Note: you must make sure that the file is in the current directory for\n"
+"   * this to work. The function used here returns a value within our "
+"variable\n"
+"   * \"error\", and it is equal to zero if an error is indeed found.\n"
+"   */\n"
+"  gtk_builder_add_from_file (builder, \"menubar.ui\", error)·\n"
+"  if (error == 0) {\n"
+"     g_print (\"File not found.\\n\")·\n"
+"  }\n"
+"\n"
+"  /* Extract the menubar */\n"
+"  GObject *menubar = gtk_builder_get_object (builder, \"menubar\")·\n"
+"  gtk_application_set_menubar (GTK_APPLICATION (app), G_MENU_MODEL "
+"(menubar))·\n"
+"\n"
+"  /* Extract the appmenu */\n"
+"  GObject *appmenu = gtk_builder_get_object (builder, \"appmenu\")·\n"
+"  gtk_application_set_app_menu (GTK_APPLICATION (app), G_MENU_MODEL "
+"(appmenu))·\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"
+
+#: C/menubar.c.page:36(item/p) C/scrolledwindow.c.page:33(item/p)
+#| msgid ""
+#| "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkApplication.html";
+#| "\">GtkApplication</link>"
+msgid ""
+"<link href=\"http://developer.gnome.org/gtk3/stable/GtkApplication.html";
+"\">GtkApplication</link>"
+msgstr ""
+"<link href=\"http://developer.gnome.org/gtk3/stable/GtkApplication.html\";>GtkA"
+"pplication</link>"
+
+#: C/menubar.c.page:39(item/p)
+#| msgid ""
+#| "<link href=\"http://developer.gnome.org/gtk3/stable/GtkAboutDialog.html";
+#| "\">GtkAboutDialog</link>"
+msgid ""
+"<link href=\"http://developer.gnome.org/gtk/stable/GtkAboutDialog.html";
+"\">GtkAboutDialog</link>"
+msgstr ""
+"<link href=\"http://developer.gnome.org/gtk/stable/GtkAboutDialog.html\";>GtkAb"
+"outDialog</link>"
+
+#: C/menubar.c.page:40(item/p)
+#| msgid ""
+#| "<link href=\"http://developer.gnome.org/glib/unstable/glib-GVariantType.";
+#| "html\">GVariantType</link>"
+msgid ""
+"<link href=\"http://developer.gnome.org/glib/stable/glib-GVariantType.html";
+"\">GtkVariantType</link>"
+msgstr ""
+"<link href=\"http://developer.gnome.org/glib/stable/glib-";
+"GVariantType.html\">GVariantType</link>"
+
 #. This is a reference to an external file such as an image or video. When
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
@@ -24705,7 +25815,7 @@ msgstr ""
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
-#: C/menubar.py.page:129(media) C/menubar.vala.page:133(media)
+#: C/menubar.py.page:131(media) C/menubar.vala.page:133(media)
 msgctxt "_"
 msgid ""
 "external ref='media/menubar_choices.png' "
@@ -24719,21 +25829,14 @@ msgctxt "text"
 msgid "MenuBar (Python)"
 msgstr "MenuBar (Python)"
 
-#: C/menubar.py.page:24(info/desc) C/menubar.vala.page:19(info/desc)
-msgid "A widget which holds GtkMenuItem widgets"
-msgstr "Ένα γραφικό συστατικό που κρατά γραφικά συστατικά GtkMenuItem"
-
-#: C/menubar.py.page:27(page/title) C/menubar.vala.page:22(page/title)
-msgid "MenuBar"
-msgstr "MenuBar"
-
-#: C/menubar.py.page:29(page/p) C/menubar.vala.page:24(page/p)
-msgid "A MenuBar created using XML and GtkBuilder."
-msgstr "Μια γραμμή εργαλείων δημιουργήθηκε χρησιμοποιώντας XML και GtkBuilder."
+#: C/menubar.py.page:27(page/title)
+#| msgid "A MenuBar created using XML and GtkBuilder."
+msgid "MenuBar created using XML and GtkBuilder"
+msgstr "Μια γραμμή μενού δημιουργήθηκε χρησιμοποιώντας XML και GtkBuilder"
 
 #: C/menubar.py.page:33(section/title) C/menubar.vala.page:28(section/title)
 msgid "Create a MenuBar using XML"
-msgstr "Δημιουργήστε μια MenuBar χρησιμοποιώντας XML"
+msgstr "Δημιουργήστε μια γραμμή μενού χρησιμοποιώντας XML"
 
 #: C/menubar.py.page:34(section/p) C/menubar.vala.page:29(section/p)
 msgid "To create the menubar using XML:"
@@ -25084,11 +26187,19 @@ msgstr ""
 "\n"
 "self.add_action(new_action)"
 
-#: C/menubar.py.page:119(section/title) C/menubar.vala.page:138(section/title)
+#: C/menubar.py.page:117(section/p)
+msgid ""
+"See <link xref=\"signals-callbacks.py\"/> for a more detailed explanation of "
+"signals and callbacks."
+msgstr ""
+"Δείτε <link xref=\"signals-callbacks.py\"/> για μια πιο λεπτομερή εξήγηση των "
+"σημάτων και επανακλήσεων."
+
+#: C/menubar.py.page:121(section/title) C/menubar.vala.page:138(section/title)
 msgid "Actions: Application or Window?"
 msgstr "Ενέργειες: εφαρμογή ή παράθυρο;"
 
-#: C/menubar.py.page:120(section/p) C/menubar.vala.page:139(section/p)
+#: C/menubar.py.page:122(section/p) C/menubar.vala.page:139(section/p)
 msgid ""
 "Above, we created the \"new\" and \"open\" actions as part of the "
 "MyApplication class. Actions which control the application itself, such as "
@@ -25098,7 +26209,7 @@ msgstr ""
 "κλάσης MyApplication. Οι ενέργειες που ελέγχουν την ίδια την εφαρμογή, όπως "
 "\"quit\" πρέπει να δημιουργηθούν παρόμοια."
 
-#: C/menubar.py.page:122(section/p) C/menubar.vala.page:142(section/p)
+#: C/menubar.py.page:124(section/p) C/menubar.vala.page:142(section/p)
 msgid ""
 "Some actions, such as \"copy\" and \"paste\" deal with the window, not the "
 "application. Window actions should be created as part of the window class."
@@ -25107,8 +26218,7 @@ msgstr ""
 "όχι την εφαρμογή. Οι ενέργειες παραθύρου πρέπει να δημιουργηθούν ως μέρος "
 "της κλάσης παραθύρου."
 
-#: C/menubar.py.page:124(section/p)
-#, fuzzy
+#: C/menubar.py.page:126(section/p)
 msgid ""
 "The complete example files contain both application actions and window "
 "actions. The window actions are the ones usually included in the <link xref="
@@ -25119,21 +26229,20 @@ msgid ""
 "these are hooked up to the same actions as the menubar items of the same "
 "name."
 msgstr ""
-"Τα πλήρη αρχεία του παραδείγματος περιέχουν αμφότερες τις ενέργειες "
-"εφαρμογής και τις εφαρμογές παραθύρου. Οι ενέργειες παραθύρου είναι αυτές "
-"που συνήθως συμπεριλαμβάνονται στο <link xref=\"gmenu.py\">μενού εφαρμογής</"
-"link> επίσης. Δεν είναι καλή πρακτική να συμπεριλαμβάνετε ενέργειες "
-"παραθύρου στο μενού της εφαρμογής. Για σκοπούς επίδειξης, τα πλήρη αρχεία "
-"του παραδείγματος που ακολουθεί περιέχουν XML στο αρχείο UI που δημιουργεί "
-"το μενού εφαρμογής που περιλαμβάνει τα στοιχεία \"New\" και \"Open\" και "
-"αυτά συνδέονται με τις ίδιες ενέργειες όπως τα στοιχεία της γραμμής μενού "
-"του ίδιου ονόματος."
-
-#: C/menubar.py.page:128(section/title) C/menubar.vala.page:132(section/title)
+"Τα πλήρη αρχεία του παραδείγματος περιέχουν και τις ενέργειες εφαρμογής και "
+"τις ενέργειες παραθύρου. Οι ενέργειες παραθύρου είναι αυτές που συνήθως "
+"συμπεριλαμβάνονται στο <link xref=\"gmenu.py\">μενού εφαρμογής</link> επίσης. "
+"Δεν είναι καλή πρακτική να συμπεριλαμβάνετε ενέργειες παραθύρου στο μενού "
+"της εφαρμογής. Για σκοπούς επίδειξης, τα πλήρη αρχεία του παραδείγματος που "
+"ακολουθεί περιέχουν XML στο αρχείο UI που δημιουργεί το μενού εφαρμογής που "
+"περιλαμβάνει τα στοιχεία \"New\" και \"Open\" και αυτά συνδέονται με τις ίδιες "
+"ενέργειες όπως τα στοιχεία της γραμμής μενού του ίδιου ονόματος."
+
+#: C/menubar.py.page:130(section/title) C/menubar.vala.page:132(section/title)
 msgid "Choices submenu and items with state"
 msgstr "Επιλογές υπομενού και στοιχείων με κατάσταση"
 
-#: C/menubar.py.page:130(section/p)
+#: C/menubar.py.page:132(section/p)
 msgid ""
 "Lines 30 to 80 inclusive of the <link xref=\"menubar.py#xml-code\"/> "
 "demonstrate the XML code used to create the UI for <gui>Choices</gui> menu."
@@ -25142,7 +26251,7 @@ msgstr ""
 "py#xml-code\"/> του χρησιμοποιούμενου κώδικα XML για δημιουργία της UI για "
 "το μενού <gui>επιλογές</gui>."
 
-#: C/menubar.py.page:132(section/p)
+#: C/menubar.py.page:134(section/p)
 msgid ""
 "The actions created so far are <em>stateless</em>, that is they do not "
 "retain or depend on a state given by the action itself. The actions we need "
@@ -25155,7 +26264,7 @@ msgstr ""
 "επιλογών, από την άλλη μεριά, είναι <em>με κατάσταση</em>. Ένα παράδειγμα "
 "δημιουργίας μιας ενέργειας με κατάσταση είναι:"
 
-#: C/menubar.py.page:133(section/code)
+#: C/menubar.py.page:135(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -25164,7 +26273,7 @@ msgstr ""
 "\n"
 "shape_action = Gio.SimpleAction.new_stateful(\"shape\", GLib.VariantType.new('s'), 
GLib.Variant.new_string('line'))"
 
-#: C/menubar.py.page:136(section/p)
+#: C/menubar.py.page:138(section/p)
 msgid ""
 "where the variables of the method are: name, parameter type (in this case, a "
 "string - see <link href=\"http://developer.gnome.org/glib/unstable/glib-";
@@ -25182,7 +26291,7 @@ msgstr ""
 "Variant.new_boolean(True)</code>, κ.ο.κ, δείτε <link href=\"http://developer.";
 "gnome.org/glib/unstable/glib-GVariant.html\">εδώ</link> για μια πλήρη λίστα)"
 
-#: C/menubar.py.page:138(section/p)
+#: C/menubar.py.page:140(section/p)
 msgid ""
 "After creating the stateful SimpleAction we connect it to the callback "
 "function and we add it to the window (or the application, if it is the "
@@ -25192,7 +26301,7 @@ msgstr ""
 "επανάκλησης και την προσθέτουμε στο παράθυρο (ή την εφαρμογή, εάν είναι η "
 "περίπτωση), όπως πριν:"
 
-#: C/menubar.py.page:140(section/code)
+#: C/menubar.py.page:142(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -25203,11 +26312,11 @@ msgstr ""
 "shape_action.connect(\"activate\", self.shape_callback)\n"
 "self.add_action(shape_action)"
 
-#: C/menubar.py.page:147(section/title) C/menubar.vala.page:153(section/title)
+#: C/menubar.py.page:149(section/title) C/menubar.vala.page:153(section/title)
 msgid "Complete XML UI file for this example"
 msgstr "Πλήρες αρχείο UI XML για αυτό το παράδειγμα"
 
-#: C/menubar.py.page:148(section/code) C/menubar.vala.page:154(section/code)
+#: C/menubar.py.page:150(section/code) C/menubar.vala.page:154(section/code)
 #, no-wrap
 msgid ""
 "&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;\n"
@@ -25418,11 +26527,11 @@ msgstr ""
 "  &lt;/menu&gt;\n"
 "&lt;/interface&gt;\n"
 
-#: C/menubar.py.page:152(section/title)
+#: C/menubar.py.page:154(section/title)
 msgid "Complete Python file for this example"
 msgstr "Το πλήρες αρχείο Python για αυτό το παράδειγμα"
 
-#: C/menubar.py.page:153(section/code)
+#: C/menubar.py.page:155(section/code)
 #, no-wrap
 msgid ""
 "from gi.repository import Gtk\n"
@@ -25745,11 +26854,11 @@ msgstr ""
 "exit_status = app.run(sys.argv)\n"
 "sys.exit(exit_status)\n"
 
-#: C/menubar.py.page:156(section/title)
+#: C/menubar.py.page:158(section/title)
 msgid "Mnemonics and Accelerators"
 msgstr "Μνημονικές και επιταχυντές"
 
-#: C/menubar.py.page:157(section/p) C/menubar.vala.page:161(section/p)
+#: C/menubar.py.page:159(section/p) C/menubar.vala.page:161(section/p)
 msgid ""
 "Labels may contain mnemonics. Mnemonics are underlined characters in the "
 "label, used for keyboard navigation. Mnemonics are created by placing an "
@@ -25762,7 +26871,7 @@ msgstr ""
 "πριν τον μνημονικό χαρακτήρα. Για παράδειγμα \"_File\" αντί για απλά \"File"
 "\" στο γνώρισμα ετικέτας menubar.ui."
 
-#: C/menubar.py.page:158(section/p) C/menubar.vala.page:162(section/p)
+#: C/menubar.py.page:160(section/p) C/menubar.vala.page:162(section/p)
 msgid ""
 "The mnemonics are visible when you press the <key>Alt</key> key. Pressing "
 "<keyseq><key>Alt</key><key>F</key></keyseq> will open the <gui>File</gui> "
@@ -25772,7 +26881,7 @@ msgstr ""
 "<keyseq><key>Alt</key><key>F</key></keyseq> θα ανοίξει το μενού <gui>αρχείο</"
 "gui>."
 
-#: C/menubar.py.page:160(section/p) C/menubar.vala.page:167(section/p)
+#: C/menubar.py.page:162(section/p) C/menubar.vala.page:167(section/p)
 msgid ""
 "Accelerators can be explicitly added in the UI definitions. For example, it "
 "is common to be able to quit an application by pressing <keyseq><key>Ctrl</"
@@ -25787,7 +26896,7 @@ msgstr ""
 "επιταχυντή στον ορισμό της UI, χρειάζεστε απλά να προσθέσετε ένα γνώρισμα "
 "\"accel\" στο στοιχείο."
 
-#: C/menubar.py.page:161(section/p) C/menubar.vala.page:168(section/p)
+#: C/menubar.py.page:163(section/p) C/menubar.vala.page:168(section/p)
 msgid ""
 "<code mime=\"application/xml\">&lt;attribute name=\"accel\"&gt;&amp;lt;"
 "Primary&amp;gt;q&lt;/attribute&gt;</code> will create the <keyseq><key>Ctrl</"
@@ -25802,7 +26911,7 @@ msgstr ""
 "<key>Ctrl</key> σε ένα προσωπικό υπολογιστή ή στο πλήκτρο <key>⌘</key> σε "
 "ένα Mac."
 
-#: C/menubar.py.page:163(section/code) C/menubar.vala.page:170(section/code)
+#: C/menubar.py.page:165(section/code) C/menubar.vala.page:170(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -25819,11 +26928,11 @@ msgstr ""
 "  &lt;attribute name=\"accel\"&gt;&amp;lt;Primary&amp;gt;q&lt;/attribute&gt;\n"
 "&lt;/item&gt;"
 
-#: C/menubar.py.page:171(section/title) C/menubar.vala.page:178(section/title)
+#: C/menubar.py.page:173(section/title) C/menubar.vala.page:178(section/title)
 msgid "Translatable strings"
 msgstr "Μεταφράσιμες συμβολοσειρές"
 
-#: C/menubar.py.page:172(section/p) C/menubar.vala.page:179(section/p)
+#: C/menubar.py.page:174(section/p) C/menubar.vala.page:179(section/p)
 msgid ""
 "Since GNOME applications are being translated into <link href=\"http://l10n.";
 "gnome.org/languages/\">many languages</link>, it is important that the "
@@ -25835,12 +26944,12 @@ msgstr ""
 "στην εφαρμογή σας είναι μεταφράσιμες. Για να κάνετε μια ετικέτα μεταφράσιμη, "
 "απλά βάλτε <code>translatable=\"yes\"</code>:"
 
-#: C/menubar.py.page:176(section/code)
+#: C/menubar.py.page:178(section/code)
 #, no-wrap
 msgid "&lt;attribute name=\"label\" translatable=\"yes\"&gt;Quit&lt;/attribute&gt;"
 msgstr "&lt;attribute name=\"label\" translatable=\"yes\"&gt;Quit&lt;/attribute&gt;"
 
-#: C/menubar.py.page:183(item/p)
+#: C/menubar.py.page:185(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gio/unstable/GSimpleAction.html";
 "\">GSimpleAction</link>"
@@ -25848,7 +26957,7 @@ msgstr ""
 "<link href=\"http://developer.gnome.org/gio/unstable/GSimpleAction.html";
 "\">GSimpleAction</link>"
 
-#: C/menubar.py.page:184(item/p) C/toolbar_builder.py.page:194(item/p)
+#: C/menubar.py.page:186(item/p) C/toolbar_builder.py.page:196(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkBuilder.html";
 "\">GtkBuilder</link>"
@@ -26370,7 +27479,7 @@ msgstr ""
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
-#: C/menubutton.js.page:21(media) C/menubutton.py.page:27(media)
+#: C/menubutton.js.page:21(media) C/menubutton.py.page:28(media)
 #: C/menubutton.vala.page:21(media)
 msgctxt "_"
 msgid ""
@@ -26387,17 +27496,17 @@ msgstr "MenuButton (JavaScript)"
 msgid "Anna Zacchi"
 msgstr "Anna Zacchi"
 
-#: C/menubutton.js.page:17(info/desc) C/menubutton.py.page:23(info/desc)
+#: C/menubutton.js.page:17(info/desc) C/menubutton.py.page:24(info/desc)
 #: C/menubutton.vala.page:17(info/desc)
 msgid "A widget that shows a menu when clicked on"
 msgstr "Ένα γραφικό συστατικό που εμφανίζει ένα μενού όταν πατηθεί"
 
-#: C/menubutton.js.page:20(page/title) C/menubutton.py.page:26(page/title)
+#: C/menubutton.js.page:20(page/title) C/menubutton.py.page:27(page/title)
 #: C/menubutton.vala.page:20(page/title)
 msgid "MenuButton"
 msgstr "MenuButton"
 
-#: C/menubutton.js.page:22(page/p) C/menubutton.py.page:28(page/p)
+#: C/menubutton.js.page:22(page/p) C/menubutton.py.page:29(page/p)
 #: C/menubutton.vala.page:22(page/p)
 msgid ""
 "The GtkMenuButton widget is used to display a menu when clicked on. This "
@@ -26413,7 +27522,7 @@ msgstr ""
 "σχεδόν κάθε άλλο τυπικό GtkWidget. Το πιο συχνά χρησιμοποιούμενο θυγατρικό "
 "είναι το παρεχόμενο GtkArrow."
 
-#: C/menubutton.js.page:26(note/p) C/menubutton.py.page:30(note/p)
+#: C/menubutton.js.page:26(note/p) C/menubutton.py.page:31(note/p)
 #: C/menubutton.vala.page:26(note/p)
 msgid "You need to be running GNOME 3.6 for the MenuButton to work."
 msgstr "Χρειάζεται να τρέξετε το GNOME 3.6 για να δουλέψει το MenuButton."
@@ -26643,12 +27752,12 @@ msgstr ""
 "<link href=\"http://developer.gnome.org/gtk3/3.5/gtk3-GtkMenuButton.html";
 "\">MenuButton</link>"
 
-#: C/menubutton.py.page:7(info/title) C/tooltip.py.page:7(info/title)
+#: C/menubutton.py.page:7(info/title)
 msgctxt "text"
 msgid "MenuButton"
 msgstr "MenuButton"
 
-#: C/menubutton.py.page:36(section/code)
+#: C/menubutton.py.page:37(section/code)
 #, no-wrap
 msgid ""
 "from gi.repository import Gtk\n"
@@ -26797,11 +27906,26 @@ msgstr ""
 "exit_status = app.run(sys.argv)\n"
 "sys.exit(exit_status)\n"
 
-#: C/menubutton.py.page:40(section/title)
+#: C/menubutton.py.page:41(section/title)
 msgid "Useful methods for a MenuButton widget"
 msgstr "Χρήσιμες μέθοδοι για ένα γραφικό συστατικό MenuButton"
 
-#: C/menubutton.py.page:41(section/p)
+#: C/menubutton.py.page:42(section/p)
+msgid ""
+"In line 33 the signal <code>\"activate\"</code> from the action "
+"<code>about_action</code> is connected to the callback function "
+"<code>about_callback()</code> using <code><var>action</var>.connect"
+"(<var>signal</var>, <var>callback function</var>)</code>. See <link xref="
+"\"signals-callbacks.py\"/> for a more detailed explanation."
+msgstr ""
+"Στη γραμμή 33 το σήμα <code>\"activate\"</code> από την ενέργεια "
+"<code>about_action</code> συνδέεται με τη συνάρτηση επανάκλησης "
+"<code>about_callback()</code> χρησιμοποιώντας "
+"<code><var>action</var>.connect(<var>signal</var>, <var>callback "
+"function</var>)</code>. Δείτε <link xref=\"signals-callbacks.py\"/> για μια "
+"πιο λεπτομερή εξήγηση."
+
+#: C/menubutton.py.page:44(section/p)
 msgid ""
 "The positioning of the menu is determined by the \"direction\" property of "
 "the menu button and the \"halign\" or \"valign\" properties of the menu. For "
@@ -26825,7 +27949,7 @@ msgstr ""
 "αναδύεται πάνω από το κουμπί. Εάν η στοίχιση μπορεί να μετακινήσει μέρος του "
 "μενού εκτός οθόνης, είναι 'pushed in'."
 
-#: C/menubutton.py.page:43(section/p)
+#: C/menubutton.py.page:46(section/p)
 msgid ""
 "In the case of vertical alignment, the possible ArrowType directions are "
 "<code>LEFT</code> and <code>RIGHT</code> and the vertical alignment is again "
@@ -26835,7 +27959,7 @@ msgstr ""
 "<code>LEFT</code> και <code>RIGHT</code> και η κάθετη στοίχιση είναι ξανά "
 "<code>START</code>, <code>CENTER</code> ή <code>END</code>."
 
-#: C/menubutton.py.page:45(section/p)
+#: C/menubutton.py.page:48(section/p)
 msgid ""
 "<code>set_align_widget(alignment)</code> and <code>set_direction(direction)</"
 "code> can be used to set these properties."
@@ -26844,7 +27968,7 @@ msgstr ""
 "(direction)</code> μπορούν να χρησιμοποιηθούν για να οριστούν αυτές οι "
 "ιδιότητες."
 
-#: C/menubutton.py.page:52(item/p)
+#: C/menubutton.py.page:55(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkMenuButton.html";
 "\">MenuButton</link>"
@@ -26996,7 +28120,7 @@ msgstr ""
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
-#: C/message-board.c.page:36(media)
+#: C/message-board.c.page:40(media)
 msgctxt "_"
 msgid ""
 "external ref='media/message-board.ogv' md5='beb80c4538776dc2cdd26c95abea5027'"
@@ -27004,30 +28128,33 @@ msgstr ""
 "external ref='media/message-board.ogv' md5='beb80c4538776dc2cdd26c95abea5027'"
 
 #: C/message-board.c.page:7(info/title)
+#| msgctxt "text"
+#| msgid "Message Board (C)"
 msgctxt "text"
-msgid "Message Board (C)"
+msgid "Message board (C)"
 msgstr "Πίνακας μηνύματος (C)"
 
 #: C/message-board.c.page:10(info/desc)
 msgid "A simple program using WebKitGTK+ and the DOM."
 msgstr "Ένα απλό πρόγραμμα που χρησιμοποιεί WebKitGTK+ και DOM."
 
-#: C/message-board.c.page:21(page/title)
-msgid "Message Board"
+#: C/message-board.c.page:25(page/title)
+#| msgid "Message Board"
+msgid "Message board"
 msgstr "Πίνακας μηνύματος"
 
-#: C/message-board.c.page:26(item/p)
+#: C/message-board.c.page:30(item/p)
 msgid "How to display a web page with WebKit."
 msgstr "Πώς να εμφανίσετε μια ιστοσελίδα με WebKit."
 
-#: C/message-board.c.page:27(item/p)
+#: C/message-board.c.page:31(item/p)
 msgid ""
 "How to manipulate the contents of a web page using WebKit's DOM functions."
 msgstr ""
 "Πώς να χειριστείτε τα περιεχόμενα μιας ιστοσελίδας χρησιμοποιώντας τις "
 "συναρτήσεις DOM του WebKit."
 
-#: C/message-board.c.page:30(synopsis/p)
+#: C/message-board.c.page:34(synopsis/p)
 msgid ""
 "This tutorial assumes you are familiar with the C programming language and "
 "have a basic understanding of GTK+, including how to create and place "
@@ -27039,7 +28166,7 @@ msgstr ""
 "γραφικών συστατικών και της σύνδεσης συναρτήσεων επανάκλησης σε σήματα. "
 "Δείτε <link xref=\"image-viewer.c\"/> για να μάθετε τα βασικά του GTK+."
 
-#: C/message-board.c.page:43(section/p)
+#: C/message-board.c.page:47(section/p)
 msgid ""
 "The GNOME platform includes WebKitGTK+, built on top of the powerful WebKit "
 "HTML framework. WebKit is used throughout GNOME, not just to view web pages "
@@ -27051,7 +28178,7 @@ msgstr ""
 "προβολή ιστοσελίδων στο διαδίκτυο, αλλά επίσης για δημιουργία πλούσιων "
 "διεπαφών χρήστη που μπορούν εύκολα να μορφοποιηθούν με CSS."
 
-#: C/message-board.c.page:48(section/p)
+#: C/message-board.c.page:52(section/p)
 msgid ""
 "In this tutorial, you will create a simple message board using WebKit. The "
 "message board will allow you to enter some text and have it added to a list "
@@ -27063,7 +28190,7 @@ msgstr ""
 "κάποιου κειμένου και την προσθήκη του σε μια λίστα μηνυμάτων σε HTML. Πριν "
 "την εκκίνηση, χρειαζόσαστε να ρυθμίσετε ένα έργο στο Anjuta."
 
-#: C/message-board.c.page:54(item/p)
+#: C/message-board.c.page:58(item/p)
 msgid ""
 "In Anjuta, click <guiseq><gui>File</gui><gui>New</gui> <gui>Project</gui></"
 "guiseq> to open the new project assistant."
@@ -27071,7 +28198,7 @@ msgstr ""
 "Στο Anjuta, κάντε κλικ στο <guiseq><gui>Αρχείο</gui><gui>Νέο</gui> "
 "<gui>Έργο</gui></guiseq> για να ανοίξετε τον νέο βοηθό έργου."
 
-#: C/message-board.c.page:56(item/p)
+#: C/message-board.c.page:60(item/p)
 msgid ""
 "Select <gui>GTK+ (simple)</gui> on the <gui>C</gui> tab, and click "
 "<gui>Continue</gui>."
@@ -27079,7 +28206,7 @@ msgstr ""
 "Επιλέξτε <gui>GTK+ (απλό)</gui> στην καρτέλα <gui>C</gui> και κλικ "
 "<gui>συνέχεια</gui>."
 
-#: C/message-board.c.page:58(item/p)
+#: C/message-board.c.page:62(item/p)
 msgid ""
 "Fill out your details on the <gui>Basic information</gui> page. Use "
 "<input>message-board</input> for the project name. Click <gui>Continue</gui>."
@@ -27088,7 +28215,7 @@ msgstr ""
 "Χρησιμοποιήστε <input>πίνακα μηνύματος</input> για το όνομα του έργου. Κλικ "
 "<gui>συνέχεια</gui>."
 
-#: C/message-board.c.page:61(item/p)
+#: C/message-board.c.page:65(item/p)
 msgid ""
 "Disable the <gui>Use GtkBuilder for user interface</gui> option as this "
 "tutorial builds the user-interface manually."
@@ -27096,7 +28223,7 @@ msgstr ""
 "Απενεργοποιήστε την επιλογή <gui>χρήση GtkBuilder για διεπαφή χρήστη</gui> "
 "καθώς αυτό το μάθημα κατασκευάζει τη διεπαφή χρήστη χειροκίνητα."
 
-#: C/message-board.c.page:64(item/p)
+#: C/message-board.c.page:68(item/p)
 msgid ""
 "You need to tell Anjuta you're using WebKitGTK+ on this project. On the "
 "<gui>Project options</gui> page, select <gui>Configure external packages</"
@@ -27108,7 +28235,7 @@ msgstr ""
 "πακέτων</gui>. Κλικ <gui>συνέχεια</gui>. Στη σελίδα <gui>ρύθμιση εξωτερικών "
 "πακέτων</gui>, σημειώστε <gui>webkitgtk-3.0</gui>."
 
-#: C/message-board.c.page:70(section/p)
+#: C/message-board.c.page:74(section/p)
 msgid ""
 "After you finish the new project assistant, open the file <file>src/main.c</"
 "file> from either the <gui>Project</gui> or the <gui>File</gui> tab. Anjuta "
@@ -27124,12 +28251,12 @@ msgstr ""
 "τις κεφαλίδες WebKit. Μετά τη γραμμή που περιέχει <code>gtk/gtk.h</code>, "
 "προσθέστε την παρακάτω γραμμή:"
 
-#: C/message-board.c.page:77(section/code)
+#: C/message-board.c.page:81(section/code)
 #, no-wrap
 msgid "#include &lt;webkit/webkit.h&gt;"
 msgstr "#include &lt;webkit/webkit.h&gt;"
 
-#: C/message-board.c.page:79(section/p)
+#: C/message-board.c.page:83(section/p)
 msgid ""
 "Verify that everything works by building what you have so far. Click "
 "<guiseq><gui>Build</gui><gui>Build Project</gui></guiseq> or just press "
@@ -27143,7 +28270,7 @@ msgstr ""
 "κατασκευάζετε, θα σας ζητηθεί για κάποιες επιλογές ρύθμισης. Απλά "
 "αποδεχτείτε τις προεπιλογές και κλικ <gui>εκτέλεση</gui>."
 
-#: C/message-board.c.page:85(section/p)
+#: C/message-board.c.page:89(section/p)
 msgid ""
 "You should now be able to run the program. Click <guiseq> <gui>Run</"
 "gui><gui>Execute</gui></guiseq> or just press <key>F3</key>. You should see "
@@ -27153,11 +28280,11 @@ msgstr ""
 "<gui>Τρέξιμο</gui><gui>Εκτέλεση</gui></guiseq> ή απλά πατήστε <key>F3</key>. "
 "Θα πρέπει να δείτε ένα άδειο παράθυρο."
 
-#: C/message-board.c.page:91(section/title)
+#: C/message-board.c.page:95(section/title)
 msgid "Lay out your window and web view"
 msgstr "Διευθέτηση του παραθύρου σας και προβολή ιστού"
 
-#: C/message-board.c.page:93(section/p)
+#: C/message-board.c.page:97(section/p)
 msgid ""
 "Now that you can show a window, it's time to start working with WebKit. For "
 "this tutorial, you'll create a text entry and a web view and pack them both "
@@ -27169,7 +28296,7 @@ msgstr ""
 "και μια προβολή ιστού και πακετάρισμα τους σε ένα παράθυρο. Βρείτε τη "
 "συνάρτηση <code>create_window</code> και αντικαταστήστε την με την παρακάτω:"
 
-#: C/message-board.c.page:98(section/code)
+#: C/message-board.c.page:102(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -27240,7 +28367,7 @@ msgstr ""
 "    return window;\n"
 "}\n"
 
-#: C/message-board.c.page:133(section/p)
+#: C/message-board.c.page:137(section/p)
 msgid ""
 "You first create a <code>GtkWindow</code> object and set its title and "
 "default size. You also connect the <code>gtk_main_quit</code> function to "
@@ -27254,7 +28381,7 @@ msgstr ""
 "<code>delete-event</code> εκπέμπεται όταν το παράθυρο κλείνει. Η συνάρτηση "
 "<code>gtk_main_quit</code> είναι τμήμα του GTK και εγκαταλείπει την εφαρμογή."
 
-#: C/message-board.c.page:139(section/p)
+#: C/message-board.c.page:143(section/p)
 msgid ""
 "You then create a vertical box and add it to the window. A window can only "
 "hold a single child widget, so you need to use a box to add multiple "
@@ -27270,7 +28397,7 @@ msgstr ""
 "επόμενη γραμμή βάζει ένα περίγραμμα έξη εικονοστοιχείων γύρω από όλο το "
 "αντικείμενο."
 
-#: C/message-board.c.page:145(section/p)
+#: C/message-board.c.page:149(section/p)
 msgid ""
 "You next create a <code>GtkEntry</code> object and pack it into the box. The "
 "third and fourth arguments to <code>gtk_box_pack_start</code> specify that "
@@ -27286,7 +28413,7 @@ msgstr ""
 "θέλετε γύρω από την καταχώριση. Σε αυτή την περίπτωση, ορίζετε τη συμπλήρωση "
 "σε μηδέν, επειδή επιτρέπετε στο πλαίσιο να χειριστεί όλη τη συμπλήρωση."
 
-#: C/message-board.c.page:152(section/p)
+#: C/message-board.c.page:156(section/p)
 msgid ""
 "Before you add a web view, you have to create a scrolled window to put it "
 "inside of. The scrolled window will place scrollbars on the right and bottom "
@@ -27303,7 +28430,7 @@ msgstr ""
 "επιτρέψετε στο κυλιόμενο παράθυρο (και συνεπώς στην προβολή ιστού) να "
 "χρησιμοποιήσει οποιοδήποτε διαθέσιμο χώρο στο πλαίσιο."
 
-#: C/message-board.c.page:159(section/p)
+#: C/message-board.c.page:163(section/p)
 msgid ""
 "Finally, you create a <code>WebKitWebView</code> and add it to the scrolled "
 "window. Then load a very basic HTML page into the web view by calling "
@@ -27314,11 +28441,11 @@ msgstr ""
 "προβολή ιστού καλώντας <code>webkit_web_view_load_string</code> με τα "
 "παρακάτω ορίσματα:"
 
-#: C/message-board.c.page:165(item/title)
+#: C/message-board.c.page:169(item/title)
 msgid "<code>WEBKIT_WEB_VIEW (view)</code>"
 msgstr "<code>WEBKIT_WEB_VIEW (view)</code>"
 
-#: C/message-board.c.page:166(item/p)
+#: C/message-board.c.page:170(item/p)
 msgid ""
 "The view itself. Because <code>view</code> is typed as a <code>GtkWidget*</"
 "code>, you have to use <code>WEBKIT_WEB_VIEW</code> to safely cast the "
@@ -27328,19 +28455,19 @@ msgstr ""
 "<code>GtkWidget</code>, πρέπει να χρησιμοποιήσετε <code>WEBKIT_WEB_VIEW</"
 "code> για ασφαλή αλλαγή του αντικειμένου."
 
-#: C/message-board.c.page:171(item/title)
+#: C/message-board.c.page:175(item/title)
 msgid "<code>\"&lt;html&gt;&lt;body&gt;&lt;/body&gt;&lt;/html&gt;\"</code>"
 msgstr "<code>\"&lt;html&gt;&lt;body&gt;&lt;/body&gt;&lt;/html&gt;\"</code>"
 
-#: C/message-board.c.page:172(item/p)
+#: C/message-board.c.page:176(item/p)
 msgid "The simplest HTML file you could possibly write."
 msgstr "Το απλούστερο αρχείο HTML που θα μπορούσατε να γράψετε."
 
-#: C/message-board.c.page:175(item/title)
+#: C/message-board.c.page:179(item/title)
 msgid "<code>\"text/html\"</code>"
 msgstr "<code>\"text/html\"</code>"
 
-#: C/message-board.c.page:176(item/p)
+#: C/message-board.c.page:180(item/p)
 msgid ""
 "The MIME type of the content you provided. In this case, you're using plain "
 "HTML."
@@ -27348,11 +28475,11 @@ msgstr ""
 "Ο τύπος MIME του περιεχομένου που δίνετε. Σε αυτήν την περίπτωση, "
 "χρησιμοποιείτε απλό HTML."
 
-#: C/message-board.c.page:180(item/title)
+#: C/message-board.c.page:184(item/title)
 msgid "<code>\"UTF-8\"</code>"
 msgstr "<code>\"UTF-8\"</code>"
 
-#: C/message-board.c.page:181(item/p)
+#: C/message-board.c.page:185(item/p)
 msgid ""
 "The character encoding of the content you provided. Although you only used "
 "ASCII characters, it's a good idea to specify UTF-8. UTF-8 is used as the "
@@ -27362,11 +28489,11 @@ msgstr ""
 "μόνο ASCII χαρακτήρες, είναι καλή ο καθορισμός UTF-8. Το UTF-8 "
 "χρησιμοποιείται ως η προεπιλεγμένη κωδικοποίηση ολοκληρωτικά στο GNOME."
 
-#: C/message-board.c.page:186(item/title)
+#: C/message-board.c.page:190(item/title)
 msgid "<code>NULL</code>"
 msgstr "<code>NULL</code>"
 
-#: C/message-board.c.page:187(item/p)
+#: C/message-board.c.page:191(item/p)
 msgid ""
 "The base URI. You don't need it in this simple example, but you might want "
 "to provide a <sys>file:</sys> URI if you add images or other features where "
@@ -27376,7 +28503,7 @@ msgstr ""
 "θελήσετε να δώσετε ένα <sys>file:</sys> URI εάν προσθέσετε εικόνες ή άλλα "
 "χαρακτηριστικά που θέλετε να χρησιμοποιήσετε σχετικές αναφορές URI."
 
-#: C/message-board.c.page:194(note/p)
+#: C/message-board.c.page:198(note/p)
 msgid ""
 "Every time you add a widget, you have to call <code>gtk_widget_show</code> "
 "on it for it to be visible. If you call <code>gtk_widget_show_all</code> on "
@@ -27393,7 +28520,7 @@ msgstr ""
 "καλέσετε <code>gtk_widget_show_all</code>, όπως όταν θέλετε να κρύψετε "
 "δυναμικά και να εμφανίσετε μερικά γραφικά συστατικά σε απάντηση συμβάντων."
 
-#: C/message-board.c.page:202(section/p)
+#: C/message-board.c.page:206(section/p)
 msgid ""
 "Finally, you have to call <code>gtk_widget_show_all</code> on the box. "
 "Otherwise, none of the widgets you created will be visible. (The window is "
@@ -27404,7 +28531,7 @@ msgstr ""
 "ορατό. (Το παράθυρο εμφανίζεται στη συνάρτηση <code>main</code> με "
 "<code>gtk_widget_show</code>.)"
 
-#: C/message-board.c.page:206(section/p)
+#: C/message-board.c.page:210(section/p)
 msgid ""
 "Build and run the message board again. You should see a window with a text "
 "entry and a web view. It doesn't do anything yet because the text entry and "
@@ -27415,11 +28542,11 @@ msgstr ""
 "ακόμα, επειδή η καταχώριση κειμένου και η προβολή ιστού δεν ξέρουν τίποτα "
 "μεταξύ τους."
 
-#: C/message-board.c.page:212(section/title)
+#: C/message-board.c.page:216(section/title)
 msgid "Hook up signals"
 msgstr "Σύνδεση σημάτων"
 
-#: C/message-board.c.page:214(section/p)
+#: C/message-board.c.page:218(section/p)
 msgid ""
 "Now you want to make the message board actually <em>do</em> something when "
 "you enter text into the text entry. To do this, connect a callback function "
@@ -27436,7 +28563,7 @@ msgstr ""
 "στο <code>create_window</code>, οπουδήποτε αφού και <code>entry</code> και "
 "<code>view</code> οριστούν:"
 
-#: C/message-board.c.page:221(section/code)
+#: C/message-board.c.page:225(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -27445,7 +28572,7 @@ msgstr ""
 "\n"
 "g_signal_connect (entry, \"activate\", G_CALLBACK (entry_activate_cb), view);\n"
 
-#: C/message-board.c.page:225(section/p)
+#: C/message-board.c.page:229(section/p)
 msgid ""
 "You then have to actually define <code>entry_activate_cb</code>. Define it "
 "as follows, anywhere above <code>create_window</code>:"
@@ -27454,7 +28581,7 @@ msgstr ""
 "code>. Ορίστε το όπως ακολουθεί, οπουδήποτε πάνω από το <code>create_window</"
 "code>:"
 
-#: C/message-board.c.page:228(section/code)
+#: C/message-board.c.page:232(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -27495,7 +28622,7 @@ msgstr ""
 "    gtk_entry_set_text (entry, \"\");\n"
 "}\n"
 
-#: C/message-board.c.page:248(section/p)
+#: C/message-board.c.page:252(section/p)
 msgid ""
 "The first thing you do is get a <code>WebKitDOMDocument</code> object that "
 "represents the HTML document displayed in <code>view</code>. The DOM classes "
@@ -27509,7 +28636,7 @@ msgstr ""
 "του εγγράφου HTML και δουλεύουν πολύ παρόμοια με τα APIs DOM που ήδη μπορεί "
 "να ξέρετε από το JavaScript."
 
-#: C/message-board.c.page:254(section/p)
+#: C/message-board.c.page:258(section/p)
 msgid ""
 "Once you have the document, you want to get the <code>body</code> element so "
 "that you can add <code>div</code> elements to it. The "
@@ -27523,7 +28650,7 @@ msgstr ""
 "στοιχείου στο έγγραφο χρησιμοποιώντας επιλογείς CSS. Αυτό σας γλυτώνει από "
 "το γράψιμο κουραστικών βρόχων για πέρασμα του εγγράφου."
 
-#: C/message-board.c.page:265(section/p)
+#: C/message-board.c.page:269(section/p)
 msgid ""
 "Next, you create a new <code>div</code> element to hold the message. Every "
 "element you create has to be attached to a document, so the function to "
@@ -27540,7 +28667,7 @@ msgstr ""
 "Επειδή το <code>gtk_entry_get_text</code> επιστρέφει το <code>const gchar*</"
 "code>, δεν πρέπει να απελευθερώσετε το αποτέλεσμα."
 
-#: C/message-board.c.page:278(section/p)
+#: C/message-board.c.page:282(section/p)
 msgid ""
 "Finally, you append the new <code>div</code> element to the body and clear "
 "out the text entry so you can type something new. Build and run the program "
@@ -27550,11 +28677,11 @@ msgstr ""
 "την καταχώριση κειμένου, έτσι ώστε να μπορείτε να τυπώσετε κάτι νέο. "
 "Κατασκευή και εκτέλεση του προγράμματος ξανά και έλεγχος του για σας."
 
-#: C/message-board.c.page:285(section/title)
+#: C/message-board.c.page:289(section/title)
 msgid "Make it look better with CSS"
 msgstr "Κάντε το να φαίνεται καλύτερα με CSS"
 
-#: C/message-board.c.page:287(section/p)
+#: C/message-board.c.page:291(section/p)
 msgid ""
 "At this point, your program is completely functional, but not very pretty. "
 "You can style the message display with CSS, just like you can with any other "
@@ -27571,7 +28698,7 @@ msgstr ""
 "code> των στοιχείων <code>div</code>. Θα μπορούσατε ακόμα να το "
 "κατασκευάσετε προγραμματιστικά χρησιμοποιώντας τα APIs DOM."
 
-#: C/message-board.c.page:294(section/p)
+#: C/message-board.c.page:298(section/p)
 msgid ""
 "In this tutorial, you'll attach the CSS using the <code>user-stylesheet-uri</"
 "code> property of the <code>WebKitWebSetting</code> object attached to your "
@@ -27595,7 +28722,7 @@ msgstr ""
 "δεδομένα URI. Πρώτα, ορίστε το CSS ως στατική συμβολοσειρά κοντά στην κορυφή "
 "του αρχείου σας."
 
-#: C/message-board.c.page:303(section/code)
+#: C/message-board.c.page:307(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -27622,7 +28749,7 @@ msgstr ""
 "\" margin: 12px; padding: 6px;\"\n"
 "\"}\";\n"
 
-#: C/message-board.c.page:316(section/p)
+#: C/message-board.c.page:320(section/p)
 msgid ""
 "All you have in this example are <code>div</code> elements inside a "
 "<code>body</code> element. If you created more complicated HTML, you could "
@@ -27635,7 +28762,7 @@ msgstr ""
 "πραγματικότητα, εάν είσαστε άνετα με CSS, θα πρέπει να προσπαθήσετε να το "
 "αλλάξετε με κάτι που σας αρέσει καλύτερα."
 
-#: C/message-board.c.page:321(section/p)
+#: C/message-board.c.page:325(section/p)
 msgid ""
 "To apply the CSS, you set the <code>user-stylesheet-uri</code> in the "
 "<code>create_window</code> function, anywhere after <code>view</code> has "
@@ -27645,7 +28772,7 @@ msgstr ""
 "συνάρτηση <code>create_window</code>, οπουδήποτε μετά τον ορισμό του "
 "<code>view</code>."
 
-#: C/message-board.c.page:327(section/code)
+#: C/message-board.c.page:331(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -27666,7 +28793,7 @@ msgstr ""
 "g_free (css);\n"
 "g_free (tmp);\n"
 
-#: C/message-board.c.page:337(section/p)
+#: C/message-board.c.page:341(section/p)
 msgid ""
 "Also, make sure to add variable declarations for <code>tmp</code> and "
 "<code>css</code> to the top of <code>create_window</code>."
@@ -27674,7 +28801,7 @@ msgstr ""
 "Επίσης, βεβαιωθείτε να προσθέσετε δηλώσεις μεταβλητής για <code>tmp</code> "
 "και <code>css</code> στην κορυφή του <code>create_window</code>."
 
-#: C/message-board.c.page:340(section/code)
+#: C/message-board.c.page:344(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -27683,7 +28810,7 @@ msgstr ""
 "\n"
 "gchar *tmp, *css·\n"
 
-#: C/message-board.c.page:344(section/p)
+#: C/message-board.c.page:348(section/p)
 msgid ""
 "A data URI starts with <sys>data:</sys> and some information about the "
 "content type and how the data is encoded. The actual data follows after a "
@@ -27699,7 +28826,7 @@ msgstr ""
 "<sys>file:</sys>, το σχήμα <sys>data:</sys> URI δεν καθορίζει πού να βρείτε "
 "ένα αρχείο για φόρτωση. Μάλλον, δίνει τα συνολικά περιεχόμενα του αρχείου."
 
-#: C/message-board.c.page:351(section/p)
+#: C/message-board.c.page:355(section/p)
 msgid ""
 "The code above first encodes your CSS definitions in Base64, then combines "
 "that with a fixed string to create a data URI. The <code>g_strconcat</code> "
@@ -27716,7 +28843,7 @@ msgstr ""
 "Μην ξεχάσετε να ελευθερώσετε αυτές τις προσωρινές συμβολοσειρές αφού ορίσετε "
 "την ιδιότητα φύλλο μορφοποίησης."
 
-#: C/message-board.c.page:358(section/p)
+#: C/message-board.c.page:362(section/p)
 msgid ""
 "Build and run the program again. It should now work exactly the same as at "
 "the end of the last section, except the messages will be nicely styled with "
@@ -27727,11 +28854,11 @@ msgstr ""
 "μηνύματα που θα μορφοποιούνται όμορφα με περίγραμμα και λεπτή διαβάθμιση "
 "παρασκηνίου."
 
-#: C/message-board.c.page:364(section/title)
+#: C/message-board.c.page:368(section/title)
 msgid "Learn more"
 msgstr "Μάθετε περισσότερα"
 
-#: C/message-board.c.page:366(section/p)
+#: C/message-board.c.page:370(section/p)
 msgid ""
 "This tutorial showed you how to create a basic application using GTK+ and "
 "WebKit, including showing a document and manipulating its contents. To "
@@ -27744,7 +28871,7 @@ msgstr ""
 "προφανώς να κάνετε κάτι περισσότερο. Προσπαθήστε να προσθέσετε δικά σας "
 "χαρακτηριστικά. Να μερικές ιδέες:"
 
-#: C/message-board.c.page:372(item/p)
+#: C/message-board.c.page:376(item/p)
 msgid ""
 "If you're comfortable with CSS, try changing the style of the message "
 "display. CSS is easy to get started with, but increasingly more powerful. "
@@ -27757,7 +28884,7 @@ msgstr ""
 "κάθε τι που μπορείτε να κάνετε στον ιστό, μπορείτε να το κάνετε με αυτήν την "
 "εφαρμογή."
 
-#: C/message-board.c.page:378(item/p)
+#: C/message-board.c.page:382(item/p)
 msgid ""
 "Right now, you lose all your messages whenever you close the message board. "
 "Try saving the HTML contents after each post, and loading the saved file (if "
@@ -27767,7 +28894,7 @@ msgstr ""
 "Δοκιμάστε να αποθηκεύσετε τα περιεχόμενα HTML μετά από κάθε ταχυδρόμηση και "
 "φορτώστε το αποθηκευμένο αρχείο (εάν υπάρχει) στην εκκίνηση."
 
-#: C/message-board.c.page:386(item/p)
+#: C/message-board.c.page:390(item/p)
 msgid ""
 "If you keep your messages around for a long time, you'll start wondering "
 "when you posted them. Add a timestamp to each message when it's posted. "
@@ -27780,7 +28907,7 @@ msgstr ""
 "στοιχεία <code>div</code> με διαφορετικές κλάσεις που μπορείτε να "
 "μορφοποιήσετε σε CSS."
 
-#: C/message-board.c.page:393(item/p)
+#: C/message-board.c.page:397(item/p)
 msgid ""
 "This program keeps messages around forever. Think about ways you could allow "
 "the user to delete messages. Perhaps you want messages to disappear "
@@ -28238,7 +29365,6 @@ msgid "A popup message attached to a window"
 msgstr "Ένα επισυναπτόμενο αναδυόμενο μήνυμα σε ένα παράθυρο"
 
 #: C/messagedialog.js.page:25(page/p)
-#, fuzzy
 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 "
@@ -28252,10 +29378,10 @@ msgstr ""
 "έναν αναδυόμενο στον οποίο πρέπει να απαντήσετε πριν να επιστρέψετε σε ότι "
 "κάνατε στο παράθυρο στο οποίο είναι προσαρτημένο. Αυτό μπορεί να προκαλέσει "
 "την έκρηξη του κόσμου (ή τουλάχιστον λέει ότι μπορεί). Για να κάνετε το "
-"αναδυόμενο να εμφανιστεί όταν εκτελείτε αυτό το δείγμα, πατήστε στο \"Message"
-"\" μέσα στο μενού της εφαρμογής του -- αυτό είναι το μενού που εμφανίζεται "
-"όταν πατάτε στο όνομα μιας εφαρμογής στην πάνω αριστερή γωνία της οθόνης, "
-"δίπλα στις ενέργειες."
+"αναδυόμενο να εμφανιστεί όταν εκτελείτε αυτό το δείγμα, πατήστε στο "
+"\"Message\" μέσα στο μενού της εφαρμογής του -- αυτό είναι το μενού που "
+"εμφανίζεται όταν πατάτε στο όνομα μιας εφαρμογής στην πάνω αριστερή γωνία "
+"της οθόνης, δίπλα στις ενέργειες."
 
 #: C/messagedialog.js.page:26(note/p)
 msgid ""
@@ -28264,10 +29390,10 @@ msgid ""
 "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 ""
-"Η διαφορά μεταξύ ενός MessageDialog και ενός <link xref=\"dialog.js"
-"\">διαλόγου</link> είναι ότι ο διάλογος μπορεί να περιέχει οποιαδήποτε "
-"γραφικά συστατικά και περιεχόμενο θέλετε να βάλετε μέσα, ενώ ένας "
-"MessageDialog είναι απλά ένας βολικός τρόπος να κάνετε τα αναδυόμενα να "
+"Η διαφορά μεταξύ ενός MessageDialog και ενός <link "
+"xref=\"dialog.js\">διαλόγου</link> είναι ότι ο διάλογος μπορεί να περιέχει "
+"οποιαδήποτε γραφικά συστατικά και περιεχόμενο θέλετε να βάλετε μέσα, ενώ "
+"ένας MessageDialog είναι απλά ένας βολικός τρόπος να κάνετε τα αναδυόμενα να "
 "εμφανιστούν με ένα βασικό μήνυμα και κουμπιά."
 
 #: C/messagedialog.js.page:43(section/code)
@@ -29054,6 +30180,19 @@ msgstr ""
 msgid "Useful methods for a MessageDialog widget"
 msgstr "Χρήσιμες μέθοδοι για ένα γραφικό συστατικό MessageDialog"
 
+#: C/messagedialog.py.page:36(section/p)
+msgid ""
+"In line 18 the signal <code>\"activate\"</code> is connected to the callback "
+"function <code>message_cb()</code> using <code><var>widget</var>.connect"
+"(<var>signal</var>, <var>callback function</var>)</code>. See <link xref="
+"\"signals-callbacks.py\"/> for a more detailed explanation."
+msgstr ""
+"Στη γραμμή 18 το σήμα <code>\"activate\"</code> συνδέεται με τη συνάρτηση "
+"επανάκλησης <code>message_cb()</code> χρησιμοποιώντας "
+"<code><var>widget</var>.connect(<var>signal</var>, <var>callback "
+"function</var>)</code>. Δείτε <link xref=\"signals-callbacks.py\"/> για μια "
+"πιο λεπτομερή εξήγηση."
+
 #: C/messagedialog.py.page:38(item/p)
 msgid ""
 "In the constructor of MessageDialog we could set flags as <code>Gtk."
@@ -29347,23 +30486,22 @@ msgstr ""
 "ButtonsType</link>"
 
 #: C/model-view-controller.py.page:8(info/title)
-#, fuzzy
 msgctxt "text"
 msgid "The Model/View/Controller design (Python)"
 msgstr "Η σχεδίαση προτύπου/προβολής/ελεγκτή (Python)"
 
-#: C/model-view-controller.py.page:12(info/desc)
-#: C/model-view-controller.py.page:25(page/title)
+#: C/model-view-controller.py.page:13(info/desc)
+#: C/model-view-controller.py.page:26(page/title)
 msgid "The Model/View/Controller design"
 msgstr "Η σχεδίαση προτύπου/προβολής/ελεγκτή"
 
-#: C/model-view-controller.py.page:30(section/title)
-#: C/properties.py.page:30(section/title)
-#: C/signals-callbacks.py.page:30(section/title)
+#: C/model-view-controller.py.page:31(section/title)
+#: C/properties.py.page:31(section/title)
+#: C/signals-callbacks.py.page:31(section/title)
 msgid "Overview"
 msgstr "Επισκόπηση"
 
-#: C/model-view-controller.py.page:32(section/p)
+#: C/model-view-controller.py.page:33(section/p)
 msgid ""
 "Both the <link xref=\"treeview_simple_liststore.py\">TreeView</link> and the "
 "<link xref=\"combobox.py\">ComboBox</link> widgets are built on the "
@@ -29390,11 +30528,11 @@ msgstr ""
 "και ειδοποιεί την προβολή αυτών των αλλαγών (μέσα από σήματα όπως <code>"
 "\"changed\"</code>)."
 
-#: C/model-view-controller.py.page:37(section/title)
+#: C/model-view-controller.py.page:38(section/title)
 msgid "The Model"
 msgstr "Το πρότυπο"
 
-#: C/model-view-controller.py.page:39(section/p)
+#: C/model-view-controller.py.page:40(section/p)
 msgid ""
 "The main difference between the two main implementations of <code>Gtk."
 "TreeModel</code> is that <code>Gtk.ListStore</code> contains simple rows of "
@@ -29408,7 +30546,7 @@ msgstr ""
 "γραμμές δεδομένων, αλλά κάθε γραμμή μπορεί να έχει θυγατρικές γραμμές (που "
 "με τη σειρά τους μπορούν να έχουν θυγατρικές γραμμές κ.ο.κ)."
 
-#: C/model-view-controller.py.page:41(section/p)
+#: C/model-view-controller.py.page:42(section/p)
 msgid ""
 "The data in the Model can be retrieved or modified using the tree iter and "
 "column index, or <code>Gtk.TreeIter</code>, or <code>Gtk.TreePath</code>."
@@ -29417,7 +30555,7 @@ msgstr ""
 "χρησιμοποιώντας την επανάληψη δένδρου και δείκτη στήλης, ή <code>Gtk."
 "TreeIter</code>, ή <code>Gtk.TreePath</code>."
 
-#: C/model-view-controller.py.page:43(section/p)
+#: C/model-view-controller.py.page:44(section/p)
 msgid ""
 "As with Python's built-in list object you can use <code>len()</code> to get "
 "the number of rows and use slices to retrieve or set values. Otherwise, the "
@@ -29432,7 +30570,7 @@ msgstr ""
 "που δείχνει στη θέση της νεοεισαγμένης γραμμής. Μπορείτε επίσης να "
 "ανακτήσετε μια <code>Gtk.TreeIter</code> καλώντας <code>get_iter()</code>."
 
-#: C/model-view-controller.py.page:45(section/p)
+#: C/model-view-controller.py.page:46(section/p)
 msgid ""
 "As <code>Gtk.ListStore</code> contains only one level, i.e. nodes do not "
 "have any child nodes, a path is essentially the index of the row you want to "
@@ -29452,11 +30590,11 @@ msgstr ""
 "και η διαδρομή <code>\"2:4\"</code> αναφέρεται στον πέμπτο θυγατρικό του "
 "τρίτου κόμβου."
 
-#: C/model-view-controller.py.page:47(section/p)
+#: C/model-view-controller.py.page:48(section/p)
 msgid "Useful methods for a <code>Gtk.TreeModel</code>:"
 msgstr "Χρήσιμες μέθοδοι για ένα <code>Gtk.TreeModel</code>:"
 
-#: C/model-view-controller.py.page:49(item/p)
+#: C/model-view-controller.py.page:50(item/p)
 msgid ""
 "<code>get_iter(path)</code> returns a <code>Gtk.TreeIter</code> instance "
 "pointing to <code>path</code>. This is expected to be a colon-separated list "
@@ -29473,7 +30611,7 @@ msgstr ""
 "βάθους 3 που να δείχνει στην 11η θυγατρική του ριζικού κόμβου, την 5η "
 "θυγατρική της 11ης θυγατρικής και 1η θυγατρική της 5ης θυγατρικής."
 
-#: C/model-view-controller.py.page:50(item/p)
+#: C/model-view-controller.py.page:51(item/p)
 msgid ""
 "<code>iter_next(treeiter)</code> returns a <code>Gtk.TreeIter</code> "
 "instance pointing the node following treeiter at the current level or "
@@ -29483,7 +30621,7 @@ msgstr ""
 "TreeIter</code> που δείχνει τον κόμβο που ακολουθεί την treeiter στο τρέχον "
 "επίπεδο ή <code>None</code> εάν δεν υπάρχει επόμενη επανάληψη."
 
-#: C/model-view-controller.py.page:51(item/p)
+#: C/model-view-controller.py.page:52(item/p)
 msgid ""
 "<code>iter_has_child(treeiter)</code> returns <code>True</code> if "
 "<code>treeiter</code> has children, <code>False</code> otherwise."
@@ -29491,7 +30629,7 @@ msgstr ""
 "Η <code>iter_has_child(treeiter)</code> επιστρέφει <code>True</code> εάν η "
 "<code>treeiter</code> έχει θυγατρικά, αλλιώς <code>False</code>."
 
-#: C/model-view-controller.py.page:52(item/p)
+#: C/model-view-controller.py.page:53(item/p)
 msgid ""
 "<code>iter_children(treeiter)</code> returns a <code>Gtk.TreeIter</code> "
 "instance pointing to the first child of <code>treeiter</code> or <code>None</"
@@ -29501,7 +30639,7 @@ msgstr ""
 "TreeIter</code> που δείχνει στην πρώτη θυγατρική της <code>treeiter</code> ή "
 "<code>None</code> εάν η <code>treeiter</code> δεν έχει θυγατρικές."
 
-#: C/model-view-controller.py.page:53(item/p)
+#: C/model-view-controller.py.page:54(item/p)
 msgid ""
 "<code>get_iter_first()</code> returns a <code>Gtk.TreeIter</code> instance "
 "pointing to the first iterator in the tree (the one at the path <code>\"0\"</"
@@ -29511,11 +30649,11 @@ msgstr ""
 "TreeIter</code> που δείχνει στον πρώτο επαναλήπτη στο δένδρο (αε αυτόν στη "
 "διαδρομή <code>\"0\"</code>) ή <code>None</code> εάν το δένδρο είναι κενό."
 
-#: C/model-view-controller.py.page:56(section/p)
+#: C/model-view-controller.py.page:57(section/p)
 msgid "Useful methods for a <code>Gtk.ListStore</code>:"
 msgstr "Χρήσιμες μέθοδοι για μια <code>Gtk.ListStore</code>:"
 
-#: C/model-view-controller.py.page:58(item/p)
+#: C/model-view-controller.py.page:59(item/p)
 msgid ""
 "<code>append(row)</code> appends a new row to this list store, where "
 "<code>row</code> can be a list of values for each column; <code>row</code> "
@@ -29530,8 +30668,8 @@ msgstr ""
 "επιστρέφει μια <code>Gtk.TreeIter</code> που δείχνει στην προσαρτημένη "
 "γραμμή."
 
-#: C/model-view-controller.py.page:59(item/p)
-#: C/model-view-controller.py.page:65(item/p)
+#: C/model-view-controller.py.page:60(item/p)
+#: C/model-view-controller.py.page:66(item/p)
 msgid ""
 "<code>remove(iter)</code> removes <code>iter</code> from the <code>Gtk."
 "ListStore</code>, and returns <code>True</code> if the iter is valid, and "
@@ -29543,11 +30681,11 @@ msgstr ""
 "έγκυρη και <code>False</code> εάν η επανάληψη δεν είναι. Μετά την αφαίρεση, "
 "η <code>iter</code> ορίζεται να είναι η επόμενη έγκυρη γραμμή."
 
-#: C/model-view-controller.py.page:62(section/p)
+#: C/model-view-controller.py.page:63(section/p)
 msgid "Useful methods for a <code>Gtk.TreeStore</code>:"
 msgstr "Χρήσιμες μέθοδοι για μία <code>Gtk.TreeStore</code>:"
 
-#: C/model-view-controller.py.page:64(item/p)
+#: C/model-view-controller.py.page:65(item/p)
 msgid ""
 "<code>append(parent, row)</code> appends a new row to this tree store; "
 "<code>parent</code> must be a valid Gtk.TreeIter. If parent is not "
@@ -29566,11 +30704,11 @@ msgstr ""
 "τελευταία περίπτωση μια κενή γραμμή θα προσαρτηθεί. Η μέθοδος επιστρέφει μια "
 "<code>Gtk.TreeIter</code> που δείχνει την προσαρτημένη γραμμή."
 
-#: C/model-view-controller.py.page:71(section/title)
+#: C/model-view-controller.py.page:72(section/title)
 msgid "The View: the TreeView case"
 msgstr "Η προβολή: η περίπτωση TreeView"
 
-#: C/model-view-controller.py.page:73(section/p)
+#: C/model-view-controller.py.page:74(section/p)
 msgid ""
 "A Treeview shows the structure of children and parent items as a tree. See "
 "for instance <link xref=\"treeview_treestore.py\">this example</link>."
@@ -29579,18 +30717,18 @@ msgstr ""
 "δένδρο. Δείτε για παράδειγμα <link xref=\"treeview_treestore.py\">αυτό το "
 "παράδειγμα</link>."
 
-#: C/model-view-controller.py.page:75(section/p)
+#: C/model-view-controller.py.page:76(section/p)
 msgid ""
 "The <code>Gtk.TreeViewColumn</code> is used to organize the vertical columns."
 msgstr ""
 "Η <code>Gtk.TreeViewColumn</code> χρησιμοποιείται για οργάνωση των κάθετων "
 "στηλών."
 
-#: C/model-view-controller.py.page:77(section/p)
+#: C/model-view-controller.py.page:78(section/p)
 msgid "Useful methods for a <code>Gtk.TreeView</code>:"
 msgstr "Χρήσιμες μέθοδοι για μια <code>Gtk.TreeView</code>:"
 
-#: C/model-view-controller.py.page:79(item/p)
+#: C/model-view-controller.py.page:80(item/p)
 msgid ""
 "<code>set_model(model)</code> sets the model for this tree view. If this "
 "tree view already has a model set, it will remove it before setting the new "
@@ -29601,7 +30739,7 @@ msgstr ""
 "αφαιρέσει πριν τη ρύθμιση του νέου προτύπου. Εάν το πρότυπο είναι "
 "<code>None</code>, τότε θα αναιρέσει το παλιό πρότυπο."
 
-#: C/model-view-controller.py.page:80(item/p)
+#: C/model-view-controller.py.page:81(item/p)
 msgid ""
 "<code>get_model()</code> returns the model this tree view is based on, "
 "<code>None</code> if the model is unset."
@@ -29609,7 +30747,7 @@ msgstr ""
 "Η <code>get_model()</code> επιστρέφει το πρότυπο αυτής της προβολής δένδρου "
 "στο οποίο βασίζεται, <code>None</code> εάν το πρότυπο έχει αναιρεθεί."
 
-#: C/model-view-controller.py.page:81(item/p)
+#: C/model-view-controller.py.page:82(item/p)
 msgid ""
 "<code>append_column(column)</code> appends <code>column</code> to the list "
 "of columns."
@@ -29617,7 +30755,7 @@ msgstr ""
 "Η <code>append_column(column)</code> προσαρτά <code>column</code> στη λίστα "
 "των στηλών."
 
-#: C/model-view-controller.py.page:82(item/p)
+#: C/model-view-controller.py.page:83(item/p)
 msgid ""
 "<code>get_selection()</code> gets the <code>Gtk.TreeSelection</code> "
 "associated with this tree view."
@@ -29625,11 +30763,11 @@ msgstr ""
 "Η <code>get_selection()</code> παίρνει την <code>Gtk.TreeSelection</code> "
 "συσχετισμένη με αυτήν την προβολή δένδρου."
 
-#: C/model-view-controller.py.page:85(section/p)
+#: C/model-view-controller.py.page:86(section/p)
 msgid "Useful methods for a <code>Gtk.TreeViewColumn</code>:"
 msgstr "Χρήσιμες μέθοδοι για μια <code>Gtk.TreeViewColumn</code>:"
 
-#: C/model-view-controller.py.page:87(item/p)
+#: C/model-view-controller.py.page:88(item/p)
 msgid ""
 "<code>add_attribute(renderer, attribute, value)</code> adds an attribute "
 "mapping to this column. <code>attribute</code> is the parameter on "
@@ -29640,7 +30778,7 @@ msgstr ""
 "παράμετρος στον <code>renderer</code> για να οριστεί από την <code>value</"
 "code>"
 
-#: C/model-view-controller.py.page:88(item/p)
+#: C/model-view-controller.py.page:89(item/p)
 msgid ""
 "<code>pack_start(renderer, expand)</code> packs <code>renderer</code> into "
 "the beginning of this column. If <code>expand</code> is <code>False</code>, "
@@ -29655,7 +30793,7 @@ msgstr ""
 "διαιρείται εξίσου μεταξύ των κελιών για τα οποία η επέκταση είναι "
 "<code>True</code>."
 
-#: C/model-view-controller.py.page:89(item/p)
+#: C/model-view-controller.py.page:90(item/p)
 msgid ""
 "<code>pack_end(renderer, expand)</code> adds <code>renderer</code> to end of "
 "this column. If <code>expand</code> is <code>False</code>, then "
@@ -29670,7 +30808,7 @@ msgstr ""
 "διαιρείται εξίσου μεταξύ των κελιών για τα οποία η <code>expand</code> είναι "
 "<code>True</code>."
 
-#: C/model-view-controller.py.page:90(item/p)
+#: C/model-view-controller.py.page:91(item/p)
 msgid ""
 "<code>set_sort_column_id(sort_column_id)</code> sets the column of the model "
 "by which this column (of the view) should be sorted. This also makes the "
@@ -29680,7 +30818,7 @@ msgstr ""
 "προτύπου σύμφωνα με το οποίο αυτή η στήλη (της προβολής) πρέπει να "
 "ταξινομηθεί. Αυτό επίσης κάνει την κεφαλίδα της στήλης επιλέξιμη."
 
-#: C/model-view-controller.py.page:91(item/p)
+#: C/model-view-controller.py.page:92(item/p)
 msgid ""
 "<code>set_sort_indicator(setting)</code> sets whether a little arrow is "
 "displayed in the column header; <code>setting</code> can either be "
@@ -29690,7 +30828,7 @@ msgstr ""
 "εμφανίζεται στην κεφαλίδα της στήλης· η <code>setting</code> μπορεί ή να "
 "είναι <code>True</code> (ο δείκτης προβάλλεται) ή <code>False</code>."
 
-#: C/model-view-controller.py.page:92(item/p)
+#: C/model-view-controller.py.page:93(item/p)
 msgid ""
 "<code>set_sort_order(order)</code> changes the order by which the column is "
 "sorted; <code>order</code> can either be <code>Gtk.SortType.ASCENDING</code> "
@@ -29700,11 +30838,11 @@ msgstr ""
 "ταξινομείται· η <code>order</code> μπορεί να είναι είτε <code>Gtk.SortType."
 "ASCENDING</code> ή <code>Gtk.SortType.DESCENDING</code>."
 
-#: C/model-view-controller.py.page:98(section/title)
+#: C/model-view-controller.py.page:99(section/title)
 msgid "The View: the ComboBox case"
 msgstr "Η προβολή: η περίπτωση ComboBox"
 
-#: C/model-view-controller.py.page:100(section/p)
+#: C/model-view-controller.py.page:101(section/p)
 msgid ""
 "A <code>Gtk.ComboBox</code> allows for the selection of an item from a "
 "dropdown menu, see for instance <link xref=\"combobox.py\">this example</"
@@ -29718,11 +30856,11 @@ msgstr ""
 "πιο απλό <code>Gtk.ComboBoxText</code>. Αμφότερα τα <code>Gtk.ComboBox</"
 "code> και <code>Gtk.ComboBoxText</code> μπορούν να περιέχουν μια καταχώριση."
 
-#: C/model-view-controller.py.page:102(section/p)
+#: C/model-view-controller.py.page:103(section/p)
 msgid "Useful methods for a <code>Gtk.ComboBox</code>:"
 msgstr "Χρήσιμες μέθοδοι για ένα <code>Gtk.ComboBox</code>:"
 
-#: C/model-view-controller.py.page:104(item/p)
+#: C/model-view-controller.py.page:105(item/p)
 msgid ""
 "The static method <code>new_with_entry()</code> creates a new empty "
 "<code>Gtk.ComboBox</code> with an entry; the static method "
@@ -29736,7 +30874,7 @@ msgstr ""
 "πρότυπο στο <code>model</code>· και η στατική μέθοδος "
 "<code>new_with_model_and_entry(model)</code> είναι ένας συνδυασμός των δύο."
 
-#: C/model-view-controller.py.page:105(item/p)
+#: C/model-view-controller.py.page:106(item/p)
 msgid ""
 "<code>get_active_iter()</code> returns a <code>Gtk.TreeIter</code> pointing "
 "to the current active item. If no active item exists, <code>None</code> is "
@@ -29746,7 +30884,7 @@ msgstr ""
 "που δείχνει στο τρέχον ενεργό στοιχείο. Εάν δεν υπάρχει ενεργό στοιχείο, "
 "επιστρέφεται <code>None</code>."
 
-#: C/model-view-controller.py.page:106(item/p)
+#: C/model-view-controller.py.page:107(item/p)
 msgid ""
 "<code>set_model(model)</code> sets the model used by this combo box to be "
 "<code>model</code>, and it will unset a previously set model (if there is "
@@ -29759,7 +30897,7 @@ msgstr ""
 "είναι <code>None</code>, τότε θα αναιρέσει το πρότυπο. Σημειώστε ότι αυτή η "
 "συνάρτηση δεν καθαρίζει τους σχεδιαστές."
 
-#: C/model-view-controller.py.page:107(item/p)
+#: C/model-view-controller.py.page:108(item/p)
 msgid ""
 "<code>set_entry_text_column(text_column)</code> sets the model column which "
 "this combo box should use to get strings from to be <code>text_column</"
@@ -29774,7 +30912,7 @@ msgstr ""
 "<code>str</code> (αυτό είναι κατάλληλο μόνο εάν αυτό το σύνθετο πλαίσιο "
 "δημιουργήθηκε με την ιδιότητα “has-entry” ορισμένη σε αληθή)."
 
-#: C/model-view-controller.py.page:108(item/p)
+#: C/model-view-controller.py.page:109(item/p)
 msgid ""
 "<code>set_wrap_width(width)</code> sets the wrap width of this combo box to "
 "be <code>width</code>. The wrap width is basically the preferred number of "
@@ -29785,11 +30923,11 @@ msgstr ""
 "βασικά ο προτιμώμενος αριθμός των στηλών όταν θέλετε το αναδυόμενο να "
 "εμφανιστεί σε ένα πλέγμα."
 
-#: C/model-view-controller.py.page:111(section/p)
+#: C/model-view-controller.py.page:112(section/p)
 msgid "Useful methods for a <code>Gtk.ComboBoxText</code>:"
 msgstr "Χρήσιμες μέθοδοι για ένα <code>Gtk.ComboBoxText</code>:"
 
-#: C/model-view-controller.py.page:113(item/p)
+#: C/model-view-controller.py.page:114(item/p)
 msgid ""
 "The static method <code>new_with_entry()</code> creates a new empty "
 "<code>Gtk.ComboBoxText</code> with an entry."
@@ -29797,7 +30935,7 @@ msgstr ""
 "Η στατική μέθοδος <code>new_with_entry()</code> δημιουργεί ένα νέο κενό "
 "<code>Gtk.ComboBoxText</code> με μια εγγραφή."
 
-#: C/model-view-controller.py.page:114(item/p)
+#: C/model-view-controller.py.page:115(item/p)
 msgid ""
 "<code>append_text(text)</code> appends <code>text</code> to the list of "
 "strings stored in this combo box."
@@ -29805,7 +30943,7 @@ msgstr ""
 "Η <code>append_text(text)</code> προσαρτά το <code>text</code> στη λίστα των "
 "αποθηκευμένων συμβολοσειρών σε αυτό το σύνθετο πλαίσιο."
 
-#: C/model-view-controller.py.page:115(item/p)
+#: C/model-view-controller.py.page:116(item/p)
 msgid ""
 "<code>get_active_text()</code> returns the currently active string in this "
 "combo box, or <code>None</code> if none is selected. If this combo box "
@@ -29818,11 +30956,11 @@ msgstr ""
 "επιστρέψει τα περιεχόμενα της (που δεν θα είναι αναγκαστικά ένα στοιχείο από "
 "τη λίστα)."
 
-#: C/model-view-controller.py.page:121(section/title)
+#: C/model-view-controller.py.page:122(section/title)
 msgid "The View: the Cellrenderers"
 msgstr "Η προβολή: οι σχεδιαστές κελιού"
 
-#: C/model-view-controller.py.page:123(section/p)
+#: C/model-view-controller.py.page:124(section/p)
 msgid ""
 "The View makes use of <code>Gtk.CellRenderer</code>s of various types to "
 "draw the data."
@@ -29830,15 +30968,15 @@ msgstr ""
 "Η προβολή κάνει χρήση των <code>Gtk.CellRenderer</code> των ποικίλων τύπων "
 "σχεδίασης των δεδομένων."
 
-#: C/model-view-controller.py.page:125(section/p)
+#: C/model-view-controller.py.page:126(section/p)
 msgid "Implementations of <code>Gtk.CellRenderer</code> and useful methods:"
 msgstr "Εφαρμογές του <code>Gtk.CellRenderer</code> και χρήσιμες μέθοδοι:"
 
-#: C/model-view-controller.py.page:127(item/p)
+#: C/model-view-controller.py.page:128(item/p)
 msgid "<code>Gtk.CellRendererText</code> - renders text in a cell"
 msgstr "<code>Gtk.CellRendererText</code> - αποδίδει κείμενο σε ένα κελί"
 
-#: C/model-view-controller.py.page:128(item/p)
+#: C/model-view-controller.py.page:129(item/p)
 msgid ""
 "<code>Gtk.CellRendererToggle</code> - renders a toggle or radio button in a "
 "cell. Useful methods:"
@@ -29846,19 +30984,19 @@ msgstr ""
 "<code>Gtk.CellRendererToggle</code> - αποδίδει μια εναλλαγή ή ραδιοπλήκτρο "
 "σε ένα κελί. Χρήσιμες μέθοδοι:"
 
-#: C/model-view-controller.py.page:130(item/p)
+#: C/model-view-controller.py.page:131(item/p)
 msgid ""
 "<code>set_active(setting)</code> - activates or deactivates a cell renderer"
 msgstr ""
 "<code>set_active(setting)</code> - ενεργοποιεί ή απενεργοποιεί έναν "
 "αποτυπωτή κελιών"
 
-#: C/model-view-controller.py.page:131(item/p)
+#: C/model-view-controller.py.page:132(item/p)
 msgid "<code>get_active()</code> - returns whether the cell renderer is active"
 msgstr ""
 "<code>get_active()</code> - επιστρέφει εάν ο σχεδιαστής κελιών είναι ενεργός"
 
-#: C/model-view-controller.py.page:132(item/p)
+#: C/model-view-controller.py.page:133(item/p)
 msgid ""
 "<code>set_radio(radio)</code> - if radio is <code>True</code>, the cell "
 "renderer renders a radio toggle (i.e. a toggle in a group of mutually-"
@@ -29870,7 +31008,7 @@ msgstr ""
 "ομάδα αμοιβαία αποκλειόμενων εναλλαγών)· εάν <code>False</code>, αποδίδει "
 "μια εναλλαγή ελέγχου (μια αυτόνομη επιλογή τιμής Μπουλ)"
 
-#: C/model-view-controller.py.page:133(item/p)
+#: C/model-view-controller.py.page:134(item/p)
 msgid ""
 "<code>get_radio()</code> - returns whether we are rendering radio toggles "
 "rather than checkboxes."
@@ -29878,11 +31016,11 @@ msgstr ""
 "<code>get_radio()</code> - επιστρέφει εάν αποδίδουμε ραδιοεναλλαγές αντί για "
 "πλαίσια ελέγχου."
 
-#: C/model-view-controller.py.page:136(item/p)
+#: C/model-view-controller.py.page:137(item/p)
 msgid "<code>Gtk.CellRendererPixbuf</code> - renders an image in a cell"
 msgstr "<code>Gtk.CellRendererPixbuf</code> - αποδίδει μια εικόνα σε ένα κελί"
 
-#: C/model-view-controller.py.page:137(item/p)
+#: C/model-view-controller.py.page:138(item/p)
 msgid ""
 "<code>Gtk.CellRendererCombo</code> - renders text in a cell; but while "
 "<code>Gtk.CellRendererText</code> offers a simple entry to edit the text, "
@@ -29897,7 +31035,7 @@ msgstr ""
 "κειμένου. Μπορεί να χρησιμοποιηθεί με και χωρίς ένα συσχετισμένο γραφικό "
 "συστατικό Gtk.Entry, ανάλογα με την τιμή της ιδιότητας “has-entry”."
 
-#: C/model-view-controller.py.page:138(item/p)
+#: C/model-view-controller.py.page:139(item/p)
 msgid ""
 "<code>Gtk.CellRendererProgress</code> - renders a numeric value as a "
 "progress bar in a cell; it can display a text on top of the progress bar"
@@ -29906,31 +31044,31 @@ msgstr ""
 "γραμμή προόδου σε ένα κελί· μπορεί να εμφανίσει ένα κείμενο στην κορυφή της "
 "γραμμής προόδου"
 
-#: C/model-view-controller.py.page:139(item/p)
+#: C/model-view-controller.py.page:140(item/p)
 msgid ""
 "<code>Gtk.CellRendererSpinner</code> - renders a spinning animation in a cell"
 msgstr ""
 "<code>Gtk.CellRendererSpinner</code> - αποδίδει μια στρεφόμενη κίνηση σε ένα "
 "κελί"
 
-#: C/model-view-controller.py.page:140(item/p)
+#: C/model-view-controller.py.page:141(item/p)
 msgid "<code>Gtk.CellRendererSpin</code> - renders a spin button in a cell"
 msgstr ""
 "<code>Gtk.CellRendererSpin</code> - αποδίδει ένα κουμπί στροβιλισμού σε ένα "
 "κελί"
 
-#: C/model-view-controller.py.page:141(item/p)
+#: C/model-view-controller.py.page:142(item/p)
 msgid ""
 "<code>Gtk.CellRendererAccel</code> - renders a keyboard accelerator in a cell"
 msgstr ""
 "<code>Gtk.CellRendererAccel</code> - αποδίδει έναν επιταχυντή πληκτρολογίου "
 "σε ένα κελί"
 
-#: C/model-view-controller.py.page:147(section/title)
+#: C/model-view-controller.py.page:148(section/title)
 msgid "The Controller: the Selection"
 msgstr "Ο ελεγκτής: η επιλογή"
 
-#: C/model-view-controller.py.page:149(section/p)
+#: C/model-view-controller.py.page:150(section/p)
 msgid ""
 "Most applications will need to not only deal with displaying data, but also "
 "receiving input events from users. To do this, simply get a reference to a "
@@ -29941,7 +31079,7 @@ msgstr ""
 "γίνει αυτό, πάρτε απλά μια αναφορά σε ένα αντικείμενο επιλογής και "
 "συνδεθείτε στο σήμα <code>\"changed\"</code>."
 
-#: C/model-view-controller.py.page:151(section/code)
+#: C/model-view-controller.py.page:152(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -29952,11 +31090,11 @@ msgstr ""
 "select = tree.get_selection()\n"
 "select.connect(\"changed\", on_tree_selection_changed)\n"
 
-#: C/model-view-controller.py.page:156(section/p)
+#: C/model-view-controller.py.page:157(section/p)
 msgid "Then to retrieve data for the row selected:"
 msgstr "Έπειτα για να ανακτήσετε δεδομένα για την επιλεγμένη γραμμή:"
 
-#: C/model-view-controller.py.page:158(section/code)
+#: C/model-view-controller.py.page:159(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -29971,29 +31109,29 @@ msgstr ""
 "    if treeiter != None:\n"
 "        print \"You selected\", model[treeiter][0]\n"
 
-#: C/model-view-controller.py.page:165(section/p)
+#: C/model-view-controller.py.page:166(section/p)
 msgid "Useful methods for a <code>Gtk.TreeSelection</code>:"
 msgstr "Χρήσιμες μέθοδοι για <code>Gtk.TreeSelection</code>:"
 
-#: C/model-view-controller.py.page:168(item/p)
+#: C/model-view-controller.py.page:169(item/p)
 msgid ""
 "<code>set_mode(type)</code> sets the type of selection, where type is one of"
 msgstr ""
 "<code>set_mode(type)</code> ορίζει τον τύπο της επιλογής, όπου τύπος είναι "
 "ένας από"
 
-#: C/model-view-controller.py.page:170(item/p)
+#: C/model-view-controller.py.page:171(item/p)
 msgid "<code>Gtk.SelectionMode.NONE</code> - no selection is possible"
 msgstr "<code>Gtk.SelectionMode.NONE</code> - καμιά επιλογή δεν είναι δυνατή"
 
-#: C/model-view-controller.py.page:171(item/p)
+#: C/model-view-controller.py.page:172(item/p)
 msgid ""
 "<code>Gtk.SelectionMode.SINGLE</code> - zero or one element may be selected"
 msgstr ""
 "<code>Gtk.SelectionMode.SINGLE</code> - κανένα ή ένα στοιχείο μπορεί να "
 "επιλεγεί"
 
-#: C/model-view-controller.py.page:172(item/p)
+#: C/model-view-controller.py.page:173(item/p)
 msgid ""
 "<code>Gtk.SelectionMode.BROWSE</code> - exactly one element is selected. In "
 "some circumstances, such as initially or during a search operation, it’s "
@@ -30007,8 +31145,7 @@ msgstr ""
 "πραγματικά υποχρεωτικό είναι να μην μπορεί να αποεπιλέξει ο χρήστης ένα "
 "τρέχον επιλεγμένο στοιχείο εκτός από την επιλογή ενός άλλου στοιχείου."
 
-#: C/model-view-controller.py.page:173(item/p)
-#, fuzzy
+#: C/model-view-controller.py.page:174(item/p)
 msgid ""
 "<code>Gtk.SelectionMode.MULTIPLE</code> -any number of elements may be "
 "selected. Clicks toggle the state of an item. The Ctrl key may be used to "
@@ -30017,14 +31154,13 @@ msgid ""
 "of elements."
 msgstr ""
 "<code>Gtk.SelectionMode.MULTIPLE</code> - οποιοσδήποτε αριθμός στοιχείων "
-"μπορεί να επιλεγεί. Το πάτημα εναλλάσσει την κατάσταση ενός στοιχείου. "
-"Οποιοσδήποτε αριθμός στοιχείων μπορεί να επιλεγεί. Το πλήκτρο Ctrl μπορεί να "
-"χρησιμοποιηθεί για μεγέθυνση της επιλογής και το πλήκτρο Shift για επιλογή "
-"μεταξύ εστίασης και του θυγατρικού στο οποίο δείχνει. Μερικά γραφικά "
-"συστατικά μπορούν επίσης να επιτρέψουν κλικ-μεταφορά για επιλογή μιας "
-"περιοχής στοιχείων."
+"μπορεί να επιλεγεί. Το πάτημα εναλλάσσει την κατάσταση ενός στοιχείου. Το "
+"πλήκτρο Ctrl μπορεί να χρησιμοποιηθεί για μεγέθυνση της επιλογής και το "
+"πλήκτρο Shift για επιλογή μεταξύ εστίασης και του θυγατρικού στο οποίο "
+"δείχνει. Μερικά γραφικά συστατικά μπορούν επίσης να επιτρέψουν "
+"πάτημα-μεταφορά για επιλογή μιας περιοχής στοιχείων."
 
-#: C/model-view-controller.py.page:176(item/p)
+#: C/model-view-controller.py.page:177(item/p)
 msgid ""
 "<code>get_selected()</code> returns a tuple <code>(model, treeiter)</code>, "
 "where <code>model</code> is the current model and <code>treeiter</code> a "
@@ -30034,27 +31170,27 @@ msgid ""
 "<code>get_selected_rows()</code> instead, which Returns a list of <code>Gtk."
 "TreePath</code> instances of all selected rows."
 msgstr ""
-"<code>get_selected()</code> επιστρέφει μια πλειάδα <code>(model, treeiter)</"
-"code>, όπου <code>model</code> είναι το τρέχον πρότυπο και <code>treeiter</"
-"code> ένα <code>Gtk.TreeIter</code> που δείχνει στην τρέχουσα επιλεγμένη "
-"γραμμή, ή τίποτα εάν δεν επιλεγούν γραμμές. Η μέθοδος δεν δουλεύει εάν η "
-"κατάσταση επιλογής οριστεί σε <code>Gtk.SelectionMode.MULTIPLE</code>· σε "
-"αυτήν την περίπτωση, χρησιμοποιήστε <code>get_selected_rows()</code>, που "
-"επιστρέφει μια λίστα στιγμιοτύπων <code>Gtk.TreePath</code> όλων των "
-"επιλεγμένων γραμμών."
-
-#: C/model-view-controller.py.page:182(section/title)
-#: C/properties.py.page:49(section/title)
-#: C/signals-callbacks.py.page:44(section/title)
-#: C/strings.py.page:124(section/title)
+"<code>get_selected()</code> επιστρέφει μια πλειάδα <code>(model, "
+"treeiter)</code>, όπου <code>model</code> είναι το τρέχον πρότυπο και "
+"<code>treeiter</code> ένα <code>Gtk.TreeIter</code> που δείχνει στην "
+"τρέχουσα επιλεγμένη γραμμή, ή τίποτα εάν δεν επιλεγούν γραμμές. Η μέθοδος "
+"δεν δουλεύει εάν η κατάσταση επιλογής οριστεί σε "
+"<code>Gtk.SelectionMode.MULTIPLE</code>· σε αυτήν την περίπτωση, "
+"χρησιμοποιήστε <code>get_selected_rows()</code>, που επιστρέφει μια λίστα "
+"στιγμιοτύπων <code>Gtk.TreePath</code> όλων των επιλεγμένων γραμμών."
+
+#: C/model-view-controller.py.page:183(section/title)
+#: C/properties.py.page:50(section/title)
+#: C/signals-callbacks.py.page:45(section/title)
+#: C/strings.py.page:111(section/title)
 msgid "References"
 msgstr "Αναφορές"
 
-#: C/model-view-controller.py.page:185(item/p)
-#: C/treeview_advanced_liststore.py.page:46(item/p)
-#: C/treeview_cellrenderertoggle.py.page:42(item/p)
-#: C/treeview_simple_liststore.py.page:44(item/p)
-#: C/treeview_treestore.py.page:42(item/p)
+#: C/model-view-controller.py.page:186(item/p)
+#: C/treeview_advanced_liststore.py.page:44(item/p)
+#: C/treeview_cellrenderertoggle.py.page:44(item/p)
+#: C/treeview_simple_liststore.py.page:45(item/p)
+#: C/treeview_treestore.py.page:44(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkTreeModel.html";
 "\">GtkTreeModel</link>"
@@ -30062,11 +31198,11 @@ msgstr ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkTreeModel.html";
 "\">GtkTreeModel</link>"
 
-#: C/model-view-controller.py.page:186(item/p)
-#: C/treeview_advanced_liststore.py.page:45(item/p)
-#: C/treeview_cellrenderertoggle.py.page:41(item/p)
-#: C/treeview_simple_liststore.py.page:43(item/p)
-#: C/treeview_treestore.py.page:41(item/p)
+#: C/model-view-controller.py.page:187(item/p)
+#: C/treeview_advanced_liststore.py.page:43(item/p)
+#: C/treeview_cellrenderertoggle.py.page:43(item/p)
+#: C/treeview_simple_liststore.py.page:44(item/p)
+#: C/treeview_treestore.py.page:43(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkTreeView.html";
 "\">GtkTreeView</link>"
@@ -30074,11 +31210,11 @@ msgstr ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkTreeView.html";
 "\">GtkTreeView</link>"
 
-#: C/model-view-controller.py.page:187(item/p)
-#: C/treeview_advanced_liststore.py.page:49(item/p)
-#: C/treeview_cellrenderertoggle.py.page:46(item/p)
-#: C/treeview_simple_liststore.py.page:47(item/p)
-#: C/treeview_treestore.py.page:45(item/p)
+#: C/model-view-controller.py.page:188(item/p)
+#: C/treeview_advanced_liststore.py.page:47(item/p)
+#: C/treeview_cellrenderertoggle.py.page:48(item/p)
+#: C/treeview_simple_liststore.py.page:48(item/p)
+#: C/treeview_treestore.py.page:47(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkTreeViewColumn.html";
 "\">GtkTreeViewColumn</link>"
@@ -30086,7 +31222,7 @@ msgstr ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkTreeViewColumn.html";
 "\">GtkTreeViewColumn</link>"
 
-#: C/model-view-controller.py.page:189(item/p)
+#: C/model-view-controller.py.page:190(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkCellRenderer.html";
 "\">GtkCellRenderer</link>"
@@ -30094,35 +31230,11 @@ msgstr ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkCellRenderer.html";
 "\">GtkCellRenderer</link>"
 
-#: C/model-view-controller.py.page:190(item/p)
-msgid ""
-"<link href=\"http://python-gtk-3-tutorial.readthedocs.org/en/latest/treeview.";
-"html\">The Python Gtk+ 3 Tutorial - Tree and List Widgets</link>"
-msgstr ""
-"<link href=\"http://python-gtk-3-tutorial.readthedocs.org/en/latest/treeview.";
-"html\">The Python Gtk+ 3 Tutorial - Tree and List Widgets</link>"
-
-#: C/model-view-controller.py.page:191(item/p)
-msgid ""
-"<link href=\"http://python-gtk-3-tutorial.readthedocs.org/en/latest/";
-"cellrenderers.html\">The Python Gtk+ 3 Tutorial - CellRenderers</link>"
-msgstr ""
-"<link href=\"http://python-gtk-3-tutorial.readthedocs.org/en/latest/";
-"cellrenderers.html\">The Python Gtk+ 3 Tutorial - CellRenderers</link>"
-
-#: C/model-view-controller.py.page:192(item/p)
-msgid ""
-"<link href=\"http://python-gtk-3-tutorial.readthedocs.org/en/latest/combobox.";
-"html\">The Python Gtk+ 3 Tutorial - ComboBox</link>"
-msgstr ""
-"<link href=\"http://python-gtk-3-tutorial.readthedocs.org/en/latest/combobox.";
-"html\">The Python Gtk+ 3 Tutorial - ComboBox</link>"
-
 #. This is a reference to an external file such as an image or video. When
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
-#: C/paned.py.page:21(media)
+#: C/paned.py.page:22(media)
 msgctxt "_"
 msgid "external ref='media/paned.png' md5='01e36d8a51ee18313616d63d2e15d993'"
 msgstr "external ref='media/paned.png' md5='01e36d8a51ee18313616d63d2e15d993'"
@@ -30132,19 +31244,19 @@ msgctxt "text"
 msgid "Paned (Python)"
 msgstr "Πλαίσιο (Python)"
 
-#: C/paned.py.page:17(info/desc)
+#: C/paned.py.page:18(info/desc)
 msgid "A widget with two adjustable panes"
 msgstr "Ένα γραφικό συστατικό με δύο ρυθμίσιμα πλαίσια"
 
-#: C/paned.py.page:20(page/title)
+#: C/paned.py.page:21(page/title)
 msgid "Paned"
 msgstr "Σε πλαίσιο"
 
-#: C/paned.py.page:22(page/p)
+#: C/paned.py.page:23(page/p)
 msgid "Two images in two adjustable panes, horizontally aligned."
 msgstr "Δύο εικόνες σε δύο ρυθμίσιμα πλαίσια οριζόντια στοιχισμένες."
 
-#: C/paned.py.page:28(section/code)
+#: C/paned.py.page:29(section/code)
 #, no-wrap
 msgid ""
 "from gi.repository import Gtk\n"
@@ -30229,11 +31341,11 @@ msgstr ""
 "exit_status = app.run(sys.argv)\n"
 "sys.exit(exit_status)\n"
 
-#: C/paned.py.page:32(section/title)
+#: C/paned.py.page:33(section/title)
 msgid "Useful methods for a Paned widget"
 msgstr "Χρήσιμες μέθοδοι για ένα γραφικό συστατικό σε πλαίσιο"
 
-#: C/paned.py.page:33(section/p)
+#: C/paned.py.page:34(section/p)
 msgid ""
 "To have two vertically aligned panes, use <code>Gtk.Orientation.VERTICAL</"
 "code> instead of <code>Gtk.Orientation.HORIZONTAL</code>. The method "
@@ -30247,7 +31359,7 @@ msgstr ""
 "code> στο κορυφαίο πλαίσιο και <code>add2(widget2)</code> θα προσθέσει το "
 "<code>widget2</code> στο κάτω πλαίσιο."
 
-#: C/paned.py.page:40(item/p)
+#: C/paned.py.page:41(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/stable/GtkPaned.html";
 "\">GtkPaned</link>"
@@ -30255,7 +31367,7 @@ msgstr ""
 "<link href=\"http://developer.gnome.org/gtk3/stable/GtkPaned.html";
 "\">GtkPaned</link>"
 
-#: C/paned.py.page:41(item/p)
+#: C/paned.py.page:42(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/stable/gtk3-Standard-";
 "Enumerations.html#GtkOrientation\">Standard Enumerations</link>"
@@ -30267,7 +31379,7 @@ msgstr ""
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
-#: C/photo-wall.c.page:78(media)
+#: C/photo-wall.c.page:83(media)
 msgctxt "_"
 msgid ""
 "external ref='media/photo-wall.png' md5='f19590d97e8ec029cda3c44b769c11cd'"
@@ -30278,7 +31390,7 @@ msgstr ""
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
-#: C/photo-wall.c.page:81(media)
+#: C/photo-wall.c.page:86(media)
 msgctxt "_"
 msgid ""
 "external ref='media/photo-wall-focused.png' "
@@ -30288,8 +31400,10 @@ msgstr ""
 "md5='9f1ceecf3a28c1e468597b093a10cbae'"
 
 #: C/photo-wall.c.page:6(info/title)
+#| msgctxt "text"
+#| msgid "Photo Wall (C)"
 msgctxt "text"
-msgid "Photo Wall (C)"
+msgid "Photo wall (C)"
 msgstr "Φωτογραφικός τοίχος (C)"
 
 #: C/photo-wall.c.page:9(info/desc)
@@ -30300,11 +31414,12 @@ msgstr "Ένας προβολέας εικόνων σε Clutter"
 msgid "Chris Kühl"
 msgstr "Chris Kühl"
 
-#: C/photo-wall.c.page:22(page/title)
-msgid "Photo Wall"
+#: C/photo-wall.c.page:27(page/title)
+#| msgid "Photo Wall"
+msgid "Photo wall"
 msgstr "Φωτογραφικός τοίχος"
 
-#: C/photo-wall.c.page:25(synopsis/p)
+#: C/photo-wall.c.page:30(synopsis/p)
 msgid ""
 "For this example we will build a simple image viewer using Clutter. You will "
 "learn:"
@@ -30312,35 +31427,35 @@ msgstr ""
 "Για αυτό το παράδειγμα θα κατασκευάσουμε έναν απλό προβολέα εικόνων "
 "χρησιμοποιώντας το Clutter. Θα μάθετε:"
 
-#: C/photo-wall.c.page:27(item/p)
+#: C/photo-wall.c.page:32(item/p)
 msgid "How to size and position <code>ClutterActor</code>s"
 msgstr "Αυξομείωση και τοποθέτηση του <code>ClutterActor</code>s"
 
-#: C/photo-wall.c.page:28(item/p)
+#: C/photo-wall.c.page:33(item/p)
 msgid "How to place an image in a <code>ClutterActor</code>"
 msgstr "Πώς να τοποθετήσετε μια εικόνα σε ένα <code>ClutterActor</code>"
 
-#: C/photo-wall.c.page:29(item/p)
+#: C/photo-wall.c.page:34(item/p)
 msgid "How to do simple transitions using Clutter's animation framework"
 msgstr ""
 "Πώς να κάνετε απλές μεταβάσεις χρησιμοποιώντας το σκελετό κίνησης του Clutter"
 
-#: C/photo-wall.c.page:30(item/p)
+#: C/photo-wall.c.page:35(item/p)
 msgid "How to make <code>ClutterActor</code>s respond to mouse events"
 msgstr ""
 "Πώς να κάνετε το <code>ClutterActor</code>s να απαντήσει στα συμβάντα του "
 "ποντικιού"
 
-#: C/photo-wall.c.page:31(item/p)
+#: C/photo-wall.c.page:36(item/p)
 msgid "How to get file names from a directory"
 msgstr "Πώς να πάρετε ονόματα αρχείου από έναν κατάλογο"
 
-#: C/photo-wall.c.page:36(section/title)
-#: C/record-collection.js.page:34(section/title)
+#: C/photo-wall.c.page:41(section/title)
+#: C/record-collection.js.page:39(section/title)
 msgid "Introduction"
 msgstr "Εισαγωγή"
 
-#: C/photo-wall.c.page:37(section/p)
+#: C/photo-wall.c.page:42(section/p)
 msgid ""
 "Clutter is a library for creating dynamic user interfaces using OpenGL for "
 "hardware acceleration. This example demonstates a small, but central, part "
@@ -30352,34 +31467,44 @@ msgstr ""
 "ένα μικρό, αλλά κεντρικό, τμήμα της Clutter για δημιουργία ενός απλού αλλά "
 "ελκυστικού προγράμματος προβολής εικόνας."
 
-#: C/photo-wall.c.page:40(section/p)
+#: C/photo-wall.c.page:45(section/p)
+#| msgid ""
+#| "To help us reach our goal we will be utilising a few other common pieces "
+#| "of GLib as well. Most importantly, we'll use one <code>GSList</code>, a "
+#| "singly-linked list, to hold our <code>ClutterActor</code>s and another "
+#| "one for file path names. We will also use <code>GDir</code>, a utility "
+#| "for working with directories, to access our image directory and gather "
+#| "file paths."
 msgid ""
 "To help us reach our goal we will be utilising a few other common pieces of "
-"GLib as well. Most importantly, we'll use one <code>GSList</code>, a singly-"
-"linked list, to hold our <code>ClutterActor</code>s and another one for file "
-"path names. We will also use <code>GDir</code>, a utility for working with "
-"directories, to access our image directory and gather file paths."
+"GLib as well. Most importantly, we'll use one <code>GPtrArray</code>, a "
+"dynamic aray of pointers, to hold the file path names. We will also use "
+"<code>GDir</code>, a utility for working with directories, to access our "
+"image directory and gather file paths."
 msgstr ""
 "Για να βοηθηθούμε να φτάσουμε τον στόχο μας θα χρησιμοποιήσουμε λίγα άλλα "
 "κοινά κομμάτια του GLib επίσης. Το πιο σημαντικό, θα χρησιμοποιήσουμε ένα "
-"<code>GSList</code>, μια μοναδικά συνδεμένη λίστα, για να κρατήσουμε το "
-"<code>ClutterActor</code>s μας και ένα άλλο για ονόματα διαδρομής αρχείου. "
-"Θα χρησιμοποιήσουμε επίσης <code>GDir</code>, ένα βοήθημα για εργασία με "
-"καταλόγους, για προσπέλαση του καταλόγου της εικόνας μας και να "
-"συγκεντρώσουμε τις διαδρομές του αρχείου."
-
-#: C/photo-wall.c.page:53(item/p)
-msgid ""
-"Choose <gui>Gtk+ (simple)</gui> from the <gui>C</gui> tab, click "
+"<code>GPtrArray</code>, έναν δυναμικό πίνακα δεικτών, για να κρατήσουμε τα "
+"ονόματα διαδρομής αρχείου. Θα χρησιμοποιήσουμε επίσης <code>GDir</code>, ένα "
+"βοήθημα για εργασία με καταλόγους, για προσπέλαση του καταλόγου της εικόνας "
+"μας και να συγκεντρώσουμε τις διαδρομές του αρχείου."
+
+#: C/photo-wall.c.page:58(item/p)
+#| msgid ""
+#| "Choose <gui>Gtk+ (simple)</gui> from the <gui>C</gui> tab, click "
+#| "<gui>Continue</gui>, and fill out your details on the next few pages. Use "
+#| "<file>photo-wall</file> as project name and directory."
+msgid ""
+"Choose <gui>GTK+ (simple)</gui> from the <gui>C</gui> tab, click "
 "<gui>Continue</gui>, and fill out your details on the next few pages. Use "
 "<file>photo-wall</file> as project name and directory."
 msgstr ""
-"Επιλέξτε <gui>Gtk+ (απλό)</gui> από την καρτέλα <gui>C</gui>, πατήστε "
+"Επιλέξτε <gui>GTK+ (απλό)</gui> από την καρτέλα <gui>C</gui>, πατήστε "
 "<gui>συνέχεια</gui> και συμπληρώστε τις λεπτομέρειές σας στις επόμενες λίγες "
 "σελίδες. Χρησιμοποιήστε το <file>photo-wall</file> ως όνομα του έργου και "
 "του καταλόγου."
 
-#: C/photo-wall.c.page:56(item/p)
+#: C/photo-wall.c.page:61(item/p)
 msgid ""
 "Make sure that <gui>Use GtkBuilder for user interface</gui> is disabled as "
 "we will create the UI manually in this tutorial. Check the <link xref="
@@ -30390,7 +31515,7 @@ msgstr ""
 "το μάθημα <link xref=\"guitar-tuner.c\">ρυθμιστής κιθάρας</link> "
 "χρησιμοποιώντας τον κατασκευαστή διεπαφής."
 
-#: C/photo-wall.c.page:61(item/p)
+#: C/photo-wall.c.page:66(item/p)
 msgid ""
 "Enable <gui>Configure external packages</gui>. On the next page, select "
 "<em>clutter-1.0</em> from the list to include the Clutter library in your "
@@ -30400,15 +31525,15 @@ msgstr ""
 "επιλέξτε <em>clutter-1.0</em> από τη λίστα για να συμπεριλάβετε τη "
 "βιβλιοθήκη Clutter στο έργο σας."
 
-#: C/photo-wall.c.page:74(section/title)
+#: C/photo-wall.c.page:79(section/title)
 msgid "A look at Photo Wall"
 msgstr "Μια ματιά στο φωτογραφικό πίνακα"
 
-#: C/photo-wall.c.page:75(section/p)
+#: C/photo-wall.c.page:80(section/p)
 msgid "Our image viewer presents the user with a wall of images."
 msgstr "Ο προβολέας εικόνας μας παρουσιάζει τον χρήστη με έναν τοίχο εικόνων."
 
-#: C/photo-wall.c.page:79(section/p)
+#: C/photo-wall.c.page:84(section/p)
 msgid ""
 "When an image is clicked, it is animated to fill the viewing area. When the "
 "image having focus is clicked it is returned to its original position using "
@@ -30418,11 +31543,11 @@ msgstr ""
 "προβολής. Όταν κάνουμε κλικ σε μια εστιασμένη εικόνα επιστρέφεται στην "
 "αρχική της θέση χρησιμοποιώντας μια κίνηση με την ίδια διάρκεια των 500 ms."
 
-#: C/photo-wall.c.page:85(section/title)
+#: C/photo-wall.c.page:90(section/title)
 msgid "Initial setup"
 msgstr "Αρχική ρύθμιση"
 
-#: C/photo-wall.c.page:86(section/p)
+#: C/photo-wall.c.page:91(section/p)
 msgid ""
 "The following code segment contains many of the defines and variables we "
 "will be using in the following sections. Use this as a reference for later "
@@ -30433,10 +31558,42 @@ msgstr ""
 "άλλες ενότητες. Αντιγράψτε αυτόν τον κώδικα στην αρχή του <file>src/main.c</"
 "file>:"
 
-#: C/photo-wall.c.page:89(section/code)
-#, no-wrap
-msgid ""
-"\n"
+#: C/photo-wall.c.page:94(section/code)
+#, no-wrap
+#| msgid ""
+#| "\n"
+#| "#include &lt;clutter/clutter.h&gt;\n"
+#| "\n"
+#| "#define STAGE_WIDTH  800\n"
+#| "#define STAGE_HEIGHT 600\n"
+#| "\n"
+#| "#define THUMBNAIL_SIZE 200\n"
+#| "#define ROW_COUNT (STAGE_HEIGHT / THUMBNAIL_SIZE)\n"
+#| "#define COL_COUNT (STAGE_WIDTH  / THUMBNAIL_SIZE)\n"
+#| "#define THUMBNAIL_COUNT (ROW_COUNT * COL_COUNT)\n"
+#| "\n"
+#| "#define ANIMATION_DURATION_MS 500\n"
+#| "\n"
+#| "#define FOCUS_DEPTH 100.0\n"
+#| "#define UNFOCUS_DEPTH 0.0\n"
+#| "\n"
+#| "#define IMAGE_DIR_PATH \"./berlin_images/\"\n"
+#| "\n"
+#| "static GSList *actor_list = NULL;\n"
+#| "static GSList *img_path_list = NULL;\n"
+#| "\n"
+#| "typedef struct Position\n"
+#| "{\n"
+#| "    float x;\n"
+#| "    float y;\n"
+#| "}\n"
+#| "Position;\n"
+#| "\n"
+#| "static Position origin = {0, 0};\n"
+#| "\n"
+msgid ""
+"\n"
+"#include &lt;gdk-pixbuf/gdk-pixbuf.h&gt;\n"
 "#include &lt;clutter/clutter.h&gt;\n"
 "\n"
 "#define STAGE_WIDTH  800\n"
@@ -30449,25 +31606,15 @@ msgid ""
 "\n"
 "#define ANIMATION_DURATION_MS 500\n"
 "\n"
-"#define FOCUS_DEPTH 100.0\n"
-"#define UNFOCUS_DEPTH 0.0\n"
-"\n"
 "#define IMAGE_DIR_PATH \"./berlin_images/\"\n"
 "\n"
-"static GSList *actor_list = NULL;\n"
-"static GSList *img_path_list = NULL;\n"
+"static GPtrArray *img_paths;\n"
 "\n"
-"typedef struct Position\n"
-"{\n"
-"    float x;\n"
-"    float y;\n"
-"}\n"
-"Position;\n"
-"\n"
-"static Position origin = {0, 0};\n"
+"static ClutterPoint unfocused_pos;\n"
 "\n"
 msgstr ""
 "\n"
+"#include &lt;gdk-pixbuf/gdk-pixbuf.h&gt;\n"
 "#include &lt;clutter/clutter.h&gt;\n"
 "\n"
 "#define STAGE_WIDTH  800\n"
@@ -30480,29 +31627,18 @@ msgstr ""
 "\n"
 "#define ANIMATION_DURATION_MS 500\n"
 "\n"
-"#define FOCUS_DEPTH 100.0\n"
-"#define UNFOCUS_DEPTH 0.0\n"
-"\n"
 "#define IMAGE_DIR_PATH \"./berlin_images/\"\n"
 "\n"
-"static GSList *actor_list = NULL;\n"
-"static GSList *img_path_list = NULL;\n"
-"\n"
-"typedef struct Position\n"
-"{\n"
-"    float x;\n"
-"    float y;\n"
-"}\n"
-"Position;\n"
+"static GPtrArray *img_paths·\n"
 "\n"
-"static Position origin = {0, 0};\n"
+"static ClutterPoint unfocused_pos·\n"
 "\n"
 
-#: C/photo-wall.c.page:123(section/title)
+#: C/photo-wall.c.page:118(section/title)
 msgid "Jumping into the code"
 msgstr "Μετάβαση στον κώδικα"
 
-#: C/photo-wall.c.page:124(section/p)
+#: C/photo-wall.c.page:119(section/p)
 msgid ""
 "We will start by taking a look at the <code>main()</code> function as a "
 "whole. Then we'll discuss the other code sections in detail. Change the "
@@ -30516,7 +31652,7 @@ msgstr ""
 "code>. Μπορείτε να διαγράψετε τη συνάρτηση <code>create_window()</code> "
 "καθώς δεν τη χρειαζόμαστε σε αυτό το παράδειγμα."
 
-#: C/photo-wall.c.page:127(section/code)
+#: C/photo-wall.c.page:122(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -30526,11 +31662,14 @@ msgid ""
 "    ClutterColor stage_color = { 16, 16, 16, 255 };\n"
 "    ClutterActor *stage = NULL;\n"
 "\n"
-"    clutter_init(&amp;argc, &amp;argv);\n"
+"    if (clutter_init (&amp;argc, &amp;argv) != CLUTTER_INIT_SUCCESS)\n"
+"        return 1;\n"
 "\n"
-"    stage = clutter_stage_get_default();\n"
+"    stage = clutter_stage_new();\n"
 "    clutter_actor_set_size(stage, STAGE_WIDTH, STAGE_HEIGHT);\n"
-"    clutter_stage_set_color(CLUTTER_STAGE (stage), &amp;stage_color);\n"
+"    clutter_actor_set_background_color(stage, &amp;stage_color);\n"
+"    clutter_stage_set_title(CLUTTER_STAGE (stage), \"Photo Wall\");\n"
+"    g_signal_connect(stage, \"destroy\", G_CALLBACK(clutter_main_quit), NULL);\n"
 "\n"
 "    load_image_path_names();\n"
 "\n"
@@ -30540,11 +31679,30 @@ msgid ""
 "    {\n"
 "        for(col=0; col &lt; COL_COUNT; ++col)\n"
 "        {\n"
-"            GSList *img_path_node = g_slist_nth(img_path_list, (row * COL_COUNT) + col);\n"
-"            ClutterActor *actor = clutter_texture_new_from_file((gchar *)(img_path_node-&gt;data), NULL);\n"
+"            const char *img_path = g_ptr_array_index(img_paths, (row * COL_COUNT) + col);\n"
+"            GdkPixbuf *pixbuf = gdk_pixbuf_new_from_file_at_size(img_path, STAGE_HEIGHT, STAGE_HEIGHT, 
NULL);\n"
+"            ClutterContent *image = clutter_image_new ();\n"
+"            ClutterActor *actor = clutter_actor_new ();\n"
+"\n"
+"            if (pixbuf != NULL)\n"
+"            {\n"
+"                clutter_image_set_data(CLUTTER_IMAGE(image),\n"
+"                                       gdk_pixbuf_get_pixels(pixbuf),\n"
+"                                       gdk_pixbuf_get_has_alpha(pixbuf)\n"
+"                                           ? COGL_PIXEL_FORMAT_RGBA_8888\n"
+"                                           : COGL_PIXEL_FORMAT_RGB_888,\n"
+"                                       gdk_pixbuf_get_width(pixbuf),\n"
+"                                       gdk_pixbuf_get_height(pixbuf),\n"
+"                                       gdk_pixbuf_get_rowstride(pixbuf),\n"
+"                                       NULL);\n"
+"            }\n"
+"\n"
+"            clutter_actor_set_content(actor, image);\n"
+"            g_object_unref(image);\n"
+"            g_object_unref(pixbuf);\n"
+"\n"
 "            initialize_actor(actor, row, col);\n"
-"            clutter_container_add_actor(CLUTTER_CONTAINER(stage), actor);\n"
-"            actor_list = g_slist_prepend(actor_list, actor);\n"
+"            clutter_actor_add_child(stage, actor);\n"
 "        }\n"
 "    }\n"
 "\n"
@@ -30554,6 +31712,8 @@ msgid ""
 "    /* Start the clutter main loop. */\n"
 "    clutter_main();\n"
 "\n"
+"    g_ptr_array_unref(img_paths);\n"
+"\n"
 "    return 0;\n"
 "}"
 msgstr ""
@@ -30561,41 +31721,67 @@ msgstr ""
 "int\n"
 "main(int argc, char *argv[])\n"
 "{\n"
-"    ClutterColor stage_color = { 16, 16, 16, 255 };\n"
-"    ClutterActor *stage = NULL;\n"
+"    ClutterColor stage_color = { 16, 16, 16, 255 }·\n"
+"    ClutterActor *stage = NULL·\n"
 "\n"
-"    clutter_init(&amp;argc, &amp;argv);\n"
+"    if (clutter_init (&amp;argc, &amp;argv) != CLUTTER_INIT_SUCCESS)\n"
+"        return 1·\n"
 "\n"
-"    stage = clutter_stage_get_default();\n"
-"    clutter_actor_set_size(stage, STAGE_WIDTH, STAGE_HEIGHT);\n"
-"    clutter_stage_set_color(CLUTTER_STAGE (stage), &amp;stage_color);\n"
+"    stage = clutter_stage_new()·\n"
+"    clutter_actor_set_size(stage, STAGE_WIDTH, STAGE_HEIGHT)·\n"
+"    clutter_actor_set_background_color(stage, &amp;stage_color)·\n"
+"    clutter_stage_set_title(CLUTTER_STAGE (stage), \"Photo Wall\")·\n"
+"    g_signal_connect(stage, \"destroy\", G_CALLBACK(clutter_main_quit), NULL)·\n"
 "\n"
-"    load_image_path_names();\n"
+"    load_image_path_names()·\n"
 "\n"
-"    guint row = 0;\n"
-"    guint col = 0;\n"
-"    for(row=0; row &lt; ROW_COUNT; ++row)\n"
+"    guint row = 0·\n"
+"    guint col = 0·\n"
+"    for(row=0· row &lt; ROW_COUNT· ++row)\n"
 "    {\n"
-"        for(col=0; col &lt; COL_COUNT; ++col)\n"
+"        for(col=0· col &lt; COL_COUNT· ++col)\n"
 "        {\n"
-"            GSList *img_path_node = g_slist_nth(img_path_list, (row * COL_COUNT) + col);\n"
-"            ClutterActor *actor = clutter_texture_new_from_file((gchar *)(img_path_node-&gt;data), NULL);\n"
-"            initialize_actor(actor, row, col);\n"
-"            clutter_container_add_actor(CLUTTER_CONTAINER(stage), actor);\n"
-"            actor_list = g_slist_prepend(actor_list, actor);\n"
+"            const char *img_path = g_ptr_array_index(img_paths, (row * "
+"COL_COUNT) + col)·\n"
+"            GdkPixbuf *pixbuf = gdk_pixbuf_new_from_file_at_size(img_path, "
+"STAGE_HEIGHT, STAGE_HEIGHT, NULL)·\n"
+"            ClutterContent *image = clutter_image_new ()·\n"
+"            ClutterActor *actor = clutter_actor_new ()·\n"
+"\n"
+"            if (pixbuf != NULL)\n"
+"            {\n"
+"                clutter_image_set_data(CLUTTER_IMAGE(image),\n"
+"                                       gdk_pixbuf_get_pixels(pixbuf),\n"
+"                                       gdk_pixbuf_get_has_alpha(pixbuf)\n"
+"                                           ; COGL_PIXEL_FORMAT_RGBA_8888\n"
+"                                           : COGL_PIXEL_FORMAT_RGB_888,\n"
+"                                       gdk_pixbuf_get_width(pixbuf),\n"
+"                                       gdk_pixbuf_get_height(pixbuf),\n"
+"                                       gdk_pixbuf_get_rowstride(pixbuf),\n"
+"                                       NULL)·\n"
+"            }\n"
+"\n"
+"            clutter_actor_set_content(actor, image)·\n"
+"            g_object_unref(image)·\n"
+"            g_object_unref(pixbuf)·\n"
+"\n"
+"            initialize_actor(actor, row, col)·\n"
+"            clutter_actor_add_child(stage, actor)·\n"
 "        }\n"
 "    }\n"
 "\n"
 "    /* Show the stage. */\n"
-"    clutter_actor_show(stage);\n"
+"    clutter_actor_show(stage)·\n"
 "\n"
 "    /* Start the clutter main loop. */\n"
-"    clutter_main();\n"
+"    clutter_main()·\n"
 "\n"
-"    return 0;\n"
+"    g_ptr_array_unref(img_paths)·\n"
+"\n"
+"    return 0·\n"
 "}"
 
-#: C/photo-wall.c.page:165(item/p)
+#: C/photo-wall.c.page:184(item/p)
 msgid ""
 "Line 4: <code>ClutterColor</code> is defined by setting the red, green, blue "
 "and transparency (alpha) values. The values range from 0-255. For "
@@ -30605,7 +31791,7 @@ msgstr ""
 "πράσινου, γαλάζιου και διαφάνειας (άλφα). Το εύρος τιμών από 0-255. Για "
 "διαφάνεια τιμή 255 είναι αδιαφανής."
 
-#: C/photo-wall.c.page:166(item/p)
+#: C/photo-wall.c.page:185(item/p)
 msgid ""
 "Line 7: You must initialize Clutter. If you forget to do this, you will get "
 "very strange errors. Be warned."
@@ -30613,19 +31799,22 @@ msgstr ""
 "Γραμμή 7: Πρέπει να αρχικοποιήσετε το Clutter. Εάν το ξεχάσετε, θα πάρετε "
 "πολύ περίεργα σφάλματα. Προειδοποιηθήκατε."
 
-#: C/photo-wall.c.page:167(item/p)
+#: C/photo-wall.c.page:186(item/p)
+#| msgid ""
+#| "Lines 9‒11: Here we get the default <code>ClutterStage</code> that was "
+#| "provided by <code>clutter_init</code>. We then set the size using the "
+#| "defines from the previous section and the address of the "
+#| "<code>ClutterColor</code> we just defined."
 msgid ""
-"Lines 9‒11: Here we get the default <code>ClutterStage</code> that was "
-"provided by <code>clutter_init</code>. We then set the size using the "
-"defines from the previous section and the address of the <code>ClutterColor</"
-"code> we just defined."
+"Lines 10‒14: Here we create a new <code>ClutterStage</code> . We then set "
+"the size using the defines from the previous section and the address of the "
+"<code>ClutterColor</code> we just defined."
 msgstr ""
-"Γραμμές 9-11. Εδώ παίρνουμε την προεπιλογή <code>ClutterStage</code> που "
-"δόθηκε από <code>clutter_init</code>. Έπειτα ορίζουμε το μέγεθος "
-"χρησιμοποιώντας τους ορισμούς από την προηγούμενη ενότητα και τη διεύθυνση "
-"του <code>ClutterColor</code> που μόλις ορίσαμε."
+"Γραμμές 10-14: Εδώ δημιουργούμε ένα νέο <code>ClutterStage</code>. Έπειτα "
+"ορίζουμε το μέγεθος χρησιμοποιώντας τους ορισμούς από την προηγούμενη "
+"ενότητα και τη διεύθυνση του <code>ClutterColor</code> που μόλις ορίσαμε."
 
-#: C/photo-wall.c.page:168(note/p)
+#: C/photo-wall.c.page:187(note/p)
 msgid ""
 "A <code>ClutterStage</code> is the top-level <code>ClutterActor</code> onto "
 "which other <code>ClutterActor</code>s are placed."
@@ -30633,40 +31822,50 @@ msgstr ""
 "Ένα <code>ClutterStage</code> είναι ανώτατου επιπέδου <code>ClutterActor</"
 "code> στο οποίο τοποθετούνται άλλοι <code>ClutterActor</code>."
 
-#: C/photo-wall.c.page:170(item/p)
+#: C/photo-wall.c.page:189(item/p)
+#| msgid ""
+#| "Line 12: Here we call our function for getting the image file paths. "
+#| "We'll look at this in a bit."
 msgid ""
-"Line 12: Here we call our function for getting the image file paths. We'll "
+"Line 16: Here we call our function for getting the image file paths. We'll "
 "look at this in a bit."
 msgstr ""
-"Γραμμή 12: Εδώ καλούμε τη συνάρτηση μας για λήψη των διαδρομών αρχείου "
+"Γραμμή 16: Εδώ καλούμε τη συνάρτηση μας για λήψη των διαδρομών αρχείου "
 "εικόνας. Θα το δούμε σε λίγο."
 
-#: C/photo-wall.c.page:171(item/p)
+#: C/photo-wall.c.page:190(item/p)
+#| msgid ""
+#| "Lines 14‒26: This is where we set up the <code>ClutterActor</code>s, load "
+#| "the images and place them into their spot in the image wall. We will look "
+#| "at this in detail in the next section."
 msgid ""
-"Lines 14‒26: This is where we set up the <code>ClutterActor</code>s, load "
+"Lines 18‒49: This is where we set up the <code>ClutterActor</code>s, load "
 "the images and place them into their spot in the image wall. We will look at "
 "this in detail in the next section."
 msgstr ""
-"Γραμμές 14-26: Εδώ ρυθμίζουμε το <code>ClutterActor</code>s, φόρτωση των "
+"Γραμμές 18-49: Εδώ ρυθμίζουμε το <code>ClutterActor</code>s, φόρτωση των "
 "εικόνων και τοποθέτησή τους στο σημείο τους στον τοίχο εικόνας. Θα το δούμε "
 "λεπτομερώς στην επόμενη ενότητα."
 
-#: C/photo-wall.c.page:172(item/p)
+#: C/photo-wall.c.page:191(item/p)
+#| msgid ""
+#| "Line 29: Show the stage and <em>all its children</em>, meaning our images."
 msgid ""
-"Line 29: Show the stage and <em>all its children</em>, meaning our images."
+"Line 52: Show the stage and <em>all its children</em>, meaning our images."
 msgstr ""
-"Γραμμή 29: εμφάνιση του σταδίου και <em>όλων των θυγατρικών του</em>, που "
+"Γραμμή 52: εμφάνιση του σταδίου και <em>όλων των θυγατρικών του</em>, που "
 "σημαίνει των εικόνων μας."
 
-#: C/photo-wall.c.page:173(item/p)
-msgid "Line 32: Start the Clutter main loop."
-msgstr "Γραμμή 32: Έναρξη του κύριου βρόχου του Clutter."
+#: C/photo-wall.c.page:192(item/p)
+#| msgid "Line 32: Start the Clutter main loop."
+msgid "Line 55: Start the Clutter main loop."
+msgstr "Γραμμή 55: Έναρξη του κύριου βρόχου του Clutter."
 
-#: C/photo-wall.c.page:178(section/title)
+#: C/photo-wall.c.page:197(section/title)
 msgid "Setting up our image actors"
 msgstr "Εγκατάσταση των δραστών εικόνας"
 
-#: C/photo-wall.c.page:179(note/p)
+#: C/photo-wall.c.page:198(note/p)
 msgid ""
 "In Clutter, an actor is the most basic visual element. Basically, everything "
 "you see is an actor."
@@ -30674,7 +31873,7 @@ msgstr ""
 "Στο Clutter, ένας δράστης είναι το πιο βασικό οπτικό στοιχείο. Βασικά, "
 "οτιδήποτε βλέπετε είναι ένας δράστης."
 
-#: C/photo-wall.c.page:180(section/p)
+#: C/photo-wall.c.page:199(section/p)
 msgid ""
 "In this section, we are going to take a closer look at the loop used for "
 "setting up the <code>ClutterActor</code>s that will display our images."
@@ -30683,114 +31882,146 @@ msgstr ""
 "βρόχο για εγκατάσταση του <code>ClutterActor</code>s που θα εμφανίσει τις "
 "εικόνες μας."
 
-#: C/photo-wall.c.page:183(section/code)
+#: C/photo-wall.c.page:202(section/code)
 #, no-wrap
 msgid ""
 "\n"
+"guint row = 0;\n"
+"guint col = 0;\n"
 "for(row=0; row &lt; ROW_COUNT; ++row)\n"
 "{\n"
 "    for(col=0; col &lt; COL_COUNT; ++col)\n"
 "    {\n"
-"        GSList *img_path_node = g_slist_nth(img_path_list, (row * COL_COUNT) + col);\n"
-"        ClutterActor *actor = clutter_texture_new_from_file((gchar *)(img_path_node-&gt;data), NULL);\n"
+"        const char *img_path = g_ptr_array_index(img_paths, (row * COL_COUNT) + col);\n"
+"        GdkPixbuf *pixbuf = gdk_pixbuf_new_from_file_at_size(img_path, STAGE_HEIGHT, STAGE_HEIGHT, NULL);\n"
+"        ClutterContent *image = clutter_image_new ();\n"
+"        ClutterActor *actor = clutter_actor_new ();\n"
+"\n"
+"        if (pixbuf != NULL)\n"
+"        {\n"
+"            clutter_image_set_data(CLUTTER_IMAGE(image),\n"
+"                                   gdk_pixbuf_get_pixels(pixbuf),\n"
+"                                   gdk_pixbuf_get_has_alpha(pixbuf)\n"
+"                                       ? COGL_PIXEL_FORMAT_RGBA_8888\n"
+"                                       : COGL_PIXEL_FORMAT_RGB_888,\n"
+"                                   gdk_pixbuf_get_width(pixbuf),\n"
+"                                   gdk_pixbuf_get_height(pixbuf),\n"
+"                                   gdk_pixbuf_get_rowstride(pixbuf),\n"
+"                                   NULL);\n"
+"        }\n"
+"\n"
+"        clutter_actor_set_content(actor, image);\n"
+"        g_object_unref(image);\n"
+"        g_object_unref(pixbuf);\n"
+"\n"
 "        initialize_actor(actor, row, col);\n"
-"        clutter_container_add_actor(CLUTTER_CONTAINER(stage), actor);\n"
-"        actor_list = g_slist_prepend(actor_list, actor);\n"
+"        clutter_actor_add_child(stage, actor);\n"
 "    }\n"
 "}\n"
 "\n"
 msgstr ""
 "\n"
-"for(row=0; row &lt; ROW_COUNT; ++row)\n"
+"guint row = 0·\n"
+"guint col = 0·\n"
+"for(row=0· row &lt; ROW_COUNT· ++row)\n"
 "{\n"
-"    for(col=0; col &lt; COL_COUNT; ++col)\n"
+"    for(col=0· col &lt; COL_COUNT· ++col)\n"
 "    {\n"
-"        GSList *img_path_node = g_slist_nth(img_path_list, (row * COL_COUNT) + col);\n"
-"        ClutterActor *actor = clutter_texture_new_from_file((gchar *)(img_path_node-&gt;data), NULL);\n"
-"        initialize_actor(actor, row, col);\n"
-"        clutter_container_add_actor(CLUTTER_CONTAINER(stage), actor);\n"
-"        actor_list = g_slist_prepend(actor_list, actor);\n"
+"        const char *img_path = g_ptr_array_index(img_paths, (row * "
+"COL_COUNT) + col)·\n"
+"        GdkPixbuf *pixbuf = gdk_pixbuf_new_from_file_at_size(img_path, "
+"STAGE_HEIGHT, STAGE_HEIGHT, NULL)·\n"
+"        ClutterContent *image = clutter_image_new ()·\n"
+"        ClutterActor *actor = clutter_actor_new ()·\n"
+"\n"
+"        if (pixbuf != NULL)\n"
+"        {\n"
+"            clutter_image_set_data(CLUTTER_IMAGE(image),\n"
+"                                   gdk_pixbuf_get_pixels(pixbuf),\n"
+"                                   gdk_pixbuf_get_has_alpha(pixbuf)\n"
+"                                       ; COGL_PIXEL_FORMAT_RGBA_8888\n"
+"                                       : COGL_PIXEL_FORMAT_RGB_888,\n"
+"                                   gdk_pixbuf_get_width(pixbuf),\n"
+"                                   gdk_pixbuf_get_height(pixbuf),\n"
+"                                   gdk_pixbuf_get_rowstride(pixbuf),\n"
+"                                   NULL)·\n"
+"        }\n"
+"\n"
+"        clutter_actor_set_content(actor, image)·\n"
+"        g_object_unref(image)·\n"
+"        g_object_unref(pixbuf)·\n"
+"\n"
+"        initialize_actor(actor, row, col)·\n"
+"        clutter_actor_add_child(stage, actor)·\n"
 "    }\n"
 "}\n"
 "\n"
 
-#: C/photo-wall.c.page:198(item/p)
+#: C/photo-wall.c.page:238(item/p)
+#| msgid ""
+#| "Line 5: Here we want to get the path at the <var>n</var>th location in "
+#| "the <code>GSList</code> that is holding our image path names. The <var>n</"
+#| "var>th position is calculated based on <code>row</code> and <code>col</"
+#| "code>. The return value is a pointer to a <code>GSList</code> which is "
+#| "just a node in the list. We will use this to get the actual path in the "
+#| "next line. The first parameter is a pointer to the head of the list."
 msgid ""
-"Line 5: Here we want to get the path at the <var>n</var>th location in the "
-"<code>GSList</code> that is holding our image path names. The <var>n</var>th "
-"position is calculated based on <code>row</code> and <code>col</code>. The "
-"return value is a pointer to a <code>GSList</code> which is just a node in "
-"the list. We will use this to get the actual path in the next line. The "
-"first parameter is a pointer to the head of the list."
+"Line 7: Here we want to get the path at the <var>n</var>th location in the "
+"<code>GPtrArray</code> that is holding our image path names. The <var>n</"
+"var>th position is calculated based on <code>row</code> and <code>col</code>."
 msgstr ""
-"Γραμμή 5: Εδώ θέλουμε να πάρουμε τη διαδρομή στη θέση <var>n</var> στο "
-"<code>GSList</code> που κρατά τα ονόματα διαδρομής εικόνας. Η <var>n</var> "
-"θέση υπολογίζεται βασισμένη στη <code>row</code> και <code>col</code>. Η "
-"επιστρεφόμενη τιμή είναι ένας δείκτης σε μια <code>GSList</code> που είναι "
-"μόνο ένας κόμβος στη λίστα. Θα τον χρησιμοποιήσουμε για τη λήψη της ενεργής "
-"διαδρομής στην επόμενη γραμμή. Η πρώτη παράμετρος είναι ένας δείκτης στην "
-"κεφαλή της λίστας."
+"Γραμμή 7: Εδώ θέλουμε να πάρουμε τη διαδρομή στη θέση <var>n</var> στο "
+"<code>GSList</code> που κρατά τα ονόματα διαδρομής εικόνας. Η "
+"<var>n</var>στη θέση υπολογίζεται βασισμένη στη <code>row</code> και "
+"<code>col</code>."
 
-#: C/photo-wall.c.page:200(item/p)
+#: C/photo-wall.c.page:240(item/p)
+#| msgid ""
+#| "Line 6: This is where we actually create the <code>ClutterActor</code> "
+#| "and place the image into the actor. The first argument is the path which "
+#| "we access through our <code>GSList</code> node. The second argument is "
+#| "for error reporting but we are ignoring that to keep things short."
 msgid ""
-"Line 6: This is where we actually create the <code>ClutterActor</code> and "
-"place the image into the actor. The first argument is the path which we "
+"Line 8‒23: This is where we actually create the <code>ClutterActor</code> "
+"and place the image into the actor. The first argument is the path which we "
 "access through our <code>GSList</code> node. The second argument is for "
 "error reporting but we are ignoring that to keep things short."
 msgstr ""
-"Γραμμή 6: Εδώ δημιουργείται στην πραγματικότητα ο <code>ClutterActor</code> "
-"και τοποθετείται η εικόνα στον δράστη. Το πρώτο όρισμα είναι η διαδρομή "
-"προσπέλασης μέσα από τον κόμβο <code>GSList</code>. Το δεύτερο όρισμα είναι "
-"για αναφορά σφάλματος, αλλά το αγνοούμε για λόγους συντομίας."
-
-#: C/photo-wall.c.page:202(item/p)
-msgid "Line 7: We'll look at this function in a later section."
-msgstr "Γραμμή 7: θα δούμε αυτή την συνάρτηση σε επόμενη ενότητα."
+"Γραμμές 8-23: Εδώ δημιουργείται στην πραγματικότητα ο "
+"<code>ClutterActor</code> και τοποθετείται η εικόνα στον δράστη. Το πρώτο "
+"όρισμα είναι η διαδρομή προσπέλασης μέσα από τον κόμβο <code>GSList</code>. "
+"Το δεύτερο όρισμα είναι για αναφορά σφάλματος, αλλά το αγνοούμε για λόγους "
+"συντομίας."
 
-#: C/photo-wall.c.page:204(item/p)
-msgid ""
-"Line 8: This adds the <code>ClutterActor</code> to the stage, which is a "
+#: C/photo-wall.c.page:242(item/p)
+#| msgid ""
+#| "Line 8: This adds the <code>ClutterActor</code> to the stage, which is a "
+#| "container. It also assumes ownership of the <code>ClutterActor</code> "
+#| "which is something you'll want to look into as you get deeper into GNOME "
+#| "development. See the <link href=\"http://library.gnome.org/devel/gobject/";
+#| "stable/gobject-memory.html\"><code>GObject</code> documentation</link> "
+#| "for the gory details."
+msgid ""
+"Line 47: This adds the <code>ClutterActor</code> to the stage, which is a "
 "container. It also assumes ownership of the <code>ClutterActor</code> which "
 "is something you'll want to look into as you get deeper into GNOME "
 "development. See the <link href=\"http://library.gnome.org/devel/gobject/";
 "stable/gobject-memory.html\"><code>GObject</code> documentation</link> for "
 "the gory details."
 msgstr ""
-"Γραμμή 8: Αυτή προσθέτει τον <code>ClutterActor</code> στο στάδιο, που είναι "
-"ένας περιέκτης. Επίσης υποθέτει ιδιοκτησία του <code>ClutterActor</code> που "
-"είναι κάτι που θα θελήσετε να κοιτάξετε καθώς πηγαίνετε βαθύτερα στην "
-"ανάπτυξη του GNOME. Δείτε την <link href=\"http://library.gnome.org/devel/";
-"gobject/stable/gobject-memory.html\"><code>GObject</code>τεκμηρίωση</link> "
-"για τις φρικτές λεπτομέρειες."
-
-#: C/photo-wall.c.page:206(item/p)
-msgid ""
-"Line 9: This adds our <code>ClutterActor</code> to a <code>GSList</code> so "
-"that we can later iterate over the <code>ClutterActor</code>s."
-msgstr ""
-"Γραμμή 9: Αυτό προσθέτει το <code>ClutterActor</code> σε ένα <code>GSList</"
-"code>, έτσι ώστε αργότερα να μπορούμε να επαναλάβουμε το <code>ClutterActor</"
-"code>."
+"Γραμμή 47: Αυτή προσθέτει τον <code>ClutterActor</code> στη σκηνή, που είναι "
+"ένας περιέκτης. Επίσης υποθέτει ιδιοκτησία του <code>ClutterActor</code> "
+"που είναι κάτι που θα θελήσετε να κοιτάξετε καθώς πηγαίνετε βαθύτερα στην "
+"ανάπτυξη του GNOME. Δείτε την <link "
+"href=\"http://library.gnome.org/devel/gobject/stable/gobject-";
+"memory.html\"><code>GObject</code>τεκμηρίωση</link> για τις φρικτές "
+"λεπτομέρειες."
 
-#: C/photo-wall.c.page:207(note/p)
-msgid ""
-"Interesting to note is that we want to prepend the <code>ClutterActor</"
-"code>s rather than append so that we avoid traversing the list upon each "
-"insertion. You will often see <code>g_slist_prepend</code> followed by "
-"<code>g_slist_reverse</code> because it faster than inserting many objects "
-"at the end of the list."
-msgstr ""
-"Σημειώστε ότι θέλουμε να προτάξουμε το <code>ClutterActor</code> παρά να το "
-"προσαρτήσουμε για αποφυγή διάσχισης της λίστας με κάθε εισαγωγή. Θα δείτε "
-"συχνά το <code>g_slist_prepend</code> ακολουθούμενο από "
-"<code>g_slist_reverse</code> επειδή είναι πιο γρήγορο παρά η εισαγωγή πολλών "
-"αντικειμένων στο τέλος της λίστας."
-
-#: C/photo-wall.c.page:213(section/title)
+#: C/photo-wall.c.page:248(section/title)
 msgid "Loading the images"
 msgstr "Φόρτωση των εικόνων"
 
-#: C/photo-wall.c.page:214(section/p)
+#: C/photo-wall.c.page:249(section/p)
 msgid ""
 "Let's take a short break from Clutter to see how we can get the file names "
 "from our image directory."
@@ -30798,8 +32029,34 @@ msgstr ""
 "Ας κάνουμε μια σύντομη διακοπή από το Clutter για να δούμε πώς μπορούμε να "
 "πάρουμε τα ονόματα αρχείου από τον κατάλογό μας των εικόνων."
 
-#: C/photo-wall.c.page:215(section/code)
-#, no-wrap
+#: C/photo-wall.c.page:250(section/code)
+#, no-wrap
+#| msgid ""
+#| "\n"
+#| "static void\n"
+#| "load_image_path_names()\n"
+#| "{\n"
+#| "    /* Ensure we can access the directory. */\n"
+#| "    GError *error = NULL;\n"
+#| "    GDir *dir = g_dir_open(IMAGE_DIR_PATH, 0, &amp;error);\n"
+#| "    if(error)\n"
+#| "    {\n"
+#| "        g_warning(\"g_dir_open() failed with error: %s\\n\", error-&gt;message);\n"
+#| "        g_clear_error(&amp;error);\n"
+#| "        return;\n"
+#| "    }\n"
+#| "\n"
+#| "    const gchar *filename = g_dir_read_name(dir);\n"
+#| "    while(filename)\n"
+#| "    {\n"
+#| "        if(g_str_has_suffix(filename, \".jpg\") || g_str_has_suffix(filename, \".png\"))\n"
+#| "        {\n"
+#| "            gchar *path = g_build_filename(IMAGE_DIR_PATH, filename, NULL);\n"
+#| "            img_path_list = g_slist_prepend(img_path_list, path);\n"
+#| "        }\n"
+#| "        filename = g_dir_read_name(dir);\n"
+#| "    }\n"
+#| "}"
 msgid ""
 "\n"
 "static void\n"
@@ -30815,13 +32072,15 @@ msgid ""
 "        return;\n"
 "    }\n"
 "\n"
+"    img_paths = g_ptr_array_new_with_free_func (g_free);\n"
+"\n"
 "    const gchar *filename = g_dir_read_name(dir);\n"
 "    while(filename)\n"
 "    {\n"
 "        if(g_str_has_suffix(filename, \".jpg\") || g_str_has_suffix(filename, \".png\"))\n"
 "        {\n"
 "            gchar *path = g_build_filename(IMAGE_DIR_PATH, filename, NULL);\n"
-"            img_path_list = g_slist_prepend(img_path_list, path);\n"
+"            g_ptr_array_add (img_paths, path);\n"
 "        }\n"
 "        filename = g_dir_read_name(dir);\n"
 "    }\n"
@@ -30831,29 +32090,33 @@ msgstr ""
 "static void\n"
 "load_image_path_names()\n"
 "{\n"
-"    /* Ensure we can access the directory. */\n"
-"    GError *error = NULL;\n"
-"    GDir *dir = g_dir_open(IMAGE_DIR_PATH, 0, &amp;error);\n"
+"    /* Επιβεβαιώνουμε ότι μπορούμε να προσπελάσουμε τον κατάλογο. */\n"
+"    GError *error = NULL·\n"
+"    GDir *dir = g_dir_open(IMAGE_DIR_PATH, 0, &amp;error)·\n"
 "    if(error)\n"
 "    {\n"
-"        g_warning(\"g_dir_open() failed with error: %s\\n\", error-&gt;message);\n"
-"        g_clear_error(&amp;error);\n"
-"        return;\n"
+"        g_warning(\"g_dir_open() failed with error: %s\\n\", "
+"error-&gt;message)·\n"
+"        g_clear_error(&amp;error)·\n"
+"        return·\n"
 "    }\n"
 "\n"
-"    const gchar *filename = g_dir_read_name(dir);\n"
+"    img_paths = g_ptr_array_new_with_free_func (g_free)·\n"
+"\n"
+"    const gchar *filename = g_dir_read_name(dir)·\n"
 "    while(filename)\n"
 "    {\n"
-"        if(g_str_has_suffix(filename, \".jpg\") || g_str_has_suffix(filename, \".png\"))\n"
+"        if(g_str_has_suffix(filename, \".jpg\") || g_str_has_suffix(filename, "
+"\".png\"))\n"
 "        {\n"
-"            gchar *path = g_build_filename(IMAGE_DIR_PATH, filename, NULL);\n"
-"            img_path_list = g_slist_prepend(img_path_list, path);\n"
+"            gchar *path = g_build_filename(IMAGE_DIR_PATH, filename, NULL)·\n"
+"            g_ptr_array_add (img_paths, path)·\n"
 "        }\n"
-"        filename = g_dir_read_name(dir);\n"
+"        filename = g_dir_read_name(dir)·\n"
 "    }\n"
 "}"
 
-#: C/photo-wall.c.page:241(item/p)
+#: C/photo-wall.c.page:278(item/p)
 msgid ""
 "Lines 5 and 12: This opens our directory or, if an error occured, returns "
 "after printing an error message."
@@ -30861,28 +32124,35 @@ msgstr ""
 "Γραμμές 5 και 12: Αυτό ανοίγει τον κατάλογό μας ή, εάν συμβεί σφάλμα, "
 "επιστρέφει μετά την εκτύπωση ένα μήνυμα σφάλματος."
 
-#: C/photo-wall.c.page:242(item/p)
+#: C/photo-wall.c.page:279(item/p)
+#| msgid ""
+#| "Lines 14‒23: The first line gets another file name from the <code>GDir</"
+#| "code> we opened earlier. If there was an image file (which we check by "
+#| "looking at its extension, \".png\" or \".jpg\") in the directory we "
+#| "proceed to prepend the image directory path to the filename and prepend "
+#| "that to the list we set up earlier. Lastly we attempt to get the next "
+#| "path name and reenter the loop if another file was found."
 msgid ""
-"Lines 14‒23: The first line gets another file name from the <code>GDir</"
+"Lines 16‒25: The first line gets another file name from the <code>GDir</"
 "code> we opened earlier. If there was an image file (which we check by "
 "looking at its extension, \".png\" or \".jpg\") in the directory we proceed "
 "to prepend the image directory path to the filename and prepend that to the "
 "list we set up earlier. Lastly we attempt to get the next path name and "
 "reenter the loop if another file was found."
 msgstr ""
-"Γραμμές 14-23: Η πρώτη γραμμή παίρνει ένα άλλο όνομα αρχείου από το "
+"Γραμμές 16-25: Η πρώτη γραμμή παίρνει ένα άλλο όνομα αρχείου από το "
 "<code>GDir</code> που ανοίξαμε πιο νωρίς. Εάν υπήρχε ένα αρχείο εικόνας (που "
 "ελέγχουμε κοιτώντας την επέκτασή του, \".png\" ή \".jpg\") στον κατάλογο "
 "συνεχίζουμε να προτάσσουμε τη διαδρομή καταλόγου εικόνας στο όνομα αρχείου "
 "και το προτάσσουμε στη λίστα που εγκαταστήσαμε νωρίτερα. Τελευταία "
-"προσπαθούμε να πάρουμε το επόμενο όνομα διαδρομής και ξαναεισάγουμε το βρόχο "
-"εάν βρεθεί κάποιο άλλο αρχείο."
+"προσπαθούμε να πάρουμε το επόμενο όνομα διαδρομής και ξαναεισάγουμε τον "
+"βρόχο εάν βρεθεί κάποιο άλλο αρχείο."
 
-#: C/photo-wall.c.page:247(section/title)
+#: C/photo-wall.c.page:284(section/title)
 msgid "Set up the actors"
 msgstr "Εγκατάσταση των δραστών"
 
-#: C/photo-wall.c.page:248(section/p)
+#: C/photo-wall.c.page:285(section/p)
 msgid ""
 "We now take a look at the sizing and positioning of <code>ClutterActor</"
 "code>s and also readying the <code>ClutterActor</code> for user interaction."
@@ -30891,7 +32161,7 @@ msgstr ""
 "<code>ClutterActor</code> και επίσης να ετοιμάσουμε το <code>ClutterActor</"
 "code> για αλληλεπίδραση χρήστη."
 
-#: C/photo-wall.c.page:251(section/code)
+#: C/photo-wall.c.page:288(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -30924,7 +32194,7 @@ msgstr ""
 "                     NULL);\n"
 "}"
 
-#: C/photo-wall.c.page:267(item/p)
+#: C/photo-wall.c.page:304(item/p)
 msgid ""
 "Line 7: Setting an actor reactive means that it reacts to events, such as "
 "<code>button-press-event</code> in our case. For Photo Wall, all "
@@ -30935,7 +32205,7 @@ msgstr ""
 "τοίχο, όλοι οι <code>ClutterActor</code> στον τοίχο θα πρέπει αρχικά να "
 "είναι αντιδραστικοί."
 
-#: C/photo-wall.c.page:270(item/p)
+#: C/photo-wall.c.page:307(item/p)
 msgid ""
 "Line 9‒12: Now we connect the <code>button-press-event</code> to the "
 "<code>actor_clicked_cb</code> callback which we will look at next."
@@ -30943,16 +32213,16 @@ msgstr ""
 "Γραμμή 9-12: Τώρα συνδέουμε το <code>button-press-event</code> στην "
 "επανάκληση <code>actor_clicked_cb</code> που θα δούμε στη συνέχεια."
 
-#: C/photo-wall.c.page:273(section/p)
+#: C/photo-wall.c.page:310(section/p)
 msgid "At this point we've got a wall of images that are ready to be viewed."
 msgstr ""
 "Σε αυτό το σημείο πήραμε έναν τοίχο εικόνων που είναι έτοιμες να προβληθούν."
 
-#: C/photo-wall.c.page:277(section/title)
+#: C/photo-wall.c.page:314(section/title)
 msgid "Reacting to the clicks"
 msgstr "Αντίδραση στα κλικ"
 
-#: C/photo-wall.c.page:281(section/code)
+#: C/photo-wall.c.page:318(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -30963,33 +32233,39 @@ msgid ""
 "{\n"
 "    /* Flag to keep track of our state. */\n"
 "    static gboolean is_focused = FALSE;\n"
+"    ClutterActorIter iter;\n"
+"    ClutterActor *child;\n"
+"\n"
+"    /* Reset the focus state on all the images */\n"
+"    clutter_actor_iter_init (&amp;iter, clutter_actor_get_parent(actor));\n"
+"    while (clutter_actor_iter_next(&amp;iter, &amp;child))\n"
+"      clutter_actor_set_reactive(child, is_focused);\n"
 "\n"
-"    g_slist_foreach(actor_list, foreach_set_focus_state, &amp;is_focused);\n"
+"    clutter_actor_save_easing_state(actor);\n"
+"    clutter_actor_set_easing_duration(actor, ANIMATION_DURATION_MS);\n"
 "\n"
 "    if(is_focused)\n"
 "    {\n"
-"        clutter_actor_animate(actor, CLUTTER_LINEAR, ANIMATION_DURATION_MS,\n"
-"                              \"x\",      origin.x,\n"
-"                              \"y\",      origin.y,\n"
-"                              \"depth\",  UNFOCUS_DEPTH,\n"
-"                              \"width\",  (float) THUMBNAIL_SIZE,\n"
-"                              \"height\", (float) THUMBNAIL_SIZE,\n"
-"                              NULL);\n"
+"        /* Restore the old location and size. */\n"
+"        clutter_actor_set_position(actor, unfocused_pos.x, unfocused_pos.y);\n"
+"        clutter_actor_set_size(actor, THUMBNAIL_SIZE, THUMBNAIL_SIZE);\n"
 "    }\n"
 "    else\n"
 "    {\n"
-"        /*Save the current location before animating. */\n"
-"        clutter_actor_get_position(actor, &amp;origin.x, &amp;origin.y);\n"
+"        /* Save the current location before animating. */\n"
+"        clutter_actor_get_position(actor, &amp;unfocused_pos.x, &amp;unfocused_pos.y);\n"
+"        /* Only the currently focused image should receive events. */\n"
 "        clutter_actor_set_reactive(actor, TRUE);\n"
-"        clutter_actor_animate(actor, CLUTTER_LINEAR, ANIMATION_DURATION_MS,\n"
-"                              \"x\",      (STAGE_WIDTH - STAGE_HEIGHT) / 2.0,\n"
-"                              \"y\",      0.0,\n"
-"                              \"depth\",  FOCUS_DEPTH,\n"
-"                              \"width\",  (float) STAGE_HEIGHT,\n"
-"                              \"height\", (float) STAGE_HEIGHT,\n"
-"                              NULL);\n"
+"\n"
+"        /* Put the focused image on top. */\n"
+"        clutter_actor_set_child_above_sibling(clutter_actor_get_parent(actor), actor, NULL);\n"
+"\n"
+"        clutter_actor_set_position(actor, (STAGE_WIDTH - STAGE_HEIGHT) / 2.0, 0);\n"
+"        clutter_actor_set_size(actor, STAGE_HEIGHT, STAGE_HEIGHT);\n"
 "    }\n"
 "\n"
+"    clutter_actor_restore_easing_state(actor);\n"
+"\n"
 "    /* Toggle our flag. */\n"
 "    is_focused = !is_focused;\n"
 "\n"
@@ -31002,42 +32278,52 @@ msgstr ""
 "                 ClutterEvent *event,\n"
 "                 gpointer      user_data)\n"
 "{\n"
-"    /* Flag to keep track of our state. */\n"
-"    static gboolean is_focused = FALSE;\n"
+"    /* Σημαία για να κρατήσουμε ίχνος της κατάστασής μας. */\n"
+"    static gboolean is_focused = FALSE·\n"
+"    ClutterActorIter iter·\n"
+"    ClutterActor *child·\n"
 "\n"
-"    g_slist_foreach(actor_list, foreach_set_focus_state, &amp;is_focused);\n"
+"    /* Επαναφορά της κατάστασης εστίασης σε όλες τις εικόνες */\n"
+"    clutter_actor_iter_init (&amp;iter, clutter_actor_get_parent(actor))·\n"
+"    while (clutter_actor_iter_next(&amp;iter, &amp;child))\n"
+"      clutter_actor_set_reactive(child, is_focused)·\n"
+"\n"
+"    clutter_actor_save_easing_state(actor)·\n"
+"    clutter_actor_set_easing_duration(actor, ANIMATION_DURATION_MS)·\n"
 "\n"
 "    if(is_focused)\n"
 "    {\n"
-"        clutter_actor_animate(actor, CLUTTER_LINEAR, ANIMATION_DURATION_MS,\n"
-"                              \"x\",      origin.x,\n"
-"                              \"y\",      origin.y,\n"
-"                              \"depth\",  UNFOCUS_DEPTH,\n"
-"                              \"width\",  (float) THUMBNAIL_SIZE,\n"
-"                              \"height\", (float) THUMBNAIL_SIZE,\n"
-"                              NULL);\n"
+"        /* Επαναφορά της παλιάς τοποθεσίας και μεγέθους. */\n"
+"        clutter_actor_set_position(actor, unfocused_pos.x, unfocused_pos.y)·\n"
+"        clutter_actor_set_size(actor, THUMBNAIL_SIZE, THUMBNAIL_SIZE)·\n"
 "    }\n"
 "    else\n"
 "    {\n"
-"        /*Save the current location before animating. */\n"
-"        clutter_actor_get_position(actor, &amp;origin.x, &amp;origin.y);\n"
-"        clutter_actor_set_reactive(actor, TRUE);\n"
-"        clutter_actor_animate(actor, CLUTTER_LINEAR, ANIMATION_DURATION_MS,\n"
-"                              \"x\",      (STAGE_WIDTH - STAGE_HEIGHT) / 2.0,\n"
-"                              \"y\",      0.0,\n"
-"                              \"depth\",  FOCUS_DEPTH,\n"
-"                              \"width\",  (float) STAGE_HEIGHT,\n"
-"                              \"height\", (float) STAGE_HEIGHT,\n"
-"                              NULL);\n"
+"        /* Αποθήκευση της τρέχουσας τοποθεσίας πριν την κίνηση. */\n"
+"        clutter_actor_get_position(actor, &amp;unfocused_pos.x, "
+"&amp;unfocused_pos.y)·\n"
+"        /* Μόνο η τρέχουσα εστιασμένη εικόνα πρέπει να δεχτεί συμβάντα. */\n"
+"        clutter_actor_set_reactive(actor, TRUE)·\n"
+"\n"
+"        /* Βάλτε την εστιασμένη εικόνα στην κορυφή. */\n"
+"        "
+"clutter_actor_set_child_above_sibling(clutter_actor_get_parent(actor), "
+"actor, NULL)·\n"
+"\n"
+"        clutter_actor_set_position(actor, (STAGE_WIDTH - STAGE_HEIGHT) / "
+"2.0, 0)·\n"
+"        clutter_actor_set_size(actor, STAGE_HEIGHT, STAGE_HEIGHT)·\n"
 "    }\n"
 "\n"
-"    /* Toggle our flag. */\n"
-"    is_focused = !is_focused;\n"
+"    clutter_actor_restore_easing_state(actor)·\n"
 "\n"
-"    return TRUE;\n"
+"    /* Εναλλαγή της σημαίας μας. */\n"
+"    is_focused = !is_focused·\n"
+"\n"
+"    return TRUE·\n"
 "}"
 
-#: C/photo-wall.c.page:322(item/p)
+#: C/photo-wall.c.page:365(item/p)
 msgid ""
 "Lines 1‒4: We have to make sure our callback function matches the signature "
 "required for the <code>button_clicked_event</code> signal. For our example, "
@@ -31049,7 +32335,7 @@ msgstr ""
 "Για το παράδειγμά μας, θα χρησιμοποιήσουμε μόνο το πρώτο όρισμα, το "
 "<code>ClutterActor</code> που στην πραγματικότητα πατήθηκε."
 
-#: C/photo-wall.c.page:324(note/p)
+#: C/photo-wall.c.page:367(note/p)
 msgid ""
 "A few words on the arguments we are not using in this example. The "
 "<code>ClutterEvent</code> is different depending on what event is being "
@@ -31068,12 +32354,17 @@ msgstr ""
 "τιμές <code>x</code> και <code>y</code>. Δείτε την τεκμηρίωση του Clutter "
 "για άλλους τύπους <code>ClutterEvent</code>."
 
-#: C/photo-wall.c.page:325(note/p)
+#: C/photo-wall.c.page:368(note/p)
+#| msgid ""
+#| "The <code>user_data</code> is what one uses to pass data into the the "
+#| "function. A pointer to any data type can be passed in. If you need "
+#| "multiple data to be passed into the callback, you can place the data into "
+#| "a struct and pass its address in."
 msgid ""
-"The <code>user_data</code> is what one uses to pass data into the the "
-"function. A pointer to any data type can be passed in. If you need multiple "
-"data to be passed into the callback, you can place the data into a struct "
-"and pass its address in."
+"The <code>user_data</code> is what one uses to pass data into the function. "
+"A pointer to any data type can be passed in. If you need multiple data to be "
+"passed into the callback, you can place the data into a struct and pass its "
+"address in."
 msgstr ""
 "Ο <code>user_data</code> είναι τι χρησιμοποιεί κάποιος για να περάσει "
 "δεδομένα στη συνάρτηση. Ένας δείκτης σε οποιοδήποτε τύπο δεδομένων μπορεί να "
@@ -31081,7 +32372,7 @@ msgstr ""
 "μπορείτε να τοποθετήσετε τα δεδομένα σε μια δομή και να περάσετε τη "
 "διεύθυνσή του."
 
-#: C/photo-wall.c.page:329(item/p)
+#: C/photo-wall.c.page:372(item/p)
 msgid ""
 "Line 7: We set up a static flag to track which state we are in: wall mode or "
 "focus mode. We start out in wall mode so no image has focus. Thus, we set "
@@ -31092,106 +32383,52 @@ msgstr ""
 "κατάσταση τοίχου, έτσι καμιά εικόνα δεν έχει εστίαση. Έτσι, ορίζουμε τη "
 "σημαία σε <code>FALSE</code> αρχικά."
 
-#: C/photo-wall.c.page:330(item/p)
-msgid ""
-"Line 9: This line of code runs a custom function, "
-"<code>foreach_set_focus_state</code>, for each element in our "
-"<code>actor_list</code>, passing it the address to the <code>is_focused</"
-"code> flag. We'll see the definition of the <code>foreach_set_focus_state</"
-"code> function in the next section."
-msgstr ""
-"Γραμμή 9: Αυτή η γραμμή κώδικα τρέχει μια προσαρμοσμένη συνάρτηση, "
-"<code>foreach_set_focus_state</code>, για κάθε στοιχείο στη "
-"<code>actor_list</code> μας, περνώντας τη διεύθυνση στη σημαία "
-"<code>is_focused</code>. Θα δούμε τον ορισμό της συνάρτησης "
-"<code>foreach_set_focus_state</code> στην επόμενη ενότητα."
-
-#: C/photo-wall.c.page:331(item/p)
-msgid ""
-"Lines 13‒19: Reaching this code means that one image currently has focus and "
-"we want to return to wall mode. The <code>clutter_actor_animate</code> "
-"function is used to animate a <code>ClutterActor</code>'s property or "
-"properties from the current state(s) to the specified state(s). The "
-"arguments are as follows:"
-msgstr ""
-"Γραμμές 13-19: Φτάνοντας αυτόν τον κώδικα σημαίνει ότι μια εικόνα που έχει "
-"τρέχουσα εστίαση και θέλουμε να επιστρέψει σε κατάσταση τοίχου. Η συνάρτηση "
-"<code>clutter_actor_animate</code> χρησιμοποιείται για την κίνηση μιας "
-"ιδιότητας του <code>ClutterActor</code> ή ιδιοτήτων από την τρέχουσες "
-"καταστάσεις στις συγκεκριμένες καταστάσεις. Τα ορίσματα είναι όπως ακολουθεί:"
-
-#: C/photo-wall.c.page:333(item/p)
-msgid "The address of the <code>ClutterActor</code> to animate"
-msgstr "Η διεύθυνση του <code>ClutterActor</code> για κίνηση"
-
-#: C/photo-wall.c.page:334(item/p)
-msgid ""
-"The animation mode to use. Here we use <code>CLUTTER_LINEAR</code> so that "
-"we have a constant speed for animation."
-msgstr ""
-"Η κατάσταση κίνησης για χρήση. Εδώ χρησιμοποιούμε <code>CLUTTER_LINEAR</"
-"code> έτσι ώστε να έχουμε μια σταθερή ταχύτητα για κίνηση."
-
-#: C/photo-wall.c.page:335(item/p)
-msgid ""
-"The duration of the animation in milliseconds. I've chosen 500 ms for this "
-"example."
-msgstr "Η διάρκεια της κίνησης σε ms. Επέλεξα 500 ms για αυτό το παράδειγμα."
-
-#: C/photo-wall.c.page:336(item/p)
-msgid ""
-"The remaining arguments are property/value pairs. Here we want to set the "
-"<code>x</code> value to the starting <code>x</code> value this "
-"<code>ClutterActor</code> was at before being brought into focus."
-msgstr ""
-"Τα υπολειπόμενα ορίσματα είναι ζεύγη ιδιότητας/τιμής. Εδώ θέλουμε να "
-"ορίσουμε την τιμή <code>x</code> στην αρχική τιμή <code>x</code>, αυτός ο "
-"<code>ClutterActor</code> ήταν πριν μεταφερθεί σε εστίαση."
-
-#: C/photo-wall.c.page:337(item/p)
+#: C/photo-wall.c.page:373(item/p)
 msgid ""
-"The last argument must always be <code>NULL</code> to indicate that there "
-"are no more properties to be set."
+"Line 12‒14: These set the image actors to receive events if they are foxused."
 msgstr ""
-"Το τελευταίο όρισμα πρέπει πάντοτε να είναι <code>NULL</code> για να δείξει "
-"ότι δεν υπάρχουν περισσότερες ιδιότητες να οριστούν."
+"Γραμμές 12-14: Αυτές βάζουν τους δράστες εικόνας να δέχονται συμβάντα εάν "
+"χρησιμοποιηθούν κατάλληλα."
 
-#: C/photo-wall.c.page:339(note/p)
+#: C/photo-wall.c.page:374(item/p)
+#| msgid ""
+#| "Line 37: Here we toggle the <code>is_focused</code> flag to the current "
+#| "state."
 msgid ""
-"The <code>depth</code> property needs a little more explaining. We need to "
-"raise the focused image so that it doesn't slide behind other "
-"<code>ClutterActor</code>s. In this section we are returning it to the same "
-"depth as the others on the wall."
+"Line 16‒17: Here we set the animation duration and save the current state."
 msgstr ""
-"Η ιδιότητα <code>depth</code> χρειάζεται περισσότερη εξήγηση. Χρειαζόμαστε "
-"να ανυψώσουμε την εστιασμένη εικόνα, έτσι ώστε να μην ολισθήσει πίσω από "
-"άλλο <code>ClutterActor</code>. Σε αυτή την ενότητα επιστρέφουμε στο ίδιο "
-"βάθος όπως οι άλλες στον τοίχο."
+"Γραμμές 16-17: Εδώ ορίζουμε τη διάρκεια κίνησης και αποθηκεύουμε την "
+"τρέχουσα κατάσταση."
 
-#: C/photo-wall.c.page:340(note/p)
+#: C/photo-wall.c.page:375(item/p)
+#| msgid ""
+#| "Lines 13‒19: Reaching this code means that one image currently has focus "
+#| "and we want to return to wall mode. The <code>clutter_actor_animate</"
+#| "code> function is used to animate a <code>ClutterActor</code>'s property "
+#| "or properties from the current state(s) to the specified state(s). The "
+#| "arguments are as follows:"
 msgid ""
-"Depth also determines which <code>ClutterActor</code>s receive events. A "
-"<code>ClutterActor</code> with a higher depth value receives the click "
-"events and can choose whether the event gets sent to <code>ClutterActor</"
-"code>s under it. We'll see how that works in a few steps."
+"Lines 21‒23: Reaching this code means that one image currently has focus and "
+"we want to return to wall mode. Setting a position on a <code>ClutterActor</"
+"code> begins an animation with the duration that we set in line 17."
 msgstr ""
-"Το βάθος επίσης καθορίζει ποιος <code>ClutterActor</code> δέχεται συμβάντα. "
-"Ένας <code>ClutterActor</code> με υψηλότερη τιμή βάθους δέχεται τα συμβάντα "
-"κλικ και μπορεί να επιλέξει εάν το συμβάν στέλνεται στο <code>ClutterActor</"
-"code> κάτω από αυτό. Θα δούμε πώς δουλεύει αυτό σε λίγα βήματα."
+"Γραμμές 21-23: Φτάνοντας αυτόν τον κώδικα σημαίνει ότι μια εικόνα έχει την "
+"τρέχουσα εστίαση και θέλουμε να επιστρέψει σε κατάσταση τοίχου. Ορίζοντας "
+"μια θέση σε έναν <code>ClutterActor</code> ξεκινά μια κίνηση με τη διάρκεια "
+"που ορίζουμε στη γραμμή 17."
 
-#: C/photo-wall.c.page:342(item/p)
+#: C/photo-wall.c.page:377(item/p)
 msgid ""
 "Line 24: Reaching this line of code means we are currently in the wall state "
 "and are about to give a <code>ClutterActor</code> focus. Here we save the "
 "starting position so that we can return to it later."
 msgstr ""
 "Γραμμή 24: φτάνοντας αυτή τη γραμμή του κώδικα σημαίνει ότι είμαστε προς το "
-"παρόν στην κατάσταση τοίχου και πρόκειται να δώσουμε μια <code>ClutterActor</"
-"code> εστίαση. Εδώ αποθηκεύουμε την αρχική θέση, έτσι ώστε να μπορούμε να "
-"επιστρέψουμε αργότερα."
+"παρόν στην κατάσταση τοίχου και πρόκειται να δώσουμε μια "
+"<code>ClutterActor</code> εστίαση. Εδώ αποθηκεύουμε την αρχική θέση, έτσι "
+"ώστε να μπορούμε να επιστρέψουμε αργότερα."
 
-#: C/photo-wall.c.page:343(item/p)
+#: C/photo-wall.c.page:378(item/p)
 msgid ""
 "Line 25: Setting the <code>ClutterActor</code>'s <code>reactive</code> "
 "property to <code>TRUE</code> makes this <code>ClutterActor</code> react to "
@@ -31207,23 +32444,36 @@ msgstr ""
 "προβαλλόμενος <code>ClutterActor</code>. Κλικ στο <code>ClutterActor</code> "
 "θα επιστρέψει στην αρχική του θέση."
 
-#: C/photo-wall.c.page:344(item/p)
+#: C/photo-wall.c.page:379(item/p)
 msgid ""
-"Lines 27‒33: This is similar to the above block of code. Notice that we are "
-"setting the the depth to raise it above the other images."
+"Lines 27‒36: This is where we save the current position of the image, set it "
+"to receive events and then make it appear above the other images and start "
+"animating it to fill the stage."
 msgstr ""
-"Γραμμές 27-33: Αυτό είναι όμοιο με την παραπάνω ομάδα κώδικα. Σημειώστε ότι "
-"ορίζουμε το βάθος ανύψωσης του πάνω από τις άλλες εικόνες."
+"Γραμμές 27-36: Εδώ αποθηκεύουμε την τρέχουσα θέση της εικόνας, την ορίζουμε "
+"να δέχεται συμβάντα και έπειτα την κάνουμε να εμφανιστεί πάνω από τις άλλες "
+"εικόνες και ξεκινάμε την κίνησή της για να γεμίσει τη σκηνή."
 
-#: C/photo-wall.c.page:345(item/p)
+#: C/photo-wall.c.page:380(item/p)
 msgid ""
-"Line 37: Here we toggle the <code>is_focused</code> flag to the current "
+"Line 39: Here we restore the easing state to what was set before we changed "
+"it in line 16."
+msgstr ""
+"Γραμμή 39: Εδώ επαναφέρουμε την κατάσταση απάλυνσης σε ό,τι ορίστηκε πριν "
+"την αλλάξουμε στη γραμμή 16."
+
+#: C/photo-wall.c.page:381(item/p)
+#| msgid ""
+#| "Line 37: Here we toggle the <code>is_focused</code> flag to the current "
+#| "state."
+msgid ""
+"Line 42: Here we toggle the <code>is_focused</code> flag to the current "
 "state."
 msgstr ""
-"Γραμμή 37: Εδώ εναλλάσσουμε τη σημαία <code>is_focused</code> στην τρέχουσα "
+"Γραμμή 42: Εδώ εναλλάσσουμε τη σημαία <code>is_focused</code> στην τρέχουσα "
 "κατάσταση."
 
-#: C/photo-wall.c.page:346(item/p)
+#: C/photo-wall.c.page:382(item/p)
 msgid ""
 "As mentioned previously, the <code>ClutterActor</code>s with higher "
 "<code>depth</code> values receive events but can allow <code>ClutterActor</"
@@ -31237,7 +32487,7 @@ msgstr ""
 "Επιστροφή σε <code>TRUE</code> θα σταματήσει τα συμβάντα από το να "
 "συνεχίσουν, ενώ <code>FALSE</code> θα συνεχίσει τα συμβάντα."
 
-#: C/photo-wall.c.page:348(note/p)
+#: C/photo-wall.c.page:384(note/p)
 msgid ""
 "Remember, however, that to receive events the <code>ClutterActor</code>s "
 "must be set <code>reactive</code>."
@@ -31245,60 +32495,7 @@ msgstr ""
 "Να θυμόσαστε, όμως, ότι για αποδοχή συμβάντων το <code>ClutterActor</code> "
 "πρέπει να οριστεί σε <code>reactive</code>."
 
-#: C/photo-wall.c.page:352(section/p)
-msgid ""
-"The following is the convenience function passed to <code>g_slist_foreach</"
-"code>."
-msgstr ""
-"Το παρακάτω είναι μια συνάρτηση διευκόλυνσης που πέρασε σε "
-"<code>g_slist_foreach</code>."
-
-#: C/photo-wall.c.page:355(section/code)
-#, no-wrap
-msgid ""
-"\n"
-"static void\n"
-"foreach_set_focus_state(gpointer data, gpointer user_data)\n"
-"{\n"
-"    ClutterActor *actor = CLUTTER_ACTOR(data);\n"
-"    gboolean is_reactive = *((gboolean*)user_data);\n"
-"\n"
-"    clutter_actor_set_reactive(actor, is_reactive);\n"
-"}"
-msgstr ""
-"\n"
-"static void\n"
-"foreach_set_focus_state(gpointer data, gpointer user_data)\n"
-"{\n"
-"    ClutterActor *actor = CLUTTER_ACTOR(data);\n"
-"    gboolean is_reactive = *((gboolean*)user_data);\n"
-"\n"
-"    clutter_actor_set_reactive(actor, is_reactive);\n"
-"}"
-
-#: C/photo-wall.c.page:365(item/p)
-msgid ""
-"Lines 2‒5: The signature of this function requires two <code>gpointer</"
-"code>s. The first is a pointer to the <code>ClutterActor</code> that our "
-"<code>GSList</code> holds and the other is the <code>is_focused</code> flag "
-"that we've passed in the previous section. We want to cast these and store "
-"them for easy use."
-msgstr ""
-"Γραμμές 2-5: Η υπογραφή αυτής της συνάρτησης απαιτεί δύο <code>gpointer</"
-"code>. Το πρώτο είναι ένας δείκτης στο <code>ClutterActor</code> που η "
-"<code>GSList</code> μας κρατά και ο άλλος είναι η σημαία <code>is_focused</"
-"code> που περάσαμε στην προηγούμενη ενότητα. Θέλουμε να τα αλλάξουμε και να "
-"τα αποθηκεύσουμε για εύκολη χρήση."
-
-#: C/photo-wall.c.page:366(item/p)
-msgid ""
-"Line 7: Depending on which boolean value is passed in, the "
-"<code>ClutterActor</code> will be set to respond to events or not."
-msgstr ""
-"Γραμμή 7: Ανάλογα με ποια τιμή Μπουλ πέρασε, ο <code>ClutterActor</code> θα "
-"οριστεί να απαντήσει ή όχι στα συμβάντα."
-
-#: C/photo-wall.c.page:372(section/p)
+#: C/photo-wall.c.page:392(section/p)
 msgid ""
 "All of the code should now be ready to go. All you need now is some pictures "
 "to load. By default, the pictures are loaded from a <file>berlin_images</"
@@ -31320,7 +32517,7 @@ msgstr ""
 "<file>berlin_images</file> ως υποκαταλόγου του καταλόγου <file>photo-wall</"
 "file>. Βεβαιωθείτε ότι βάλατε τουλάχιστον δώδεκα εικόνες στον κατάλογο!"
 
-#: C/photo-wall.c.page:374(section/p)
+#: C/photo-wall.c.page:394(section/p)
 msgid ""
 "When you have done that, click <guiseq><gui>Build</gui><gui>Build Project</"
 "gui></guiseq> to build everything again, then <guiseq><gui>Run</"
@@ -31331,7 +32528,7 @@ msgstr ""
 "<guiseq><gui>τρέξιμο</gui><gui>εκτέλεση</gui></guiseq> για έναρξη της "
 "εφαρμογής."
 
-#: C/photo-wall.c.page:375(section/p)
+#: C/photo-wall.c.page:395(section/p)
 msgid ""
 "If you haven't already done so, choose the <file>Debug/src/photo-wall</file> "
 "application in the dialog that appears. Finally, hit <gui>Run</gui> and "
@@ -31341,7 +32538,7 @@ msgstr ""
 "wall</file> στον διάλογο που εμφανίζεται. Τελικά πατήστε <gui>εκτέλεση</gui> "
 "και απολαύστε το!"
 
-#: C/photo-wall.c.page:380(section/p)
+#: C/photo-wall.c.page:400(section/p)
 msgid ""
 "If you run into problems with the tutorial, compare your code with this "
 "<link href=\"photo-wall/photo-wall.c\">reference code</link>."
@@ -31377,7 +32574,7 @@ msgid "A widget which indicates progress visually"
 msgstr "Ένα γραφικό συστατικό που δείχνει την πρόοδο οπτικά"
 
 #: C/progressbar.c.page:21(page/title) C/progressbar.js.page:19(page/title)
-#: C/progressbar.py.page:20(page/title) C/progressbar.vala.page:20(page/title)
+#: C/progressbar.py.page:21(page/title) C/progressbar.vala.page:20(page/title)
 msgid "ProgressBar"
 msgstr "ProgressBar"
 
@@ -31549,7 +32746,7 @@ msgstr ""
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
-#: C/progressbar.js.page:20(media) C/progressbar.py.page:21(media)
+#: C/progressbar.js.page:20(media) C/progressbar.py.page:22(media)
 msgctxt "_"
 msgid ""
 "external ref='media/progressbar.ogv' md5='36deab3dd4b5be968828fa2ef416d612'"
@@ -31565,11 +32762,11 @@ msgstr "ProgressBar (JavaScript)"
 msgid "A bar which animates to indicate progress"
 msgstr "Μια γραμμή που κινείται για να δείξει την πρόοδο"
 
-#: C/progressbar.js.page:24(div/p) C/progressbar.py.page:25(div/p)
+#: C/progressbar.js.page:24(div/p) C/progressbar.py.page:26(div/p)
 msgid "Pressing any key stops and starts this ProgressBar."
 msgstr "Πατώντας οποιοδήποτε πλήκτρο σταματά και αρχίζει αυτή τη ProgressBar."
 
-#: C/progressbar.js.page:31(page/p) C/progressbar.py.page:32(page/p)
+#: C/progressbar.js.page:31(page/p) C/progressbar.py.page:33(page/p)
 msgid "This ProgressBar is stopped and started by pressing any key."
 msgstr "Αυτή η ProgressBar σταματά και ξεκινά πατώντας οποιοδήποτε πλήκτρο."
 
@@ -31753,11 +32950,11 @@ msgctxt "text"
 msgid "ProgressBar (Python)"
 msgstr "ProgressBar (Python)"
 
-#: C/progressbar.py.page:17(info/desc)
+#: C/progressbar.py.page:18(info/desc)
 msgid "A widget which indicates progress visually."
 msgstr "Ένα γραφικό συστατικό που δείχνει την πρόοδο οπτικά."
 
-#: C/progressbar.py.page:39(section/code)
+#: C/progressbar.py.page:40(section/code)
 #, no-wrap
 msgid ""
 "from gi.repository import GLib\n"
@@ -31874,11 +33071,11 @@ msgstr ""
 "exit_status = app.run(sys.argv)\n"
 "sys.exit(exit_status)\n"
 
-#: C/progressbar.py.page:44(section/title)
+#: C/progressbar.py.page:45(section/title)
 msgid "Useful methods for a ProgressBar widget"
 msgstr "Χρήσιμες μέθοδοι για ένα γραφικό συστατικό ProgressBar"
 
-#: C/progressbar.py.page:46(item/p)
+#: C/progressbar.py.page:47(item/p)
 msgid ""
 "Instead of <code>pulse()</code>, that makes the bar go back and forth, if we "
 "want the ProgressBar to \"fill in\" a fraction (a <code>float</code> between "
@@ -31891,27 +33088,33 @@ msgstr ""
 "γραμμής που έχει ολοκληρωθεί, χρησιμοποιήστε <code>set_fraction(fraction)</"
 "code>."
 
-#: C/progressbar.py.page:47(item/p)
+#: C/progressbar.py.page:48(item/p)
+#| msgid ""
+#| "To set a text and show it (superimposed over the bar) use <code>set_text"
+#| "(\"some text\")</code> and <code>set_show_text(True)</code>. If a text is "
+#| "not set and <code>set_show_text(True)</code> the text will be the "
+#| "percentage of the work that has been completed."
 msgid ""
 "To set a text and show it (superimposed over the bar) use <code>set_text"
-"(\"some text\")</code> and <code>set_show_text(True)</code>. If a text is "
-"not set and <code>set_show_text(True)</code> the text will be the percentage "
-"of the work that has been completed."
+"(<var>\"text\"</var>)</code> and <code>set_show_text(True)</code>. If a text "
+"is not set and <code>set_show_text(True)</code> the text will be the "
+"percentage of the work that has been completed."
 msgstr ""
 "Για ρύθμιση κειμένου και εμφάνισή του (υπερτιθέμενου της γραμμής) "
-"χρησιμοποιήστε <code>set_text(\"some text\")</code> και <code>set_show_text"
-"(True)</code>. Εάν ένα κείμενο δεν ορίζεται και το <code>set_show_text(True)"
-"</code>, τότε το κείμενο θα είναι ποσοστό της εργασίας που ολοκληρώθηκε."
+"χρησιμοποιήστε <code>set_text(<var>\"text\"</var>)</code> και "
+"<code>set_show_text(True)</code>. Εάν ένα κείμενο δεν ορίζεται και το "
+"<code>set_show_text(True)</code>, τότε το κείμενο θα είναι το ποσοστό της "
+"εργασίας που έχει ολοκληρωθεί."
 
-#: C/progressbar.py.page:55(item/p)
+#: C/progressbar.py.page:56(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkProgressBar.html";
 "\">GtkProgressBar</link>"
 msgstr ""
-"<link href=\"http://developer.gnome.org/gtk3/unstable/GtkProgressBar.html";
-"\">GtkProgressBar</link>"
+"<link href=\"http://developer.gnome.org/gtk3/unstable/GtkProgressBar.html\";>Gt"
+"kProgressBar</link>"
 
-#: C/progressbar.py.page:56(item/p)
+#: C/progressbar.py.page:57(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/glib/stable/glib-The-Main-Event-Loop.";
 "html\">GLib - The Main Event Loop</link>"
@@ -31919,7 +33122,7 @@ msgstr ""
 "<link href=\"http://developer.gnome.org/glib/stable/glib-The-Main-Event-Loop.";
 "html\">GLib - The Main Event Loop</link>"
 
-#: C/progressbar.py.page:57(item/p)
+#: C/progressbar.py.page:58(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gdk/stable/gdk-Keyboard-Handling";
 "\">Gdk - Key Values</link>"
@@ -32030,35 +33233,43 @@ msgctxt "text"
 msgid "Properties (Python)"
 msgstr "Ιδιότητες (Python)"
 
-#: C/properties.py.page:12(info/desc)
+#: C/properties.py.page:13(info/desc)
 msgid "An explanation of properties, getters and setters."
 msgstr "Μια εξήγηση των ιδιοτήτων, ληπτών και ρυθμιστών."
 
-#: C/properties.py.page:25(page/title)
+#: C/properties.py.page:26(page/title)
 msgid "Properties"
 msgstr "Ιδιότητες"
 
-#: C/properties.py.page:32(section/p)
+#: C/properties.py.page:33(section/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:"
 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:"
+"such as a button or a label has the property <code>label</code> 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 with the text “Hello World”, an angle "
+"of 25 degrees, and aligned to the right, you can use:"
 msgstr ""
 "Οι <em>ιδιότητες</em> περιγράφουν τη διαμόρφωση και κατάσταση των γραφικών "
 "συστατικών και κάθε γραφικό συστατικό έχει το δικό του ιδιαίτερο σύνολο "
 "ιδιοτήτων. Για παράδειγμα, ένα γραφικό συστατικό όπως ένα κουμπί ή μια "
-"ετικέτα έχει την ιδιότητα \"label\" που περιέχει το κείμενο του γραφικού "
-"συστατικού. Μπορείτε να ορίσετε το όνομα και την τιμή οποιουδήποτε αριθμού "
-"ιδιοτήτων ως ορίσματα λέξης-κλειδί όταν δημιουργείτε ένα στιγμιότυπο ενός "
-"γραφικού συστατικού: για παράδειγμα, για τη δημιουργία μιας ετικέτας "
-"στοιχισμένης στα δεξιά με το κείμενο “Hello World” και μια γωνία 25 μοιρών, "
-"μπορείτε να χρησιμοποιήσετε:"
+"ετικέτα έχει την ιδιότητα <code>label</code> που περιέχει το κείμενο του "
+"γραφικού συστατικού. Μπορείτε να ορίσετε το όνομα και την τιμή οποιουδήποτε "
+"αριθμού ιδιοτήτων ως ορίσματα λέξης-κλειδιού όταν δημιουργείτε ένα "
+"στιγμιότυπο ενός γραφικού συστατικού: για παράδειγμα, για τη δημιουργία μιας "
+"ετικέτας με το κείμενο “Hello World”, με μια γωνία 25 μοιρών και στοίχιση "
+"στα δεξιά, μπορείτε να χρησιμοποιήσετε:"
 
-#: C/properties.py.page:33(section/code)
+#: C/properties.py.page:34(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -32067,11 +33278,12 @@ msgstr ""
 "\n"
 "label = Gtk.Label(label=\"Hello World\", angle=25, halign=Gtk.Align.END)"
 
-#: C/properties.py.page:36(section/p)
-msgid "This is equivalent to:"
-msgstr "Αυτό είναι ισοδύναμο με:"
+#: C/properties.py.page:37(section/p)
+#| msgid "This is equivalent to:"
+msgid "which is equivalent to using:"
+msgstr "που είναι ισοδύναμο με:"
 
-#: C/properties.py.page:37(section/code)
+#: C/properties.py.page:38(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -32086,41 +33298,59 @@ msgstr ""
 "label.set_angle(25)\n"
 "label.set_halign(Gtk.Align.END)"
 
-#: C/properties.py.page:43(section/p)
+#: C/properties.py.page:44(section/p)
+#| msgid ""
+#| "Once you have created such a label, you can get the text with the getter "
+#| "<code>label.get_label()</code>."
 msgid ""
-"Once you have created such a label, you can get the text with the getter "
-"<code>label.get_label()</code>."
+"Once you have created such a label, you can get the text of the label with "
+"<code>label.get_label()</code>, and analogously for the other properties."
 msgstr ""
-"Μόλις δημιουργήσετε μια τέτοια ετικέτα, μπορείτε να πάρετε το κείμενο με τον "
-"λήπτη <code>label.get_label()</code>."
+"Μόλις δημιουργήσετε μια τέτοια ετικέτα, μπορείτε να πάρετε το κείμενο της "
+"ετικέτας με <code>label.get_label()</code> και ανάλογα για τις άλλες "
+"ιδιότητες."
 
-#: C/properties.py.page:45(section/p)
+#: C/properties.py.page:46(section/p)
+#| msgid ""
+#| "Instead of using getters and setters you can also get and set the "
+#| "properties with <code>get_property(\"prop-name\")</code> and "
+#| "<code>set_property(\"prop-name\", value)</code>, respectively."
 msgid ""
 "Instead of using getters and setters you can also get and set the properties "
-"with <code>get_property(\"prop-name\")</code> and <code>set_property(\"prop-"
-"name\", value)</code>, respectively."
+"with <code>get_property(<var>\"prop-name\"</var>)</code> and "
+"<code>set_property(<var>\"prop-name\"</var>, <var>value</var>)</code>, "
+"respectively."
 msgstr ""
-"Αντι να χρησιμοποιήσετε λήπτες και ρυθμιστές μπορείτε επίσης να πάρετε και "
-"να ρυθμίσετε τις ιδιότητες με <code>get_property(\"prop-name\")</code> και "
-"<code>set_property(\"prop-name\", value)</code>, αντίστοιχα."
+"Αντί να χρησιμοποιήσετε λήπτες και ρυθμιστές μπορείτε επίσης να πάρετε και "
+"να ρυθμίσετε τις ιδιότητες με <code>get_property(<var>\"prop-"
+"name\"</var>)</code> και <code>set_property(<var>\"prop-name\"</var>, "
+"<var>value</var>)</code>, αντίστοιχα."
 
-#: C/properties.py.page:51(section/p)
+#: C/properties.py.page:52(section/p)
+#| msgid ""
+#| "<link href=\"http://python-gtk-3-tutorial.readthedocs.org/en/latest/";
+#| "basics.html\">Basics - Properties</link> in Python Gtk+ 3 Tutorial"
 msgid ""
 "<link href=\"http://python-gtk-3-tutorial.readthedocs.org/en/latest/basics.";
-"html\">Basics - Properties</link> in Python Gtk+ 3 Tutorial"
+"html\">Basics - Properties</link> in Python GTK+ 3 Tutorial"
 msgstr ""
-"<link href=\"http://python-gtk-3-tutorial.readthedocs.org/en/latest/basics.";
-"html\">Βασικά - Ιδιότητες</link> στο μάθημα Python Gtk+ 3"
+"<link href=\"http://python-";
+"gtk-3-tutorial.readthedocs.org/en/latest/basics.html\">Βασικά - "
+"Ιδιότητες</link> στο μάθημα Python GTK+ 3"
 
 #: C/py.page:6(info/title)
 msgctxt "link"
 msgid "Python"
 msgstr "Python"
 
-#: C/py.page:15(page/title)
+#: C/py.page:20(page/title)
 msgid "Tutorials, code samples and platform demos in Python"
 msgstr "Μαθήματα, δείγματα κώδικα και παραδείγματα πλατφόρμας σε Python"
 
+#: C/py.page:25(section/title) C/tutorial.py.page:30(page/title)
+msgid "Tutorial for beginners"
+msgstr "Μάθημα για αρχάριους"
+
 #. This is a reference to an external file such as an image or video. When
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
@@ -32135,7 +33365,7 @@ msgstr "Μαθήματα, δείγματα κώδικα και παραδείγ
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
-#: C/radiobutton.c.page:24(media) C/radiobutton.py.page:25(media)
+#: C/radiobutton.c.page:24(media) C/radiobutton.py.page:23(media)
 #: C/radiobutton.vala.page:24(media)
 msgctxt "_"
 msgid ""
@@ -32153,7 +33383,7 @@ msgid "A choice from multiple checkbuttons"
 msgstr "Μια επιλογή από πολλαπλά κουμπιά ελέγχου"
 
 #: C/radiobutton.c.page:22(page/title) C/radiobutton.js.page:20(page/title)
-#: C/radiobutton.py.page:24(page/title) C/radiobutton.vala.page:23(page/title)
+#: C/radiobutton.py.page:22(page/title) C/radiobutton.vala.page:23(page/title)
 msgid "RadioButton"
 msgstr "RadioButton"
 
@@ -33403,18 +34633,18 @@ msgctxt "text"
 msgid "RadioButton (Python)"
 msgstr "RadioButton (Python)"
 
-#: C/radiobutton.py.page:21(info/desc)
+#: C/radiobutton.py.page:19(info/desc)
 msgid "Mutually exclusive buttons."
 msgstr "Αμοιβαία αποκλειόμενα κουμπιά."
 
-#: C/radiobutton.py.page:26(page/p)
+#: C/radiobutton.py.page:24(page/p)
 msgid ""
 "Three RadioButtons. You can see in the terminal if they are turned off or on."
 msgstr ""
 "Τρία RadioButtons. Μπορείτε να δείτε στον τερματικό εάν είναι ανενεργά ή "
 "ενεργά."
 
-#: C/radiobutton.py.page:32(section/code)
+#: C/radiobutton.py.page:30(section/code)
 #, no-wrap
 msgid ""
 "from gi.repository import Gtk\n"
@@ -33559,19 +34789,37 @@ msgstr ""
 "exit_status = app.run(sys.argv)\n"
 "sys.exit(exit_status)\n"
 
-#: C/radiobutton.py.page:36(section/title)
+#: C/radiobutton.py.page:34(section/title)
 msgid "Useful methods for a RadioButton widget"
 msgstr "Χρήσιμες μέθοδοι για ένα γραφικό συστατικό RadioButton"
 
-#: C/radiobutton.py.page:39(section/p)
+#: C/radiobutton.py.page:35(section/p)
 msgid ""
-"Instead of <code>button1 = Gtk.RadioButton(label=\"Button 1\")</code> we "
-"could create the button and label it with"
+"In line 16 the signal <code>\"toggled\"</code> is connected to the callback "
+"function <code>toggled_cb()</code> using <code><var>widget</var>.connect"
+"(<var>signal</var>, <var>callback function</var>)</code>. See <link xref="
+"\"signals-callbacks.py\"/> for a more detailed explanation."
 msgstr ""
-"Αντί για <code>button1 = Gtk.RadioButton(label=\"Button 1\")</code> μπορούμε "
-"να δημιουργήσουμε το κουμπί και την ετικέτα του μαζί"
+"Στη γραμμή 16 το σήμα <code>\"toggled\"</code> συνδέεται με τη συνάρτηση "
+"επανάκλησης <code>toggled_cb()</code> χρησιμοποιώντας "
+"<code><var>widget</var>.connect(<var>signal</var>, <var>callback "
+"function</var>)</code>. Δείτε <link xref=\"signals-callbacks.py\"/> για μια "
+"πιο λεπτομερή εξήγηση."
 
-#: C/radiobutton.py.page:40(section/code)
+#: C/radiobutton.py.page:37(section/p)
+#| msgid ""
+#| "Instead of <code>button1 = Gtk.RadioButton(label=\"Button 1\")</code> we "
+#| "could create the button and label it with"
+msgid ""
+"As seen in <link xref=\"properties.py\"/>, instead of <code>button1 = Gtk."
+"RadioButton(label=\"Button 1\")</code> we could create the button and label "
+"it with"
+msgstr ""
+"Όπως φαίνεται στο <link xref=\"properties.py\"/>, αντί για <code>button1 = "
+"Gtk.RadioButton(label=\"Button 1\")</code> μπορούμε να δημιουργήσουμε το "
+"κουμπί και την ετικέτα του μαζί"
+
+#: C/radiobutton.py.page:38(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -33582,14 +34830,7 @@ msgstr ""
 "button1 = Gtk.RadioButton()\n"
 "button1.set_label(\"Button 1\")."
 
-#: C/radiobutton.py.page:43(section/p)
-msgid ""
-"For a general discussion of this, see <link xref=\"properties.py\">here</"
-"link>."
-msgstr ""
-"Για μια γενική συζήτηση του δείτε <link xref=\"properties.py\">εδώ</link>."
-
-#: C/radiobutton.py.page:44(section/p)
+#: C/radiobutton.py.page:41(section/p)
 msgid ""
 "Yet another way to create a new RadioButton with a label is <code>button1 = "
 "Gtk.RadioButton.new_with_label(None, \"Button 1\")</code> (the first "
@@ -33601,7 +34842,7 @@ msgstr ""
 "code> (το πρώτο όρισμα είναι η ομάδα των ραδιοπλήκτρων, που μπορούμε να "
 "πάρουμε με <code>get_group()</code>, το δεύτερο όρισμα είναι η ετικέτα)."
 
-#: C/radiobutton.py.page:53(item/p)
+#: C/radiobutton.py.page:50(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkRadioButton.html";
 "\">GtkRadioButton</link>"
@@ -33765,7 +35006,7 @@ msgstr ""
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
-#: C/record-collection.js.page:64(media)
+#: C/record-collection.js.page:69(media)
 msgctxt "_"
 msgid ""
 "external ref='media/record-collection.png' "
@@ -33775,8 +35016,10 @@ msgstr ""
 "md5='2d645997687ed5aacd36aafafc16e072'"
 
 #: C/record-collection.js.page:7(info/title)
+#| msgctxt "text"
+#| msgid "Record Collection (JavaScript)"
 msgctxt "text"
-msgid "Record Collection (JavaScript)"
+msgid "Record collection (JavaScript)"
 msgstr "Συλλογή εγγραφών (JavaScript)"
 
 #: C/record-collection.js.page:10(info/desc)
@@ -33785,20 +35028,21 @@ msgstr ""
 "Δημιουργία μιας μικρής εφαρμογής βάσης δεδομένων για παραγγελία της μουσικής "
 "σας συλλογής"
 
-#: C/record-collection.js.page:23(page/title)
-msgid "3 Record Collection"
-msgstr "3 συλλογή εγγραφών"
+#: C/record-collection.js.page:28(page/title)
+#| msgid "3 Record Collection"
+msgid "Record collection"
+msgstr "Συλλογή εγγραφών"
 
-#: C/record-collection.js.page:28(item/p)
+#: C/record-collection.js.page:33(item/p)
 msgid "How to connect to a database using libgda"
 msgstr "Πώς να συνδεθείτε με μια βάση δεδομένων χρησιμοποιώντας libgda"
 
-#: C/record-collection.js.page:29(item/p)
+#: C/record-collection.js.page:34(item/p)
 msgid "How to insert and browse records in a database table"
 msgstr ""
 "Πώς να εισάγετε και να περιηγηθείτε σε εγγραφές στον πίνακα βάσης δεδομένων"
 
-#: C/record-collection.js.page:35(section/p)
+#: C/record-collection.js.page:40(section/p)
 msgid ""
 "This demo uses the Javascript language. We are going to demonstrate how to "
 "connect and use a database from a GTK program, by using the GDA (GNOME Data "
@@ -33809,7 +35053,7 @@ msgstr ""
 "από ένα πρόγραμμα GTK χρησιμοποιώντας τη βιβλιοθήκη GDA (πρόσβαση δεδομένων "
 "GNOME). Έτσι χρειαζόσαστε επίσης αυτή τη βιβλιοθήκη εγκατεστημένη."
 
-#: C/record-collection.js.page:38(section/p)
+#: C/record-collection.js.page:43(section/p)
 msgid ""
 "GNOME Data Access (GDA) is library whose purpose is to provide universal "
 "access to different kinds and types of data sources. This goes from "
@@ -33826,7 +35070,7 @@ msgstr ""
 "τεκμηρίωση, επισκεφτείτε την <link href=\"http://library.gnome.org/devel/";
 "libgda/stable/\">ιστότοπο GDA</link>."
 
-#: C/record-collection.js.page:41(section/p)
+#: C/record-collection.js.page:46(section/p)
 msgid ""
 "Although a big part of the code is related to user interface (GUI), we are "
 "going to focus our tutorial on the database parts (we might mention other "
@@ -33840,7 +35084,7 @@ msgstr ""
 "για τα προγράμματα JavaScript στο GNOME, δείτε το μάθημα <link xref=\"image-"
 "viewer.js\">πρόγραμμα προβολέα εικόνας</link>."
 
-#: C/record-collection.js.page:54(item/p)
+#: C/record-collection.js.page:59(item/p)
 msgid ""
 "Choose <gui>Generic Javascript</gui> from the <gui>JS</gui> tab, click "
 "<gui>Forward</gui>, and fill-out your details on the next few pages. Use "
@@ -33851,7 +35095,7 @@ msgstr ""
 "σελίδες. Χρησιμοποιήστε ως όνομα του έργου και του καταλόγου το <file>record-"
 "collection</file>."
 
-#: C/record-collection.js.page:57(item/p)
+#: C/record-collection.js.page:62(item/p)
 msgid ""
 "Click <gui>Finished</gui> and the project will be created for you. Open "
 "<file>src/main.js</file> from the <gui>Project</gui> or <gui>File</gui> "
@@ -33861,11 +35105,11 @@ msgstr ""
 "το <file>src/main.js</file> από τις καρτέλες <gui>έργο</gui> ή <gui>αρχείο</"
 "gui>. Περιλαμβάνει πολύ απλό παράδειγμα κώδικα."
 
-#: C/record-collection.js.page:63(section/title)
+#: C/record-collection.js.page:68(section/title)
 msgid "Program Structure"
 msgstr "Δομή προγράμματος"
 
-#: C/record-collection.js.page:65(section/p)
+#: C/record-collection.js.page:70(section/p)
 msgid ""
 "This demo is a simple GTK application (with a single window) capable of "
 "inserting records into a database table as well as browsing all records of "
@@ -33884,15 +35128,15 @@ msgstr ""
 "περιεχόμενο του ανανεώνεται κάθε φορά που μια νέα εγγραφή εισάγεται και στην "
 "εκκίνηση της εφαρμογής."
 
-#: C/record-collection.js.page:70(section/title)
+#: C/record-collection.js.page:75(section/title)
 msgid "Starting the fun"
 msgstr "Έναρξη της διασκέδασης"
 
-#: C/record-collection.js.page:71(section/p)
+#: C/record-collection.js.page:76(section/p)
 msgid "Let's start by examining the skeleton of the program:"
 msgstr "Ας αρχίσουμε εξετάζοντας τον σκελετό του προγράμματος:"
 
-#: C/record-collection.js.page:72(section/code)
+#: C/record-collection.js.page:77(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -33945,7 +35189,7 @@ msgstr ""
 "\n"
 "Gtk.main ();"
 
-#: C/record-collection.js.page:97(item/p)
+#: C/record-collection.js.page:102(item/p)
 msgid ""
 "Lines 1‒4: Initial imports. Pay special attention to line 3, which tells "
 "Javascript to import the GDA library, our focus in this tutorial."
@@ -33954,7 +35198,7 @@ msgstr ""
 "λέει στη Javascript να εισάγει τη βιβλιοθήκη GDA, το επίκεντρο μας σε αυτό "
 "το μάθημα."
 
-#: C/record-collection.js.page:98(item/p)
+#: C/record-collection.js.page:103(item/p)
 msgid ""
 "Lines 6‒17: Define our <code>Demo</code> class. Pay special attention to "
 "lines 13‒15, where we call 3 methods which will do the whole job. They will "
@@ -33964,15 +35208,15 @@ msgstr ""
 "προσοχή στις γραμμές 13-15, όπου καλούμε 3 μεθόδους που θα κάνουν όλη τη "
 "δουλειά. Αναλυτικά παρακάτω."
 
-#: C/record-collection.js.page:99(item/p)
+#: C/record-collection.js.page:104(item/p)
 msgid "Lines 19‒23: Start the application."
 msgstr "Γραμμές 19-23: έναρξη της εφαρμογής."
 
-#: C/record-collection.js.page:104(section/title)
+#: C/record-collection.js.page:109(section/title)
 msgid "Designing the application"
 msgstr "Σχεδιασμός της εφαρμογής"
 
-#: C/record-collection.js.page:105(section/p)
+#: C/record-collection.js.page:110(section/p)
 msgid ""
 "Let's take a look at the <code>setupWindow</code> method. It is responsible "
 "for creating the User Interface (UI). As UI is not our focus, we will "
@@ -33982,7 +35226,7 @@ msgstr ""
 "τη δημιουργία της διεπαφής χρήστη (UI). Καθώς η UI δεν είναι το επίκεντρο "
 "μας, θα εξηγήσουμε μόνο τα σχετικά μέρη."
 
-#: C/record-collection.js.page:106(section/code)
+#: C/record-collection.js.page:111(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -34085,7 +35329,7 @@ msgstr ""
 "    this.window.show_all ();\n"
 "  },"
 
-#: C/record-collection.js.page:156(item/p)
+#: C/record-collection.js.page:161(item/p)
 msgid ""
 "Lines 22 and 27: Create the 2 entries (for the two fields) in which users "
 "will type something to get inserted in the database."
@@ -34093,7 +35337,7 @@ msgstr ""
 "Γραμμές 22 και 27: δημιουργία των 2 καταχωρίσεων (για τα δύο πεδία) στα "
 "οποία οι χρήστες θα πληκτρολογήσουν κάτι για να εισαχθεί στη βάση δεδομένων."
 
-#: C/record-collection.js.page:157(item/p)
+#: C/record-collection.js.page:162(item/p)
 msgid ""
 "Lines 31‒34: Create the Insert button. We connect its <code>clicked</code> "
 "signal to the <code>_insertClicked</code> private method of the class. This "
@@ -34103,7 +35347,7 @@ msgstr ""
 "<code>clicked</code> στην ιδιωτική μέθοδο <code>_insertClicked</code> της "
 "κλάσης. Αυτή η μέθοδος αναλύεται παρακάτω."
 
-#: C/record-collection.js.page:158(item/p)
+#: C/record-collection.js.page:163(item/p)
 msgid ""
 "Line 39: Create the widget (<code>TextView</code>) where we will show the "
 "contents of the table."
@@ -34111,7 +35355,7 @@ msgstr ""
 "Γραμμή 39: δημιουργία του γραφικού συστατικού (<code>TextView</code>) όπου "
 "θα εμφανίσουμε τα περιεχόμενα του πίνακα."
 
-#: C/record-collection.js.page:159(item/p)
+#: C/record-collection.js.page:164(item/p)
 msgid ""
 "Line 44: Create the label where we will show the number of records in the "
 "table. Initially it's empty, it will be updated later."
@@ -34119,11 +35363,11 @@ msgstr ""
 "Γραμμή 44: δημιουργία της ετικέτας όπου θα εμφανιστεί ο αριθμός των εγγραφών "
 "στον πίνακα. Αρχικά είναι άδειος, θα ενημερωθεί αργότερα."
 
-#: C/record-collection.js.page:164(section/title)
+#: C/record-collection.js.page:169(section/title)
 msgid "Connecting to and initializing the database"
 msgstr "Σύνδεση και αρχικοποίηση με τη βάση δεδομένων"
 
-#: C/record-collection.js.page:165(section/p)
+#: C/record-collection.js.page:170(section/p)
 msgid ""
 "The code which makes the connection to the database is in the "
 "<code>setupDatabase</code> method below:"
@@ -34131,7 +35375,7 @@ msgstr ""
 "Ο κώδικας που κάνει τη σύνδεση στη βάση δεδομένων είναι στην παρακάτω μέθοδο "
 "<code>setupDatabase</code>:"
 
-#: C/record-collection.js.page:168(section/code)
+#: C/record-collection.js.page:173(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -34160,7 +35404,7 @@ msgstr ""
 "    }\n"
 "  },"
 
-#: C/record-collection.js.page:182(item/p)
+#: C/record-collection.js.page:187(item/p)
 msgid ""
 "Lines 2‒3: Create the GDA's <code>Connection</code> object. We must supply "
 "to its constructor some properties:"
@@ -34168,7 +35412,7 @@ msgstr ""
 "Γραμμές 2-3: δημιουργία του αντικειμένου της GDA <code>Connection</code>. "
 "Πρέπει να δώσουμε στον κατασκευαστή μερικές ιδιότητες:"
 
-#: C/record-collection.js.page:185(item/p)
+#: C/record-collection.js.page:190(item/p)
 msgid ""
 "<code>provider</code>: One of GDA's supported providers. GDA supports "
 "SQLite, MySQL, PostgreSQL, Oracle and many others. For demo purposes we will "
@@ -34181,7 +35425,7 @@ msgstr ""
 "εγκαθίσταται από προεπιλογή στις περισσότερες διανομές και είναι απλή στη "
 "χρήση (χρησιμοποιεί απλά ένα αρχείο ως βάση δεδομένων)."
 
-#: C/record-collection.js.page:188(item/p)
+#: C/record-collection.js.page:193(item/p)
 msgid ""
 "<code>cnc_string</code>: The connection string. It may change from provider "
 "to provider. The syntax for SQLite is: <code>DB_DIR=<var>PATH</var>;"
@@ -34196,7 +35440,7 @@ msgstr ""
 "κατάλογο χρήστη (σημειώστε την κλήση στη συνάρτηση .GLib's "
 "<code>get_home_dir</code>)."
 
-#: C/record-collection.js.page:192(note/p)
+#: C/record-collection.js.page:197(note/p)
 msgid ""
 "If the provider is not supported by GDA, or if the connection string is "
 "missing some element, line 2 will raise an exception. So, in real life we "
@@ -34208,7 +35452,7 @@ msgstr ""
 "πραγματική ζωή θα το χειριστούμε με μια πρόταση της JavaScript <code>try</"
 "code>...<code>catch</code>."
 
-#: C/record-collection.js.page:196(item/p)
+#: C/record-collection.js.page:201(item/p)
 msgid ""
 "Line 4: Open the connection. In the SQLite provider, if the database does "
 "not exist, it will be created in this step."
@@ -34216,7 +35460,7 @@ msgstr ""
 "Γραμμή 4: άνοιγμα της σύνδεσης. Στον πάροχο SQLite, εάν η βάση δεδομένων δεν "
 "υπάρχει, θα δημιουργηθεί σε αυτό το βήμα."
 
-#: C/record-collection.js.page:198(item/p)
+#: C/record-collection.js.page:203(item/p)
 msgid ""
 "Lines 6‒10: Try to do a simple select to check if the table exists (line 7). "
 "If it does not exist (because the database was just created), this command "
@@ -34230,7 +35474,7 @@ msgstr ""
 "την ομάδα <code>try</code>...<code>catch</code>. Εάν συμβαίνει αυτό, "
 "τρέχουμε τη δημιουργία πρότασης πίνακα (γραμμή 9)."
 
-#: C/record-collection.js.page:199(item/p)
+#: C/record-collection.js.page:204(item/p)
 msgid ""
 "In order to run the SQL commands above we are using global GDA functions, "
 "<code>execute_select_command</code> and <code>execute_non_select_command</"
@@ -34243,17 +35487,17 @@ msgstr ""
 "μόνο δύο ορίσματα: Το αντικείμενο <code>Connection</code> και την εντολή SQL "
 "να αναλυθεί."
 
-#: C/record-collection.js.page:203(section/p)
+#: C/record-collection.js.page:208(section/p)
 msgid "At this point we have the database set up, and are ready to use it."
 msgstr ""
 "Σε αυτό το σημείο έχουμε ρυθμίσει τη βάση δεδομένων και είμαστε έτοιμοι να "
 "τη χρησιμοποιήσουμε."
 
-#: C/record-collection.js.page:207(section/title)
+#: C/record-collection.js.page:212(section/title)
 msgid "Selecting"
 msgstr "Επιλογή"
 
-#: C/record-collection.js.page:208(section/p)
+#: C/record-collection.js.page:213(section/p)
 msgid ""
 "After connecting to the database, our demo's constructor calls the "
 "<code>selectData</code> method. It is responsible for getting all the "
@@ -34265,7 +35509,7 @@ msgstr ""
 "εγγραφών στον πίνακα και την εμφάνισή τους στο γραφικό συστατικό "
 "<code>TextView</code>. Ας ρίξουμε μια ματιά σε αυτό:"
 
-#: C/record-collection.js.page:211(section/code)
+#: C/record-collection.js.page:216(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -34304,7 +35548,7 @@ msgstr ""
 "    this.count_label.label = \"&lt;i&gt;\" + dm.get_n_rows () + \" record(s)&lt;/i&gt;\";\n"
 "  },"
 
-#: C/record-collection.js.page:229(item/p)
+#: C/record-collection.js.page:234(item/p)
 msgid ""
 "Line 2: The <code>SELECT</code> command. We are using the global GDA's "
 "function <code>execute_select_command</code> for that. It returns a "
@@ -34315,7 +35559,7 @@ msgstr ""
 "αντικείμενο <code>DataModel</code>, που χρησιμοποιείται αργότερα για "
 "ανάκτηση των γραμμών."
 
-#: C/record-collection.js.page:230(item/p)
+#: C/record-collection.js.page:235(item/p)
 msgid ""
 "Line 3: Create an <code>Iter</code> object, which is used to iterate over "
 "the <code>DataModel</code>'s records."
@@ -34323,7 +35567,7 @@ msgstr ""
 "Γραμμή 3: Δημιουργία αντικειμένου <code>Iter</code>, που χρησιμοποιείται για "
 "επανάληψη στις εγγραφές του <code>DataModel</code>."
 
-#: C/record-collection.js.page:231(item/p)
+#: C/record-collection.js.page:236(item/p)
 msgid ""
 "Line 7: Loop through all the records, fetching them with the help of the "
 "<code>Iter</code> object. At this point, the <code>iter</code> variable "
@@ -34335,11 +35579,11 @@ msgstr ""
 "code> περιέχει τα ενεργά ανακτημένα δεδομένα. Η μέθοδος του <code>move_next</"
 "code> επιστρέφει <code>false</code> όταν φτάνει την τελευταία εγγραφή."
 
-#: C/record-collection.js.page:233(item/p)
+#: C/record-collection.js.page:238(item/p)
 msgid "Lines 8‒9: We do two things in each line:"
 msgstr "Γραμμές 8-9: Κάνουμε δυο πράγματα σε κάθε γραμμή:"
 
-#: C/record-collection.js.page:235(item/p)
+#: C/record-collection.js.page:240(item/p)
 msgid ""
 "Use <code>Iter</code>'s method <code>get_value_at</code>, which requires "
 "only one argument: the column number to retrieve, starting at 0. As our "
@@ -34351,7 +35595,7 @@ msgstr ""
 "0. Καθώς η εντολή μας <code>SELECT</code> επιστρέφει μόνο δύο στήλες, "
 "ανακτούμε τις στήλες 0 και 1."
 
-#: C/record-collection.js.page:236(item/p)
+#: C/record-collection.js.page:241(item/p)
 msgid ""
 "The method <code>get_value_at</code> returns the field in GLib's "
 "<code>GValue</code> format. A simple way to convert this format to a string "
@@ -34366,7 +35610,7 @@ msgstr ""
 "αποτελέσματα στις μεταβλητές <code>id_field</code> και <code>name_field</"
 "code>."
 
-#: C/record-collection.js.page:239(item/p)
+#: C/record-collection.js.page:244(item/p)
 msgid ""
 "Line 11: Concatenate the two fields to make one text line, separated by "
 "<code>\"=&gt;\"</code>, and store it in the <code>text</code> variable."
@@ -34375,7 +35619,7 @@ msgstr ""
 "διαχωριζόμενης με <code>\"=&gt;\"</code> και αποθήκευση της στη μεταβλητή "
 "<code>text</code>."
 
-#: C/record-collection.js.page:240(item/p)
+#: C/record-collection.js.page:245(item/p)
 msgid ""
 "Line 14: After the loop is finished, we have all the records formatted in "
 "the <code>text</code> variable. In this line we just set the contents of the "
@@ -34385,7 +35629,7 @@ msgstr ""
 "στη μεταβλητή <code>text</code>. Σε αυτή τη γραμμή ορίζουμε μόνο τα "
 "περιεχόμενα του <code>TextView</code> με αυτή τη μεταβλητή."
 
-#: C/record-collection.js.page:241(item/p)
+#: C/record-collection.js.page:246(item/p)
 msgid ""
 "Line 15: Display the number of records in the table, making use of the "
 "<code>DataModel</code>'s <code>get_n_rows</code> method."
@@ -34393,11 +35637,11 @@ msgstr ""
 "Γραμμή 15: Εμφάνιση του αριθμού των εγγραφών στον πίνακα, χρησιμοποιώντας τη "
 "μέθοδο <code>get_n_rows</code> του <code>DataModel</code>."
 
-#: C/record-collection.js.page:246(section/title)
+#: C/record-collection.js.page:251(section/title)
 msgid "Inserting"
 msgstr "Εισαγωγή"
 
-#: C/record-collection.js.page:247(section/p)
+#: C/record-collection.js.page:252(section/p)
 msgid ""
 "OK, we know how to connect to a database and how to select rows from a "
 "table. Now it's time to do an <code>INSERT</code> on the table. Do you "
@@ -34412,7 +35656,7 @@ msgstr ""
 "σήμα <code>clicked</code> στη μέθοδο <code>_insertClicked</code>; Ας δούμε "
 "την υλοποίηση αυτής της μεθόδου."
 
-#: C/record-collection.js.page:250(section/code)
+#: C/record-collection.js.page:255(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -34453,7 +35697,7 @@ msgstr ""
 "    this.selectData ();\n"
 "  },"
 
-#: C/record-collection.js.page:268(section/p)
+#: C/record-collection.js.page:273(section/p)
 msgid ""
 "We have learned how to use GDA's convenience functions "
 "<code>execute_select_command</code> and <code>execute_non_select_command</"
@@ -34472,7 +35716,7 @@ msgstr ""
 "χρησιμοποιήσει την ίδια διάλεκτο SQL που χρησιμοποιεί ο πάροχος). Ας "
 "μελετήσουμε τον κώδικα:"
 
-#: C/record-collection.js.page:272(item/p)
+#: C/record-collection.js.page:277(item/p)
 msgid ""
 "Lines 2‒3: Check if the user filled all the fields. The code for the private "
 "method <code>_validateFields</code> is really simple and you can read it in "
@@ -34482,7 +35726,7 @@ msgstr ""
 "την ιδιωτική μέθοδο <code>_validateFields</code> είναι πραγματικά απλός και "
 "μπορείτε να τον διαβάσετε στην πλήρη παρουσίαση πηγαίου κώδικα."
 
-#: C/record-collection.js.page:273(item/p)
+#: C/record-collection.js.page:278(item/p)
 msgid ""
 "Line 5: The faster way of doing the <code>INSERT</code>. It's commented out "
 "as we want to show how to use the <code>SqlBuilder</code> object to build a "
@@ -34493,7 +35737,7 @@ msgstr ""
 "<code>SqlBuilder</code> για κατασκευή μιας πρότασης SQL φορητής μέσα από τις "
 "βάσεις δεδομένων."
 
-#: C/record-collection.js.page:274(item/p)
+#: C/record-collection.js.page:279(item/p)
 msgid ""
 "Line 7: Create the <code>SqlBuilder</code> object. We must pass the type of "
 "statement we are going to build. It can be <code>SELECT</code>, "
@@ -34504,7 +35748,7 @@ msgstr ""
 "είναι <code>SELECT</code>, <code>UPDATE</code>, <code>INSERT</code> ή "
 "<code>DELETE</code>."
 
-#: C/record-collection.js.page:275(item/p)
+#: C/record-collection.js.page:280(item/p)
 msgid ""
 "Line 8: Set the name of the table on which the built statement will operate "
 "(it will generate <code>INSERT INTO demo</code>)"
@@ -34512,7 +35756,7 @@ msgstr ""
 "Γραμμή 8: Ορισμός του ονόματος του πίνακα στον οποίο η κατασκευασμένη "
 "πρόταση θα λειτουργήσει (θα παράξει <code>INSERT INTO demo</code>)"
 
-#: C/record-collection.js.page:276(item/p)
+#: C/record-collection.js.page:281(item/p)
 msgid ""
 "Lines 9‒10: Set the fields and its values that will be part of the "
 "statement. The first argument is the field name (as in the table). The "
@@ -34522,7 +35766,7 @@ msgstr ""
 "πρότασης. Το πρώτο όρισμα είναι το όνομα πεδίου (όπως στον πίνακα). Το "
 "δεύτερο όρισμα είναι η τιμή για αυτό το πεδίο."
 
-#: C/record-collection.js.page:277(item/p)
+#: C/record-collection.js.page:282(item/p)
 msgid ""
 "Line 11: Get the dynamically generated <code>Statement</code> object, which "
 "represents a SQL statement."
@@ -34530,11 +35774,11 @@ msgstr ""
 "Γραμμή 11: Λήψη του δυναμικά δημιουργημένου αντικειμένου <code>Statement</"
 "code>, που αντιπροσωπεύει μια πρόταση SQL."
 
-#: C/record-collection.js.page:278(item/p)
+#: C/record-collection.js.page:283(item/p)
 msgid "Line 12: Finally, execute the SQL statement (<code>INSERT</code>)."
 msgstr "Γραμμή 12: Τελικά, εκτέλεση της πρότασης SQL (<code>INSERT</code>)."
 
-#: C/record-collection.js.page:279(item/p)
+#: C/record-collection.js.page:284(item/p)
 msgid ""
 "Line 14: Clear the id and name fields on the screen. The code for the "
 "private method <code>_clearFields</code> is really simple and you can read "
@@ -34544,14 +35788,14 @@ msgstr ""
 "για την ιδιωτική μέθοδο <code>_validateFields</code> είναι πραγματικά απλός "
 "και μπορείτε να τον διαβάσετε στην πλήρη παρουσίαση πηγαίου κώδικα."
 
-#: C/record-collection.js.page:280(item/p)
+#: C/record-collection.js.page:285(item/p)
 msgid ""
 "Line 15: Refresh the view on the screen by doing another <code>SELECT</code>."
 msgstr ""
 "Γραμμή 15: Ανανέωση της προβολής στην οθόνη κάνοντας ένα άλλο <code>SELECT</"
 "code>."
 
-#: C/record-collection.js.page:282(note/p)
+#: C/record-collection.js.page:287(note/p)
 msgid ""
 "You can also make use of parameters while building the statement. By using "
 "the <code>SqlBuilder</code> objects and parameters you are less subject to "
@@ -34565,7 +35809,7 @@ msgstr ""
 "<link href=\"http://library.gnome.org/devel/libgda/stable/\";>τεκμηρίωση GDA</"
 "link> για περισσότερες πληροφορίες σχετικά με τις παραμέτρους."
 
-#: C/record-collection.js.page:287(section/p)
+#: C/record-collection.js.page:292(section/p)
 msgid ""
 "All of the code you need should now be in place, so try running the code. "
 "You now have a database for your record collection!"
@@ -34574,7 +35818,7 @@ msgstr ""
 "να τρέξετε τον κώδικα. Έχετε τώρα μια βάση δεδομένων για τη συλλογής σας των "
 "εγγραφών!"
 
-#: C/record-collection.js.page:292(section/p)
+#: C/record-collection.js.page:297(section/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>."
@@ -34597,18 +35841,18 @@ msgctxt "text"
 msgid "Scale (C)"
 msgstr "Κλίμακα (C)"
 
-#: C/scale.c.page:19(info/desc) C/scale.py.page:18(info/desc)
+#: C/scale.c.page:19(info/desc) C/scale.py.page:19(info/desc)
 #: C/scale.vala.page:19(info/desc)
 msgid "A slider widget for selecting a value from a range"
 msgstr ""
 "Ένας ολισθητής γραφικού συστατικού για επιλογή μιας τιμής από μια περιοχή"
 
 #: C/scale.c.page:22(page/title) C/scale.js.page:20(page/title)
-#: C/scale.py.page:21(page/title) C/scale.vala.page:22(page/title)
+#: C/scale.py.page:22(page/title) C/scale.vala.page:22(page/title)
 msgid "Scale"
 msgstr "Κλίμακα"
 
-#: C/scale.c.page:25(page/p) C/scale.py.page:23(page/p)
+#: C/scale.c.page:25(page/p) C/scale.py.page:24(page/p)
 #: C/scale.vala.page:24(page/p)
 msgid "Slide the scales!"
 msgstr "Ολίσθηση των κλιμάκων!"
@@ -35732,7 +36976,7 @@ msgstr ""
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
-#: C/scale.py.page:22(media) C/scale.vala.page:23(media)
+#: C/scale.py.page:23(media) C/scale.vala.page:23(media)
 msgctxt "_"
 msgid "external ref='media/scale.png' md5='462c52a53b773cb9e8c62c646bf88452'"
 msgstr "external ref='media/scale.png' md5='462c52a53b773cb9e8c62c646bf88452'"
@@ -35742,7 +36986,7 @@ msgctxt "text"
 msgid "Scale (Python)"
 msgstr "Κλίμακα (Python)"
 
-#: C/scale.py.page:29(section/code)
+#: C/scale.py.page:30(section/code)
 #, no-wrap
 msgid ""
 "from gi.repository import Gtk\n"
@@ -35889,21 +37133,10 @@ msgstr ""
 "exit_status = app.run(sys.argv)\n"
 "sys.exit(exit_status)\n"
 
-#: C/scale.py.page:33(section/title)
+#: C/scale.py.page:34(section/title)
 msgid "Useful methods for a Scale widget"
 msgstr "Χρήσιμες μέθοδοι για γραφικό συστατικό κλίμακας"
 
-#: C/scale.py.page:34(section/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 ""
-"Για μια εξήγηση των σημάτων και συναρτήσεων επανάκλησης, δείτε <link xref="
-"\"signals-callbacks.py\">αυτήν τη σελίδα</link>. Ένα παράδειγμα είναι το "
-"σήμα <code>\"value-changed\"</code>, που εκπέμπεται όταν η τιμή της κλίμακας "
-"αλλάζει."
-
 #: C/scale.py.page:35(section/p)
 msgid ""
 "A Gtk.Adjustment is needed to construct the Gtk.Scale. This is the "
@@ -35926,7 +37159,20 @@ msgstr ""
 "κλίμακα. Σημειώστε ότι το <code>page_size</code> δεν χρησιμοποιείται σε "
 "αυτήν την περίπτωση, θα πρέπει να οριστεί σε <code>0</code>."
 
-#: C/scale.py.page:37(item/p)
+#: C/scale.py.page:36(section/p)
+msgid ""
+"In line 28 the signal <code>\"value-changed\"</code> is connected to the "
+"callback function <code>scale_moved()</code> using <code><var>widget</var>."
+"connect(<var>signal</var>, <var>callback function</var>)</code>. See <link "
+"xref=\"signals-callbacks.py\"/> for a more detailed explanation."
+msgstr ""
+"Στη γραμμή 28 το σήμα <code>\"value-changed\"</code> συνδέεται με τη συνάρτηση "
+"επανάκλησης <code>scale_moved()</code> χρησιμοποιώντας "
+"<code><var>widget</var>.connect(<var>signal</var>, <var>callback "
+"function</var>)</code>. Δείτε <link xref=\"signals-callbacks.py\"/> για μια "
+"πιο λεπτομερή εξήγηση."
+
+#: C/scale.py.page:38(item/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 "
@@ -35939,7 +37185,7 @@ msgstr ""
 "δεσμευθεί να προσαρμοστεί μέσα τους). Αυτές είναι οι μέθοδοι της κλάσης Gtk."
 "Range."
 
-#: C/scale.py.page:38(item/p)
+#: C/scale.py.page:39(item/p)
 msgid ""
 "Use <code>set_draw_value(False)</code> to avoid displaying the current value "
 "as a string next to the slider."
@@ -35947,13 +37193,13 @@ msgstr ""
 "Χρησιμοποιήστε <code>set_draw_value(False)</code> για αποφυγή εμφάνισης της "
 "τρέχουσας τιμής ως συμβολοσειράς δίπλα στον ολισθητή."
 
-#: C/scale.py.page:39(item/p)
+#: C/scale.py.page:40(item/p)
 msgid ""
 "To highlight the part of the scale between the origin and the current value:"
 msgstr ""
 "Για τονισμό μέρους της κλίμακας μεταξύ της αρχικής και της τρέχουσας τιμής:"
 
-#: C/scale.py.page:40(item/code)
+#: C/scale.py.page:41(item/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -35966,7 +37212,7 @@ msgstr ""
 "self.h_scale.set_fill_level(self.h_scale.get_value())\n"
 "self.h_scale.set_show_fill_level(True)"
 
-#: C/scale.py.page:44(item/p)
+#: C/scale.py.page:45(item/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."
@@ -35976,7 +37222,7 @@ msgstr ""
 "συμπληρώνεται κάθε φορά που αλλάζει η τιμή. Αυτές είναι οι μέθοδοι της "
 "κλάσης Gtk.Range."
 
-#: C/scale.py.page:46(item/p)
+#: C/scale.py.page:47(item/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 "
@@ -35992,7 +37238,7 @@ msgstr ""
 "code>) με κείμενο <code>Null</code> ή <code>markup</code> στη γλώσσα "
 "επισήμανσης Pango. Για καθαρισμό σημαδιών, <code>clear_marks()</code>."
 
-#: C/scale.py.page:47(item/p)
+#: C/scale.py.page:48(item/p)
 msgid ""
 "<code>set_digits(digits)</code> sets the precision of the scale at "
 "<code>digits</code> digits."
@@ -36000,7 +37246,7 @@ msgstr ""
 "Ο <code>set_digits(digits)</code> ορίζει την ακρίβεια της κλίμακας σε ψηφία "
 "<code>digits</code>."
 
-#: C/scale.py.page:55(item/p)
+#: C/scale.py.page:56(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkScale.html";
 "\">GtkScale</link>"
@@ -36008,7 +37254,7 @@ msgstr ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkScale.html";
 "\">GtkScale</link>"
 
-#: C/scale.py.page:56(item/p) C/spinbutton.py.page:48(item/p)
+#: C/scale.py.page:57(item/p) C/spinbutton.py.page:49(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkAdjustment.html";
 "\">GtkAdjustment</link>"
@@ -36016,7 +37262,7 @@ msgstr ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkAdjustment.html";
 "\">GtkAdjustment</link>"
 
-#: C/scale.py.page:57(item/p) C/scrolledwindow.py.page:44(item/p)
+#: C/scale.py.page:58(item/p) C/scrolledwindow.py.page:45(item/p)
 #: C/textview.py.page:99(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/gtk3-Standard-";
@@ -36180,7 +37426,13 @@ msgstr ""
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
-#: C/scrolledwindow.py.page:21(media) C/scrolledwindow.vala.page:22(media)
+#.
+#. This is a reference to an external file such as an image or video. When
+#. the file changes, the md5 hash will change to let you know you need to
+#. update your localized copy. The msgstr is not used at all. Set it to
+#. whatever you like once you have updated your copy of the file.
+#: C/scrolledwindow.c.page:24(media) C/scrolledwindow.py.page:22(media)
+#: C/scrolledwindow.vala.page:22(media)
 msgctxt "_"
 msgid ""
 "external ref='media/scrolledwindow.png' "
@@ -36189,26 +37441,245 @@ msgstr ""
 "external ref='media/scrolledwindow.png' "
 "md5='697bb3205d5c4fb0b4ea8db435843157'"
 
-#: C/scrolledwindow.py.page:7(info/title)
+#: C/scrolledwindow.c.page:7(info/title)
+#| msgid "ScrolledWindow"
 msgctxt "text"
-msgid "ScrolledWindow (Python)"
-msgstr "ScrolledWindow (Python)"
+msgid "ScrolledWindow (C)"
+msgstr "ScrolledWindow (C)"
 
-#: C/scrolledwindow.py.page:17(info/desc)
+#: C/scrolledwindow.c.page:19(info/desc)
+#: C/scrolledwindow.py.page:18(info/desc)
 #: C/scrolledwindow.vala.page:18(info/desc)
 msgid "Adds scrollbars to its child widget"
 msgstr "Προσθέτει γραμμές κύλισης στο θυγατρικό του γραφικό συστατικού"
 
-#: C/scrolledwindow.py.page:20(page/title)
+#: C/scrolledwindow.c.page:22(page/title)
+#: C/scrolledwindow.py.page:21(page/title)
 #: C/scrolledwindow.vala.page:21(page/title)
 msgid "ScrolledWindow"
 msgstr "ScrolledWindow"
 
-#: C/scrolledwindow.py.page:22(page/p) C/scrolledwindow.vala.page:23(page/p)
+#: C/scrolledwindow.c.page:25(page/p) C/scrolledwindow.py.page:23(page/p)
+#: C/scrolledwindow.vala.page:23(page/p)
 msgid "An image in a scrolled window."
 msgstr "Μια εικόνα σε κυλιόμενο παράθυρο."
 
-#: C/scrolledwindow.py.page:28(section/code)
+#: C/scrolledwindow.c.page:27(page/code)
+#, no-wrap
+#| msgid ""
+#| "\n"
+#| "#include &lt;gtk/gtk.h&gt;\n"
+#| "\n"
+#| "\n"
+#| "\n"
+#| "static void\n"
+#| "activate (GtkApplication *app,\n"
+#| "          gpointer        user_data)\n"
+#| "{\n"
+#| "  /* Declare variables */\n"
+#| "  GtkWidget *window;\n"
+#| "  GtkWidget *text_view;\n"
+#| "  GtkWidget *scrolled_window;\n"
+#| "\n"
+#| "  GtkTextBuffer *buffer;\n"
+#| "\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), \"TextView Example\");\n"
+#| "  gtk_window_set_default_size (GTK_WINDOW (window), 220, 200);\n"
+#| "\n"
+#| "\n"
+#| "  /* The text buffer represents the text being edited */\n"
+#| "  buffer = gtk_text_buffer_new (NULL);\n"
+#| "  \n"
+#| "\n"
+#| "  /* Text view is a widget in which can display the text buffer. \n"
+#| "   * The line wrapping is set to break lines in between words.\n"
+#| "   */\n"
+#| "  text_view = gtk_text_view_new_with_buffer (buffer);\n"
+#| "  gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (text_view), GTK_WRAP_WORD); \n"
+#| "\n"
+#| "\n"
+#| "  /* Create the scrolled window. Usually NULL is passed for both parameters so \n"
+#| "   * that it creates the horizontal/vertical adjustments automatically. Setting \n"
+#| "   * the scrollbar policy to automatic allows the scrollbars to only show up \n"
+#| "   * when needed. \n"
+#| "   */\n"
+#| "  scrolled_window = gtk_scrolled_window_new (NULL, NULL);\n"
+#| "  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window), \n"
+#| "                                  GTK_POLICY_AUTOMATIC, \n"
+#| "                                  GTK_POLICY_AUTOMATIC); \n"
+#| "  /* The function directly below is used to add children to the scrolled window \n"
+#| "   * with scrolling capabilities (e.g text_view), otherwise, \n"
+#| "   * gtk_scrolled_window_add_with_viewport() would have been used\n"
+#| "   */\n"
+#| "  gtk_container_add (GTK_CONTAINER (scrolled_window), \n"
+#| "                                         text_view);\n"
+#| "  gtk_container_set_border_width (GTK_CONTAINER (scrolled_window), 5);\n"
+#| " \n"
+#| "  \n"
+#| "  gtk_container_add (GTK_CONTAINER (window), scrolled_window);\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"
+"\n"
+"\n"
+"\n"
+"static void\n"
+"activate (GtkApplication *app,\n"
+"          gpointer        user_data)\n"
+"{\n"
+"  /* Declare variables */\n"
+"  GtkWidget *window;\n"
+"  GtkWidget *scrolled_window;\n"
+"  GtkWidget *image;\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), \"ScrolledWindow Example\");\n"
+"  gtk_window_set_default_size (GTK_WINDOW (window), 220, 200);\n"
+"\n"
+"  /* Create the scrolled window. Usually NULL is passed for both parameters so\n"
+"   * that it creates the horizontal/vertical adjustments automatically. Setting\n"
+"   * the scrollbar policy to automatic allows the scrollbars to only show up\n"
+"   * when needed.\n"
+"   */\n"
+"  scrolled_window = gtk_scrolled_window_new (NULL, NULL);\n"
+"  /* Set the border width */\n"
+"  gtk_container_set_border_width (GTK_CONTAINER (scrolled_window), 10);\n"
+"  /* Extract our desired image from a file that we have */\n"
+"  image = gtk_image_new_from_file (\"gnome-image.png\");\n"
+"  /* And add it to the scrolled window */\n"
+"  gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (scrolled_window), image);\n"
+"  /* Set the policy of the horizontal and vertical scrollbars to automatic.\n"
+"   * What this means is that the scrollbars are only present if needed.\n"
+"   */\n"
+"  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window),\n"
+"                                  GTK_POLICY_AUTOMATIC,\n"
+"                                  GTK_POLICY_AUTOMATIC);\n"
+"\n"
+"  gtk_container_add (GTK_CONTAINER (window), scrolled_window);\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"
+msgstr ""
+"\n"
+"#include &lt;gtk/gtk.h&gt;\n"
+"\n"
+"\n"
+"\n"
+"static void\n"
+"activate (GtkApplication *app,\n"
+"          gpointer        user_data)\n"
+"{\n"
+"  /* Δήλωση μεταβλητών */\n"
+"  GtkWidget *window·\n"
+"  GtkWidget *scrolled_window·\n"
+"  GtkWidget *image·\n"
+"\n"
+"  /* Δημιουργία παραθύρου με τίτλο και προεπιλεγμένο μέγεθος */\n"
+"  window = gtk_application_window_new (app)·\n"
+"  gtk_window_set_title (GTK_WINDOW (window), \"ScrolledWindow Example\")·\n"
+"  gtk_window_set_default_size (GTK_WINDOW (window), 220, 200)·\n"
+"\n"
+"  /* Δημιουργία κυλιόμενου παραθύρου. Συνήθως το NULL περνά και για τις δύο "
+"παραμέτρους έτσι\n"
+"   * δημιουργεί τις οριζόντιες/κάθετες ρυθμίσεις αυτόματα. Ορίζοντας\n"
+"   * το είδος της γραμμής κύλισης σε αυτόματη επιτρέπει στις γραμμές κύλισης "
+"να εμφανίζονται μόνον\n"
+"   * όταν χρειάζονται.\n"
+"   */\n"
+"  scrolled_window = gtk_scrolled_window_new (NULL, NULL)·\n"
+"  /* Ορισμός του πλάτους του περιθωρίου */\n"
+"  gtk_container_set_border_width (GTK_CONTAINER (scrolled_window), 10)·\n"
+"  /* Εξαγωγή της επιθυμητής μας εικόνας από ένα αρχείο που έχουμε */\n"
+"  image = gtk_image_new_from_file (\"gnome-image.png\")·\n"
+"  /* Και προσθήκη του στο κυλιόμενο παράθυρο */\n"
+"  gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW "
+"(scrolled_window), image)·\n"
+"  /* Ορίζει το είδος των οριζόντιων και κάθετων κυλιόμενων γραμμών σε "
+"αυτόματο.\n"
+"   * Αυτό σημαίνει ότι οι γραμμές κύλισης εμφανίζονται μόνον όταν "
+"χρειάζονται.\n"
+"   */\n"
+"  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window),\n"
+"                                  GTK_POLICY_AUTOMATIC,\n"
+"                                  GTK_POLICY_AUTOMATIC)·\n"
+"\n"
+"  gtk_container_add (GTK_CONTAINER (window), scrolled_window)·\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"
+
+#: C/scrolledwindow.c.page:36(item/p)
+#| msgid ""
+#| "<link href=\"http://developer.gnome.org/gtk3/stable/gtk3-Standard-";
+#| "Enumerations.html#GtkOrientation\">Standard Enumerations</link>"
+msgid ""
+"<link href=\"http://developer.gnome.org/gtk/stable/gtk-Standard-Enumerations.";
+"html#GtkPolicyType\">GtkPolicyType</link>"
+msgstr ""
+"<link href=\"http://developer.gnome.org/gtk/stable/gtk-Standard-";
+"Enumerations.html#GtkPolicyType\">GtkPolicyType</link>"
+
+#: C/scrolledwindow.py.page:7(info/title)
+msgctxt "text"
+msgid "ScrolledWindow (Python)"
+msgstr "ScrolledWindow (Python)"
+
+#: C/scrolledwindow.py.page:29(section/code)
 #, no-wrap
 msgid ""
 "from gi.repository import Gtk\n"
@@ -36289,11 +37760,11 @@ msgstr ""
 "exit_status = app.run(sys.argv)\n"
 "sys.exit(exit_status)\n"
 
-#: C/scrolledwindow.py.page:31(section/title)
+#: C/scrolledwindow.py.page:32(section/title)
 msgid "Useful methods for a ScrolledWindow widget"
 msgstr "Χρήσιμες μέθοδοι για ένα γραφικό συστατικό ScrolledWindow"
 
-#: C/scrolledwindow.py.page:33(item/p)
+#: C/scrolledwindow.py.page:34(item/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."
@@ -36307,7 +37778,7 @@ msgstr ""
 "πρέπει να εμφανίζονται: με <code>AUTOMATIC</code> θα εμφανίζονται μόνο εάν "
 "χρειάζεται, <code>ALWAYS</code> και <code>NEVER</code> είναι αυτονόητα."
 
-#: C/scrolledwindow.py.page:34(item/p)
+#: C/scrolledwindow.py.page:35(item/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."
@@ -36316,7 +37787,7 @@ msgstr ""
 "Gtk.Widget <code>widget</code> χωρίς εγγενείς δυνατότητες κύλισης μέσα στο "
 "παράθυρο."
 
-#: C/scrolledwindow.py.page:35(item/p)
+#: C/scrolledwindow.py.page:36(item/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 "
@@ -36332,7 +37803,7 @@ msgstr ""
 "παραθύρου), <code>Gtk.CornerType.TOP_RIGHT, Gtk.CornerType.BOTTOM_LEFT, Gtk."
 "CornerType.BOTTOM_RIGHT</code>."
 
-#: C/scrolledwindow.py.page:36(item/p)
+#: C/scrolledwindow.py.page:37(item/p)
 msgid ""
 "<code>set_hadjustment(adjustment)</code> and <code>set_vadjustment"
 "(adjustment)</code> set the Gtk.Adjustment <code>adjustment</code>. This is "
@@ -36352,7 +37823,7 @@ msgstr ""
 "(Σημειώστε ότι <code>step_increment</code> δεν χρησιμοποιείται σε αυτήν την "
 "περίπτωση, μπορεί να οριστεί σε <code>0</code>.)"
 
-#: C/scrolledwindow.py.page:43(item/p) C/textview.py.page:98(item/p)
+#: C/scrolledwindow.py.page:44(item/p) C/textview.py.page:98(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkScrolledWindow.html";
 "\">GtkScrolledWindow</link>"
@@ -36436,7 +37907,7 @@ msgstr ""
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
-#: C/separator.py.page:23(media)
+#: C/separator.py.page:24(media)
 msgctxt "_"
 msgid ""
 "external ref='media/separator.png' md5='8769b27662ce5c77f99e9ce33751a21a'"
@@ -36448,19 +37919,19 @@ msgctxt "text"
 msgid "Seperator (Python)"
 msgstr "Διαχωριστής (Python)"
 
-#: C/separator.py.page:18(info/desc)
+#: C/separator.py.page:19(info/desc)
 msgid "A separator widget"
 msgstr "Ένας διαχωριστής γραφικού συστατικού"
 
-#: C/separator.py.page:21(page/title)
+#: C/separator.py.page:22(page/title)
 msgid "Separator"
 msgstr "Διαχωριστής"
 
-#: C/separator.py.page:24(page/p)
+#: C/separator.py.page:25(page/p)
 msgid "A horizontal and a vertical separator divide some labels."
 msgstr "Οριζόντιος και κάθετος διαχωριστής διαιρούν κάποιες ετικέτες."
 
-#: C/separator.py.page:30(section/code)
+#: C/separator.py.page:31(section/code)
 #, no-wrap
 msgid ""
 "from gi.repository import Gtk\n"
@@ -36553,11 +38024,11 @@ msgstr ""
 "exit_status = app.run(sys.argv)\n"
 "sys.exit(exit_status)\n"
 
-#: C/separator.py.page:34(section/title)
+#: C/separator.py.page:35(section/title)
 msgid "API Reference"
 msgstr "Αναφορά API"
 
-#: C/separator.py.page:38(item/p)
+#: C/separator.py.page:39(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkSeparator.html";
 "\">GtkSeparator</link>"
@@ -36685,15 +38156,15 @@ msgctxt "text"
 msgid "Signals and callbacks (Python)"
 msgstr "Σήματα και επανακλήσεις (Python)"
 
-#: C/signals-callbacks.py.page:12(info/desc)
+#: C/signals-callbacks.py.page:13(info/desc)
 msgid "An explanation of signals and callbacks in GTK+."
 msgstr "Μια εξήγηση των σημάτων και των επανακλήσεων στο GTK+."
 
-#: C/signals-callbacks.py.page:25(page/title)
+#: C/signals-callbacks.py.page:26(page/title)
 msgid "Signals and callbacks"
 msgstr "Σήματα και επανακλήσεις"
 
-#: C/signals-callbacks.py.page:32(section/p)
+#: C/signals-callbacks.py.page:33(section/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. "
@@ -36706,7 +38177,7 @@ msgstr ""
 "εκτελέσει κάποια ενέργεια - ας πούμε, πάτημα ποντικιού - τότε ο κύριος "
 "βρόχος \"ξυπνά\" και διαβιβάζει ένα συμβάν στο GTK+."
 
-#: C/signals-callbacks.py.page:34(section/p)
+#: C/signals-callbacks.py.page:35(section/p)
 msgid ""
 "When widgets receive an event, they frequently emit one or more signals. "
 "Signals notify your program that \"something interesting happened\" by "
@@ -36723,7 +38194,7 @@ msgstr ""
 "η επανάκληση, το GTK+ θα επιστρέψει στον κύριο βρόχο και θα περιμένει "
 "περισσότερες εισαγωγές του χρήστη."
 
-#: C/signals-callbacks.py.page:36(section/p)
+#: C/signals-callbacks.py.page:37(section/p)
 msgid ""
 "A generic example is: <code>handler_id = widget.connect(\"event\", callback, "
 "data)</code>. <code>widget</code> is an instance of a widget we created "
@@ -36759,7 +38230,7 @@ msgstr ""
 "εκδίδονται. Τελικά, το προαιρετικό όρισμα δεδομένων περιλαμβάνει οποιαδήποτε "
 "δεδομένα που θα έπρεπε μα περαστούν όταν το σήμα εκδίδεται."
 
-#: C/signals-callbacks.py.page:38(section/p)
+#: C/signals-callbacks.py.page:39(section/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 "
@@ -36774,7 +38245,7 @@ msgstr ""
 "τρεχόντων συνεχιζόμενων εκπομπών του σήματος στο οποίο συνδέθηκε, όπως στο "
 "<code>widget.disconnect(handler_id)</code>."
 
-#: C/signals-callbacks.py.page:45(section/p)
+#: C/signals-callbacks.py.page:46(section/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gobject/stable/signal.html";
 "\">Signals</link> in GObject documentation"
@@ -36782,13 +38253,18 @@ msgstr ""
 "<link href=\"http://developer.gnome.org/gobject/stable/signal.html\";>Σήματα</"
 "link> στην τεκμηρίωση GObject"
 
-#: C/signals-callbacks.py.page:46(section/p)
+#: C/signals-callbacks.py.page:47(section/p)
+#| msgid ""
+#| "<link href=\"http://python-gtk-3-tutorial.readthedocs.org/en/latest/";
+#| "basics.html\">Basics - Main loop and Signals</link> in Python Gtk+ 3 "
+#| "Tutorial"
 msgid ""
 "<link href=\"http://python-gtk-3-tutorial.readthedocs.org/en/latest/basics.";
-"html\">Basics - Main loop and Signals</link> in Python Gtk+ 3 Tutorial"
+"html\">Basics - Main loop and Signals</link> in Python GTK+ 3 Tutorial"
 msgstr ""
-"<link href=\"http://python-gtk-3-tutorial.readthedocs.org/en/latest/basics.";
-"html\">Βασικά - Κύριος βρόχος και σήματα</link> στο μάθημα Python Gtk+ 3"
+"<link href=\"http://python-";
+"gtk-3-tutorial.readthedocs.org/en/latest/basics.html\">Βασικά - Κύριος βρόχος "
+"και σήματα</link> στο μάθημα Python GTK+ 3"
 
 #. This is a reference to an external file such as an image or video. When
 #. the file changes, the md5 hash will change to let you know you need to
@@ -36804,7 +38280,7 @@ msgstr ""
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
-#: C/spinbutton.c.page:25(media) C/spinbutton.py.page:22(media)
+#: C/spinbutton.c.page:25(media) C/spinbutton.py.page:23(media)
 #: C/spinbutton.vala.page:23(media)
 msgctxt "_"
 msgid ""
@@ -36822,11 +38298,11 @@ msgid "Retrieve an integer or floating point number"
 msgstr "Ανάκτηση ακέραιου ή αριθμού κινητής υποδιαστολής"
 
 #: C/spinbutton.c.page:23(page/title) C/spinbutton.js.page:23(page/title)
-#: C/spinbutton.py.page:21(page/title) C/spinbutton.vala.page:22(page/title)
+#: C/spinbutton.py.page:22(page/title) C/spinbutton.vala.page:22(page/title)
 msgid "SpinButton"
 msgstr "SpinButton"
 
-#: C/spinbutton.c.page:26(page/p) C/spinbutton.py.page:23(page/p)
+#: C/spinbutton.c.page:26(page/p) C/spinbutton.py.page:24(page/p)
 #: C/spinbutton.vala.page:24(page/p)
 msgid "Choose a number, by entering it or by clicking on the -/+ buttons!"
 msgstr "Επιλέξτε έναν αριθμό, πληκτρολογώντας τον ή με κλικ στα κουμπιά -/+!"
@@ -37733,11 +39209,11 @@ msgctxt "text"
 msgid "SpinButton (Python)"
 msgstr "SpinButton (Python)"
 
-#: C/spinbutton.py.page:18(info/desc)
+#: C/spinbutton.py.page:19(info/desc)
 msgid "Retrieve an integer or floating-point number from the user."
 msgstr "Ανάκτηση ακέραιου ή αριθμού κινητής υποδιαστολής από τον χρήστη."
 
-#: C/spinbutton.py.page:29(section/code)
+#: C/spinbutton.py.page:30(section/code)
 #, no-wrap
 msgid ""
 "from gi.repository import Gtk\n"
@@ -37848,21 +39324,10 @@ msgstr ""
 "exit_status = app.run(sys.argv)\n"
 "sys.exit(exit_status)\n"
 
-#: C/spinbutton.py.page:33(section/title)
+#: C/spinbutton.py.page:34(section/title)
 msgid "Useful methods for a SpinButton widget"
 msgstr "Χρήσιμες μέθοδοι για ένα γραφικό συστατικό SpinButton"
 
-#: C/spinbutton.py.page:34(section/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 ""
-"Για μια εξήγηση των σημάτων και συναρτήσεων επανάκλησης, δείτε <link xref="
-"\"signals-callbacks.py\">αυτήν τη σελίδα</link>. Ένα παράδειγμα είναι το "
-"σήμα <code>\"value-changed\"</code>, που εκπέμπεται όταν η τιμή του κουμπιού "
-"μετρητή αλλάζει."
-
 #: C/spinbutton.py.page:35(section/p)
 msgid ""
 "A Gtk.Adjustment is needed to construct the Gtk.SpinButton. This is the "
@@ -37885,7 +39350,20 @@ msgstr ""
 "<code>page_size</code> δεν χρησιμοποιούνται σε αυτήν την περίπτωση και δεν "
 "πρέπει να ορίζονται σε <code>0</code>."
 
-#: C/spinbutton.py.page:37(item/p)
+#: C/spinbutton.py.page:36(section/p)
+msgid ""
+"In line 23 the signal <code>\"value-changed\"</code> is connected to the "
+"callback function <code>spin_selected()</code> using <code><var>widget</var>."
+"connect(<var>signal</var>, <var>callback function</var>)</code>. See <link "
+"xref=\"signals-callbacks.py\"/> for a more detailed explanation."
+msgstr ""
+"Στη γραμμή 23 το σήμα <code>\"value-changed\"</code> συνδέεται με τη συνάρτηση "
+"επανάκλησης <code>spin_selected()</code> χρησιμοποιώντας "
+"<code><var>widget</var>.connect(<var>signal</var>, <var>callback "
+"function</var>)</code>. Δείτε <link xref=\"signals-callbacks.py\"/> για μια "
+"πιο λεπτομερή εξήγηση."
+
+#: C/spinbutton.py.page:38(item/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"
@@ -37895,7 +39373,7 @@ msgstr ""
 "μέγιστο ή το ελάχιστο, ορίστε <code>set_wrap(True)</code>. Το σήμα <code>"
 "\"wrapped\"</code> εκπέμπεται όταν συμβαίνει αυτό."
 
-#: C/spinbutton.py.page:38(item/p)
+#: C/spinbutton.py.page:39(item/p)
 msgid ""
 "<code>set_digits(digits)</code> sets the precision to be displayed by the "
 "spinbutton, up to 20 digits."
@@ -37903,7 +39381,7 @@ msgstr ""
 "<code>set_digits(digits)</code> ορίζει την εμφανιζόμενη ακρίβεια από το "
 "κουμπί μετρητή, μέχρι 20 ψηφία."
 
-#: C/spinbutton.py.page:39(item/p)
+#: C/spinbutton.py.page:40(item/p)
 msgid ""
 "To get the value of the spinbutton as an integer, use <code>get_value_as_int"
 "()</code>."
@@ -37911,7 +39389,7 @@ msgstr ""
 "Για τη λήψη της τιμής του κουμπιού μετρητή ως ακεραίου, χρησιμοποιήστε "
 "<code>get_value_as_int()</code>."
 
-#: C/spinbutton.py.page:47(item/p)
+#: C/spinbutton.py.page:48(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkSpinButton.html";
 "\">GtkSpinButton</link>"
@@ -38031,30 +39509,29 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/spinner.c.page:23(media) C/spinner.js.page:21(media)
-#: C/spinner.py.page:21(media) C/spinner.vala.page:21(media)
+#: C/spinner.py.page:22(media) C/spinner.vala.page:21(media)
 msgctxt "_"
 msgid "external ref='media/spinner.png' md5='d04f2d81f1d72c6c2f97e8729947dfed'"
 msgstr ""
 "external ref='media/spinner.png' md5='d04f2d81f1d72c6c2f97e8729947dfed'"
 
 #: C/spinner.c.page:7(info/title)
-#, fuzzy
 msgctxt "text"
 msgid "Spinner (C)"
 msgstr "Μετρητής (C)"
 
 #: C/spinner.c.page:18(info/desc) C/spinner.js.page:17(info/desc)
-#: C/spinner.py.page:17(info/desc) C/spinner.vala.page:17(info/desc)
+#: C/spinner.py.page:18(info/desc) C/spinner.vala.page:17(info/desc)
 msgid "A spinner animation"
 msgstr "Κίνηση μετρητή"
 
 #: C/spinner.c.page:21(page/title) C/spinner.js.page:20(page/title)
-#: C/spinner.py.page:20(page/title) C/spinner.vala.page:20(page/title)
+#: C/spinner.py.page:21(page/title) C/spinner.vala.page:20(page/title)
 msgid "Spinner"
 msgstr "Μετρητής"
 
 #: C/spinner.c.page:24(page/p) C/spinner.js.page:22(page/p)
-#: C/spinner.py.page:22(page/p) C/spinner.vala.page:22(page/p)
+#: C/spinner.py.page:23(page/p) C/spinner.vala.page:22(page/p)
 msgid "This Spinner is stopped and started by pressing the spacebar."
 msgstr "Αυτός ο μετρητής σταματά και ξεκινά πατώντας το πλήκτρο διαστήματος."
 
@@ -38258,7 +39735,6 @@ msgstr ""
 "\">GtkSpinner</link>"
 
 #: C/spinner.js.page:7(info/title)
-#, fuzzy
 msgctxt "text"
 msgid "Spinner (JavaScript)"
 msgstr "Μετρητής (JavaScript)"
@@ -38445,12 +39921,11 @@ msgstr ""
 "\">Gtk.Spinner</link>"
 
 #: C/spinner.py.page:7(info/title)
-#, fuzzy
 msgctxt "text"
 msgid "Spinner (Python)"
 msgstr "Μετρητής (Python)"
 
-#: C/spinner.py.page:29(section/code)
+#: C/spinner.py.page:30(section/code)
 #, no-wrap
 msgid ""
 "from gi.repository import Gtk\n"
@@ -38555,7 +40030,7 @@ msgstr ""
 "exit_status = app.run(sys.argv)\n"
 "sys.exit(exit_status)\n"
 
-#: C/spinner.py.page:31(note/p)
+#: C/spinner.py.page:32(note/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 "
@@ -38570,7 +40045,7 @@ msgstr ""
 "<code>GDK_KEY_BackSpace</code> γίνεται η συμβολοσειρά <code>\"BackSpace\"</"
 "code>."
 
-#: C/spinner.py.page:40(item/p) C/togglebutton.py.page:47(item/p)
+#: C/spinner.py.page:41(item/p) C/togglebutton.py.page:45(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkSpinner.html";
 "\">GtkSpinner</link>"
@@ -38578,7 +40053,7 @@ msgstr ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkSpinner.html";
 "\">GtkSpinner</link>"
 
-#: C/spinner.py.page:41(item/p)
+#: C/spinner.py.page:42(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gdk/stable/gdk-Keyboard-Handling.html";
 "\">Key Values</link>"
@@ -38587,7 +40062,6 @@ msgstr ""
 "\">Key Values</link>"
 
 #: C/spinner.vala.page:7(info/title)
-#, fuzzy
 msgctxt "text"
 msgid "Spinner (Vala)"
 msgstr "Μετρητής (Vala)"
@@ -38739,13 +40213,13 @@ msgctxt "text"
 msgid "Statusbar (C)"
 msgstr "Γραμμή κατάστασης (C)"
 
-#: C/statusbar.c.page:21(info/desc) C/statusbar.py.page:20(info/desc)
+#: C/statusbar.c.page:21(info/desc) C/statusbar.py.page:19(info/desc)
 #: C/statusbar.vala.page:20(info/desc)
 msgid "Report messages of minor importance to the user"
 msgstr "Μηνύματα αναφοράς μικρότερης σημασίας για τον χρήστη"
 
 #: C/statusbar.c.page:24(page/title) C/statusbar.js.page:20(page/title)
-#: C/statusbar.py.page:23(page/title) C/statusbar.vala.page:23(page/title)
+#: C/statusbar.py.page:22(page/title) C/statusbar.vala.page:23(page/title)
 msgid "Statusbar"
 msgstr "Γραμμή κατάστασης"
 
@@ -39840,7 +41314,7 @@ msgstr ""
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
-#: C/statusbar.py.page:24(media) C/statusbar.vala.page:24(media)
+#: C/statusbar.py.page:23(media) C/statusbar.vala.page:24(media)
 msgctxt "_"
 msgid ""
 "external ref='media/statusbar.png' md5='eb1aca55315d6cda57b12a5f36058ba8'"
@@ -39852,7 +41326,7 @@ msgctxt "text"
 msgid "Statusbar (Python)"
 msgstr "Γραμμή κατάστασης (Python)"
 
-#: C/statusbar.py.page:25(page/p)
+#: C/statusbar.py.page:24(page/p)
 msgid ""
 "This statusbar tells you if you click the button or if you press any key "
 "(and which key)."
@@ -39860,7 +41334,7 @@ msgstr ""
 "Αυτή η γραμμή κατάστασης σας λέει εάν πατήσετε το κουμπί ή εάν πατήσετε "
 "οποιοδήποτε κλειδί (και ποιο κλειδί)."
 
-#: C/statusbar.py.page:32(section/code)
+#: C/statusbar.py.page:31(section/code)
 #, no-wrap
 msgid ""
 "from gi.repository import Gtk\n"
@@ -40001,7 +41475,7 @@ msgstr ""
 "exit_status = app.run(sys.argv)\n"
 "sys.exit(exit_status)\n"
 
-#: C/statusbar.py.page:34(note/p)
+#: C/statusbar.py.page:33(note/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 "
@@ -40016,10 +41490,23 @@ msgstr ""
 "<code>GDK_KEY_BackSpace</code> γίνεται η συμβολοσειρά <code>\"BackSpace\"</"
 "code>."
 
-#: C/statusbar.py.page:40(section/title)
+#: C/statusbar.py.page:39(section/title)
 msgid "Useful methods for a Statusbar widget"
 msgstr "Χρήσιμες μέθοδοι για ένα γραφικό συστατικό γραμμής κατάστασης"
 
+#: C/statusbar.py.page:40(section/p)
+msgid ""
+"In line 17 the signal <code>\"clicked\"</code> is connected to the callback "
+"function <code>button_clicked_cb()</code> using <code><var>widget</var>."
+"connect(<var>signal</var>, <var>callback function</var>)</code>. See <link "
+"xref=\"signals-callbacks.py\"/> for a more detailed explanation."
+msgstr ""
+"Στη γραμμή 17 το σήμα <code>\"clicked\"</code> συνδέεται με τη συνάρτηση "
+"επανάκλησης <code>button_clicked_cb()</code> χρησιμοποιώντας "
+"<code><var>widget</var>.connect(<var>signal</var>, <var>callback "
+"function</var>)</code>. Δείτε <link xref=\"signals-callbacks.py\"/> για μια "
+"πιο λεπτομερή εξήγηση."
+
 #: C/statusbar.py.page:42(item/p)
 msgid ""
 "<code>pop(context_id)</code> removes the first message in the statusbar "
@@ -40217,88 +41704,25 @@ msgctxt "text"
 msgid "Strings (Python)"
 msgstr "Συμβολοσειρές (Python)"
 
-#: C/strings.py.page:12(info/desc)
+#: C/strings.py.page:13(info/desc)
 msgid "An explanation of how to deal with strings in Python and GTK+."
 msgstr ""
 "Μια εξήγηση πώς να αντιμετωπίσετε τις συμβολοσειρές σε Python και GTK+."
 
-#: C/strings.py.page:25(page/title)
+#: C/strings.py.page:26(page/title)
 msgid "Strings"
 msgstr "Συμβολοσειρές"
 
-#: C/strings.py.page:30(section/title)
-msgid "Definitions"
-msgstr "Ορισμοί"
-
-#: C/strings.py.page:32(section/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."
+#: C/strings.py.page:30(note/p)
+msgid "GNOME strongly encourages the use of Python 3 for writing applications!"
 msgstr ""
-"Εννοιολογικά μια <em>συμβολοσειρά</em> είναι μια λίστα <em>χαρακτήρων</em> "
-"όπως 'A', 'B', 'C' or 'È'. Οι χαρακτήρες είναι αφηρημένες αναπαραστάσεις και "
-"το νόημα τους εξαρτάται από τη γλώσσα και το περιεχόμενο στο οποίο "
-"χρησιμοποιούνται. Το <em>τυπικό Unicode</em> περιγράφει πώς οι χαρακτήρες "
-"αναπαριστώνται από <em>σημεία κώδικα</em>. Για παράδειγμα οι παραπάνω "
-"χαρακτήρες αναπαριστώνται με τα σημεία κώδικα U+0041, U+0042, U+0043 και U"
-"+00C9, αντίστοιχα. Βασικά, τα σημεία κώδικα είναι αριθμοί στην περιοχή από 0 "
-"έως 0x10FFFF."
+"Το GNOME ενθαρρύνει έντονα τη χρήση του python 3 για συγγραφή εφαρμογών!"
 
-#: C/strings.py.page:34(section/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 ""
-"Η αναπαράσταση μιας συμβολοσειράς ως μιας λίστας σημείων κώδικα είναι "
-"αφηρημένη. Για να μετατρέψετε αυτήν την αφηρημένη αναπαράσταση σε μια σειρά "
-"bytes η συμβολοσειρά Unicode πρέπει να <em>κωδικοποιηθεί</em>. Η απλούστερη "
-"μορφή κωδικοποίησης είναι η ASCII και εκτελείται ως εξής:"
-
-#: C/strings.py.page:37(item/p)
-msgid ""
-"If the code point is strictly less than 128, each byte is the same as the "
-"value of the code point."
-msgstr ""
-"Εάν το σημείο κώδικα είναι αυστηρά μικρότερο από 128, κάθε byte είναι η ίδια "
-"όπως η τιμή του σημείου κώδικα."
-
-#: C/strings.py.page:38(item/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 ""
-"Εάν το σημείο κώδικα είναι 128 ή μεγαλύτερο, η συμβολοσειρά Unicode δεν "
-"μπορεί να αναπαρασταθεί σε αυτήν την κωδικοποίηση. (Ο Python εγείρει μια "
-"εξαίρεση <sys>UnicodeEncodeError</sys> σε αυτήν την περίπτωση.)"
-
-#: C/strings.py.page:41(section/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 ""
-"Αν και η κωδικοποίηση ASCII είναι απλή στην εφαρμογή μπορεί να κωδικοποιήσει "
-"μόνο 128 διαφορετικούς χαρακτήρες που είναι ανεπαρκείς. Μια από τις "
-"συνηθέστερες χρησιμοποιούμενες κωδικοποιήσεις που αντιμετωπίζει αυτό το "
-"πρόβλημα είναι η UTF-8 (μπορεί να χειριστεί οποιοδήποτε σημείο κώδικα "
-"Unicode). UTF σημαίνει “μορφή μετασχηματισμού κοινού κώδικα”, και το ‘8’ "
-"σημαίνει ότι αριθμοί 8 δυαδικών χρησιμοποιούνται στην κωδικοποίηση."
-
-#: C/strings.py.page:46(section/title)
+#: C/strings.py.page:33(section/title)
 msgid "Strings in Python 2"
 msgstr "Συμβολοσειρές σε Python 2"
 
-#: C/strings.py.page:48(section/p)
+#: C/strings.py.page:35(section/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 "
@@ -40315,7 +41739,7 @@ msgstr ""
 "ο Python αντιπροσωπεύει συμβολοσειρές Unicode ως είτε 16- ή 32- δυαδικών "
 "ακέραιους, ανάλογα με το πώς ο διερμηνευτής Python μεταγλωττίστηκε."
 
-#: C/strings.py.page:50(section/code)
+#: C/strings.py.page:37(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -40328,7 +41752,7 @@ msgstr ""
 "&gt;&gt;&gt; print unicode_string\n"
 "Fußbälle\n"
 
-#: C/strings.py.page:56(section/p)
+#: C/strings.py.page:43(section/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 "
@@ -40341,7 +41765,7 @@ msgstr ""
 "χρησιμοποιώντας τη δεδομένη κωδικοποίηση (δηλαδή, είναι το αντίστροφο της "
 "<code>unicode.encode()</code>):"
 
-#: C/strings.py.page:58(section/code)
+#: C/strings.py.page:45(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -40366,7 +41790,7 @@ msgstr ""
 "&gt;&gt;&gt; unicode_string == utf8_string.decode(\"utf-8\")\n"
 "True"
 
-#: C/strings.py.page:69(section/p)
+#: C/strings.py.page:56(section/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) "
@@ -40378,11 +41802,11 @@ msgstr ""
 "μόνο 7 δυαδικών (ASCII), αλλά θα μπορούσε να πάρει <sys>UnicodeDecodeError</"
 "sys> εάν περιέχει μη ASCII τιμές."
 
-#: C/strings.py.page:74(section/title)
+#: C/strings.py.page:61(section/title)
 msgid "Strings in Python 3"
 msgstr "Συμβολοσειρές σε Python 3"
 
-#: C/strings.py.page:76(section/p)
+#: C/strings.py.page:63(section/p)
 msgid ""
 "Since Python 3.0, all strings are stored as Unicode in an instance of the "
 "<code>str</code> type. Encoded strings on the other hand are represented as "
@@ -40399,7 +41823,7 @@ msgstr ""
 "μετάβαση από <code>str</code> σε <code>bytes</code> και <code>decode()</"
 "code> για μετάβαση από <code>bytes</code> σε <code>str</code>."
 
-#: C/strings.py.page:78(section/p)
+#: C/strings.py.page:65(section/p)
 msgid ""
 "In addition, it is no longer possible to mix Unicode strings with encoded "
 "strings, because it will result in a <code>TypeError</code>:"
@@ -40408,7 +41832,7 @@ msgstr ""
 "κωδικοποιημένες συμβολοσειρές, επειδή θα καταλήξει σε ένα <code>TypeError</"
 "code>:"
 
-#: C/strings.py.page:80(section/code)
+#: C/strings.py.page:67(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -40435,11 +41859,11 @@ msgstr ""
 "&gt;&gt;&gt; text.encode(\"utf-8\") + data\n"
 "b'Fu\\xc3\\x9fb\\xc3\\xa4lle sind rund'"
 
-#: C/strings.py.page:95(section/title)
+#: C/strings.py.page:82(section/title)
 msgid "Unicode in GTK+"
 msgstr "Unicode σε GTK+"
 
-#: C/strings.py.page:97(section/p)
+#: C/strings.py.page:84(section/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 "
@@ -40456,7 +41880,7 @@ msgstr ""
 "PyGObject θα μετατρέπει αυτόματα οποιοδήποτε στιγμιότυπο unicode σε str εάν "
 "του δοθεί ως όρισμα:"
 
-#: C/strings.py.page:99(section/code)
+#: C/strings.py.page:86(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -40477,11 +41901,11 @@ msgstr ""
 "&gt;&gt;&gt; type(txt)\n"
 "&lt;type 'str'&gt;"
 
-#: C/strings.py.page:108(section/p)
+#: C/strings.py.page:95(section/p)
 msgid "Furthermore:"
 msgstr "Επιπλέον:"
 
-#: C/strings.py.page:110(section/code)
+#: C/strings.py.page:97(section/code)
 #, no-wrap
 msgid ""
 "\n"
@@ -40490,7 +41914,7 @@ msgstr ""
 "\n"
 "&gt;&gt;&gt; txt == unicode_string"
 
-#: C/strings.py.page:113(section/p)
+#: C/strings.py.page:100(section/p)
 msgid ""
 "would return <code>False</code>, with the warning <code>__main__:1: "
 "UnicodeWarning: Unicode equal comparison failed to convert both arguments to "
@@ -40504,7 +41928,7 @@ msgstr ""
 "get_text()</code> θα επιστρέφει πάντα ένα στιγμιότυπο <code>str</code>· "
 "συνεπώς, <code>txt</code> and <code>unicode_string</code> δεν είναι όμοια)."
 
-#: C/strings.py.page:115(section/p)
+#: C/strings.py.page:102(section/p)
 msgid ""
 "This is especially important if you want to internationalize your program "
 "using <link href=\"http://docs.python.org/library/gettext.html";
@@ -40517,7 +41941,7 @@ msgstr ""
 "code> θα επιστρέψει κωδικοποιημένες συμβολοσειρές 8 δυαδικών UTF-8 για όλες "
 "τις γλώσσες."
 
-#: C/strings.py.page:117(section/p)
+#: C/strings.py.page:104(section/p)
 msgid ""
 "In general it is recommended to not use <code>unicode</code> objects in GTK+ "
 "applications at all, and only use UTF-8 encoded <code>str</code> objects "
@@ -40528,20 +41952,25 @@ msgstr ""
 "<code>str</code> UTF-8 αφού το GTK+ δεν ενσωματώνει πλήρως αντικείμενα "
 "<code>unicode</code>."
 
-#: C/strings.py.page:119(section/p)
+#: C/strings.py.page:106(section/p)
+#| msgid ""
+#| "With Python 3.x things are much more consistent, because PyGObject will "
+#| "automatically encode/decode to/from UTF-8 if you pass a string to a "
+#| "method or a method returns a string. Strings, or text, will always be "
+#| "represented as instances of <code>str</code> only:"
 msgid ""
 "With Python 3.x things are much more consistent, because PyGObject will "
 "automatically encode/decode to/from UTF-8 if you pass a string to a method "
 "or a method returns a string. Strings, or text, will always be represented "
-"as instances of <code>str</code> only:"
+"as instances of <code>str</code> only."
 msgstr ""
 "Με τον Python 3.x τα πράγματα είναι πολύ πιο ομοιόμορφα, επειδή το PyGObject "
 "θα κωδικοποιήσει/αποκωδικοποιήσει αυτόματα προς/από UTF-8 εάν περάσετε μια "
 "συμβολοσειρά σε μια μέθοδο ή εάν μια μέθοδος επιστρέφει μια συμβολοσειρά. "
 "Συμβολοσειρές, ή κείμενο, θα αναπαριστώνται πάντα ως περιπτώσεις μόνο "
-"<code>str</code>:"
+"<code>str</code>."
 
-#: C/strings.py.page:126(section/p)
+#: C/strings.py.page:113(section/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>"
@@ -40563,7 +41992,7 @@ msgstr ""
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
-#: C/switch.c.page:22(media) C/switch.py.page:26(media)
+#: C/switch.c.page:22(media) C/switch.py.page:22(media)
 #: C/switch.vala.page:25(media)
 msgctxt "_"
 msgid ""
@@ -40585,7 +42014,7 @@ msgstr ""
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
-#: C/switch.c.page:23(media) C/switch.py.page:27(media)
+#: C/switch.c.page:23(media) C/switch.py.page:23(media)
 #: C/switch.vala.page:26(media)
 msgctxt "_"
 msgid ""
@@ -40598,13 +42027,13 @@ msgctxt "text"
 msgid "Switch (C)"
 msgstr "Διακόπτης (C)"
 
-#: C/switch.c.page:17(info/desc) C/switch.py.page:22(info/desc)
+#: C/switch.c.page:17(info/desc) C/switch.py.page:18(info/desc)
 #: C/switch.vala.page:21(info/desc)
 msgid "A \"light switch\" style toggle"
 msgstr "Μια εναλλαγή τεχνοτροπίας \"ελαφριού διακόπτη\""
 
 #: C/switch.c.page:20(page/title) C/switch.js.page:20(page/title)
-#: C/switch.py.page:25(page/title) C/switch.vala.page:24(page/title)
+#: C/switch.py.page:21(page/title) C/switch.vala.page:24(page/title)
 msgid "Switch"
 msgstr "Διακόπτης"
 
@@ -41355,7 +42784,6 @@ msgstr ""
 "});\n"
 
 #: C/switch.js.page:247(section/p)
-#, fuzzy
 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 "
@@ -41780,11 +43208,11 @@ msgctxt "text"
 msgid "Switch (Python)"
 msgstr "Διακόπτης (Python)"
 
-#: C/switch.py.page:29(page/p)
+#: C/switch.py.page:25(page/p)
 msgid "This Switch makes the title appears and disappear."
 msgstr "Αυτός ο διακόπτης κάνει τον τίτλο να εμφανίζεται και να εξαφανίζεται."
 
-#: C/switch.py.page:36(section/code)
+#: C/switch.py.page:32(section/code)
 #, no-wrap
 msgid ""
 "from gi.repository import Gtk\n"
@@ -41901,11 +43329,24 @@ msgstr ""
 "exit_status = app.run(sys.argv)\n"
 "sys.exit(exit_status)\n"
 
-#: C/switch.py.page:40(section/title)
+#: C/switch.py.page:36(section/title)
 msgid "Useful methods for a Switch widget"
 msgstr "Χρήσιμες μέθοδοι για ένα γραφικό συστατικό διακόπτη"
 
-#: C/switch.py.page:48(item/p)
+#: C/switch.py.page:37(section/p)
+msgid ""
+"In line 17 the signal <code>\"notify::active\"</code> is connected to the "
+"callback function <code>activate_cb()</code> using <code><var>widget</var>."
+"connect(<var>signal</var>, <var>callback function</var>)</code>. See <link "
+"xref=\"signals-callbacks.py\"/> for a more detailed explanation."
+msgstr ""
+"Στη γραμμή 17 το σήμα <code>\"notify::active\"</code> συνδέεται με τη "
+"συνάρτηση επανάκλησης <code>activate_cb()</code> χρησιμοποιώντας "
+"<code><var>widget</var>.connect(<var>signal</var>, <var>callback "
+"function</var>)</code>. Δείτε <link xref=\"signals-callbacks.py\"/> για μια "
+"πιο λεπτομερή εξήγηση."
+
+#: C/switch.py.page:44(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkSwitch.html";
 "\">GtkSwitch</link>"
@@ -42041,7 +43482,7 @@ msgstr ""
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
-#: C/textview.c.page:26(media) C/textview.py.page:37(media)
+#: C/textview.c.page:26(media) C/textview.py.page:38(media)
 #: C/textview.vala.page:26(media)
 msgctxt "_"
 msgid ""
@@ -42062,7 +43503,7 @@ msgstr "Γραφικό συστατικό που εμφανίζει ένα GtkTe
 msgid "TextView widget"
 msgstr "Γραφικό συστατικό TreeView"
 
-#: C/textview.c.page:21(note/p) C/textview.py.page:31(note/p)
+#: C/textview.c.page:21(note/p) C/textview.py.page:32(note/p)
 #: C/textview.vala.page:21(note/p)
 msgid "If we press \"enter\", we have a new line."
 msgstr "Εάν πατήσετε \"enter\", έχουμε νέα γραμμή."
@@ -42273,7 +43714,7 @@ msgstr "TextView (JavaScript)"
 msgid "A multiline text editor"
 msgstr "Επεξεργαστής κειμένου πολλαπλών γραμμών"
 
-#: C/textview.js.page:24(page/title) C/textview.py.page:28(page/title)
+#: C/textview.js.page:24(page/title) C/textview.py.page:29(page/title)
 msgid "TextView"
 msgstr "TextView"
 
@@ -43175,15 +44616,15 @@ msgctxt "text"
 msgid "TextView (Python)"
 msgstr "TextView (Python)"
 
-#: C/textview.py.page:25(info/desc)
+#: C/textview.py.page:26(info/desc)
 msgid "Widget that displays a GtkTextBuffer"
 msgstr "Γραφικό συστατικό που εμφανίζει ένα GtkTextBuffer"
 
-#: C/textview.py.page:30(note/p)
+#: C/textview.py.page:31(note/p)
 msgid "This is an example of Gtk.TextView."
 msgstr "Αυτό είναι ένα παράδειγμα του Gtk.TextView."
 
-#: C/textview.py.page:32(note/p)
+#: C/textview.py.page:33(note/p)
 msgid ""
 "But we can also have a new line if we write a long sentence (the text will "
 "wrap breaking lines between words)."
@@ -43192,19 +44633,19 @@ msgstr ""
 "πρόταση (το κείμενο θα αναδιπλωθεί διακόπτοντας τις γραμμές μεταξύ των "
 "λέξεων)."
 
-#: C/textview.py.page:33(note/p)
+#: C/textview.py.page:34(note/p)
 msgid "If we have a loooooooooooooooooooooooooooooooooooong"
 msgstr "Εάν έχουμε μια μεγάαααααααααααααααααααααααααααααααλη"
 
-#: C/textview.py.page:34(note/p)
+#: C/textview.py.page:35(note/p)
 msgid "(that was long)"
 msgstr "(που ήταν μεγάλη)"
 
-#: C/textview.py.page:35(note/p)
+#: C/textview.py.page:36(note/p)
 msgid "word, an horizontal scrollbar will appear."
 msgstr "λέξη, μια οριζόντια γραμμή κύλισης θα εμφανιστεί."
 
-#: C/textview.py.page:44(section/code)
+#: C/textview.py.page:45(section/code)
 #, no-wrap
 msgid ""
 "from gi.repository import Gtk\n"
@@ -43291,7 +44732,7 @@ msgstr ""
 "exit_status = app.run(sys.argv)\n"
 "sys.exit(exit_status)\n"
 
-#: C/textview.py.page:48(section/title)
+#: C/textview.py.page:49(section/title)
 msgid "Useful methods for a TextView widget"
 msgstr "Χρήσιμες μέθοδοι για ένα γραφικό συστατικό TextView"
 
@@ -43717,7 +45158,7 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/togglebutton.c.page:26(media) C/togglebutton.js.page:21(media)
-#: C/togglebutton.py.page:24(media) C/togglebutton.vala.page:24(media)
+#: C/togglebutton.py.page:22(media) C/togglebutton.vala.page:24(media)
 msgctxt "_"
 msgid ""
 "external ref='media/togglebutton.png' md5='791e062613d4f9bd5936390b0aa18448'"
@@ -43729,18 +45170,18 @@ msgctxt "text"
 msgid "ToggleButton (C)"
 msgstr "ToggleButton (C)"
 
-#: C/togglebutton.c.page:21(info/desc) C/togglebutton.py.page:20(info/desc)
+#: C/togglebutton.c.page:21(info/desc) C/togglebutton.py.page:18(info/desc)
 #: C/togglebutton.vala.page:20(info/desc)
 msgid "A button which retains state"
 msgstr "Ένα κουμπί που κρατά κατάσταση"
 
 #: C/togglebutton.c.page:24(page/title) C/togglebutton.js.page:20(page/title)
-#: C/togglebutton.py.page:23(page/title)
+#: C/togglebutton.py.page:21(page/title)
 #: C/togglebutton.vala.page:23(page/title)
 msgid "ToggleButton"
 msgstr "ToggleButton"
 
-#: C/togglebutton.c.page:27(page/p) C/togglebutton.py.page:25(page/p)
+#: C/togglebutton.c.page:27(page/p) C/togglebutton.py.page:23(page/p)
 #: C/togglebutton.vala.page:25(page/p)
 msgid "When this ToggleButton is in an active state, the spinner spins."
 msgstr "Όταν αυτό το ToggleButton είναι ενεργό, ο μετρητής περιστρέφεται."
@@ -44381,7 +45822,7 @@ msgctxt "text"
 msgid "ToggleButton (Python)"
 msgstr "ToggleButton (Python)"
 
-#: C/togglebutton.py.page:32(section/code)
+#: C/togglebutton.py.page:30(section/code)
 #, no-wrap
 msgid ""
 "from gi.repository import Gtk\n"
@@ -44498,12 +45939,25 @@ msgstr ""
 "exit_status = app.run(sys.argv)\n"
 "sys.exit(exit_status)\n"
 
-#: C/togglebutton.py.page:37(section/title)
+#: C/togglebutton.py.page:35(section/title)
 msgid "Useful methods for a ToggleButton widget"
 msgstr "Χρήσιμες μέθοδοι για ένα γραφικό συστατικό ToggleButton"
 
-#: C/togglebutton.py.page:46(item/p) C/toolbar.py.page:57(item/p)
-#: C/toolbar_builder.py.page:195(item/p)
+#: C/togglebutton.py.page:36(section/p)
+msgid ""
+"In line 22 the signal <code>\"toggled\"</code> is connected to the callback "
+"function <code>toggled_cb()</code> using <code><var>widget</var>.connect"
+"(<var>signal</var>, <var>callback function</var>)</code>. See <link xref="
+"\"signals-callbacks.py\"/> for a more detailed explanation."
+msgstr ""
+"Στη γραμμή 22 το σήμα <code>\"toggled\"</code> συνδέεται με τη συνάρτηση "
+"επανάκλησης <code>toggled_cb()</code> χρησιμοποιώντας "
+"<code><var>widget</var>.connect(<var>signal</var>, <var>callback "
+"function</var>)</code>. Δείτε <link xref=\"signals-callbacks.py\"/> για μια "
+"πιο λεπτομερή εξήγηση."
+
+#: C/togglebutton.py.page:44(item/p) C/toolbar.py.page:59(item/p)
+#: C/toolbar_builder.py.page:197(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkWidget.html";
 "\">GtkWidget</link>"
@@ -44663,29 +46117,38 @@ msgstr ""
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
-#: C/toolbar.js.page:21(media) C/toolbar.py.page:23(media)
-#: C/toolbar.vala.page:23(media) C/toolbar_builder.py.page:36(media)
-#: C/toolbar_builder.vala.page:24(media)
+#.
+#. This is a reference to an external file such as an image or video. When
+#. the file changes, the md5 hash will change to let you know you need to
+#. update your localized copy. The msgstr is not used at all. Set it to
+#. whatever you like once you have updated your copy of the file.
+#: C/toolbar.c.page:24(media) C/toolbar.js.page:21(media)
+#: C/toolbar.py.page:24(media) C/toolbar.vala.page:23(media)
+#: C/toolbar_builder.py.page:37(media) C/toolbar_builder.vala.page:24(media)
 msgctxt "_"
 msgid "external ref='media/toolbar.png' md5='f0350855eedf6343952b72d6d906f738'"
 msgstr ""
 "external ref='media/toolbar.png' md5='f0350855eedf6343952b72d6d906f738'"
 
-#: C/toolbar.js.page:7(info/title)
+#: C/toolbar.c.page:7(info/title)
+#| msgctxt "text"
+#| msgid "Toolbar (Vala)"
 msgctxt "text"
-msgid "Toolbar (JavaScript)"
-msgstr "Εργαλειοθήκη (JavaScript)"
+msgid "Toolbar (C)"
+msgstr "Εργαλειοθήκη (C)"
 
-#: C/toolbar.js.page:17(info/desc)
-msgid "A bar of tools"
-msgstr "Γραμμή εργαλείων"
+#: C/toolbar.c.page:19(info/desc) C/toolbar.vala.page:18(info/desc)
+#: C/toolbar_builder.vala.page:19(info/desc)
+msgid "A bar of buttons"
+msgstr "Γραμμή κουμπιών"
 
-#: C/toolbar.js.page:20(page/title) C/toolbar.py.page:21(page/title)
-#: C/toolbar.vala.page:21(page/title)
+#: C/toolbar.c.page:22(page/title) C/toolbar.js.page:20(page/title)
+#: C/toolbar.py.page:22(page/title) C/toolbar.vala.page:21(page/title)
 msgid "Toolbar"
 msgstr "Εργαλειοθήκη"
 
-#: C/toolbar.js.page:22(page/p) C/toolbar.vala.page:24(page/p)
+#: C/toolbar.c.page:25(page/p) C/toolbar.js.page:22(page/p)
+#: C/toolbar.vala.page:24(page/p)
 msgid ""
 "Toolbar can contain either text or stock icons. In this sample we use stock "
 "icons. This example has fullscreen functionality."
@@ -44694,6 +46157,506 @@ msgstr ""
 "αυτό το παράδειγμα χρησιμοποιούμε εικονίδια παρακαταθήκης. Αυτό το "
 "παράδειγμα έχει λειτουργικότητα πλήρους οθόνης."
 
+#: C/toolbar.c.page:26(page/p)
+#| msgid ""
+#| "This example uses SimpleActions (window and app). App actions can easily "
+#| "be added the the app menu."
+msgid ""
+"This example uses SimpleActions (window and app). App actions can easily be "
+"added to the app menu."
+msgstr ""
+"Αυτό το παράδειγμα χρησιμοποιεί SimpleActions (παράθυρο και εφαρμογή). Οι "
+"ενέργειες της εφαρμογής μπορούν εύκολα να προστεθούν στο μενού της "
+"εφαρμογής."
+
+#: C/toolbar.c.page:28(page/code)
+#, no-wrap
+msgid ""
+"\n"
+"#include &lt;gtk/gtk.h&gt;\n"
+"\n"
+"/* Declare these two Toolbuttons, as they will be used in both the fullscreen\n"
+" * action callback as well as the activate function.\n"
+" */\n"
+"GtkToolItem *fullscreen_button;\n"
+"GtkToolItem *leavefullscreen_button;\n"
+"\n"
+"\n"
+"\n"
+"/* Callback function for the undo action */\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"
+"\n"
+"/* Callback function for the fullscreen action */\n"
+"static void\n"
+"fullscreen_callback (GSimpleAction *simple,\n"
+"                     GVariant      *parameter,\n"
+"                     gpointer       user_data)\n"
+"{\n"
+"  GdkWindow *window = gtk_widget_get_window (GTK_WIDGET (user_data));\n"
+"\n"
+"  GdkWindowState current_state = gdk_window_get_state (window);\n"
+"\n"
+"  /* If the window is currently in fullscreen mode */\n"
+"  if ( (current_state &amp; GDK_WINDOW_STATE_FULLSCREEN) != 0)\n"
+"    {\n"
+"      /* Minimize the window and change to the fullscreen button */\n"
+"      gdk_window_unfullscreen (window);\n"
+"      gtk_widget_hide (GTK_WIDGET(leavefullscreen_button));\n"
+"      gtk_widget_show (GTK_WIDGET(fullscreen_button));\n"
+"    }\n"
+"  else\n"
+"    {\n"
+"      /* Maximize the window, and change to the unfullscreen button */\n"
+"      gdk_window_fullscreen (window);\n"
+"      gtk_widget_hide (GTK_WIDGET (fullscreen_button));\n"
+"      gtk_widget_show (GTK_WIDGET (leavefullscreen_button));\n"
+"    }\n"
+"}\n"
+"\n"
+"\n"
+"\n"
+"/* Our \"main\" function */\n"
+"static void\n"
+"activate (GtkApplication *app,\n"
+"          gpointer        user_data)\n"
+"{\n"
+"  /* Initialize variables */\n"
+"  GtkWidget *window;\n"
+"  GtkWidget *grid;\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"
+"  GSimpleAction *fullscreen_action;\n"
+"  GSimpleAction *leavefullscreen_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), \"Toolbar 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"
+"  /* 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"
+"  /* Show the \"new\" button's label */\n"
+"  gtk_tool_item_set_is_important (new_button, TRUE);\n"
+"  /* Insert the button in the desired position within the toolbar */\n"
+"  gtk_toolbar_insert (GTK_TOOLBAR (toolbar), new_button, 0);\n"
+"  /* Show the button */\n"
+"  gtk_widget_show (GTK_WIDGET (new_button));\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"
+"  /* Repeat the same steps for the \"open\" action */\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"
+"  /* Repeat the same steps for the \"undo\" action */\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"
+"  /* 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"
+"  /* Repeat the same steps for the \"fullscreen\" action */\n"
+"  fullscreen_button = gtk_tool_button_new_from_stock (GTK_STOCK_FULLSCREEN);\n"
+"  gtk_tool_item_set_is_important (fullscreen_button, TRUE);\n"
+"  gtk_toolbar_insert (GTK_TOOLBAR (toolbar), fullscreen_button, 3);\n"
+"  gtk_widget_show (GTK_WIDGET (fullscreen_button));\n"
+"  gtk_actionable_set_action_name (GTK_ACTIONABLE (fullscreen_button),\n"
+"                                  \"win.fullscreen\");\n"
+"\n"
+"  /*Repeat the same steps for the \"leavefullscreen\" action */\n"
+"  leavefullscreen_button = gtk_tool_button_new_from_stock (GTK_STOCK_LEAVE_FULLSCREEN);\n"
+"  gtk_tool_item_set_is_important (leavefullscreen_button, TRUE);\n"
+"  gtk_toolbar_insert (GTK_TOOLBAR (toolbar), leavefullscreen_button, 3);\n"
+"  /* The only difference here is that we don't show the leavefullscreen button,\n"
+"   * as it will later replace the fullscreen button.\n"
+"   */\n"
+"  gtk_actionable_set_action_name (GTK_ACTIONABLE (leavefullscreen_button),\n"
+"                                  \"win.leavefullscreen\");\n"
+"\n"
+"  /* Once we've created the bare-bones of the toolbar, we make\n"
+"   * sure it has enough horizontal space.\n"
+"   */\n"
+"  gtk_widget_set_hexpand (toolbar, TRUE);\n"
+"  gtk_widget_show (toolbar);\n"
+"\n"
+"  /* Attach the toolbar to the grid and add it to the overall window */\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"
+"  fullscreen_action = g_simple_action_new (\"fullscreen\", NULL);\n"
+"  g_signal_connect (fullscreen_action, \"activate\", G_CALLBACK (fullscreen_callback),\n"
+"                    GTK_WINDOW (window));\n"
+"  g_action_map_add_action (G_ACTION_MAP (window), G_ACTION (fullscreen_action));\n"
+"\n"
+"  leavefullscreen_action = g_simple_action_new (\"leavefullscreen\", NULL);\n"
+"  g_signal_connect (leavefullscreen_action, \"activate\", G_CALLBACK (fullscreen_callback),\n"
+"                    GTK_WINDOW (window));\n"
+"  g_action_map_add_action (G_ACTION_MAP (window), G_ACTION (leavefullscreen_action));\n"
+"\n"
+"  gtk_widget_show (window);\n"
+"}\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"
+"\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"
+"\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"
+msgstr ""
+"\n"
+"#include &lt;gtk/gtk.h&gt;\n"
+"\n"
+"/* Declare these two Toolbuttons, as they will be used in both the "
+"fullscreen\n"
+" * action callback as well as the activate function.\n"
+" */\n"
+"GtkToolItem *fullscreen_button·\n"
+"GtkToolItem *leavefullscreen_button·\n"
+"\n"
+"\n"
+"\n"
+"/* Callback function for the undo action */\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"
+"\n"
+"/* Callback function for the fullscreen action */\n"
+"static void\n"
+"fullscreen_callback (GSimpleAction *simple,\n"
+"                     GVariant      *parameter,\n"
+"                     gpointer       user_data)\n"
+"{\n"
+"  GdkWindow *window = gtk_widget_get_window (GTK_WIDGET (user_data))·\n"
+"\n"
+"  GdkWindowState current_state = gdk_window_get_state (window)·\n"
+"\n"
+"  /* If the window is currently in fullscreen mode */\n"
+"  if ( (current_state &amp; GDK_WINDOW_STATE_FULLSCREEN) != 0)\n"
+"    {\n"
+"      /* Minimize the window and change to the fullscreen button */\n"
+"      gdk_window_unfullscreen (window)·\n"
+"      gtk_widget_hide (GTK_WIDGET(leavefullscreen_button))·\n"
+"      gtk_widget_show (GTK_WIDGET(fullscreen_button))·\n"
+"    }\n"
+"  else\n"
+"    {\n"
+"      /* Maximize the window, and change to the unfullscreen button */\n"
+"      gdk_window_fullscreen (window)·\n"
+"      gtk_widget_hide (GTK_WIDGET (fullscreen_button))·\n"
+"      gtk_widget_show (GTK_WIDGET (leavefullscreen_button))·\n"
+"    }\n"
+"}\n"
+"\n"
+"\n"
+"\n"
+"/* Our \"main\" function */\n"
+"static void\n"
+"activate (GtkApplication *app,\n"
+"          gpointer        user_data)\n"
+"{\n"
+"  /* Initialize variables */\n"
+"  GtkWidget *window·\n"
+"  GtkWidget *grid·\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"
+"  GSimpleAction *fullscreen_action·\n"
+"  GSimpleAction *leavefullscreen_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), \"Toolbar 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"
+"  /* 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"
+"  /* Show the \"new\" button's label */\n"
+"  gtk_tool_item_set_is_important (new_button, TRUE)·\n"
+"  /* Insert the button in the desired position within the toolbar */\n"
+"  gtk_toolbar_insert (GTK_TOOLBAR (toolbar), new_button, 0)·\n"
+"  /* Show the button */\n"
+"  gtk_widget_show (GTK_WIDGET (new_button))·\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"
+"  /* Repeat the same steps for the \"open\" action */\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"
+"  /* Repeat the same steps for the \"undo\" action */\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"
+"  /* 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"
+"  /* Repeat the same steps for the \"fullscreen\" action */\n"
+"  fullscreen_button = gtk_tool_button_new_from_stock (GTK_STOCK_FULLSCREEN)·\n"
+"  gtk_tool_item_set_is_important (fullscreen_button, TRUE)·\n"
+"  gtk_toolbar_insert (GTK_TOOLBAR (toolbar), fullscreen_button, 3)·\n"
+"  gtk_widget_show (GTK_WIDGET (fullscreen_button))·\n"
+"  gtk_actionable_set_action_name (GTK_ACTIONABLE (fullscreen_button),\n"
+"                                  \"win.fullscreen\")·\n"
+"\n"
+"  /*Repeat the same steps for the \"leavefullscreen\" action */\n"
+"  leavefullscreen_button = gtk_tool_button_new_from_stock "
+"(GTK_STOCK_LEAVE_FULLSCREEN)·\n"
+"  gtk_tool_item_set_is_important (leavefullscreen_button, TRUE)·\n"
+"  gtk_toolbar_insert (GTK_TOOLBAR (toolbar), leavefullscreen_button, 3)·\n"
+"  /* The only difference here is that we don't show the leavefullscreen "
+"button,\n"
+"   * as it will later replace the fullscreen button.\n"
+"   */\n"
+"  gtk_actionable_set_action_name (GTK_ACTIONABLE (leavefullscreen_button),\n"
+"                                  \"win.leavefullscreen\")·\n"
+"\n"
+"  /* Once we've created the bare-bones of the toolbar, we make\n"
+"   * sure it has enough horizontal space.\n"
+"   */\n"
+"  gtk_widget_set_hexpand (toolbar, TRUE)·\n"
+"  gtk_widget_show (toolbar)·\n"
+"\n"
+"  /* Attach the toolbar to the grid and add it to the overall window */\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"
+"  fullscreen_action = g_simple_action_new (\"fullscreen\", NULL)·\n"
+"  g_signal_connect (fullscreen_action, \"activate\", G_CALLBACK "
+"(fullscreen_callback),\n"
+"                    GTK_WINDOW (window))·\n"
+"  g_action_map_add_action (G_ACTION_MAP (window), G_ACTION "
+"(fullscreen_action))·\n"
+"\n"
+"  leavefullscreen_action = g_simple_action_new (\"leavefullscreen\", NULL)·\n"
+"  g_signal_connect (leavefullscreen_action, \"activate\", G_CALLBACK "
+"(fullscreen_callback),\n"
+"                    GTK_WINDOW (window))·\n"
+"  g_action_map_add_action (G_ACTION_MAP (window), G_ACTION "
+"(leavefullscreen_action))·\n"
+"\n"
+"  gtk_widget_show (window)·\n"
+"}\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"
+"\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"
+"\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"
+
+#: C/toolbar.c.page:34(item/p) C/tooltip.py.page:58(item/p)
+msgid ""
+"<link href=\"http://developer.gnome.org/gtk3/stable/GtkToolbar.html";
+"\">GtkToolbar</link>"
+msgstr ""
+"<link href=\"http://developer.gnome.org/gtk3/stable/GtkToolbar.html";
+"\">GtkToolbar</link>"
+
+#: C/toolbar.c.page:35(item/p)
+#| msgid ""
+#| "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkToolButton.html";
+#| "\">GtkToolButton</link>"
+msgid ""
+"<link href=\"http://developer.gnome.org/gtk3/stable/GtkToolButton.html";
+"\">GtkToolbutton</link>"
+msgstr ""
+"<link href=\"http://developer.gnome.org/gtk3/stable/GtkToolButton.html\";>GtkTo"
+"olbutton</link>"
+
+#: C/toolbar.js.page:7(info/title)
+msgctxt "text"
+msgid "Toolbar (JavaScript)"
+msgstr "Εργαλειοθήκη (JavaScript)"
+
+#: C/toolbar.js.page:17(info/desc)
+msgid "A bar of tools"
+msgstr "Γραμμή εργαλείων"
+
 #: C/toolbar.js.page:23(page/p) C/toolbar.vala.page:25(page/p)
 msgid ""
 "This example uses SimpleActions (window and app). App actions can easily be "
@@ -45094,15 +47057,15 @@ msgctxt "text"
 msgid "Toolbar (Python)"
 msgstr "Εργαλειοθήκη (Python)"
 
-#: C/toolbar.py.page:18(info/desc) C/toolbar_builder.py.page:31(info/desc)
+#: C/toolbar.py.page:19(info/desc) C/toolbar_builder.py.page:32(info/desc)
 msgid "A bar of buttons and other widgets"
 msgstr "Μια γραμμή κουμπιών και άλλα γραφικά συστατικά"
 
-#: C/toolbar.py.page:24(page/p)
+#: C/toolbar.py.page:25(page/p)
 msgid "An example of toolbar with buttons (from stock icons)."
 msgstr "Παράδειγμα εργαλειοθήκης με κουμπιά (από εικονίδια παρακαταθήκης)."
 
-#: C/toolbar.py.page:31(section/code)
+#: C/toolbar.py.page:32(section/code)
 #, no-wrap
 msgid ""
 "from gi.repository import Gtk\n"
@@ -45371,11 +47334,26 @@ msgstr ""
 "exit_status = app.run(sys.argv)\n"
 "sys.exit(exit_status)\n"
 
-#: C/toolbar.py.page:35(section/title)
+#: C/toolbar.py.page:36(section/title)
 msgid "Useful methods for a Toolbar widget"
 msgstr "Χρήσιμες μέθοδοι για ένα γραφικό συστατικό εργαλειοθήκης"
 
-#: C/toolbar.py.page:38(item/p)
+#: C/toolbar.py.page:37(section/p)
+msgid ""
+"In line 32 the signal <code>\"activate\"</code> from the action "
+"<code>undo_action</code> is connected to the callback function "
+"<code>undo_callback()</code> using <code><var>action</var>.connect"
+"(<var>signal</var>, <var>callback function</var>)</code>. See <link xref="
+"\"signals-callbacks.py\"/> for a more detailed explanation."
+msgstr ""
+"Στη γραμμή 32 το σήμα <code>\"activate\"</code> από την ενέργεια "
+"<code>undo_action</code> συνδέεται με τη συνάρτηση επανάκλησης "
+"<code>undo_callback()</code> χρησιμοποιώντας "
+"<code><var>action</var>.connect(<var>signal</var>, <var>callback "
+"function</var>)</code>. Δείτε <link xref=\"signals-callbacks.py\"/> για μια "
+"πιο λεπτομερή εξήγηση."
+
+#: C/toolbar.py.page:40(item/p)
 msgid ""
 "Use <code>insert(tool_item, position)</code> to insert the <code>tool_item</"
 "code> at <code>position</code>. If <code>position</code> is negative, the "
@@ -45385,7 +47363,7 @@ msgstr ""
 "<code>tool_item</code> στη <code>position</code>. Εάν η <code>position</"
 "code> είναι αρνητική, το στοιχείο προσαρτάται στο τέλος της εργαλειοθήκης."
 
-#: C/toolbar.py.page:39(item/p)
+#: C/toolbar.py.page:41(item/p)
 msgid ""
 "<code>get_item_index(tool_item)</code> retrieves the position of "
 "<code>tool_item</code> on the toolbar."
@@ -45393,7 +47371,7 @@ msgstr ""
 "Η <code>get_item_index(tool_item)</code> ανακτά τη θέση του <code>tool_item</"
 "code> στην εργαλειοθήκη."
 
-#: C/toolbar.py.page:40(item/p)
+#: C/toolbar.py.page:42(item/p)
 msgid ""
 "<code>get_n_items()</code> returns the number of items on the toolbar; "
 "<code>get_nth_item(position)</code> returns the item in position "
@@ -45403,7 +47381,7 @@ msgstr ""
 "εργαλειοθήκης· η <code>get_nth_item(position)</code> επιστρέφει το στοιχείο "
 "στη θέση <code>position</code>."
 
-#: C/toolbar.py.page:41(item/p)
+#: C/toolbar.py.page:43(item/p)
 msgid ""
 "If the toolbar does not have room for all the menu items, and "
 "<code>set_show_arrow(True)</code>, the items that do not have room are shown "
@@ -45413,7 +47391,7 @@ msgstr ""
 "<code>set_show_arrow(True)</code>, τα στοιχεία που δεν έχουν χώρο "
 "εμφανίζονται μέσα από ένα μενού υπερχείλισης."
 
-#: C/toolbar.py.page:42(item/p)
+#: C/toolbar.py.page:44(item/p)
 msgid ""
 "<code>set_icon_size(icon_size)</code> sets the size of icons in the toolbar; "
 "<code>icon_size</code> can be one of <code>Gtk.IconSize.INVALID, Gtk."
@@ -45435,7 +47413,7 @@ msgstr ""
 "έτσι ώστε οι προτιμήσεις χρήστη να χρησιμοποιηθούν για τον προσδιορισμό του "
 "μεγέθους του εικονιδίου."
 
-#: C/toolbar.py.page:43(item/p)
+#: C/toolbar.py.page:45(item/p)
 msgid ""
 "<code>set_style(style)</code>, where <code>style</code> is one of <code>Gtk."
 "ToolbarStyle.ICONS, Gtk.ToolbarStyle.TEXT, Gtk.ToolbarStyle.BOTH, Gtk."
@@ -45452,7 +47430,7 @@ msgstr ""
 "της εργαλειοθήκης και να αναιρέσετε ένα ύφος εργαλειοθήκης που ρυθμίστηκε "
 "έτσι, χρησιμοποιήστε <code>unset_style()</code>."
 
-#: C/toolbar.py.page:52(item/p)
+#: C/toolbar.py.page:54(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkToolbar.html";
 "\">GtkToolbar</link>"
@@ -45460,7 +47438,7 @@ msgstr ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkToolbar.html";
 "\">GtkToolbar</link>"
 
-#: C/toolbar.py.page:53(item/p)
+#: C/toolbar.py.page:55(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkToolButton.html";
 "\">GtkToolButton</link>"
@@ -45468,7 +47446,7 @@ msgstr ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkToolButton.html";
 "\">GtkToolButton</link>"
 
-#: C/toolbar.py.page:54(item/p)
+#: C/toolbar.py.page:56(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkToolItem.html";
 "\">GtkToolItem</link>"
@@ -45476,7 +47454,7 @@ msgstr ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkToolItem.html";
 "\">GtkToolItem</link>"
 
-#: C/toolbar.py.page:56(item/p)
+#: C/toolbar.py.page:58(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkActionable.html";
 "\">GtkActionable</link>"
@@ -45484,7 +47462,7 @@ msgstr ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkActionable.html";
 "\">GtkActionable</link>"
 
-#: C/toolbar.py.page:58(item/p) C/toolbar_builder.py.page:196(item/p)
+#: C/toolbar.py.page:60(item/p) C/toolbar_builder.py.page:198(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gdk3/unstable/gdk3-Event-Structures.";
 "html#GdkEventWindowState\">Event Structures</link>"
@@ -45497,10 +47475,6 @@ msgctxt "text"
 msgid "Toolbar (Vala)"
 msgstr "Εργαλειοθήκη (Vala)"
 
-#: C/toolbar.vala.page:18(info/desc) C/toolbar_builder.vala.page:19(info/desc)
-msgid "A bar of buttons"
-msgstr "Γραμμή κουμπιών"
-
 #: C/toolbar.vala.page:27(page/code)
 #, no-wrap
 msgid ""
@@ -45803,7 +47777,7 @@ msgstr ""
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
-#: C/toolbar_builder.py.page:48(media) C/toolbar_builder.vala.page:32(media)
+#: C/toolbar_builder.py.page:49(media) C/toolbar_builder.vala.page:32(media)
 msgctxt "_"
 msgid ""
 "external ref='media/glade_ui.png' md5='baea74fe213bc12ea934f64f6977215a'"
@@ -45819,7 +47793,7 @@ msgstr ""
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
-#: C/toolbar_builder.py.page:54(media) C/toolbar_builder.vala.page:38(media)
+#: C/toolbar_builder.py.page:55(media) C/toolbar_builder.vala.page:38(media)
 msgctxt "_"
 msgid ""
 "external ref='media/glade_select_toolbar.png' "
@@ -45837,7 +47811,7 @@ msgstr ""
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
-#: C/toolbar_builder.py.page:60(media) C/toolbar_builder.vala.page:44(media)
+#: C/toolbar_builder.py.page:61(media) C/toolbar_builder.vala.page:44(media)
 msgctxt "_"
 msgid ""
 "external ref='media/glade_toolbar_general.png' "
@@ -45855,7 +47829,7 @@ msgstr ""
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
-#: C/toolbar_builder.py.page:66(media) C/toolbar_builder.vala.page:50(media)
+#: C/toolbar_builder.py.page:67(media) C/toolbar_builder.vala.page:50(media)
 msgctxt "_"
 msgid ""
 "external ref='media/glade_toolbar_common.png' "
@@ -45873,7 +47847,7 @@ msgstr ""
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
-#: C/toolbar_builder.py.page:72(media) C/toolbar_builder.vala.page:56(media)
+#: C/toolbar_builder.py.page:73(media) C/toolbar_builder.vala.page:56(media)
 msgctxt "_"
 msgid ""
 "external ref='media/glade_toolbar_edit.png' "
@@ -45891,7 +47865,7 @@ msgstr ""
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
-#: C/toolbar_builder.py.page:131(media) C/toolbar_builder.vala.page:115(media)
+#: C/toolbar_builder.py.page:132(media) C/toolbar_builder.vala.page:115(media)
 msgctxt "_"
 msgid ""
 "external ref='media/glade_toolbar_editor.png' "
@@ -45909,7 +47883,7 @@ msgstr ""
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
-#: C/toolbar_builder.py.page:140(media) C/toolbar_builder.vala.page:124(media)
+#: C/toolbar_builder.py.page:141(media) C/toolbar_builder.vala.page:124(media)
 msgctxt "_"
 msgid ""
 "external ref='media/glade_visible_no.png' "
@@ -45923,12 +47897,12 @@ msgctxt "text"
 msgid "Toolbar created using Glade (Python)"
 msgstr "Η εργαλειοθήκη δημιουργήθηκε χρησιμοποιώντας Glade (Python)"
 
-#: C/toolbar_builder.py.page:34(page/title)
+#: C/toolbar_builder.py.page:35(page/title)
 #: C/toolbar_builder.vala.page:22(page/title)
 msgid "Toolbar created using Glade"
 msgstr "Η γραμμή εργαλείων δημιουργήθηκε χρησιμοποιώντας Glade"
 
-#: C/toolbar_builder.py.page:37(page/p)
+#: C/toolbar_builder.py.page:38(page/p)
 msgid ""
 "This example is similar to <link xref=\"toolbar.py\"/>, except we use Glade "
 "to create the toolbar in an XML .ui file."
@@ -45936,11 +47910,11 @@ msgstr ""
 "Αυτό το παράδειγμα είναι παρόμοιο με <link xref=\"toolbar.py\"/>, εκτός από "
 "τη χρήση Glade για δημιουργία της εργαλειοθήκης σε ένα αρχείο XML .ui."
 
-#: C/toolbar_builder.py.page:42(section/title)
+#: C/toolbar_builder.py.page:43(section/title)
 msgid "Creating the toolbar with Glade"
 msgstr "Δημιουργία της εργαλειοθήκης με Glade"
 
-#: C/toolbar_builder.py.page:43(section/p)
+#: C/toolbar_builder.py.page:44(section/p)
 #: C/toolbar_builder.vala.page:27(page/p)
 msgid ""
 "To create the toolbar using the <link href=\"http://glade.gnome.org/\";>Glade "
@@ -45949,13 +47923,13 @@ msgstr ""
 "Για δημιουργία της γραμμής εργαλείων χρησιμοποιώντας το <link href=\"http://";
 "glade.gnome.org/\">σχεδιαστή διεπαφής Glade</link>:"
 
-#: C/toolbar_builder.py.page:47(item/p) C/toolbar_builder.vala.page:31(item/p)
+#: C/toolbar_builder.py.page:48(item/p) C/toolbar_builder.vala.page:31(item/p)
 msgid "Open Glade, and save the file as <file>toolbar_builder.ui</file>"
 msgstr ""
 "Άνοιγμα του Glade και αποθήκευση του αρχείου ως <file>toolbar_builder.ui</"
 "file>"
 
-#: C/toolbar_builder.py.page:48(item/p) C/toolbar_builder.vala.page:32(item/p)
+#: C/toolbar_builder.py.page:49(item/p) C/toolbar_builder.vala.page:32(item/p)
 msgid ""
 "<media type=\"image\" src=\"media/glade_ui.png\" width=\"900\"> Screenshot "
 "of Glade ui </media>"
@@ -45963,7 +47937,7 @@ msgstr ""
 "<media type=\"image\" src=\"media/glade_ui.png\" width=\"900\"> Στιγμιότυπο "
 "διεπαφής του Glade </media>"
 
-#: C/toolbar_builder.py.page:53(item/p) C/toolbar_builder.vala.page:37(item/p)
+#: C/toolbar_builder.py.page:54(item/p) C/toolbar_builder.vala.page:37(item/p)
 msgid ""
 "Under <gui>Containers</gui> on the left hand side, right click on the "
 "toolbar icon and select <gui>Add widget as toplevel</gui>."
@@ -45971,13 +47945,15 @@ msgstr ""
 "Στο <gui>περιέκτες</gui> στα αριστερά, δεξί κλικ στην γραμμή εργαλείων και "
 "επιλογή <gui>προσθήκη γραφικού συστατικού ως ανώτατου επιπέδου</gui>."
 
-#: C/toolbar_builder.py.page:54(item/p) C/toolbar_builder.vala.page:38(item/p)
+#: C/toolbar_builder.py.page:55(item/p) C/toolbar_builder.vala.page:38(item/p)
 msgid ""
 "<media type=\"image\" src=\"media/glade_select_toolbar.png\"> Screenshot of "
 "toolbar icon in Glade ui </media>"
 msgstr ""
+"<media type=\"image\" src=\"media/glade_select_toolbar.png\"> Στιγμιότυπο του "
+"εικονιδίου εργαλειοθήκης στο Glade ui </media>"
 
-#: C/toolbar_builder.py.page:59(item/p) C/toolbar_builder.vala.page:43(item/p)
+#: C/toolbar_builder.py.page:60(item/p) C/toolbar_builder.vala.page:43(item/p)
 msgid ""
 "Under the <gui>General</gui> tab on the bottom right, change the <gui>Name</"
 "gui> to <input>toolbar</input> and <gui>Show Arrow</gui> to <gui>No</gui>."
@@ -45986,13 +47962,15 @@ msgstr ""
 "gui> σε <input>γραμμή εργαλείων</input> και <gui>εμφάνιση βέλους</gui> σε "
 "<gui>όχι</gui>."
 
-#: C/toolbar_builder.py.page:60(item/p) C/toolbar_builder.vala.page:44(item/p)
+#: C/toolbar_builder.py.page:61(item/p) C/toolbar_builder.vala.page:44(item/p)
 msgid ""
 "<media type=\"image\" src=\"media/glade_toolbar_general.png\"> Screenshot of "
 "General tab </media>"
 msgstr ""
+"<media type=\"image\" src=\"media/glade_toolbar_general.png\"> Στιγμιότυπο της "
+"καρτέλας Γενικά</media>"
 
-#: C/toolbar_builder.py.page:65(item/p) C/toolbar_builder.vala.page:49(item/p)
+#: C/toolbar_builder.py.page:66(item/p) C/toolbar_builder.vala.page:49(item/p)
 msgid ""
 "Under the <gui>Common</gui> tab, set <gui>Horizontal Expand</gui> to "
 "<gui>Yes</gui>."
@@ -46000,13 +47978,15 @@ msgstr ""
 "Στην καρτέλα <gui>κοινά</gui>, ορίστε <gui>οριζόντια επέκταση</gui> σε "
 "<gui>ναι</gui>."
 
-#: C/toolbar_builder.py.page:66(item/p) C/toolbar_builder.vala.page:50(item/p)
+#: C/toolbar_builder.py.page:67(item/p) C/toolbar_builder.vala.page:50(item/p)
 msgid ""
 "<media type=\"image\" src=\"media/glade_toolbar_common.png\"> Screenshot of "
 "Common tab </media>"
 msgstr ""
+"<media type=\"image\" src=\"media/glade_toolbar_common.png\"> Στιγμιότυπο της "
+"καρτέλας Κοινά </media>"
 
-#: C/toolbar_builder.py.page:71(item/p) C/toolbar_builder.vala.page:55(item/p)
+#: C/toolbar_builder.py.page:72(item/p) C/toolbar_builder.vala.page:55(item/p)
 msgid ""
 "Right click on the toolbar in the top right and select <gui>Edit</gui>. The "
 "<gui>Tool Bar Editor</gui> window will appear."
@@ -46014,7 +47994,7 @@ msgstr ""
 "Δεξί κλικ στη γραμμή εργαλείων στα πάνω δεξιά και επιλέξτε <gui>επεξεργασία</"
 "gui>. Το παράθυρο <gui>επεξεργαστής γραμμής εργαλείων</gui> θα εμφανιστεί."
 
-#: C/toolbar_builder.py.page:72(item/p) C/toolbar_builder.vala.page:56(item/p)
+#: C/toolbar_builder.py.page:73(item/p) C/toolbar_builder.vala.page:56(item/p)
 msgid ""
 "<media type=\"image\" src=\"media/glade_toolbar_edit.png\"> Screenshot of "
 "where to right click to edit toolbar. </media>"
@@ -46022,7 +48002,7 @@ msgstr ""
 "<media type=\"image\" src=\"media/glade_toolbar_edit.png\"> Screenshot of "
 "where to right click to edit toolbar. </media>"
 
-#: C/toolbar_builder.py.page:77(item/p) C/toolbar_builder.vala.page:61(item/p)
+#: C/toolbar_builder.py.page:78(item/p) C/toolbar_builder.vala.page:61(item/p)
 msgid ""
 "We want to add 5 ToolButtons: New, Open, Undo, Fullscreen and Leave "
 "Fullscreen. First, we will add the New ToolButton."
@@ -46030,15 +48010,15 @@ msgstr ""
 "Θέλουμε να προσθέσουμε 5 ToolButtons: νέο, άνοιγμα, αναίρεση, πλήρης οθόνη "
 "και εγκατάλειψη πλήρους οθόνης. Πρώτα, θα προσθέσουμε το νέο ToolButton."
 
-#: C/toolbar_builder.py.page:80(item/p) C/toolbar_builder.vala.page:64(item/p)
+#: C/toolbar_builder.py.page:81(item/p) C/toolbar_builder.vala.page:64(item/p)
 msgid "Under <gui>Hierarchy</gui> tab, click <gui>Add</gui>."
 msgstr "Στην καρτέλα <gui>ιεραρχία</gui>, κλικ <gui>προσθήκη</gui>."
 
-#: C/toolbar_builder.py.page:81(item/p) C/toolbar_builder.vala.page:65(item/p)
+#: C/toolbar_builder.py.page:82(item/p) C/toolbar_builder.vala.page:65(item/p)
 msgid "Change the name of the ToolItem to <input>new_button</input>."
 msgstr "Αλλαγή του ονόματος του ToolItem σε <input>new_button</input>."
 
-#: C/toolbar_builder.py.page:82(item/p) C/toolbar_builder.vala.page:66(item/p)
+#: C/toolbar_builder.py.page:83(item/p) C/toolbar_builder.vala.page:66(item/p)
 msgid ""
 "Scroll down and set <gui>Is important</gui> to <gui>Yes</gui>. This will "
 "cause the label of the ToolButton to be shown, when you view the toolbar."
@@ -46047,15 +48027,15 @@ msgstr ""
 "gui>. Αυτό θα προκαλέσει την ετικέτα του ToolButton να εμφανιστεί, όταν "
 "προβάλετε τη γραμμή εργαλείων."
 
-#: C/toolbar_builder.py.page:83(item/p) C/toolbar_builder.vala.page:67(item/p)
+#: C/toolbar_builder.py.page:84(item/p) C/toolbar_builder.vala.page:67(item/p)
 msgid "Enter the <gui>action name</gui>: <input>app.new</input>."
 msgstr "Εισάγετε το <gui>όνομα ενέργειας</gui>: <input>app.new</input>."
 
-#: C/toolbar_builder.py.page:84(item/p) C/toolbar_builder.vala.page:68(item/p)
+#: C/toolbar_builder.py.page:85(item/p) C/toolbar_builder.vala.page:68(item/p)
 msgid "Change the <gui>Label</gui> to <input>New</input>."
 msgstr "Αλλαγή του <gui>ετικέτα</gui> σε <input>New</input>."
 
-#: C/toolbar_builder.py.page:85(item/p) C/toolbar_builder.vala.page:69(item/p)
+#: C/toolbar_builder.py.page:86(item/p) C/toolbar_builder.vala.page:69(item/p)
 msgid ""
 "Select the <gui>New</gui> Stock Id from the drop down menu, or type "
 "<input>gtk-new</input>."
@@ -46063,7 +48043,7 @@ msgstr ""
 "Επιλογή του <gui>νέου</gui> Id παρακαταθήκης από το πτυσσόμενο μενού, ή "
 "πληκτρολογήστε <input>gtk-new</input>."
 
-#: C/toolbar_builder.py.page:87(item/p) C/toolbar_builder.vala.page:71(item/p)
+#: C/toolbar_builder.py.page:88(item/p) C/toolbar_builder.vala.page:71(item/p)
 msgid ""
 "Repeat the above steps for the remaining ToolButtons, with the following "
 "properties:"
@@ -46071,92 +48051,92 @@ msgstr ""
 "Επανάληψη των παραπάνω βημάτων για τα υπολειπόμενα ToolButtons, με τις "
 "παρακάτω ιδιότητες:"
 
-#: C/toolbar_builder.py.page:94(td/p) C/toolbar_builder.vala.page:78(td/p)
+#: C/toolbar_builder.py.page:95(td/p) C/toolbar_builder.vala.page:78(td/p)
 msgid "Is important"
 msgstr "Είναι σημαντικό"
 
-#: C/toolbar_builder.py.page:95(td/p) C/toolbar_builder.vala.page:79(td/p)
+#: C/toolbar_builder.py.page:96(td/p) C/toolbar_builder.vala.page:79(td/p)
 msgid "Action name"
 msgstr "Όνομα ενέργειας"
 
-#: C/toolbar_builder.py.page:97(td/p) C/toolbar_builder.vala.page:81(td/p)
+#: C/toolbar_builder.py.page:98(td/p) C/toolbar_builder.vala.page:81(td/p)
 msgid "Stock Id"
 msgstr "Id παρακαταθήκης"
 
-#: C/toolbar_builder.py.page:102(td/p) C/toolbar_builder.vala.page:86(td/p)
+#: C/toolbar_builder.py.page:103(td/p) C/toolbar_builder.vala.page:86(td/p)
 msgid "open_button"
 msgstr "open_button"
 
-#: C/toolbar_builder.py.page:103(td/p) C/toolbar_builder.py.page:110(td/p)
-#: C/toolbar_builder.py.page:117(td/p) C/toolbar_builder.py.page:124(td/p)
+#: C/toolbar_builder.py.page:104(td/p) C/toolbar_builder.py.page:111(td/p)
+#: C/toolbar_builder.py.page:118(td/p) C/toolbar_builder.py.page:125(td/p)
 #: C/toolbar_builder.vala.page:87(td/p) C/toolbar_builder.vala.page:94(td/p)
 #: C/toolbar_builder.vala.page:101(td/p) C/toolbar_builder.vala.page:108(td/p)
 msgid "Yes"
 msgstr "Ναι"
 
-#: C/toolbar_builder.py.page:104(td/p) C/toolbar_builder.vala.page:88(td/p)
+#: C/toolbar_builder.py.page:105(td/p) C/toolbar_builder.vala.page:88(td/p)
 msgid "app.open"
 msgstr "app.open"
 
-#: C/toolbar_builder.py.page:105(td/p) C/toolbar_builder.vala.page:89(td/p)
+#: C/toolbar_builder.py.page:106(td/p) C/toolbar_builder.vala.page:89(td/p)
 msgid "Open"
 msgstr "Open"
 
-#: C/toolbar_builder.py.page:106(td/p) C/toolbar_builder.vala.page:90(td/p)
+#: C/toolbar_builder.py.page:107(td/p) C/toolbar_builder.vala.page:90(td/p)
 msgid "gtk-open"
 msgstr "gtk-open"
 
-#: C/toolbar_builder.py.page:109(td/p) C/toolbar_builder.vala.page:93(td/p)
+#: C/toolbar_builder.py.page:110(td/p) C/toolbar_builder.vala.page:93(td/p)
 msgid "undo_button"
 msgstr "undo_button"
 
-#: C/toolbar_builder.py.page:111(td/p) C/toolbar_builder.vala.page:95(td/p)
+#: C/toolbar_builder.py.page:112(td/p) C/toolbar_builder.vala.page:95(td/p)
 msgid "win.undo"
 msgstr "win.undo"
 
-#: C/toolbar_builder.py.page:112(td/p) C/toolbar_builder.vala.page:96(td/p)
+#: C/toolbar_builder.py.page:113(td/p) C/toolbar_builder.vala.page:96(td/p)
 msgid "Undo"
 msgstr "Αναίρεση"
 
-#: C/toolbar_builder.py.page:113(td/p) C/toolbar_builder.vala.page:97(td/p)
+#: C/toolbar_builder.py.page:114(td/p) C/toolbar_builder.vala.page:97(td/p)
 msgid "gtk-undo"
 msgstr "gtk-undo"
 
-#: C/toolbar_builder.py.page:116(td/p) C/toolbar_builder.vala.page:100(td/p)
+#: C/toolbar_builder.py.page:117(td/p) C/toolbar_builder.vala.page:100(td/p)
 msgid "fullscreen_button"
 msgstr "fullscreen_button"
 
-#: C/toolbar_builder.py.page:118(td/p) C/toolbar_builder.py.page:125(td/p)
+#: C/toolbar_builder.py.page:119(td/p) C/toolbar_builder.py.page:126(td/p)
 #: C/toolbar_builder.vala.page:102(td/p) C/toolbar_builder.vala.page:109(td/p)
 msgid "win.fullscreen"
 msgstr "win.fullscreen"
 
-#: C/toolbar_builder.py.page:119(td/p) C/toolbar_builder.vala.page:103(td/p)
+#: C/toolbar_builder.py.page:120(td/p) C/toolbar_builder.vala.page:103(td/p)
 msgid "Fullscreen"
 msgstr "Πλήρης οθόνη"
 
-#: C/toolbar_builder.py.page:120(td/p) C/toolbar_builder.vala.page:104(td/p)
+#: C/toolbar_builder.py.page:121(td/p) C/toolbar_builder.vala.page:104(td/p)
 msgid "gtk-fullscreen"
 msgstr "gtk-fullscreen"
 
-#: C/toolbar_builder.py.page:123(td/p) C/toolbar_builder.vala.page:107(td/p)
+#: C/toolbar_builder.py.page:124(td/p) C/toolbar_builder.vala.page:107(td/p)
 msgid "leave_fullscreen_button"
 msgstr "leave_fullscreen_button"
 
-#: C/toolbar_builder.py.page:126(td/p) C/toolbar_builder.vala.page:110(td/p)
+#: C/toolbar_builder.py.page:127(td/p) C/toolbar_builder.vala.page:110(td/p)
 msgid "Leave Fullscreen"
 msgstr "Έξοδος από πλήρη οθόνη"
 
-#: C/toolbar_builder.py.page:127(td/p) C/toolbar_builder.vala.page:111(td/p)
+#: C/toolbar_builder.py.page:128(td/p) C/toolbar_builder.vala.page:111(td/p)
 msgid "gtk-leave-fullscreen"
 msgstr "gtk-leave-fullscreen"
 
-#: C/toolbar_builder.py.page:136(item/p)
+#: C/toolbar_builder.py.page:137(item/p)
 #: C/toolbar_builder.vala.page:120(item/p)
 msgid "Close the <gui>Tool Bar Editor</gui>."
 msgstr "Κλείσιμο του <gui>επεξεργαστή γραμμής εργαλείων</gui>."
 
-#: C/toolbar_builder.py.page:139(item/p)
+#: C/toolbar_builder.py.page:140(item/p)
 msgid ""
 "When our program will first start, we do not want the <gui>Leave Fullscreen</"
 "gui> ToolButton to be visible, since the application will not be in "
@@ -46177,19 +48157,21 @@ msgstr ""
 "τη ρύθμιση - έτσι στον κώδικα πρέπει να χρησιμοποιήσουμε <code>show()</code> "
 "ξεχωριστά σε όλα τα στοιχεία."
 
-#: C/toolbar_builder.py.page:140(item/p)
+#: C/toolbar_builder.py.page:141(item/p)
 #: C/toolbar_builder.vala.page:124(item/p)
 msgid ""
 "<media type=\"image\" src=\"media/glade_visible_no.png\"> Setting the "
 "visible property to No </media>"
 msgstr ""
+"<media type=\"image\" src=\"media/glade_visible_no.png\"> Ορισμός της ιδιότητας "
+"ορατό σε Όχι </media>"
 
-#: C/toolbar_builder.py.page:145(item/p)
+#: C/toolbar_builder.py.page:146(item/p)
 #: C/toolbar_builder.vala.page:129(item/p)
 msgid "Save your work, and close Glade."
 msgstr "Αποθήκευση της εργασίας σας και κλείσιμο του Glade."
 
-#: C/toolbar_builder.py.page:148(item/p)
+#: C/toolbar_builder.py.page:149(item/p)
 #: C/toolbar_builder.vala.page:132(item/p)
 msgid ""
 "The XML file created by Glade is shown below. This is the description of the "
@@ -46205,7 +48187,7 @@ msgstr ""
 "προσθέστε τον παρακάτω κώδικα XML στη γραμμή 9 του <file>toolbar_builder.ui</"
 "file>:"
 
-#: C/toolbar_builder.py.page:149(item/code)
+#: C/toolbar_builder.py.page:150(item/code)
 #: C/toolbar_builder.vala.page:133(item/code)
 #, no-wrap
 msgid ""
@@ -46221,7 +48203,7 @@ msgstr ""
 "  &lt;/style&gt;\n"
 "  "
 
-#: C/toolbar_builder.py.page:154(item/p)
+#: C/toolbar_builder.py.page:155(item/p)
 #: C/toolbar_builder.vala.page:138(item/p)
 msgid ""
 "If you do not add this, the program will still work fine. The resulting "
@@ -46232,7 +48214,7 @@ msgstr ""
 "τελική εργαλειοθήκη όμως θα φαίνεται ελαφρά διαφορετική τότε από το "
 "στιγμιότυπο στην κορυφή αυτής της σελίδας."
 
-#: C/toolbar_builder.py.page:157(section/code)
+#: C/toolbar_builder.py.page:158(section/code)
 #: C/toolbar_builder.vala.page:141(page/code)
 #, no-wrap
 msgid ""
@@ -46426,7 +48408,7 @@ msgstr ""
 "  &lt;/object&gt;\n"
 "&lt;/interface&gt;\n"
 
-#: C/toolbar_builder.py.page:164(section/p)
+#: C/toolbar_builder.py.page:165(section/p)
 #: C/toolbar_builder.vala.page:143(page/p)
 msgid ""
 "We now create the code below, which adds the toolbar from the file we just "
@@ -46435,7 +48417,7 @@ msgstr ""
 "Τώρα δημιουργούμε τον παρακάτω κώδικα, που προσθέτει την εργαλειοθήκη από το "
 "αρχείο που μόλις δημιουργήσαμε."
 
-#: C/toolbar_builder.py.page:165(section/code)
+#: C/toolbar_builder.py.page:166(section/code)
 #, no-wrap
 msgid ""
 "from gi.repository import Gtk\n"
@@ -46640,22 +48622,22 @@ msgstr ""
 "exit_status = app.run(sys.argv)\n"
 "sys.exit(exit_status)\n"
 
-#: C/toolbar_builder.py.page:170(section/title)
+#: C/toolbar_builder.py.page:171(section/title)
 msgid "Useful methods for Gtk.Builder"
 msgstr "Χρήσιμες μέθοδοι για Gtk.Builder"
 
-#: C/toolbar_builder.py.page:171(section/p)
+#: C/toolbar_builder.py.page:172(section/p)
 msgid ""
 "For the useful methods for a Toolbar widget, see <link xref=\"toolbar.py\"/>"
 msgstr ""
 "Για τις χρήσιμες μεθόδους για ένα γραφικό συστατικό εργαλειοθήκης, δείτε "
 "<link xref=\"toolbar.py\"/>"
 
-#: C/toolbar_builder.py.page:173(section/p)
+#: C/toolbar_builder.py.page:174(section/p)
 msgid "Gtk.Builder builds an interface from an XML UI definition."
 msgstr "Το Gtk.Builder κατασκευάζει μια διεπαφή από έναν ορισμό UI XML."
 
-#: C/toolbar_builder.py.page:176(item/p)
+#: C/toolbar_builder.py.page:177(item/p)
 msgid ""
 "<code>add_from_file(filename)</code> loads and parses the given file and "
 "merges it with the current contents of the Gtk.Builder."
@@ -46663,7 +48645,7 @@ msgstr ""
 "Η <code>add_from_file(filename)</code> φορτώνει και αναλύει το δεδομένο "
 "αρχείο και το συγχωνεύει με τα τρέχοντα περιεχόμενα του Gtk.Builder."
 
-#: C/toolbar_builder.py.page:177(item/p)
+#: C/toolbar_builder.py.page:178(item/p)
 msgid ""
 "<code>add_from_string(string)</code> parses the given string and merges it "
 "with the current contents of the Gtk.Builder."
@@ -46671,7 +48653,7 @@ msgstr ""
 "Η <code>add_from_file(string)</code> φορτώνει την δεδομένη συμβολοσειρά και "
 "το συγχωνεύει με τα τρέχοντα περιεχόμενα του Gtk.Builder."
 
-#: C/toolbar_builder.py.page:178(item/p)
+#: C/toolbar_builder.py.page:179(item/p)
 msgid ""
 "<code>add_objects_from_file(filename, object_ids)</code> is the same as "
 "<code>add_from_file()</code>, but it loads only the objects with the ids "
@@ -46681,7 +48663,7 @@ msgstr ""
 "<code>add_from_file()</code>, αλλά φορτώνει μόνο τα αντικείμενα με τις "
 "ταυτότητες που δίνονται στη λίστα <code>object_id</code>."
 
-#: C/toolbar_builder.py.page:179(item/p)
+#: C/toolbar_builder.py.page:180(item/p)
 msgid ""
 "<code>add_objects_from_string(filename, object_ids)</code> is the same as "
 "<code>add_from_string()</code>, but it loads only the objects with the ids "
@@ -46691,7 +48673,7 @@ msgstr ""
 "<code>add_from_string()</code>, αλλά φορτώνει μόνο τα αντικείμενα με τις "
 "ταυτότητες που δίνονται στη λίστα <code>object_id</code>."
 
-#: C/toolbar_builder.py.page:180(item/p)
+#: C/toolbar_builder.py.page:181(item/p)
 msgid ""
 "<code>get_object(object_id)</code> retrieves the widget with the id "
 "<code>object_id</code> from the loaded objects in the builder."
@@ -46699,30 +48681,37 @@ msgstr ""
 "Η <code>get_object(object_id)</code> ανακτά το γραφικό συστατικό με την "
 "ταυτότητα <code>object_id</code> από τα φορτωμένα αντικείμενα του δομητή."
 
-#: C/toolbar_builder.py.page:181(item/p)
+#: C/toolbar_builder.py.page:182(item/p)
 msgid "<code>get_objects()</code> returns all loaded objects."
 msgstr "Η <code>get_objects()</code> επιστρέφει όλα τα φορτωμένα αντικείμενα."
 
-#: C/toolbar_builder.py.page:182(item/p)
+#: C/toolbar_builder.py.page:183(item/p)
+#| msgid ""
+#| "<code>connect_signals(handler_object)</code> connects the signals to the "
+#| "methods given in the <code>handler_object</code>. This can be any object "
+#| "which contains keys or attributes that are called like the signal handler "
+#| "names given in the interface description, e.g. a class or a dict."
 msgid ""
 "<code>connect_signals(handler_object)</code> connects the signals to the "
 "methods given in the <code>handler_object</code>. This can be any object "
 "which contains keys or attributes that are called like the signal handler "
-"names given in the interface description, e.g. a class or a dict."
-msgstr ""
-"Η <code>connect_signals(handler_object)</code> συνδέει τα σήματα στις "
+"names given in the interface description, e.g. a class or a dict. In line 39 "
+"the signal <code>\"activate\"</code> from the action <code>undo_action</"
+"code> is connected to the callback function <code>undo_callback()</code> "
+"using <code><var>action</var>.connect(<var>signal</var>, <var>callback "
+"function</var>)</code>. See <link xref=\"signals-callbacks.py\"/> for a more "
+"detailed explanation."
+msgstr ""
+"Το <code>connect_signals(handler_object)</code> συνδέει τα σήματα στις "
 "μεθόδους που δίνονται στον <code>handler_object</code>. Αυτό μπορεί να είναι "
 "οποιοδήποτε αντικείμενο περιέχει κλειδιά ή γνωρίσματα που καλούνται όπως τα "
 "ονόματα χειριστή σήματος που δίνονται στην περιγραφή διεπαφής, π.χ. μια "
-"κλάση ή ένα λεξικό."
-
-#: C/toolbar_builder.py.page:197(item/p)
-msgid ""
-"<link href=\"http://python-gtk-3-tutorial.readthedocs.org/en/latest/builder.";
-"html\">The Python Gtk+ 3 Tutorial - Glade and Gtk.Builder</link>"
-msgstr ""
-"<link href=\"http://python-gtk-3-tutorial.readthedocs.org/en/latest/builder.";
-"html\">Μάθημα του Python Gtk+ 3 - Glade και Gtk.Builder</link>"
+"κλάση ή ένα λεξικό. Στη γραμμή 39 το σήμα <code>\"activate\"</code> από την "
+"ενέργεια <code>undo_action</code> συνδέεται σε μια συνάρτηση επανάκλησης "
+"<code>undo_callback()</code> χρησιμοποιώντας "
+"<code><var>action</var>.connect(<var>signal</var>, <var>callback "
+"function</var>)</code>. Δείτε <link xref=\"signals-callbacks.py\"/> για μια "
+"πιο λεπτομερή εξήγηση."
 
 #: C/toolbar_builder.vala.page:7(info/title)
 msgctxt "text"
@@ -46968,26 +48957,33 @@ msgstr ""
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
-#: C/tooltip.py.page:22(media)
+#: C/tooltip.py.page:23(media)
 msgctxt "_"
 msgid "external ref='media/tooltip.png' md5='6950da5f4444aa941ecc2f0fc5951d52'"
 msgstr ""
 "external ref='media/tooltip.png' md5='6950da5f4444aa941ecc2f0fc5951d52'"
 
-#: C/tooltip.py.page:18(info/desc)
+#: C/tooltip.py.page:7(info/title)
+#| msgctxt "text"
+#| msgid "Toolbar (Python)"
+msgctxt "text"
+msgid "Tooltip (Python)"
+msgstr "Συμβουλή οθόνης (Python)"
+
+#: C/tooltip.py.page:19(info/desc)
 msgid "Add tips to your widgets"
 msgstr "Προσθέστε συμβουλές στα γραφικά συστατικά σας"
 
-#: C/tooltip.py.page:21(page/title) C/tutorial.py.page:126(steps/title)
+#: C/tooltip.py.page:22(page/title)
 msgid "Tooltip"
 msgstr "Συμβουλή οθόνης"
 
-#: C/tooltip.py.page:23(page/p)
+#: C/tooltip.py.page:24(page/p)
 msgid "A toolbar with a tooltip (with an image) for a button."
 msgstr ""
 "Μια εργαλειοθήκη με μια συμβουλή οθόνης (με μια εικόνα) για ένα κουμπί."
 
-#: C/tooltip.py.page:29(section/code)
+#: C/tooltip.py.page:30(section/code)
 #, no-wrap
 msgid ""
 "from gi.repository import Gtk\n"
@@ -47232,11 +49228,11 @@ msgstr ""
 "exit_status = app.run(sys.argv)\n"
 "sys.exit(exit_status)\n"
 
-#: C/tooltip.py.page:33(section/title)
+#: C/tooltip.py.page:34(section/title)
 msgid "Useful methods for a Tooltip widget"
 msgstr "Χρήσιμες μέθοδοι για ένα γραφικό συστατικό συμβουλής οθόνης"
 
-#: C/tooltip.py.page:34(section/p)
+#: C/tooltip.py.page:36(section/p)
 msgid ""
 "<code>set_tooltip_text(text)</code> and <code>set_tooltip_markup(text)</"
 "code> can be used to add a tooltip of plain text (or text in the Pango "
@@ -47246,13 +49242,13 @@ msgstr ""
 "code> μπορούν να χρησιμοποιηθούν για να προσθέσουν μια συμβουλή οθόνης απλού "
 "κειμένου (ή κειμένου στην γλώσσα επισήμανσης Pango) σε ένα γραφικό συστατικό."
 
-#: C/tooltip.py.page:35(section/p)
+#: C/tooltip.py.page:37(section/p)
 msgid "For more complex tooltips, for instance for a tooltip with an image:"
 msgstr ""
 "Για πιο σύνθετες συμβουλές οθόνης, για παράδειγμα για μια συμβουλή οθόνης με "
 "μια εικόνα:"
 
-#: C/tooltip.py.page:37(item/p)
+#: C/tooltip.py.page:39(item/p)
 msgid ""
 "Set the <code>\"has-tooltip\"</code> property of the widget to <code>True</"
 "code>; this will make GTK+ monitor the widget for motion and related events "
@@ -47263,7 +49259,7 @@ msgstr ""
 "συστατικό για κίνηση και σχετικά συμβάντα που απαιτούνται για προσδιορισμό "
 "πότε και πού θα εμφανιστεί μια συμβουλή οθόνης."
 
-#: C/tooltip.py.page:38(item/p)
+#: C/tooltip.py.page:40(item/p)
 msgid ""
 "Connect to the <code>\"query-tooltip\"</code> signal. This signal will be "
 "emitted when a tooltip is supposed to be shown. One of the arguments passed "
@@ -47285,7 +49281,7 @@ msgstr ""
 "(stock_id, size)</code>), ή ακόμα τοποθέτηση σε ένα προσαρμοσμένο γραφικό "
 "συστατικό (<code>set_custom(widget)</code>)."
 
-#: C/tooltip.py.page:39(item/p)
+#: C/tooltip.py.page:41(item/p)
 msgid ""
 "Return <code>True</code> from your query-tooltip handler. This causes the "
 "tooltip to be show. If you return <code>False</code>, it will not be shown."
@@ -47294,7 +49290,7 @@ msgstr ""
 "οθόνης. Αυτό προκαλεί την εμφάνιση της συμβουλής οθόνης. Εάν επιστρέψετε "
 "<code>False</code>, δεν θα εμφανιστεί."
 
-#: C/tooltip.py.page:42(section/p)
+#: C/tooltip.py.page:44(section/p)
 msgid ""
 "In the probably rare case where you want to have even more control over the "
 "tooltip that is about to be shown, you can set your own GtkWindow which will "
@@ -47305,7 +49301,7 @@ msgstr ""
 "δικό σας GtkWindow που θα χρησιμοποιηθεί ως παράθυρο συμβουλής οθόνης. Αυτό "
 "δουλεύει ως εξής:"
 
-#: C/tooltip.py.page:44(item/p)
+#: C/tooltip.py.page:46(item/p)
 msgid ""
 "Set <code>\"has-tooltip\"</code> and connect to <code>\"query-tooltip\"</"
 "code> as before."
@@ -47313,7 +49309,7 @@ msgstr ""
 "Ορίστε <code>\"has-tooltip\"</code> και συνδεθείτε στο <code>\"query-tooltip"
 "\"</code> όπως πριν."
 
-#: C/tooltip.py.page:45(item/p)
+#: C/tooltip.py.page:47(item/p)
 msgid ""
 "Use <code>set_tooltip_window()</code> on the widget to set a GtkWindow "
 "created by you as tooltip window."
@@ -47322,7 +49318,7 @@ msgstr ""
 "να ορίσετε ένα GtkWindow που δημιουργήθηκε από εσάς ως παράθυρο συμβουλής "
 "οθόνης."
 
-#: C/tooltip.py.page:46(item/p)
+#: C/tooltip.py.page:48(item/p)
 msgid ""
 "In the <code>\"query-tooltip\"</code> callback you can access your window "
 "using <code>get_tooltip_window()</code> and manipulate as you wish. The "
@@ -47335,7 +49331,7 @@ msgstr ""
 "ακριβώς όπως πριν, επιστροφή <code>True</code> για να εμφανίσετε το "
 "παράθυρο, <code>False</code> για να μην το εμφανίσετε."
 
-#: C/tooltip.py.page:55(item/p)
+#: C/tooltip.py.page:57(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/stable/GtkTooltip.html";
 "\">GtkTooltip</link>"
@@ -47343,15 +49339,7 @@ msgstr ""
 "<link href=\"http://developer.gnome.org/gtk3/stable/GtkTooltip.html";
 "\">GtkTooltip</link>"
 
-#: C/tooltip.py.page:56(item/p)
-msgid ""
-"<link href=\"http://developer.gnome.org/gtk3/stable/GtkToolbar.html";
-"\">GtkToolbar</link>"
-msgstr ""
-"<link href=\"http://developer.gnome.org/gtk3/stable/GtkToolbar.html";
-"\">GtkToolbar</link>"
-
-#: C/tooltip.py.page:57(item/p)
+#: C/tooltip.py.page:59(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/stable/GtkWidget.html";
 "\">GtkWidget</link>"
@@ -47359,7 +49347,7 @@ msgstr ""
 "<link href=\"http://developer.gnome.org/gtk3/stable/GtkWidget.html";
 "\">GtkWidget</link>"
 
-#: C/tooltip.py.page:58(item/p)
+#: C/tooltip.py.page:60(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/stable/gtk3-Stock-Items.html";
 "\">Stock Items</link>"
@@ -47371,7 +49359,7 @@ msgstr ""
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
-#: C/treeview_advanced_liststore.py.page:24(media)
+#: C/treeview_advanced_liststore.py.page:22(media)
 msgctxt "_"
 msgid ""
 "external ref='media/treeview_advanced_liststore.png' "
@@ -47385,16 +49373,16 @@ msgctxt "text"
 msgid "Simple Treeview with ListStore (Python)"
 msgstr "Απλή Treeview με ListStore (Python)"
 
-#: C/treeview_advanced_liststore.py.page:20(info/desc)
+#: C/treeview_advanced_liststore.py.page:18(info/desc)
 msgid "A TreeView displaying a ListStore (more complex example)"
 msgstr "Μια TreeView που εμφανίζει μια TreeStore (πιο σύνθετο παράδειγμα)"
 
-#: C/treeview_advanced_liststore.py.page:23(page/title)
-#: C/treeview_simple_liststore.vala.page:22(page/title)
-msgid "Simple Treeview with ListStore"
-msgstr "Απλή Treeview με ListStore"
+#: C/treeview_advanced_liststore.py.page:21(page/title)
+#| msgid "Simple Treeview with ListStore"
+msgid "More Complex Treeview with ListStore"
+msgstr "Πιο σύνθετη προβολή δένδρου με ListStore"
 
-#: C/treeview_advanced_liststore.py.page:25(page/p)
+#: C/treeview_advanced_liststore.py.page:23(page/p)
 #: C/treeview_simple_liststore.py.page:24(page/p)
 msgid ""
 "This TreeView displays a simple ListStore with the selection \"changed\" "
@@ -47403,7 +49391,7 @@ msgstr ""
 "Αυτή η TreeView εμφανίζει μια απλή ListStore με το συνδεμένο σήμα επιλογής "
 "\"αλλαγμένο\"."
 
-#: C/treeview_advanced_liststore.py.page:32(section/code)
+#: C/treeview_advanced_liststore.py.page:30(section/code)
 #, no-wrap
 msgid ""
 "from gi.repository import Gtk\n"
@@ -47666,41 +49654,50 @@ msgstr ""
 "exit_status = app.run(sys.argv)\n"
 "sys.exit(exit_status)\n"
 
-#: C/treeview_advanced_liststore.py.page:36(section/title)
-#: C/treeview_cellrenderertoggle.py.page:33(section/title)
+#: C/treeview_advanced_liststore.py.page:34(section/title)
+#: C/treeview_cellrenderertoggle.py.page:34(section/title)
 #: C/treeview_simple_liststore.py.page:35(section/title)
-#: C/treeview_treestore.py.page:33(section/title)
+#: C/treeview_treestore.py.page:35(section/title)
 msgid "Useful methods for a TreeView widget"
 msgstr "Χρήσιμες μέθοδοι για ένα γραφικό συστατικό TreeView"
 
-#: C/treeview_advanced_liststore.py.page:37(section/p)
-#: C/treeview_cellrenderertoggle.py.page:34(section/p)
-#: C/treeview_simple_liststore.py.page:36(section/p)
-#: C/treeview_treestore.py.page:34(section/p)
+#: C/treeview_advanced_liststore.py.page:35(section/p)
+#: C/treeview_cellrenderertoggle.py.page:35(section/p)
+#: C/treeview_treestore.py.page:36(section/p)
 msgid ""
 "The TreeView widget is designed around a <em>Model/View/Controller</em> "
-"design. For more information, and for a list of useful methods for TreeView "
-"and the interface TreeModel, see <link xref=\"model-view-controller.py"
-"\">here</link>."
-msgstr ""
-"Το γραφικό συστατικό TreeView σχεδιάστηκε γύρω από ένα σχέδιο <em>πρότυπου/"
-"προβολής/ελεγκτή</em>. Για περισσότερες πληροφορίες και για μια λίστα "
-"χρήσιμων μεθόδων για TreeView και την διεπαφή TreeModel, δείτε <link xref="
-"\"model-view-controller.py\">εδώ</link>."
-
-#: C/treeview_advanced_liststore.py.page:38(section/p)
-msgid ""
-"For buttons and callbacks functions, see <link xref=\"signals-callbacks.py"
-"\">here</link>"
-msgstr ""
-"Για κουμπιά και επανακλήσεις συναρτήσεων, δείτε <link xref=\"signals-"
-"callbacks.py\">εδώ</link>"
+"design: the <em>Model</em> stores the data; the <em>View</em> gets change "
+"notifications and displays the content of the model; the <em>Controller</"
+"em>, finally, changes the state of the model and notifies the view of these "
+"changes. For more information and for a list of useful methods for TreeModel "
+"see <link xref=\"model-view-controller.py\"/>."
+msgstr ""
+"Το γραφικό συστατικό TreeView σχεδιάστηκε γύρω από ένα σχέδιο "
+"<em>προτύπου/προβολής/ελεγκτή</em>: το <em>πρότυπο</em> αποθηκεύει τα "
+"δεδομένα· η <em>Προβολή</em> παίρνει ειδοποιήσεις αλλαγής και εμφανίζει το "
+"περιεχόμενο του προτύπου· ο <em>ελεγκτής</em>, τελικά, αλλάζει την κατάσταση "
+"του προτύπου και ειδοποιεί την προβολή για αυτές τις αλλαγές. Για "
+"περισσότερες πληροφορίες και για μια λίστα χρήσιμων μεθόδων για λίστα "
+"TreeModel, δείτε <link xref=\"model-view-controller.py\"/>."
+
+#: C/treeview_advanced_liststore.py.page:36(section/p)
+msgid ""
+"In line 36 the <code>\"changed\"</code> signal is connected to the callback "
+"function <code>on_changed()</code> using <code><var>widget</var>.connect"
+"(<var>signal</var>, <var>callback function</var>)</code>. See <link xref="
+"\"signals-callbacks.py\"/> for a more detailed explanation."
+msgstr ""
+"Στη γραμμή 36 το σήμα <code>\"changed\"</code> συνδέεται με τη συνάρτηση "
+"επανάκλησης <code>on_changed()</code> χρησιμοποιώντας "
+"<code><var>widget</var>.connect(<var>signal</var>, <var>callback "
+"function</var>)</code>. Δείτε <link xref=\"signals-callbacks.py\"/> για μια "
+"πιο λεπτομερή εξήγηση."
 
 #. This is a reference to an external file such as an image or video. When
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
-#: C/treeview_cellrenderertoggle.py.page:21(media)
+#: C/treeview_cellrenderertoggle.py.page:22(media)
 msgctxt "_"
 msgid ""
 "external ref='media/treeview_cellrenderertoggle.png' "
@@ -47715,7 +49712,7 @@ msgctxt "text"
 msgid "TreeView with TreeStore (Python)"
 msgstr "TreeView με TreeStore (Python)"
 
-#: C/treeview_cellrenderertoggle.py.page:17(info/desc)
+#: C/treeview_cellrenderertoggle.py.page:18(info/desc)
 msgid ""
 "A TreeView displaying a TreeStore (more complex example, with "
 "CellRendererToggle)"
@@ -47723,12 +49720,12 @@ msgstr ""
 "Μια TreeView εμφανίζει μια TreeStore (πιο σύνθετο παράδειγμα, με "
 "CellRendererToggle)"
 
-#: C/treeview_cellrenderertoggle.py.page:20(page/title)
-#: C/treeview_treestore.py.page:20(page/title)
-msgid "TreeView with TreeStore"
-msgstr "TreeView με TreeStore"
+#: C/treeview_cellrenderertoggle.py.page:21(page/title)
+#| msgid "TreeView with TreeStore"
+msgid "More Complex TreeView with TreeStore"
+msgstr "Πιο σύνθετη προβολή δένδρου με TreeStore"
 
-#: C/treeview_cellrenderertoggle.py.page:22(page/p)
+#: C/treeview_cellrenderertoggle.py.page:23(page/p)
 msgid ""
 "This TreeView displays a TreeStore with two columns, one of which is "
 "rendered as a toggle."
@@ -47736,7 +49733,7 @@ msgstr ""
 "Αυτή η TreeView εμφανίζει μια TreeStore με δύο στήλες, η μια τους αποδίδεται "
 "ως μια εναλλαγή."
 
-#: C/treeview_cellrenderertoggle.py.page:29(section/code)
+#: C/treeview_cellrenderertoggle.py.page:30(section/code)
 #, no-wrap
 msgid ""
 "from gi.repository import Gtk\n"
@@ -47841,110 +49838,123 @@ msgid ""
 "exit_status = app.run(sys.argv)\n"
 "sys.exit(exit_status)\n"
 msgstr ""
-"from gi.repository import Gtk\n"
-"from gi.repository import Pango\n"
-"import sys\n"
-"\n"
-"books = [[\"Tolstoy, Leo\", [\"War and Peace\", True], [\"Anna Karenina\", False]],\n"
-"         [\"Shakespeare, William\", [\"Hamlet\", False], [\"Macbeth\", True], [\"Othello\", False]],\n"
-"         [\"Tolkien, J.R.R.\", [\"The Lord of the Rings\", False]]]\n"
-"\n"
-"class MyWindow(Gtk.ApplicationWindow):\n"
-"    def __init__(self, app):\n"
-"        Gtk.Window.__init__(self, title=\"Library\", application=app)\n"
-"        self.set_default_size(250, 100)\n"
-"        self.set_border_width(10)\n"
-"\n"
-"        # the data are stored in the model\n"
-"        # create a treestore with two columns\n"
-"        self.store = Gtk.TreeStore(str, bool)\n"
-"        # fill in the model\n"
-"        for i in range(len(books)):\n"
-"            # the iter piter is returned when appending the author in the first column\n"
-"            # and False in the second\n"
-"            piter = self.store.append(None, [books[i][0], False])\n"
-"            # append the books and the associated boolean value as children of the author\n"
-"            j = 1\n"
-"            while j &lt; len(books[i]):\n"
-"                self.store.append(piter, books[i][j])\n"
-"                j += 1\n"
-"\n"
-"        # the treeview shows the model\n"
-"        # create a treeview on the model self.store\n"
-"        view = Gtk.TreeView()\n"
-"        view.set_model(self.store)\n"
-"\n"
-"        # the cellrenderer for the first column - text\n"
-"        renderer_books = Gtk.CellRendererText()\n"
-"        # the first column is created\n"
-"        column_books = Gtk.TreeViewColumn(\"Books\", renderer_books, text=0)\n"
-"        # and it is appended to the treeview\n"
-"        view.append_column(column_books)\n"
-"\n"
-"        # the cellrenderer for the second column - boolean rendered as a toggle\n"
-"        renderer_in_out = Gtk.CellRendererToggle()\n"
-"        # the second column is created\n"
-"        column_in_out = Gtk.TreeViewColumn(\"Out?\", renderer_in_out, active=1)\n"
-"        # and it is appended to the treeview\n"
-"        view.append_column(column_in_out)\n"
-"        # connect the cellrenderertoggle with a callback function\n"
-"        renderer_in_out.connect(\"toggled\", self.on_toggled)\n"
-"\n"
-"        # add the treeview to the window\n"
-"        self.add(view)\n"
-"\n"
-"    # callback function for the signal emitted by the cellrenderertoggle\n"
-"    def on_toggled(self, widget, path):\n"
-"        # the boolean value of the selected row\n"
-"        current_value = self.store[path][1]\n"
-"        # change the boolean value of the selected row in the model\n"
-"        self.store[path][1] = not current_value\n"
-"        # new current value!\n"
-"        current_value = not current_value\n"
-"        # if length of the path is 1 (that is, if we are selecting an author)\n"
-"        if len(path) == 1:\n"
-"            # get the iter associated with the path\n"
-"            piter = self.store.get_iter(path)\n"
-"            # get the iter associated with its first child\n"
-"            citer = self.store.iter_children(piter)\n"
-"            # while there are children, change the state of their boolean value\n"
-"            # to the value of the author\n"
-"            while citer is not None:\n"
-"                self.store[citer][1] = current_value\n"
-"                citer = self.store.iter_next(citer)\n"
-"        # if the length of the path is not 1 (that is, if we are selecting a book)\n"
-"        elif len(path) != 1:\n"
-"            # get the first child of the parent of the book (the first book of the author)\n"
-"            citer = self.store.get_iter(path)\n"
-"            piter = self.store.iter_parent(citer)\n"
-"            citer = self.store.iter_children(piter)\n"
-"            # check if all the children are selected\n"
-"            all_selected = True\n"
-"            while citer is not None:\n"
-"                if self.store[citer][1] == False:\n"
-"                    all_selected = False\n"
-"                    break\n"
-"                citer = self.store.iter_next(citer)\n"
-"            # if they do, the author as well is selected; otherwise it is not\n"
-"            self.store[piter][1] = all_selected\n"
-"\n"
-"class MyApplication(Gtk.Application):\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"
-"app = MyApplication()\n"
-"exit_status = app.run(sys.argv)\n"
-"sys.exit(exit_status)\n"
+"from gi.repository import Gtk\n"
+"from gi.repository import Pango\n"
+"import sys\n"
+"\n"
+"books = [[\"Tolstoy, Leo\", [\"War and Peace\", True], [\"Anna Karenina\", False]],\n"
+"         [\"Shakespeare, William\", [\"Hamlet\", False], [\"Macbeth\", True], [\"Othello\", False]],\n"
+"         [\"Tolkien, J.R.R.\", [\"The Lord of the Rings\", False]]]\n"
+"\n"
+"class MyWindow(Gtk.ApplicationWindow):\n"
+"    def __init__(self, app):\n"
+"        Gtk.Window.__init__(self, title=\"Library\", application=app)\n"
+"        self.set_default_size(250, 100)\n"
+"        self.set_border_width(10)\n"
+"\n"
+"        # the data are stored in the model\n"
+"        # create a treestore with two columns\n"
+"        self.store = Gtk.TreeStore(str, bool)\n"
+"        # fill in the model\n"
+"        for i in range(len(books)):\n"
+"            # the iter piter is returned when appending the author in the first column\n"
+"            # and False in the second\n"
+"            piter = self.store.append(None, [books[i][0], False])\n"
+"            # append the books and the associated boolean value as children of the author\n"
+"            j = 1\n"
+"            while j &lt; len(books[i]):\n"
+"                self.store.append(piter, books[i][j])\n"
+"                j += 1\n"
+"\n"
+"        # the treeview shows the model\n"
+"        # create a treeview on the model self.store\n"
+"        view = Gtk.TreeView()\n"
+"        view.set_model(self.store)\n"
+"\n"
+"        # the cellrenderer for the first column - text\n"
+"        renderer_books = Gtk.CellRendererText()\n"
+"        # the first column is created\n"
+"        column_books = Gtk.TreeViewColumn(\"Books\", renderer_books, text=0)\n"
+"        # and it is appended to the treeview\n"
+"        view.append_column(column_books)\n"
+"\n"
+"        # the cellrenderer for the second column - boolean rendered as a toggle\n"
+"        renderer_in_out = Gtk.CellRendererToggle()\n"
+"        # the second column is created\n"
+"        column_in_out = Gtk.TreeViewColumn(\"Out?\", renderer_in_out, active=1)\n"
+"        # and it is appended to the treeview\n"
+"        view.append_column(column_in_out)\n"
+"        # connect the cellrenderertoggle with a callback function\n"
+"        renderer_in_out.connect(\"toggled\", self.on_toggled)\n"
+"\n"
+"        # add the treeview to the window\n"
+"        self.add(view)\n"
+"\n"
+"    # callback function for the signal emitted by the cellrenderertoggle\n"
+"    def on_toggled(self, widget, path):\n"
+"        # the boolean value of the selected row\n"
+"        current_value = self.store[path][1]\n"
+"        # change the boolean value of the selected row in the model\n"
+"        self.store[path][1] = not current_value\n"
+"        # new current value!\n"
+"        current_value = not current_value\n"
+"        # if length of the path is 1 (that is, if we are selecting an author)\n"
+"        if len(path) == 1:\n"
+"            # get the iter associated with the path\n"
+"            piter = self.store.get_iter(path)\n"
+"            # get the iter associated with its first child\n"
+"            citer = self.store.iter_children(piter)\n"
+"            # while there are children, change the state of their boolean value\n"
+"            # to the value of the author\n"
+"            while citer is not None:\n"
+"                self.store[citer][1] = current_value\n"
+"                citer = self.store.iter_next(citer)\n"
+"        # if the length of the path is not 1 (that is, if we are selecting a book)\n"
+"        elif len(path) != 1:\n"
+"            # get the first child of the parent of the book (the first book of the author)\n"
+"            citer = self.store.get_iter(path)\n"
+"            piter = self.store.iter_parent(citer)\n"
+"            citer = self.store.iter_children(piter)\n"
+"            # check if all the children are selected\n"
+"            all_selected = True\n"
+"            while citer is not None:\n"
+"                if self.store[citer][1] == False:\n"
+"                    all_selected = False\n"
+"                    break\n"
+"                citer = self.store.iter_next(citer)\n"
+"            # if they do, the author as well is selected; otherwise it is not\n"
+"            self.store[piter][1] = all_selected\n"
+"\n"
+"class MyApplication(Gtk.Application):\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"
+"app = MyApplication()\n"
+"exit_status = app.run(sys.argv)\n"
+"sys.exit(exit_status)\n"
+
+#: C/treeview_cellrenderertoggle.py.page:36(section/p)
+msgid ""
+"In line 48 the <code>\"toggled\"</code> signal is connected to the callback "
+"function <code>on_toggled()</code> using <code><var>widget</var>.connect"
+"(<var>signal</var>, <var>callback function</var>)</code>. See <link xref="
+"\"signals-callbacks.py\"/> for a more detailed explanation."
+msgstr ""
+"Στη γραμμή 48 το σήμα <code>\"toggled\"</code> συνδέεται με τη συνάρτηση "
+"επανάκλησης <code>on_toggled()</code> χρησιμοποιώντας "
+"<code><var>widget</var>.connect(<var>signal</var>, <var>callback "
+"function</var>)</code>. Δείτε <link xref=\"signals-callbacks.py\"/> για μια "
+"πιο λεπτομερή εξήγηση."
 
-#: C/treeview_cellrenderertoggle.py.page:43(item/p)
-#: C/treeview_treestore.py.page:43(item/p)
+#: C/treeview_cellrenderertoggle.py.page:45(item/p)
+#: C/treeview_treestore.py.page:45(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkTreeStore.html";
 "\">GtkTreeStore</link>"
@@ -47952,7 +49962,7 @@ msgstr ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkTreeStore.html";
 "\">GtkTreeStore</link>"
 
-#: C/treeview_cellrenderertoggle.py.page:45(item/p)
+#: C/treeview_cellrenderertoggle.py.page:47(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkCellRendererToggle.";
 "html\">GtkCellRendererToggle</link>"
@@ -49262,7 +51272,37 @@ msgstr ""
 "exit_status = app.run(sys.argv)\n"
 "sys.exit(exit_status)\n"
 
-#: C/treeview_simple_liststore.py.page:49(item/p)
+#: C/treeview_simple_liststore.py.page:36(section/p)
+msgid ""
+"The TreeView widget is designed around a <em>Model/View/Controller</em> "
+"design: the <em>Model</em> stores the data; the <em>View</em> gets change "
+"notifications and displays the content of the model; the <em>Controller</"
+"em>, finally, changes the state of the model and notifies the view of these "
+"changes. For more information, and for a list of useful methods for "
+"TreeModel, see <link xref=\"model-view-controller.py\"/>."
+msgstr ""
+"Το γραφικό συστατικό TreeView σχεδιάστηκε γύρω από ένα σχέδιο "
+"<em>προτύπου/προβολής/ελεγκτή</em>: το <em>πρότυπο</em> αποθηκεύει τα "
+"δεδομένα· η <em>Προβολή</em> παίρνει ειδοποιήσεις αλλαγής και εμφανίζει το "
+"περιεχόμενο του προτύπου· ο <em>ελεγκτής</em>, τελικά, αλλάζει την κατάσταση "
+"του προτύπου και ειδοποιεί την προβολή για αυτές τις αλλαγές. Για "
+"περισσότερες πληροφορίες και για μια λίστα χρήσιμων μεθόδων για λίστα "
+"TreeModel, δείτε <link xref=\"model-view-controller.py\"/>."
+
+#: C/treeview_simple_liststore.py.page:37(section/p)
+msgid ""
+"In line 44 the <code>\"changed\"</code> signal is connected to the callback "
+"function <code>on_changed()</code> using <code><var>widget</var>.connect"
+"(<var>signal</var>, <var>callback function</var>)</code>. See <link xref="
+"\"signals-callbacks.py\"/> for a more detailed explanation."
+msgstr ""
+"Στη γραμμή 44 το σήμα <code>\"changed\"</code> συνδέεται με τη συνάρτηση "
+"επανάκλησης <code>on_changed()</code> χρησιμοποιώντας "
+"<code><var>widget</var>.connect(<var>signal</var>, <var>callback "
+"function</var>)</code>. Δείτε <link xref=\"signals-callbacks.py\"/> για μια "
+"πιο λεπτομερή εξήγηση."
+
+#: C/treeview_simple_liststore.py.page:50(item/p)
 msgid ""
 "<link href=\"http://developer.gnome.org/pango/stable/pango-Fonts.html";
 "\">Fonts</link>"
@@ -49281,6 +51321,10 @@ msgstr ""
 "Ένα γραφικό συστατικό μπορεί να εμφανίσει οποιαδήποτε υλοποίηση TreeModel "
 "(λίστες και δένδρα)"
 
+#: C/treeview_simple_liststore.vala.page:22(page/title)
+msgid "Simple Treeview with ListStore"
+msgstr "Απλή Treeview με ListStore"
+
 #: C/treeview_simple_liststore.vala.page:24(page/p)
 msgid ""
 "This TreeView displays a simple ListStore with the Selection \"changed\" "
@@ -49564,7 +51608,7 @@ msgstr ""
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
-#: C/treeview_treestore.py.page:21(media)
+#: C/treeview_treestore.py.page:23(media)
 msgctxt "_"
 msgid ""
 "external ref='media/treeview_treestore.png' "
@@ -49573,15 +51617,20 @@ msgstr ""
 "external ref='media/treeview_treestore.png' "
 "md5='5ca87bc4acd55c527b3fb5fd46779d85'"
 
-#: C/treeview_treestore.py.page:17(info/desc)
+#: C/treeview_treestore.py.page:19(info/desc)
 msgid "A TreeView displaying a TreeStore (simpler example)"
 msgstr "Μια TreeView που εμφανίζει μια TreeStore (απλό παράδειγμα)"
 
-#: C/treeview_treestore.py.page:22(page/p)
+#: C/treeview_treestore.py.page:22(page/title)
+#| msgid "Simple TreeView with ListStore"
+msgid "Simpler TreeView with TreeStore"
+msgstr "Πιο απλή Treeview με ListStore"
+
+#: C/treeview_treestore.py.page:24(page/p)
 msgid "This TreeView displays a TreeStore."
 msgstr "Αυτό το TreeView εμφανίζει μια TreeStore."
 
-#: C/treeview_treestore.py.page:29(section/code)
+#: C/treeview_treestore.py.page:31(section/code)
 #, no-wrap
 msgid ""
 "from gi.repository import Gtk\n"
@@ -49763,9 +51812,11 @@ msgstr ""
 "i18n\">λίστα αλληλογραφίας</link> τους."
 
 #: C/tutorial.py.page:8(info/title)
+#| msgctxt "text"
+#| msgid "Guitar Tuner (Python)"
 msgctxt "text"
-msgid "Beginner's Tutorial (Python)"
-msgstr "Μαθήματα αρχαρίων (Python)"
+msgid "Tutorial for beginners (Python)"
+msgstr "Μάθημα για αρχάριους (Python)"
 
 #: C/tutorial.py.page:12(info/desc)
 msgid ""
@@ -49775,11 +51826,27 @@ msgstr ""
 "Ένα μάθημα για αρχάριους που θέλουν να μάθουν πώς να προγραμματίσουν "
 "διεπαφές χρήστη (GUI) χρησιμοποιώντας GTK+ σε Python."
 
-#: C/tutorial.py.page:25(page/title)
-msgid "0 Beginner's Tutorial"
-msgstr "0 Μαθήμα αρχαρίων"
+#: C/tutorial.py.page:21(credit/years)
+#| msgid "2010, 2011"
+msgid "2012 2013"
+msgstr "2012, 2013"
+
+#: C/tutorial.py.page:24(credit/name)
+msgid "Jim Campbell"
+msgstr "Jim Campbell"
+
+#: C/tutorial.py.page:33(synopsis/p)
+#| msgid ""
+#| "By following these tutorials you will learn the basics of GUI programming "
+#| "using Gtk+."
+msgid ""
+"By following these tutorials you will learn the basics of GUI programming "
+"using GTK+ in Python."
+msgstr ""
+"Παρακολουθώντας αυτά τα μαθήματα θα μάθετε τα βασικά του προγραμματισμού GUI "
+"χρησιμοποιώντας GTK+ σε Python."
 
-#: C/tutorial.py.page:30(synopsis/p)
+#: C/tutorial.py.page:35(synopsis/p)
 msgid ""
 "If you have never programmed before, or are not familiar with the concepts "
 "of object oriented programming, you may need to learn a few basics first. "
@@ -49801,73 +51868,124 @@ msgstr ""
 "html\">Μάθημα Python GTK+ 3</link>. Μόλις κατανοήσετε τα βασικά, μπορείτε να "
 "επιστρέψετε και να εξετάσετε αυτά τα μαθήματα."
 
-#: C/tutorial.py.page:36(section/title)
+#: C/tutorial.py.page:41(section/title)
 msgid "To run the code samples"
 msgstr "Εκτέλεση των δειγμάτων κώδικα"
 
-#: C/tutorial.py.page:40(item/p)
-msgid "Copy and paste the code into <var>filename</var>.py"
-msgstr "Κάντε αντιγραφή και επικόλληση του κώδικα στο <var>filename</var>.py"
+#: C/tutorial.py.page:43(section/p)
+#| msgid "To run the code samples:"
+msgid "To run the code samples in the tutorial:"
+msgstr "Για να εκτελέσετε τα δείγματα κώδικα στο μάθημα:"
+
+#: C/tutorial.py.page:45(item/p)
+#| msgid "Copy and paste the code into <var>filename</var>.py"
+msgid ""
+"Type or copy and paste the code into a file, and save the file with a name "
+"like <var>filename</var>.py"
+msgstr ""
+"Πληκτρολογήστε ή αντιγράψτε και επικολλήστε τον κώδικα σε ένα αρχείο και "
+"αποθηκεύστε το αρχείο με ένα όνομα όπως <var>filename</var>.py"
 
-#: C/tutorial.py.page:42(item/screen)
+#: C/tutorial.py.page:46(item/p)
+#| msgid "These radiobuttons report their activity in the terminal."
+msgid "To execute the code, type in the terminal:"
+msgstr "Για να εκτελέσετε τον κώδικα, πληκτρολογήστε στον τερματικό:"
+
+#: C/tutorial.py.page:47(item/screen)
 #, no-wrap
 msgid "python <var>filename</var>.py"
 msgstr "python <var>filename</var>.py"
 
-#: C/tutorial.py.page:48(section/title)
+#: C/tutorial.py.page:50(section/p)
+msgid ""
+"After executing the code, you will either see the widget on your screen, or "
+"(if you have mistyped some of the code) you will see an error message that "
+"will help you identify the problem."
+msgstr ""
+"Μετά την εκτέλεση του κώδικα, θα δείτε είτε το γραφικό συστατικό στην οθόνη "
+"σας, ή (εάν έχετε πληκτρολογήσει λαθεμένα μέρος του κώδικα) θα δείτε ένα "
+"μήνυμα σφάλματος που θα σας βοηθήσει να ταυτοποιήσετε το πρόβλημα."
+
+#: C/tutorial.py.page:54(section/title)
 msgid "A path through the widgets (with some theory)"
 msgstr "Μια διαδρομή μέσα από γραφικά συστατικά (με λίγη θεωρία)"
 
-#: C/tutorial.py.page:50(steps/title)
+#: C/tutorial.py.page:55(section/p)
+msgid ""
+"The tutorial will walk you through increasingly complex examples and "
+"programming theory, but you can also feel free to just go directly to the "
+"tutorial that is most helpful to you."
+msgstr ""
+"Το μάθημα θα σας οδηγήσει μέσα από αυξανόμενης συνθετότητας παραδείγματα και "
+"θεωρία προγραμματισμού, αλλά μπορείτε επίσης να πάτε απλά αμέσως στο μάθημα "
+"που είναι πιο χρήσιμο σε εσάς."
+
+#: C/tutorial.py.page:57(steps/title)
 msgid "Tutorial"
 msgstr "Μάθημα"
 
-#: C/tutorial.py.page:52(steps/title)
+#: C/tutorial.py.page:59(steps/title)
 msgid "Basic windows"
 msgstr "Βασικά παράθυρα"
 
-#: C/tutorial.py.page:57(steps/title)
+#: C/tutorial.py.page:64(steps/title)
 msgid "Images and labels"
 msgstr "Εικόνες και ετικέτες"
 
-#: C/tutorial.py.page:72(steps/title)
-msgid "Basic buttons"
-msgstr "Βασικά κουμπιά"
+#: C/tutorial.py.page:70(steps/title)
+#| msgid "Introduction"
+msgid "Introduction to properties"
+msgstr "Εισαγωγή στις ιδιότητες"
+
+#: C/tutorial.py.page:74(steps/title)
+msgid "Grid, separator and scrolling"
+msgstr "Πλέγμα, διαχωριστικό και κύλιση"
 
-#: C/tutorial.py.page:82(steps/title)
+#: C/tutorial.py.page:81(steps/title)
+#| msgctxt "text"
+#| msgid "Signals and callbacks (Python)"
+msgid "Signals, callbacks and buttons"
+msgstr "Σήματα, επανακλήσεις και κουμπιά"
+
+#: C/tutorial.py.page:95(steps/title)
 msgid "Other display widgets"
 msgstr "Γραφικά συστατικά άλλης εμφάνισης"
 
-#: C/tutorial.py.page:88(steps/title)
-msgid "Entry widgets (with a detour on basic scrolling)"
-msgstr "Γραφικά συστατικά εισόδου (με μια παράκαμψη στη βασική κύλιση)"
+#: C/tutorial.py.page:101(steps/title)
+#| msgid "Grid widget"
+msgid "Entry widgets"
+msgstr "Εισαγωγή γραφικών συστατικών"
+
+#: C/tutorial.py.page:107(steps/title)
+#| msgid "A widget which displays text"
+msgid "A widget to write and display text"
+msgstr "Ένα γραφικό συστατικό που γράφει και εμφανίζει κείμενο"
 
-#: C/tutorial.py.page:96(steps/title)
+#: C/tutorial.py.page:111(steps/title)
 msgid "Dialogs"
 msgstr "Διάλογοι"
 
-#: C/tutorial.py.page:102(steps/title)
+#: C/tutorial.py.page:117(steps/title)
+#| msgid "Menus and toolbars (also: using Glade)"
+msgid "Menus, Toolbars and Tooltips (also: using Glade and GtkBuilder)"
+msgstr ""
+"Μενού, εργαλειοθήκες και συμβουλές οθόνης (επίσης: χρησιμοποιώντας Glade και "
+"GtkBuilder)"
+
+#: C/tutorial.py.page:132(steps/title)
 msgid "TreeViews and ComboBoxes (using the M/V/C design)"
 msgstr "TreeViews και ComboBoxes (χρησιμοποιώντας τη σχεδίαση M/V/C)"
 
-#: C/tutorial.py.page:112(steps/title)
-msgid "Menus and toolbars (also: using Glade)"
-msgstr "Μενού και εργαλειοθήκες (επίσης: χρησιμοποιώντας Glade)"
-
-#: C/tutorial.py.page:120(steps/title)
-msgid "Selectors (a recap)"
-msgstr "Επιλογείς (μια ανακεφαλαίωση)"
-
-#: C/tutorial.py.page:130(steps/title)
-msgid "More containers"
-msgstr "Περισσότεροι περιέκτες"
+#: C/tutorial.py.page:142(steps/title)
+msgid "Custom widget"
+msgstr "Προσαρμοσμένο γραφικό συστατικό"
 
 #: C/vala.page:6(info/title)
 msgctxt "link"
 msgid "Vala"
 msgstr "Vala"
 
-#: C/vala.page:15(page/title)
+#: C/vala.page:20(page/title)
 msgid "Tutorials, code samples and platform demos in Vala"
 msgstr "Μαθήματα, δείγματα κώδικα και παραδείγματα πλατφόρμας σε Vala"
 
@@ -49875,7 +51993,7 @@ msgstr "Μαθήματα, δείγματα κώδικα και παραδείγ
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
-#: C/weatherApp.js.page:35(media)
+#: C/weatherApp.js.page:40(media)
 msgctxt "_"
 msgid ""
 "external ref='media/weatherAppJs.png' md5='1fe859ac4854273d72ea8fc9203639b2'"
@@ -49883,11 +52001,13 @@ msgstr ""
 "external ref='media/weatherAppJs.png' md5='1fe859ac4854273d72ea8fc9203639b2'"
 
 #: C/weatherApp.js.page:6(info/title)
+#| msgctxt "text"
+#| msgid "Weather Application (JavaScript)"
 msgctxt "text"
-msgid "Weather Application (JavaScript)"
+msgid "Weather application (JavaScript)"
 msgstr "Εφαρμογή καιρού (JavaScript)"
 
-#: C/weatherApp.js.page:16(info/desc)
+#: C/weatherApp.js.page:21(info/desc)
 msgid ""
 "How to plan an application that uses asynchronous calls. Asynchronous calls "
 "will be presented through a weather application."
@@ -49895,11 +52015,12 @@ msgstr ""
 "Πώς να σχεδιαστεί μια εφαρμογή που χρησιμοποιεί ασύγχρονες κλήσεις. Οι "
 "ασύγχρονες κλήσεις θα αναπαριστώνται μέσα από μια εφαρμογή καιρού."
 
-#: C/weatherApp.js.page:21(page/title)
-msgid "4 Weather Application"
-msgstr "4 εφαρμογή καιρού"
+#: C/weatherApp.js.page:26(page/title)
+#| msgid "4 Weather Application"
+msgid "Weather application"
+msgstr "Εφαρμογή καιρού"
 
-#: C/weatherApp.js.page:23(synopsis/p)
+#: C/weatherApp.js.page:28(synopsis/p)
 msgid ""
 "In this guide well construct a weather application using asynchronous calls. "
 "Weather information in this example is fetched from geonames.org and the "
@@ -49919,32 +52040,32 @@ msgstr ""
 "μεταγενέστερο εγκατεστημένο στον υπολογιστή σας. Σε αυτόν τον οδηγό θα "
 "εξετάσουμε τα παρακάτω μέρη:"
 
-#: C/weatherApp.js.page:26(item/p)
+#: C/weatherApp.js.page:31(item/p)
 msgid "<link xref=\"#planningUi\">Planning the graphical user interface</link>"
 msgstr ""
 "<link xref=\"#planningUi\">Σχεδιασμός της γραφικής διεπαφής χρήστη</link>"
 
-#: C/weatherApp.js.page:27(item/p)
+#: C/weatherApp.js.page:32(item/p)
 msgid "<link xref=\"#asynchronous\">Asynchronous calls</link>"
 msgstr "<link xref=\"#asynchronous\">Ασύγχρονες κλήσεις</link>"
 
-#: C/weatherApp.js.page:28(item/p)
+#: C/weatherApp.js.page:33(item/p)
 msgid "<link xref=\"#main\">The main program file</link>"
 msgstr "<link xref=\"#main\">Το κύριο αρχείο του προγράμματος</link>"
 
-#: C/weatherApp.js.page:29(item/p)
+#: C/weatherApp.js.page:34(item/p)
 msgid "<link xref=\"#main\">Local library GeoNames</link>"
 msgstr "<link xref=\"#main\">Τοπική βιβλιοθήκη GeoNames</link>"
 
-#: C/weatherApp.js.page:30(item/p)
+#: C/weatherApp.js.page:35(item/p)
 msgid "<link xref=\"#main\">Autotools and Icons</link>"
 msgstr "<link xref=\"#main\">Autotools και εικονίδια</link>"
 
-#: C/weatherApp.js.page:38(section/title)
+#: C/weatherApp.js.page:43(section/title)
 msgid "Planning the graphical user interface"
 msgstr "Σχεδιασμός της γραφικής διεπαφής χρήστη"
 
-#: C/weatherApp.js.page:39(section/p)
+#: C/weatherApp.js.page:44(section/p)
 msgid ""
 "Structuring an application for GNOME 3 means you will be using <link href="
 "\"http://developer.gnome.org/platform-overview/stable/gtk\";>GTK+</link>. The "
@@ -49970,11 +52091,11 @@ msgstr ""
 "συστατικού στη θέση του, η τοποθέτηση των γραφικών συστατικών μπορεί να "
 "γίνει σε σχέση με οποιοδήποτε γραφικό συστατικό στο πλέγμα."
 
-#: C/weatherApp.js.page:42(section/title)
+#: C/weatherApp.js.page:47(section/title)
 msgid "Asynchronous calls"
 msgstr "Ασύγχρονες κλήσεις"
 
-#: C/weatherApp.js.page:43(section/p)
+#: C/weatherApp.js.page:48(section/p)
 msgid ""
 "With many programming languages, all operations are run synchronously - you "
 "tell the program to do something, and it will wait until that action "
@@ -49999,7 +52120,7 @@ msgstr ""
 "παράδειγμα με αρχείο συστήματος I/O και για πιο αργούς υπολογισμούς στο "
 "παρασκήνιο."
 
-#: C/weatherApp.js.page:46(section/p)
+#: C/weatherApp.js.page:51(section/p)
 msgid ""
 "In this example we have to get data from geonames.org. While we do that we "
 "want the rest of our program to continue. If we wouldn't get any information "
@@ -50015,7 +52136,7 @@ msgstr ""
 "σημείο όπου το main_quit() συνεχίζει σωστά και η εφαρμογή θα έπρεπε να "
 "θανατωθεί από το τερματικό."
 
-#: C/weatherApp.js.page:49(section/title)
+#: C/weatherApp.js.page:54(section/title)
 msgid "The different parts of the program"
 msgstr "Τα διαφορετικά μέρη του προγράμματος"
 
@@ -51235,14 +53356,14 @@ msgctxt "text"
 msgid "Window (C)"
 msgstr "Παράθυρο (C)"
 
-#: C/window.c.page:17(info/desc) C/window.py.page:22(info/desc)
+#: C/window.c.page:17(info/desc) C/window.py.page:24(info/desc)
 #: C/window.vala.page:17(info/desc)
 msgid "A toplevel window which can contain other widgets"
 msgstr ""
 "Ένα παράθυρο ανώτατου επιπέδου που μπορεί να περιέχει άλλα γραφικά συστατικά"
 
 #: C/window.c.page:20(page/title) C/window.js.page:20(page/title)
-#: C/window.py.page:25(page/title) C/window.vala.page:20(page/title)
+#: C/window.py.page:27(page/title) C/window.vala.page:20(page/title)
 msgid "Window"
 msgstr "Παράθυρο"
 
@@ -51446,19 +53567,23 @@ msgctxt "text"
 msgid "Window (Python)"
 msgstr "Παράθυρο (Python)"
 
-#: C/window.py.page:31(td/p)
-msgid "A minimal Gtk+ Application: a window with a title."
+#: C/window.py.page:33(td/p)
+#| msgid "A minimal Gtk+ Application: a window with a title."
+msgid "A minimal GTK+ Application: a window with a title."
 msgstr "Μια ελάχιστη εφαρμογή GTK+: ένα παράθυρο με τίτλο."
 
-#: C/window.py.page:34(td/p)
+#: C/window.py.page:36(td/p)
+#| msgid ""
+#| "Use <link xref=\"GtkApplicationWindow.py\">Application Window</link> if "
+#| "you need GMenu support."
 msgid ""
-"Use <link xref=\"GtkApplicationWindow.py\">Application Window</link> if you "
-"need GMenu support."
+"Use <link xref=\"GtkApplicationWindow.py\"/> if you need <link xref=\"gmenu."
+"py\"/> support."
 msgstr ""
-"Χρησιμοποιήστε <link xref=\"GtkApplicationWindow.py\">παράθυρο εφαρμογής</"
-"link> εάν χρειαζόσαστε υποστήριξη GMenu."
+"Χρησιμοποιήστε <link xref=\"GtkApplicationWindow.py\"/>, εάν χρειάζεστε "
+"υποστήριξη <link xref=\"gmenu.py\"/>."
 
-#: C/window.py.page:44(section/code)
+#: C/window.py.page:46(section/code)
 #, no-wrap
 msgid ""
 "from gi.repository import Gtk\n"
@@ -51497,22 +53622,10 @@ msgstr ""
 "exit_status = app.run(sys.argv)\n"
 "sys.exit(exit_status)\n"
 
-#: C/window.py.page:49(section/title)
+#: C/window.py.page:51(section/title)
 msgid "Useful methods for a Window widget"
 msgstr "Χρήσιμες μέθοδοι για ένα γραφικό συστατικό παραθύρου"
 
-#: C/window.py.page:50(section/p)
-msgid ""
-"<code>window = Gtk.Window(application=self, title=\"Welcome to GNOME\")</"
-"code> sets the title as well, without the need for the line <code>window."
-"set_title(\"Welcome to GNOME\")</code>. For a general discussion of this, "
-"see <link xref=\"properties.py\">here</link>."
-msgstr ""
-"<code>window = Gtk.Window(application=self, title=\"Welcome to GNOME\")</"
-"code> ορίζει τον τίτλο επίσης, χωρίς την ανάγκη για τη γραμμή <code>window."
-"set_title(\"Welcome to GNOME\")</code>. Για μια γενική συζήτηση του, δείτε "
-"<link xref=\"properties.py\">εδώ</link>."
-
 #: C/window.vala.page:7(info/title)
 msgctxt "text"
 msgid "Window (Vala)"
@@ -51649,15 +53762,582 @@ msgstr ""
 "<link href=\"http://www.valadoc.org/gtk+-3.0/Gtk.Window.window_position.html";
 "\">window_position</link>"
 
+#~ msgid ""
+#~ "For an explanation of signals and callback functions, see <link xref="
+#~ "\"signals-callbacks.py\">this page</link>."
+#~ msgstr ""
+#~ "Για μια εξήγηση των σημάτων και συναρτήσεων επανάκλησης, δείτε <link xref="
+#~ "\"signals-callbacks.py\">αυτήν τη σελίδα</link>."
+
+#~ msgctxt "text"
+#~ msgid "Beginner's Tutorials (C)"
+#~ msgstr "Μαθήματα αρχαρίων (C)"
+
+#~ msgid "0 Beginner's Tutorials"
+#~ msgstr "0 μαθήματα αρχαρίων"
+
+#~ msgid "0 Beginner's tutorials and samples"
+#~ msgstr "0 Μαθήματα και παραδείγματα αρχαρίων"
+
+#~ msgctxt "text"
+#~ msgid "Beginner Tutorials (Vala)"
+#~ msgstr "Μαθήματα αρχαρίων (Vala)"
+
+#, fuzzy
+#~ msgid ""
+#~ "<code>button = Gtk.Button(label=\"Click me\")</code> could also be used "
+#~ "to create a button and set the text directly. For a general discussion of "
+#~ "this, see <link xref=\"properties.py\">here</link>."
+#~ msgstr ""
+#~ "Το <code>button = Gtk.Button(label=\"Click me\")</code> μπορεί επίσης να "
+#~ "χρησιμοποιηθεί στη δημιουργία ενός κουμπιού τον ορισμό του κειμένου "
+#~ "άμεσα. Για μια γενική συζήτηση του, δείτε <link xref=\"properties.py"
+#~ "\">εδώ</link>."
+
+#~ msgid ""
+#~ "We could also create the CheckButton with <code>button = Gtk.CheckButton."
+#~ "new_with_label(\"Show Title\")</code>."
+#~ msgstr ""
+#~ "Θα μπορούσαμε επίσης να δημιουργήσουμε το CheckButton με <code>button = "
+#~ "Gtk.CheckButton.new_with_label(\"Show Title\")</code>."
+
+#~ msgid ""
+#~ "For a discussion on signals and callback functions, see <link xref="
+#~ "\"signals-callbacks.py\">this page</link>."
+#~ msgstr ""
+#~ "Για μια συζήτηση των σημάτων και συναρτήσεων επανάκλησης, δείτε <link "
+#~ "xref=\"signals-callbacks.py\">αυτήν τη σελίδα</link>."
+
+#~ msgid "Platform demos in C++"
+#~ msgstr "Παραδείγματα πλατφόρμας σε C++"
+
+#~ msgid "<_:item-1/> <_:item-2/> <_:item-3/> <_:item-4/>."
+#~ msgstr "<_:item-1/> <_:item-2/> <_:item-3/> <_:item-4/>."
+
+#~ msgid "2 Guitar Tuner"
+#~ msgstr "2 Συντονιστής κιθάρας"
+
+#~ msgid "1 Image Viewer"
+#~ msgstr "1 Προβολέας εικόνων"
+
+#~ msgid ""
+#~ "<code>label = Gtk.Label(label=\"Hello GNOME!\")</code> could also be used "
+#~ "to create a label and set the text directly. For a general discussion of "
+#~ "this, see <link xref=\"properties.py\">here</link>."
+#~ msgstr ""
+#~ "Το <code>label = Gtk.Label(\"Hello GNOME!\")</code> μπορεί επίσης να "
+#~ "χρησιμοποιηθεί για τη δημιουργία μιας ετικέτας και τον ορισμό του "
+#~ "κειμένου άμεσα. Για μια γενική συζήτηση σχετικά με αυτό, δείτε <link xref="
+#~ "\"properties.py\">εδώ</link>."
+
+#~ msgid ""
+#~ "<link href=\"http://python-gtk-3-tutorial.readthedocs.org/en/latest/";
+#~ "treeview.html\">The Python Gtk+ 3 Tutorial - Tree and List Widgets</link>"
+#~ msgstr ""
+#~ "<link href=\"http://python-gtk-3-tutorial.readthedocs.org/en/latest/";
+#~ "treeview.html\">The Python Gtk+ 3 Tutorial - Tree and List Widgets</link>"
+
+#~ msgid ""
+#~ "<link href=\"http://python-gtk-3-tutorial.readthedocs.org/en/latest/";
+#~ "cellrenderers.html\">The Python Gtk+ 3 Tutorial - CellRenderers</link>"
+#~ msgstr ""
+#~ "<link href=\"http://python-gtk-3-tutorial.readthedocs.org/en/latest/";
+#~ "cellrenderers.html\">The Python Gtk+ 3 Tutorial - CellRenderers</link>"
+
+#~ msgid ""
+#~ "<link href=\"http://python-gtk-3-tutorial.readthedocs.org/en/latest/";
+#~ "combobox.html\">The Python Gtk+ 3 Tutorial - ComboBox</link>"
+#~ msgstr ""
+#~ "<link href=\"http://python-gtk-3-tutorial.readthedocs.org/en/latest/";
+#~ "combobox.html\">The Python Gtk+ 3 Tutorial - ComboBox</link>"
+
+#~ msgid ""
+#~ "\n"
+#~ "int\n"
+#~ "main(int argc, char *argv[])\n"
+#~ "{\n"
+#~ "    ClutterColor stage_color = { 16, 16, 16, 255 };\n"
+#~ "    ClutterActor *stage = NULL;\n"
+#~ "\n"
+#~ "    clutter_init(&amp;argc, &amp;argv);\n"
+#~ "\n"
+#~ "    stage = clutter_stage_get_default();\n"
+#~ "    clutter_actor_set_size(stage, STAGE_WIDTH, STAGE_HEIGHT);\n"
+#~ "    clutter_stage_set_color(CLUTTER_STAGE (stage), &amp;stage_color);\n"
+#~ "\n"
+#~ "    load_image_path_names();\n"
+#~ "\n"
+#~ "    guint row = 0;\n"
+#~ "    guint col = 0;\n"
+#~ "    for(row=0; row &lt; ROW_COUNT; ++row)\n"
+#~ "    {\n"
+#~ "        for(col=0; col &lt; COL_COUNT; ++col)\n"
+#~ "        {\n"
+#~ "            GSList *img_path_node = g_slist_nth(img_path_list, (row * COL_COUNT) + col);\n"
+#~ "            ClutterActor *actor = clutter_texture_new_from_file((gchar *)(img_path_node-&gt;data), 
NULL);\n"
+#~ "            initialize_actor(actor, row, col);\n"
+#~ "            clutter_container_add_actor(CLUTTER_CONTAINER(stage), actor);\n"
+#~ "            actor_list = g_slist_prepend(actor_list, actor);\n"
+#~ "        }\n"
+#~ "    }\n"
+#~ "\n"
+#~ "    /* Show the stage. */\n"
+#~ "    clutter_actor_show(stage);\n"
+#~ "\n"
+#~ "    /* Start the clutter main loop. */\n"
+#~ "    clutter_main();\n"
+#~ "\n"
+#~ "    return 0;\n"
+#~ "}"
+#~ msgstr ""
+#~ "\n"
+#~ "int\n"
+#~ "main(int argc, char *argv[])\n"
+#~ "{\n"
+#~ "    ClutterColor stage_color = { 16, 16, 16, 255 };\n"
+#~ "    ClutterActor *stage = NULL;\n"
+#~ "\n"
+#~ "    clutter_init(&amp;argc, &amp;argv);\n"
+#~ "\n"
+#~ "    stage = clutter_stage_get_default();\n"
+#~ "    clutter_actor_set_size(stage, STAGE_WIDTH, STAGE_HEIGHT);\n"
+#~ "    clutter_stage_set_color(CLUTTER_STAGE (stage), &amp;stage_color);\n"
+#~ "\n"
+#~ "    load_image_path_names();\n"
+#~ "\n"
+#~ "    guint row = 0;\n"
+#~ "    guint col = 0;\n"
+#~ "    for(row=0; row &lt; ROW_COUNT; ++row)\n"
+#~ "    {\n"
+#~ "        for(col=0; col &lt; COL_COUNT; ++col)\n"
+#~ "        {\n"
+#~ "            GSList *img_path_node = g_slist_nth(img_path_list, (row * COL_COUNT) + col);\n"
+#~ "            ClutterActor *actor = clutter_texture_new_from_file((gchar *)(img_path_node-&gt;data), 
NULL);\n"
+#~ "            initialize_actor(actor, row, col);\n"
+#~ "            clutter_container_add_actor(CLUTTER_CONTAINER(stage), actor);\n"
+#~ "            actor_list = g_slist_prepend(actor_list, actor);\n"
+#~ "        }\n"
+#~ "    }\n"
+#~ "\n"
+#~ "    /* Show the stage. */\n"
+#~ "    clutter_actor_show(stage);\n"
+#~ "\n"
+#~ "    /* Start the clutter main loop. */\n"
+#~ "    clutter_main();\n"
+#~ "\n"
+#~ "    return 0;\n"
+#~ "}"
+
+#~ msgid ""
+#~ "\n"
+#~ "for(row=0; row &lt; ROW_COUNT; ++row)\n"
+#~ "{\n"
+#~ "    for(col=0; col &lt; COL_COUNT; ++col)\n"
+#~ "    {\n"
+#~ "        GSList *img_path_node = g_slist_nth(img_path_list, (row * COL_COUNT) + col);\n"
+#~ "        ClutterActor *actor = clutter_texture_new_from_file((gchar *)(img_path_node-&gt;data), NULL);\n"
+#~ "        initialize_actor(actor, row, col);\n"
+#~ "        clutter_container_add_actor(CLUTTER_CONTAINER(stage), actor);\n"
+#~ "        actor_list = g_slist_prepend(actor_list, actor);\n"
+#~ "    }\n"
+#~ "}\n"
+#~ "\n"
+#~ msgstr ""
+#~ "\n"
+#~ "for(row=0; row &lt; ROW_COUNT; ++row)\n"
+#~ "{\n"
+#~ "    for(col=0; col &lt; COL_COUNT; ++col)\n"
+#~ "    {\n"
+#~ "        GSList *img_path_node = g_slist_nth(img_path_list, (row * COL_COUNT) + col);\n"
+#~ "        ClutterActor *actor = clutter_texture_new_from_file((gchar *)(img_path_node-&gt;data), NULL);\n"
+#~ "        initialize_actor(actor, row, col);\n"
+#~ "        clutter_container_add_actor(CLUTTER_CONTAINER(stage), actor);\n"
+#~ "        actor_list = g_slist_prepend(actor_list, actor);\n"
+#~ "    }\n"
+#~ "}\n"
+#~ "\n"
+
+#~ msgid "Line 7: We'll look at this function in a later section."
+#~ msgstr "Γραμμή 7: θα δούμε αυτή την συνάρτηση σε επόμενη ενότητα."
+
+#~ msgid ""
+#~ "Line 9: This adds our <code>ClutterActor</code> to a <code>GSList</code> "
+#~ "so that we can later iterate over the <code>ClutterActor</code>s."
+#~ msgstr ""
+#~ "Γραμμή 9: Αυτό προσθέτει το <code>ClutterActor</code> σε ένα "
+#~ "<code>GSList</code>, έτσι ώστε αργότερα να μπορούμε να επαναλάβουμε το "
+#~ "<code>ClutterActor</code>."
+
+#~ msgid ""
+#~ "Interesting to note is that we want to prepend the <code>ClutterActor</"
+#~ "code>s rather than append so that we avoid traversing the list upon each "
+#~ "insertion. You will often see <code>g_slist_prepend</code> followed by "
+#~ "<code>g_slist_reverse</code> because it faster than inserting many "
+#~ "objects at the end of the list."
+#~ msgstr ""
+#~ "Σημειώστε ότι θέλουμε να προτάξουμε το <code>ClutterActor</code> παρά να "
+#~ "το προσαρτήσουμε για αποφυγή διάσχισης της λίστας με κάθε εισαγωγή. Θα "
+#~ "δείτε συχνά το <code>g_slist_prepend</code> ακολουθούμενο από "
+#~ "<code>g_slist_reverse</code> επειδή είναι πιο γρήγορο παρά η εισαγωγή "
+#~ "πολλών αντικειμένων στο τέλος της λίστας."
+
+#~ msgid ""
+#~ "\n"
+#~ "static gboolean\n"
+#~ "actor_clicked_cb(ClutterActor *actor,\n"
+#~ "                 ClutterEvent *event,\n"
+#~ "                 gpointer      user_data)\n"
+#~ "{\n"
+#~ "    /* Flag to keep track of our state. */\n"
+#~ "    static gboolean is_focused = FALSE;\n"
+#~ "\n"
+#~ "    g_slist_foreach(actor_list, foreach_set_focus_state, &amp;is_focused);\n"
+#~ "\n"
+#~ "    if(is_focused)\n"
+#~ "    {\n"
+#~ "        clutter_actor_animate(actor, CLUTTER_LINEAR, ANIMATION_DURATION_MS,\n"
+#~ "                              \"x\",      origin.x,\n"
+#~ "                              \"y\",      origin.y,\n"
+#~ "                              \"depth\",  UNFOCUS_DEPTH,\n"
+#~ "                              \"width\",  (float) THUMBNAIL_SIZE,\n"
+#~ "                              \"height\", (float) THUMBNAIL_SIZE,\n"
+#~ "                              NULL);\n"
+#~ "    }\n"
+#~ "    else\n"
+#~ "    {\n"
+#~ "        /*Save the current location before animating. */\n"
+#~ "        clutter_actor_get_position(actor, &amp;origin.x, &amp;origin.y);\n"
+#~ "        clutter_actor_set_reactive(actor, TRUE);\n"
+#~ "        clutter_actor_animate(actor, CLUTTER_LINEAR, ANIMATION_DURATION_MS,\n"
+#~ "                              \"x\",      (STAGE_WIDTH - STAGE_HEIGHT) / 2.0,\n"
+#~ "                              \"y\",      0.0,\n"
+#~ "                              \"depth\",  FOCUS_DEPTH,\n"
+#~ "                              \"width\",  (float) STAGE_HEIGHT,\n"
+#~ "                              \"height\", (float) STAGE_HEIGHT,\n"
+#~ "                              NULL);\n"
+#~ "    }\n"
+#~ "\n"
+#~ "    /* Toggle our flag. */\n"
+#~ "    is_focused = !is_focused;\n"
+#~ "\n"
+#~ "    return TRUE;\n"
+#~ "}"
+#~ msgstr ""
+#~ "\n"
+#~ "static gboolean\n"
+#~ "actor_clicked_cb(ClutterActor *actor,\n"
+#~ "                 ClutterEvent *event,\n"
+#~ "                 gpointer      user_data)\n"
+#~ "{\n"
+#~ "    /* Flag to keep track of our state. */\n"
+#~ "    static gboolean is_focused = FALSE;\n"
+#~ "\n"
+#~ "    g_slist_foreach(actor_list, foreach_set_focus_state, &amp;is_focused);\n"
+#~ "\n"
+#~ "    if(is_focused)\n"
+#~ "    {\n"
+#~ "        clutter_actor_animate(actor, CLUTTER_LINEAR, ANIMATION_DURATION_MS,\n"
+#~ "                              \"x\",      origin.x,\n"
+#~ "                              \"y\",      origin.y,\n"
+#~ "                              \"depth\",  UNFOCUS_DEPTH,\n"
+#~ "                              \"width\",  (float) THUMBNAIL_SIZE,\n"
+#~ "                              \"height\", (float) THUMBNAIL_SIZE,\n"
+#~ "                              NULL);\n"
+#~ "    }\n"
+#~ "    else\n"
+#~ "    {\n"
+#~ "        /*Save the current location before animating. */\n"
+#~ "        clutter_actor_get_position(actor, &amp;origin.x, &amp;origin.y);\n"
+#~ "        clutter_actor_set_reactive(actor, TRUE);\n"
+#~ "        clutter_actor_animate(actor, CLUTTER_LINEAR, ANIMATION_DURATION_MS,\n"
+#~ "                              \"x\",      (STAGE_WIDTH - STAGE_HEIGHT) / 2.0,\n"
+#~ "                              \"y\",      0.0,\n"
+#~ "                              \"depth\",  FOCUS_DEPTH,\n"
+#~ "                              \"width\",  (float) STAGE_HEIGHT,\n"
+#~ "                              \"height\", (float) STAGE_HEIGHT,\n"
+#~ "                              NULL);\n"
+#~ "    }\n"
+#~ "\n"
+#~ "    /* Toggle our flag. */\n"
+#~ "    is_focused = !is_focused;\n"
+#~ "\n"
+#~ "    return TRUE;\n"
+#~ "}"
+
+#~ msgid ""
+#~ "Line 9: This line of code runs a custom function, "
+#~ "<code>foreach_set_focus_state</code>, for each element in our "
+#~ "<code>actor_list</code>, passing it the address to the <code>is_focused</"
+#~ "code> flag. We'll see the definition of the "
+#~ "<code>foreach_set_focus_state</code> function in the next section."
+#~ msgstr ""
+#~ "Γραμμή 9: Αυτή η γραμμή κώδικα τρέχει μια προσαρμοσμένη συνάρτηση, "
+#~ "<code>foreach_set_focus_state</code>, για κάθε στοιχείο στη "
+#~ "<code>actor_list</code> μας, περνώντας τη διεύθυνση στη σημαία "
+#~ "<code>is_focused</code>. Θα δούμε τον ορισμό της συνάρτησης "
+#~ "<code>foreach_set_focus_state</code> στην επόμενη ενότητα."
+
+#~ msgid "The address of the <code>ClutterActor</code> to animate"
+#~ msgstr "Η διεύθυνση του <code>ClutterActor</code> για κίνηση"
+
+#~ msgid ""
+#~ "The animation mode to use. Here we use <code>CLUTTER_LINEAR</code> so "
+#~ "that we have a constant speed for animation."
+#~ msgstr ""
+#~ "Η κατάσταση κίνησης για χρήση. Εδώ χρησιμοποιούμε <code>CLUTTER_LINEAR</"
+#~ "code> έτσι ώστε να έχουμε μια σταθερή ταχύτητα για κίνηση."
+
+#~ msgid ""
+#~ "The duration of the animation in milliseconds. I've chosen 500 ms for "
+#~ "this example."
+#~ msgstr ""
+#~ "Η διάρκεια της κίνησης σε ms. Επέλεξα 500 ms για αυτό το παράδειγμα."
+
+#~ msgid ""
+#~ "The remaining arguments are property/value pairs. Here we want to set the "
+#~ "<code>x</code> value to the starting <code>x</code> value this "
+#~ "<code>ClutterActor</code> was at before being brought into focus."
+#~ msgstr ""
+#~ "Τα υπολειπόμενα ορίσματα είναι ζεύγη ιδιότητας/τιμής. Εδώ θέλουμε να "
+#~ "ορίσουμε την τιμή <code>x</code> στην αρχική τιμή <code>x</code>, αυτός ο "
+#~ "<code>ClutterActor</code> ήταν πριν μεταφερθεί σε εστίαση."
+
+#~ msgid ""
+#~ "The last argument must always be <code>NULL</code> to indicate that there "
+#~ "are no more properties to be set."
+#~ msgstr ""
+#~ "Το τελευταίο όρισμα πρέπει πάντοτε να είναι <code>NULL</code> για να "
+#~ "δείξει ότι δεν υπάρχουν περισσότερες ιδιότητες να οριστούν."
+
+#~ msgid ""
+#~ "The <code>depth</code> property needs a little more explaining. We need "
+#~ "to raise the focused image so that it doesn't slide behind other "
+#~ "<code>ClutterActor</code>s. In this section we are returning it to the "
+#~ "same depth as the others on the wall."
+#~ msgstr ""
+#~ "Η ιδιότητα <code>depth</code> χρειάζεται περισσότερη εξήγηση. "
+#~ "Χρειαζόμαστε να ανυψώσουμε την εστιασμένη εικόνα, έτσι ώστε να μην "
+#~ "ολισθήσει πίσω από άλλο <code>ClutterActor</code>. Σε αυτή την ενότητα "
+#~ "επιστρέφουμε στο ίδιο βάθος όπως οι άλλες στον τοίχο."
+
+#~ msgid ""
+#~ "Depth also determines which <code>ClutterActor</code>s receive events. A "
+#~ "<code>ClutterActor</code> with a higher depth value receives the click "
+#~ "events and can choose whether the event gets sent to <code>ClutterActor</"
+#~ "code>s under it. We'll see how that works in a few steps."
+#~ msgstr ""
+#~ "Το βάθος επίσης καθορίζει ποιος <code>ClutterActor</code> δέχεται "
+#~ "συμβάντα. Ένας <code>ClutterActor</code> με υψηλότερη τιμή βάθους δέχεται "
+#~ "τα συμβάντα κλικ και μπορεί να επιλέξει εάν το συμβάν στέλνεται στο "
+#~ "<code>ClutterActor</code> κάτω από αυτό. Θα δούμε πώς δουλεύει αυτό σε "
+#~ "λίγα βήματα."
+
+#~ msgid ""
+#~ "Lines 27‒33: This is similar to the above block of code. Notice that we "
+#~ "are setting the the depth to raise it above the other images."
+#~ msgstr ""
+#~ "Γραμμές 27-33: Αυτό είναι όμοιο με την παραπάνω ομάδα κώδικα. Σημειώστε "
+#~ "ότι ορίζουμε το βάθος ανύψωσης του πάνω από τις άλλες εικόνες."
+
+#~ msgid ""
+#~ "The following is the convenience function passed to "
+#~ "<code>g_slist_foreach</code>."
+#~ msgstr ""
+#~ "Το παρακάτω είναι μια συνάρτηση διευκόλυνσης που πέρασε σε "
+#~ "<code>g_slist_foreach</code>."
+
+#~ msgid ""
+#~ "\n"
+#~ "static void\n"
+#~ "foreach_set_focus_state(gpointer data, gpointer user_data)\n"
+#~ "{\n"
+#~ "    ClutterActor *actor = CLUTTER_ACTOR(data);\n"
+#~ "    gboolean is_reactive = *((gboolean*)user_data);\n"
+#~ "\n"
+#~ "    clutter_actor_set_reactive(actor, is_reactive);\n"
+#~ "}"
+#~ msgstr ""
+#~ "\n"
+#~ "static void\n"
+#~ "foreach_set_focus_state(gpointer data, gpointer user_data)\n"
+#~ "{\n"
+#~ "    ClutterActor *actor = CLUTTER_ACTOR(data);\n"
+#~ "    gboolean is_reactive = *((gboolean*)user_data);\n"
+#~ "\n"
+#~ "    clutter_actor_set_reactive(actor, is_reactive);\n"
+#~ "}"
+
+#~ msgid ""
+#~ "Lines 2‒5: The signature of this function requires two <code>gpointer</"
+#~ "code>s. The first is a pointer to the <code>ClutterActor</code> that our "
+#~ "<code>GSList</code> holds and the other is the <code>is_focused</code> "
+#~ "flag that we've passed in the previous section. We want to cast these and "
+#~ "store them for easy use."
+#~ msgstr ""
+#~ "Γραμμές 2-5: Η υπογραφή αυτής της συνάρτησης απαιτεί δύο <code>gpointer</"
+#~ "code>. Το πρώτο είναι ένας δείκτης στο <code>ClutterActor</code> που η "
+#~ "<code>GSList</code> μας κρατά και ο άλλος είναι η σημαία "
+#~ "<code>is_focused</code> που περάσαμε στην προηγούμενη ενότητα. Θέλουμε να "
+#~ "τα αλλάξουμε και να τα αποθηκεύσουμε για εύκολη χρήση."
+
+#~ msgid ""
+#~ "Line 7: Depending on which boolean value is passed in, the "
+#~ "<code>ClutterActor</code> will be set to respond to events or not."
+#~ msgstr ""
+#~ "Γραμμή 7: Ανάλογα με ποια τιμή Μπουλ πέρασε, ο <code>ClutterActor</code> "
+#~ "θα οριστεί να απαντήσει ή όχι στα συμβάντα."
+
+#~ msgid ""
+#~ "For a general discussion of this, see <link xref=\"properties.py\">here</"
+#~ "link>."
+#~ msgstr ""
+#~ "Για μια γενική συζήτηση του δείτε <link xref=\"properties.py\">εδώ</link>."
+
+#~ 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 ""
+#~ "Για μια εξήγηση των σημάτων και συναρτήσεων επανάκλησης, δείτε <link xref="
+#~ "\"signals-callbacks.py\">αυτήν τη σελίδα</link>. Ένα παράδειγμα είναι το "
+#~ "σήμα <code>\"value-changed\"</code>, που εκπέμπεται όταν η τιμή της "
+#~ "κλίμακας αλλάζει."
+
+#~ 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 ""
+#~ "Για μια εξήγηση των σημάτων και συναρτήσεων επανάκλησης, δείτε <link xref="
+#~ "\"signals-callbacks.py\">αυτήν τη σελίδα</link>. Ένα παράδειγμα είναι το "
+#~ "σήμα <code>\"value-changed\"</code>, που εκπέμπεται όταν η τιμή του "
+#~ "κουμπιού μετρητή αλλάζει."
+
+#~ msgid "Definitions"
+#~ msgstr "Ορισμοί"
+
+#~ 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 ""
+#~ "Εννοιολογικά μια <em>συμβολοσειρά</em> είναι μια λίστα <em>χαρακτήρων</"
+#~ "em> όπως 'A', 'B', 'C' or 'È'. Οι χαρακτήρες είναι αφηρημένες "
+#~ "αναπαραστάσεις και το νόημα τους εξαρτάται από τη γλώσσα και το "
+#~ "περιεχόμενο στο οποίο χρησιμοποιούνται. Το <em>τυπικό Unicode</em> "
+#~ "περιγράφει πώς οι χαρακτήρες αναπαριστώνται από <em>σημεία κώδικα</em>. "
+#~ "Για παράδειγμα οι παραπάνω χαρακτήρες αναπαριστώνται με τα σημεία κώδικα U"
+#~ "+0041, U+0042, U+0043 και U+00C9, αντίστοιχα. Βασικά, τα σημεία κώδικα "
+#~ "είναι αριθμοί στην περιοχή από 0 έως 0x10FFFF."
+
+#~ 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 ""
+#~ "Η αναπαράσταση μιας συμβολοσειράς ως μιας λίστας σημείων κώδικα είναι "
+#~ "αφηρημένη. Για να μετατρέψετε αυτήν την αφηρημένη αναπαράσταση σε μια "
+#~ "σειρά bytes η συμβολοσειρά Unicode πρέπει να <em>κωδικοποιηθεί</em>. Η "
+#~ "απλούστερη μορφή κωδικοποίησης είναι η ASCII και εκτελείται ως εξής:"
+
+#~ msgid ""
+#~ "If the code point is strictly less than 128, each byte is the same as the "
+#~ "value of the code point."
+#~ msgstr ""
+#~ "Εάν το σημείο κώδικα είναι αυστηρά μικρότερο από 128, κάθε byte είναι η "
+#~ "ίδια όπως η τιμή του σημείου κώδικα."
+
+#~ 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 ""
+#~ "Εάν το σημείο κώδικα είναι 128 ή μεγαλύτερο, η συμβολοσειρά Unicode δεν "
+#~ "μπορεί να αναπαρασταθεί σε αυτήν την κωδικοποίηση. (Ο Python εγείρει μια "
+#~ "εξαίρεση <sys>UnicodeEncodeError</sys> σε αυτήν την περίπτωση.)"
+
+#~ 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 ""
+#~ "Αν και η κωδικοποίηση ASCII είναι απλή στην εφαρμογή μπορεί να "
+#~ "κωδικοποιήσει μόνο 128 διαφορετικούς χαρακτήρες που είναι ανεπαρκείς. Μια "
+#~ "από τις συνηθέστερες χρησιμοποιούμενες κωδικοποιήσεις που αντιμετωπίζει "
+#~ "αυτό το πρόβλημα είναι η UTF-8 (μπορεί να χειριστεί οποιοδήποτε σημείο "
+#~ "κώδικα Unicode). UTF σημαίνει “μορφή μετασχηματισμού κοινού κώδικα”, και "
+#~ "το ‘8’ σημαίνει ότι αριθμοί 8 δυαδικών χρησιμοποιούνται στην κωδικοποίηση."
+
+#~ msgid ""
+#~ "<link href=\"http://python-gtk-3-tutorial.readthedocs.org/en/latest/";
+#~ "builder.html\">The Python Gtk+ 3 Tutorial - Glade and Gtk.Builder</link>"
+#~ msgstr ""
+#~ "<link href=\"http://python-gtk-3-tutorial.readthedocs.org/en/latest/";
+#~ "builder.html\">Μάθημα του Python Gtk+ 3 - Glade και Gtk.Builder</link>"
+
+#~ msgid ""
+#~ "The TreeView widget is designed around a <em>Model/View/Controller</em> "
+#~ "design. For more information, and for a list of useful methods for "
+#~ "TreeView and the interface TreeModel, see <link xref=\"model-view-"
+#~ "controller.py\">here</link>."
+#~ msgstr ""
+#~ "Το γραφικό συστατικό TreeView σχεδιάστηκε γύρω από ένα σχέδιο "
+#~ "<em>πρότυπου/προβολής/ελεγκτή</em>. Για περισσότερες πληροφορίες και για "
+#~ "μια λίστα χρήσιμων μεθόδων για TreeView και την διεπαφή TreeModel, δείτε "
+#~ "<link xref=\"model-view-controller.py\">εδώ</link>."
+
+#~ msgid ""
+#~ "For buttons and callbacks functions, see <link xref=\"signals-callbacks.py"
+#~ "\">here</link>"
+#~ msgstr ""
+#~ "Για κουμπιά και επανακλήσεις συναρτήσεων, δείτε <link xref=\"signals-"
+#~ "callbacks.py\">εδώ</link>"
+
+#~ msgctxt "text"
+#~ msgid "Beginner's Tutorial (Python)"
+#~ msgstr "Μαθήματα αρχαρίων (Python)"
+
+#~ msgid "0 Beginner's Tutorial"
+#~ msgstr "0 Μαθήμα αρχαρίων"
+
+#~ msgid "Basic buttons"
+#~ msgstr "Βασικά κουμπιά"
+
+#~ msgid "Entry widgets (with a detour on basic scrolling)"
+#~ msgstr "Γραφικά συστατικά εισόδου (με μια παράκαμψη στη βασική κύλιση)"
+
+#~ msgid "Selectors (a recap)"
+#~ msgstr "Επιλογείς (μια ανακεφαλαίωση)"
+
+#~ msgid "More containers"
+#~ msgstr "Περισσότεροι περιέκτες"
+
+#~ msgid ""
+#~ "<code>window = Gtk.Window(application=self, title=\"Welcome to GNOME\")</"
+#~ "code> sets the title as well, without the need for the line <code>window."
+#~ "set_title(\"Welcome to GNOME\")</code>. For a general discussion of this, "
+#~ "see <link xref=\"properties.py\">here</link>."
+#~ msgstr ""
+#~ "<code>window = Gtk.Window(application=self, title=\"Welcome to GNOME\")</"
+#~ "code> ορίζει τον τίτλο επίσης, χωρίς την ανάγκη για τη γραμμή "
+#~ "<code>window.set_title(\"Welcome to GNOME\")</code>. Για μια γενική "
+#~ "συζήτηση του, δείτε <link xref=\"properties.py\">εδώ</link>."
+
 #~ msgid "More scrolling"
 #~ msgstr "Περισσότερη κύλιση"
 
 #~ msgid "\"scrollbar.py\""
 #~ msgstr "\"scrollbar.py\""
 
-#~ msgid "Custom widget"
-#~ msgstr "Προσαρμοσμένο γραφικό συστατικό"
-
 #~ msgid "\"widget.py\""
 #~ msgstr "\"widget.py\""
 


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