[gnome-devel-docs] Updated Spanish translation



commit 2a9cf08abffe3edf66d3c63f936b8ade86032855
Author: Daniel Mustieles <daniel mustieles gmail com>
Date:   Sun Apr 1 19:37:31 2012 +0200

    Updated Spanish translation

 platform-demos/es/es.po |12961 ++++++++++++++++++++++-------------------------
 1 files changed, 5967 insertions(+), 6994 deletions(-)
---
diff --git a/platform-demos/es/es.po b/platform-demos/es/es.po
index 4889c6b..5365d62 100644
--- a/platform-demos/es/es.po
+++ b/platform-demos/es/es.po
@@ -8,8 +8,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: gnome-devel-docs.platform-demos.master\n"
-"POT-Creation-Date: 2012-03-12 16:45+0000\n"
-"PO-Revision-Date: 2012-03-16 18:14+0100\n"
+"POT-Creation-Date: 2012-03-30 16:17+0000\n"
+"PO-Revision-Date: 2012-04-01 19:28+0200\n"
 "Last-Translator: Daniel Mustieles <daniel mustieles gmail com>\n"
 "Language-Team: EspaÃol <gnome-es-list gnome org>\n"
 "MIME-Version: 1.0\n"
@@ -18,7699 +18,6672 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "X-Generator: KBabel 1.11.4\n"
 
-#: C/weatherGeonames.js.page:9(name) C/weatherAutotools.js.page:9(name)
-#: C/weatherAppMain.js.page:9(name) C/weatherApp.js.page:9(name)
-#: C/toolbar.js.page:9(name) C/helloWorld.js.page:9(name)
-#: C/guitar.js.page:9(name) C/entry.js.page:9(name) C/beginner.js.page:9(name)
-#: C/desktop.js.page:9(name) C/button.js.page:9(name)
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/button.vala.page:19(None) C/button.js.page:19(None)
+msgid "@@image: 'media/button.png'; md5=358f87347bc8c9571c591b06fafd6fe0"
+msgstr "@@image: 'media/button.png'; md5=358f87347bc8c9571c591b06fafd6fe0"
+
+#: C/button.vala.page:9(name) C/bug-filing.page:10(name)
+#: C/beginner.vala.page:10(name) C/index.page:22(name)
+msgid "Tiffany Antopolski"
+msgstr "Tiffany Antopolski"
+
+#: C/button.vala.page:10(email) C/beginner.vala.page:11(email)
+#: C/index.page:23(email)
+msgid "tiffany antopolski gmail com"
+msgstr "tiffany antopolski gmail com"
+
+#: C/button.vala.page:11(years) C/button.js.page:11(years)
+msgid "2012"
+msgstr "2012"
+
+#: C/button.vala.page:14(desc) C/button.js.page:14(desc)
+msgid "A button widget which is connected to a progress bar"
+msgstr "Un widget de botÃn que està conectado a la barra de progreso"
+
+#: C/button.vala.page:17(title) C/button.js.page:17(title)
+msgid "Button widget"
+msgstr "Widget de botÃn"
+
+#: C/button.vala.page:20(p) C/button.js.page:20(p)
+msgid "A button widget connected to a progress bar."
+msgstr "Un widget de botÃn conectado a una barra de progreso."
+
+#: C/button.js.page:9(name)
 msgid "Susanna Huhtanen"
 msgstr "Susanna Huhtanen"
 
-#: C/weatherGeonames.js.page:10(email) C/weatherAutotools.js.page:10(email)
-#: C/weatherAppMain.js.page:10(email) C/weatherApp.js.page:10(email)
-#: C/toolbar.js.page:10(email) C/helloWorld.js.page:10(email)
-#: C/guitar.js.page:10(email) C/entry.js.page:10(email)
-#: C/beginner.js.page:10(email) C/desktop.js.page:10(email)
 #: C/button.js.page:10(email)
 msgid "ihmis suski gmail com"
 msgstr "ihmis suski gmail com"
 
-#: C/weatherGeonames.js.page:11(years) C/weatherAutotools.js.page:11(years)
-#: C/weatherAppMain.js.page:11(years) C/weatherApp.js.page:11(years)
-#: C/toolbar.js.page:11(years) C/helloWorld.js.page:11(years)
-#: C/guitar.js.page:11(years) C/entry.js.page:11(years)
-#: C/beginner.js.page:11(years) C/desktop.js.page:11(years)
-#: C/button.js.page:11(years)
-msgid "2012"
-msgstr "2012"
+#: C/bug-filing.page:11(email)
+msgid "tiffany antopolski com"
+msgstr "tiffany antopolski com"
 
-#: C/weatherGeonames.js.page:17(title)
-msgid "Local library geoNames"
-msgstr "Biblioteca local geoNames"
+#: C/bug-filing.page:12(years) C/index.page:19(years)
+msgid "2011"
+msgstr "2011"
 
-#: C/weatherGeonames.js.page:19(p)
-#| msgid ""
-#| "In this tutorial we'll construct a small application, Hello World, using "
-#| "JavaScript and GTK+. To do and run all the code examples yourself, you "
-#| "need an editor to write code in, Terminal and GNOME 3 or higher installed "
-#| "into your computer. In this tutorial we'll go through the following parts:"
-msgid ""
-"In this part of the guide well construct the local library geoNames using "
-"asynchronous calls. Weather information in this example is fetched from "
-"geonames.org and the application is using the <link href=\"http://en.";
-"wikipedia.org/wiki/List_of_airports_by_ICAO_code:_E\">ICAO codes </link> to "
-"place your weather request. To write and run all the code examples yourself, "
-"you need an editor to write code in, Terminal and GNOME 3 or higher "
-"installed into your computer. In this guide we we'll go through the "
-"following parts:"
-msgstr ""
-"En esta parte de la guÃa se construirà la biblioteca local geoNames usando "
-"llamadas asÃncronas. En este ejemplo, la informaciÃn del clima se obtiene de "
-"geonames.org y la aplicaciÃn usa los <link href=\"http://en.wikipedia.org/";
-"wiki/List_of_airports_by_ICAO_code:_E\">cÃdigos ICAO</link> para responder a "
-"las peticiones. Para escribir y ejecutar todos los ejemplos de cÃdigo "
-"necesita un editor de texto en el que escribir el cÃdigo, una terminal y "
-"GNOME 3 o superior instalado en su equipo. En esta guÃa se verÃn las "
-"siguientes partes:"
-
-#: C/weatherGeonames.js.page:22(link) C/weatherGeonames.js.page:30(title)
-msgid "Local library for getting the weather"
-msgstr "Biblioteca local para obtener el clima"
-
-#: C/weatherGeonames.js.page:23(link)
-msgid "Creating function geoNames"
-msgstr "Crear la funciÃn geoNames"
-
-#: C/weatherGeonames.js.page:24(link)
-msgid "Methods for geoNames"
-msgstr "MÃtodos para geoNames"
-
-#: C/weatherGeonames.js.page:25(link) C/weatherGeonames.js.page:100(title)
-msgid "geonames.js"
-msgstr "geonames.js"
-
-#: C/weatherGeonames.js.page:31(p)
-msgid "For this we need a new file that will be our local library."
-msgstr ""
-"Para esto se necesita un archivo nueva que serà nuestra biblioteca local."
+#: C/bug-filing.page:15(p)
+msgid "Creative Commons Share Alike 3.0"
+msgstr "Creative Commons Compartir Igual 3.0"
 
-#: C/weatherGeonames.js.page:37(p)
-msgid ""
-"In the first lines we'll import and initialize the libraries we need to use "
-"in this local library. Soup handles all the requests we have to make with "
-"http."
-msgstr ""
-"En las primeras lÃneas se importan y se inicializan las bibliotecas que "
-"necesitamos usar en esta biblioteca local. Soup maneja todas las peticiones "
-"que se hagan con http."
+#: C/bug-filing.page:19(title)
+msgid "Help make <app>GNOME Developer Tutorials</app> better"
+msgstr "Ayudar a mejorar los <app>Tutoriales del desarrollador de GNOME</app>"
 
-#: C/weatherGeonames.js.page:41(title)
-msgid "Creating function GeoNames"
-msgstr "Crear la funciÃn geoNames"
+#: C/bug-filing.page:22(title)
+msgid "Report a bug or suggest an improvement"
+msgstr "Informar de un error o proponer una mejora"
 
-#: C/weatherGeonames.js.page:51(p)
+#: C/bug-filing.page:23(p)
 msgid ""
-"Here we create the function GeoNames that will handle getting weather for "
-"us. JavaScript allows us to create functions that have little inside at "
-"first and later expand them. This will be done inside the GeoNames.prototype "
-"curly braces{}"
+"<app>GNOME Developer Tutorials</app> are maintained by a volunteer "
+"community. You are welcome to participate. If you notice a problem you can "
+"file a <em>bug report</em>. To file a bug, go to <link href=\"https://";
+"bugzilla.gnome.org/\"/>."
 msgstr ""
-"Aquà se crea la funciÃn GenoNames, que manejarà la obtenciÃn del clima. "
-"JavaScript permite crear funciones sencillas al principio para ampliarlas "
-"mÃs tarde. Esto se harà dentro de las llaves de GeoNames.prototype."
-
-#: C/weatherGeonames.js.page:55(title)
-msgid "Methods for GeoNames"
-msgstr "MÃtodos para geoNames"
+"Los <app>Tutoriales del desarrollador de GNOME</app> los mantiene la "
+"comunidad de manera voluntaria. Si quiere participar, es bienvenido. Si "
+"encuentra un error, puede rellenar un <em>informe de error</em>. Para "
+"informar de un error, vaya a <link href=\"https://bugzilla.gnome.org/\"/>."
 
-#: C/weatherGeonames.js.page:95(p)
-msgid ""
-"The first method for GeoNames is getWeather and the second getIcon. In "
-"getWeather we make a http request with soup, handle errors and then parse "
-"the information from the request to form we can use it. In getIcon we simply "
-"compare the results we got from getWeather to the switch we have in order to "
-"get the icon matching current weather. Now that we have our local library "
-"ready, it's time to make use of it."
-msgstr ""
-"El primer mÃtodo de GeoNames es getWeather, y el segundo es getIcon. En "
-"getWeather se realiza una solicitud http con soup, se gestionan los errores "
-"y se analiza la informaciÃn de la solicitud para saber que se puede usar. En "
-"getIcon simplemente se comparan los resultados obtenidos en getWeather con "
-"el selector para obtener el icono que representa el clima actual. Ahora que "
-"la biblioteca local està lista, es el momento de usarla."
-
-#: C/weatherGeonames.js.page:101(p)
+#: C/bug-filing.page:26(p)
 msgid ""
-"Here is the entire code for our local library. The main program file calls "
-"this asynchronously."
+"This is a bug tracking system where users and developers can file details "
+"about bugs, crashes and request enhancements."
 msgstr ""
-"Aquà està el cÃdigo completo de la biblioteca. El archivo de programa "
-"principal la llama de manera asÃncrona."
-
-#: C/weatherAutotools.js.page:17(title) C/weatherApp.js.page:28(link)
-msgid "Autotools and Icons"
-msgstr "Autotools e iconos"
-
-#: C/weatherAutotools.js.page:19(p)
-#| msgid ""
-#| "In this tutorial we'll construct a small application, Hello World, using "
-#| "JavaScript and GTK+. To do and run all the code examples yourself, you "
-#| "need an editor to write code in, Terminal and GNOME 3 or higher installed "
-#| "into your computer. In this tutorial we'll go through the following parts:"
+"Este es el sistema de seguimiento de errores en el que los usuarios y los "
+"desarrolladores pueden archivar detalles sobre los errores, fallos y "
+"solicitudes de mejoras."
+
+#: C/bug-filing.page:29(p)
 msgid ""
-"In this part of the guide well construct the autotools and custom icons "
-"needed for weather application to be a seamless part of your desktop. To "
-"write and run all the code examples yourself, you need an editor to write "
-"code in, Terminal and GNOME 3 or higher installed into your computer. In "
-"this guide we we'll go through the following parts:"
+"To participate you need an account which will give you the ability to gain "
+"access, file bugs, and make comments. Also, you need to register so you can "
+"receive updates by e-mail about the status of your bug. If you don't already "
+"have an account, just click on the <gui>New Account</gui> link to create one."
 msgstr ""
-"En esta parte de la guÃa se construirÃn las Âautotools y los iconos "
-"necesarios para la aplicaciÃn del clima para que sea una parte integral de "
-"su escritorio. Para escribir y ejecutar todos los ejemplos de cÃdigo "
-"necesita un editor de texto en el que escribir el cÃdigo, una terminal y "
-"GNOME 3 o superior instalado en su equipo. En esta guÃa se verÃn las "
-"siguientes partes:"
-
-#: C/weatherAutotools.js.page:22(link)
-msgid "Autotools"
-msgstr "Autotools"
-
-#: C/weatherAutotools.js.page:23(link) C/weatherAutotools.js.page:143(title)
-msgid "Custom icons for your application"
-msgstr "Iconos personalizados para su aplicaciÃn"
-
-#: C/weatherAutotools.js.page:30(title)
-msgid "Autotools and necessary files"
-msgstr "Autotools y archivos necesarios"
-
-#: C/weatherAutotools.js.page:31(p)
+"Para participar necesita una cuenta, que le permitirà obtener acceso, "
+"informar de errores y hacer comentarios. TambiÃn debe registrarte para poder "
+"recibir actualizaciones por correo-e sobre el estado de su informe de error. "
+"Si todavÃa no tiene una cuenta, simplemente pulse en el enlace <gui>New "
+"Account</gui> para crear una."
+
+#: C/bug-filing.page:32(p)
 msgid ""
-"Having more than one file in your folder makes using autotools a bit tricky. "
-"You need the .desktop file, autogen.sh, Makefile.am, configure.ac and as a "
-"new file: myapp.sh.in file. Hacking the autotools file is a complicated "
-"field. More information can be found in many different sources, <link href="
-"\"http://en.wikipedia.org/wiki/GNU_build_system\";>the wikipedia article</"
-"link> provides a good overwiev on the subject."
+"Once you have an account, log in, click on <guiseq><gui>File a Bug</"
+"gui><gui>All</gui><gui>gnome-devel-docs</gui></guiseq>. Before reporting a "
+"bug, please read the <link href=\"https://bugzilla.gnome.org/page.cgi?id=bug-";
+"writing.html\">bug writing guidelines</link>, and please <link href="
+"\"https://bugzilla.gnome.org/browse.cgi?product=gnome-games\";>browse</link> "
+"for the bug to see if it already exists."
 msgstr ""
-"Tener mÃs de un archivo en la carpeta complica un poco el uso de autotools. "
-"Necesita los archivos .desktop, autogen.sh, Makefile.am, configure.ac y un "
-"archivo nuevo: myapp.sh.in. Hackear el archivo de autotools es complicado. "
-"Puede encontrar mÃs informaciÃn en diferentes fuentes; <link href=\"http://";
-"en.wikipedia.org/wiki/GNU_build_system\">este artÃculo de la wikipedia</"
-"link> proporciona una visiÃn general de este tema."
-
-#: C/weatherAutotools.js.page:34(p) C/weatherAutotools.js.page:40(p)
-msgid "weatherapp.desktop"
-msgstr "weatherapp.desktop"
-
-#: C/weatherAutotools.js.page:35(p) C/weatherAutotools.js.page:55(p)
-msgid "weatherapp.sh.in"
-msgstr "weatherapp.sh.in"
-
-#: C/weatherAutotools.js.page:36(p) C/weatherAutotools.js.page:62(p)
-msgid "Makefile.am"
-msgstr "Makefile.am"
-
-#: C/weatherAutotools.js.page:37(p) C/weatherAutotools.js.page:129(p)
-msgid "configure.ac"
-msgstr "configure.ac"
-
-#: C/weatherAutotools.js.page:38(p)
-msgid "autogen.sh"
-msgstr "autogen.sh"
-
-#: C/weatherAutotools.js.page:53(p)
+"Una vez que tenga su cuenta, inicie sesioÌn y pulse en <guiseq><gui>Informar "
+"de un error</gui><gui>Todas</gui><gui>gnome-devel-docs</gui></guiseq>. Antes "
+"de informar de un error, lea las <link href=\"https://bugzilla.gnome.org/";
+"page.cgi?id=bug-writing.html\">guiÌas para informar de un error</link> y "
+"<link href=\"https://bugzilla.gnome.org/browse.cgi?product=evince\";>busque</"
+"link> el error para ver si ya existe."
+
+#: C/bug-filing.page:36(p)
 msgid ""
-"The thing to notice in this file is that the Exec line will make this ."
-"desktop file work only after running all the other makefiles. Weatherapp.sh "
-"is a small shell script created with the weatherapp.sh.in."
+"To file your bug, choose the component <gui>platform-demos</gui> in the "
+"<gui>Component</gui> menu."
 msgstr ""
+"Para informar de un error, elija el componente <gui>platform-demos</gui> en "
+"el menà <gui>Component</gui>."
 
-#: C/weatherAutotools.js.page:60(p)
+#: C/bug-filing.page:39(p)
 msgid ""
-"This file is a template to the file Makefile will do to be run from .desktop."
+"If you are requesting a new feature, choose <gui>enhancement</gui> in the "
+"<gui>Severity</gui> menu. Fill in the Summary and Description sections and "
+"click <gui>Commit</gui>."
 msgstr ""
+"Si quiere solicitar una caracterÃstica nueva, elija <gui>enhancement</gui> "
+"en el menà <gui>Severity</gui>. Rellene las secciones ÂSummary y "
+"ÂDescription y pulse <gui>Commit</gui>."
 
-#: C/weatherAutotools.js.page:123(p)
+#: C/bug-filing.page:43(p)
 msgid ""
-"This needs a bit more explaining. Compared to the HelloWorld Makefile.am "
-"this has changed quite a bit. Lets go through all the new blocks:"
+"Your report will be given an ID number, and its status will be updated as it "
+"is being dealt with. Thanks for helping make <app>GNOME Developer Tutorials</"
+"app> better!"
 msgstr ""
+"Se le asignaraÌ un nuÌmero de ID a su informe y su estado se actualizaraÌ a "
+"medida que se trate. Gracias por ayudar a mejorar los <app>Tutoriales del "
+"desarrollador de GNOME</app>."
 
-#: C/weatherAutotools.js.page:124(p)
-msgid ""
-"bin_scripts are the files that are needed to run your application. In thin "
-"case they are the first two files are the program itself and the third is "
-"the script that launches the application."
+#: C/beginner.vala.page:8(desc)
+msgid "A beginner's guide to GUI programming using GTK+"
 msgstr ""
+"Una guÃa de programaciÃn de interfaces usuario en GTK+ para principiantes"
 
-#: C/weatherAutotools.js.page:125(p)
-msgid "EXTRA_DIST are the files that are to be distributed"
-msgstr "EXTRA_DIST son los archivos que se deben distribuir"
+#: C/beginner.vala.page:16(title)
+msgid "0 Beginner's Tutorials"
+msgstr "0. Tutoriales para principiantes"
 
-#: C/weatherAutotools.js.page:126(p)
-msgid "do_subst block is bits and pieces that need to be where they are"
+#: C/beginner.vala.page:18(p)
+msgid ""
+"If you have never programmed before, or are not familiar with the concepts "
+"of object oriented programming, you may need to learn a few basics first. "
+"The book <link href=\"http://learnpythonthehardway.org/book/\";>Learn Python "
+"the Hard Way</link> may be a better place for you to start. Once you master "
+"the basics, be sure to come back and check out these tutorials."
 msgstr ""
+"Si nunca antes ha programad, o no està familiarizado con los conceptos de la "
+"programaciÃn orientada a objetos, puede necesitar aprender primero unos "
+"conceptos bÃsicos. El libro <link href=\"http://learnpythonthehardway.org/";
+"book/\">Learn Python the Hard Way</link> puede ser un buen comienzo. Una vez "
+"que domine los conceptos bÃsicos, vuelva y revise estos tutoriales."
 
-#: C/weatherAutotools.js.page:127(p)
+#: C/beginner.vala.page:20(p)
 msgid ""
-"after the comment #icons in the application there are all the icons that are "
-"used by the program. For them to be useful you need to install the icons in "
-"correct places and that is done byt the install-icons: bit"
+"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 "
+"familiar with the following concepts:"
 msgstr ""
+"Aunque estos tutoriales estÃn diseÃados para principiantes, no se pueden "
+"cubrir todos los conceptos bÃsicos. Antes de intentar seguir estos "
+"tutoriales, debe estar familiarizado con los siguientes conceptos:"
 
-#: C/weatherAutotools.js.page:136(p)
-msgid "autohen.sh"
-msgstr "autohen.sh"
+#: C/beginner.vala.page:22(p)
+msgid "Object oriented programming"
+msgstr "ProgramaciÃn orientada a objetos"
 
-#: C/weatherAutotools.js.page:144(p)
-msgid ""
-"When thinking about custom icons a good rule of thumb is: do you expect to "
-"see that icon used elsewhere or is it private to your app? If the first (e."
-"g. the icons in the desktop file that are shown by the shell) then you need /"
-"usr/share/hicolor, otherwise (e.g. the weather icons of your app) /usr/share/"
-"$application/bla/bla"
-msgstr ""
+#: C/beginner.vala.page:23(p)
+msgid "The Vala programming language:"
+msgstr "El lenguaje de programaciÃn Vala:"
+
+#: C/beginner.vala.page:25(link)
+msgid "The Vala Tutorial"
+msgstr "El tutorial de Vala"
 
-#: C/weatherAutotools.js.page:145(p)
+#: C/beginner.vala.page:26(link)
+msgid "Sample Vala code"
+msgstr "Ejemplo de cÃdigo en Vala"
+
+#: C/beginner.vala.page:31(p)
 msgid ""
-"Using autotools you have to make some changes to your .desktop and Makefile."
-"am files. In the desktop file you change the Icon's name Icon=weather-icon. "
-"In the Makefile.am file you add these two lines to the end of your "
-"application #the application icon"
+"By following these tutorials you will learn the basics of GUI programming "
+"using Gtk+."
 msgstr ""
+"Siguiendo estos tutoriales, aprenderà los conceptos bÃsico de la "
+"programaciÃn de interfaces de usuario usando GTK+."
 
-#: C/weatherAutotools.js.page:146(p)
-msgid "appicondir=$(datadir)/icons/hicolor/scalable/apps"
-msgstr "appicondir=$(datadir)/icons/hicolor/scalable/apps"
+#: C/beginner.vala.page:34(title)
+msgid "Tutorials"
+msgstr "Tutoriales"
 
-#: C/weatherAutotools.js.page:147(p)
-msgid "appicon_DATA=weather-icon.svg"
-msgstr "appicon_DATA=weather-icon.svg"
+#: C/beginner.vala.page:38(title)
+#| msgid "Sample Vala code"
+msgid "Sample code"
+msgstr "CÃdigo de ejemplo"
 
-#: C/weatherAppMain.js.page:17(title) C/weatherApp.js.page:26(link)
-msgid "The main program file"
-msgstr "El archivo del programa principal"
+#: C/audio-player.vala.page:8(desc)
+msgid "Coming soon..."
+msgstr "PrÃximamente..."
 
-#: C/weatherAppMain.js.page:19(p)
-#| msgid ""
-#| "In this tutorial we'll construct a small application, Hello World, using "
-#| "JavaScript and GTK+. To do and run all the code examples yourself, you "
-#| "need an editor to write code in, Terminal and GNOME 3 or higher installed "
-#| "into your computer. In this tutorial we'll go through the following parts:"
-msgid ""
-"In this part of the guide well construct the main program file of the "
-"weather application. To write and run all the code examples yourself, you "
-"need an editor to write code in, Terminal and GNOME 3 or higher installed "
-"into your computer. In this part we we'll go through the following parts:"
-msgstr ""
-"En esta parte de la guÃa se construirà el archivo del programa principal de "
-"la aplicaciÃn del clima. Para escribir y ejecutar todos los ejemplos de "
-"cÃdigo necesita un editor de texto en el que escribir el cÃdigo, una "
-"terminal y GNOME 3 o superior instalado en su equipo. En esta guÃa se verÃn "
-"las siguientes partes:"
-
-#: C/weatherAppMain.js.page:21(link) C/weatherAppMain.js.page:31(title)
-#: C/helloWorld.js.page:21(link) C/helloWorld.js.page:33(title)
-#: C/guitar.js.page:23(link) C/guitar.js.page:45(title)
-msgid "Script for running the application"
-msgstr "Script para ejecutar la aplicaciÃn"
-
-#: C/weatherAppMain.js.page:22(link) C/weatherAppMain.js.page:39(title)
-#: C/helloWorld.js.page:22(link) C/helloWorld.js.page:41(title)
-#: C/guitar.js.page:24(link) C/guitar.js.page:52(title)
-msgid "Libraries to import"
-msgstr "Bibliotecas que importar"
-
-#: C/weatherAppMain.js.page:23(link) C/weatherAppMain.js.page:47(title)
-#: C/helloWorld.js.page:23(link) C/helloWorld.js.page:48(title)
-#: C/guitar.js.page:25(link) C/guitar.js.page:61(title)
-msgid "Creating the main window for the application"
-msgstr "Crear la ventana principal de la aplicaciÃn"
-
-#: C/weatherAppMain.js.page:24(link) C/weatherAppMain.js.page:62(title)
-msgid "Adding a grid and all the necessary widgets to it"
-msgstr "AÃadir una rejilla y todos los widgets necesarios en ella"
-
-#: C/weatherAppMain.js.page:25(link) C/weatherAppMain.js.page:93(title)
-msgid "Requesting the weather information asynchronously"
-msgstr ""
+#: C/audio-player.vala.page:12(name)
+msgid "GNOME Documentation Project"
+msgstr "Proyecto de documentaciÃn de GNOME"
 
-#: C/weatherAppMain.js.page:26(link)
-msgid "Connecting signals to button and entry.\"&gt;"
-msgstr ""
+#: C/audio-player.vala.page:13(email) C/index.page:8(email)
+msgid "gnome-doc-list gnome org"
+msgstr "gnome-doc-list gnome org"
 
-#: C/weatherAppMain.js.page:27(link)
-msgid "weatherapp.js"
-msgstr "weatherapp.js"
+#: C/audio-player.vala.page:17(title)
+msgid "3 Audio Player"
+msgstr "3. Reproductor de sonido"
 
-#: C/weatherAppMain.js.page:34(p)
-msgid ""
-"This line tells how to run the script. It needs to be the first line of the "
-"code and it needs to be executable. To get the execution rights go to "
-"Terminal and run in right folder: chmod +x scriptname. Or you can use the "
-"graphical filemanager. Just go to the right folder where your code is, right "
-"click you code file, choose properties, click the permissions tab and check "
-"the box for allow executing file as a program"
-msgstr ""
-"Esta lÃnea indica cÃmo ejecutar el script. Debe ser la primera lÃnea del "
-"cÃdigo y debe ser ejecutable. Para obtener permisos de ejecuciÃn vaya a la "
-"terminal y ejecute lo siguiente en la carpeta adecuada: chmod +x "
-"nombrescript. TambiÃn puede usar el gestor de archivo. Simplemente vaya a la "
-"carpeta donde està el cÃdigo, pulse con el botÃn derecho sobre el archivo de "
-"cÃdigo y elija ÂPropiedadesÂ, pulse en la pestaÃa ÂPermisos y marque la "
-"casilla para permitir ejecutar el archivo como un programa."
-
-#: C/weatherAppMain.js.page:43(p)
-#| msgid ""
-#| "In order to have a working program we need to import a GObject "
-#| "Introspection -library to our use. For working UI, we need Gtk. Gtk is "
-#| "imported in the beginning so we have it in our use everywhere."
-msgid ""
-"In order to have a working program we need to import a GObject Introspection "
-"-library to our use. For working UI, we need Gtk. Gtk is imported in the "
-"beginning so we have it in our use everywhere. We also import our own local "
-"JavaScript library geonames to our use here."
-msgstr ""
-"Para que el programa funcione se debe importar una biblioteca de "
-"introspecciÃn de GObject. Para que funcione la IU se necesita GTK+, que se "
-"importa al inicio, por lo que està en uso en todos los sitios. TambiÃn se "
-"importa la biblioteca local en JavaScript geonames para usarla aquÃ."
+#: C/index.page:7(name)
+msgid "GNOME Documentation Team"
+msgstr "Equipo de documentaciÃn de GNOME"
 
-#: C/weatherAppMain.js.page:89(p)
-msgid ""
-"In this section we create the grid we are going to use for positioning the "
-"widgets. All the buttons, labels and entrys are initialized and placed on "
-"the grid. As seen from the placing of the different widgets, they don't need "
-"to be related only to one widget. At this point some of the labels don't "
-"have any content. The content for those widgets is applied later. If you run "
-"the application at this stage, you have the UI ready, but the widgets are "
-"not connected to anything. For this we need to first build the weather "
-"searching local library, and then get the information we need "
-"asynchronously. When we have our local library ready we can connect it to "
-"the necessary widgets."
-msgstr ""
+#: C/index.page:9(years)
+msgid "2010, 2011"
+msgstr "2010, 2011"
 
-#: C/weatherAppMain.js.page:119(p)
-msgid ""
-"This function is dedicated for calling for the weather information and "
-"updating labels and icons accordingly. In the beginning of the function we "
-"get the user input for the search. So here for the first time we use our own "
-"library and assign it to variable GeoNames. While assigning WeatherService "
-"we give it the station. The firs thing we do with GeoNames is to request "
-"weather. Everything after GeoNames.getWeather(function(error, weather) "
-"happens only if we either get an error message or weather information. If "
-"either doesn't come, the rest of the program works as normal, so main_Quit "
-"works."
-msgstr ""
+#: C/index.page:12(name)
+msgid "Shaun McCance"
+msgstr "Shaun McCance"
 
-#: C/weatherAppMain.js.page:123(title)
-#, fuzzy
-#| msgid "Connecting buttons to playSound"
-msgid "Connecting signals to button and entry."
-msgstr "Conectar los botones a playSound"
+#: C/index.page:13(email)
+msgid "shaunm gnome org"
+msgstr "shaunm gnome org"
 
-#: C/weatherAppMain.js.page:136(p)
-msgid ""
-"And finally we have the connections that make the whole application run as "
-"it should. We connect both the entry and the button to do the same thing, "
-"getting the weather. So it doesn't matter weather you press enter of click "
-"the search button."
-msgstr ""
+#: C/index.page:14(years)
+msgid "2010"
+msgstr "2010"
 
-#: C/weatherAppMain.js.page:140(title)
-msgid "Weatherapp.js"
-msgstr "Weatherapp.js"
+#: C/index.page:17(name)
+msgid "Johannes Schmid"
+msgstr "Johannes Schmid"
 
-#: C/weatherAppMain.js.page:141(p)
-msgid "Weatherapp.js file looks like this:"
-msgstr "El archivo Weatherapp.js se parece a esto:"
+#: C/index.page:18(email)
+msgid "jhs gnome org"
+msgstr "jhs gnome org"
 
-#: C/weatherAppMain.js.page:227(p)
-msgid "Running until you have all the autotools files ready. :"
-msgstr ""
+#: C/index.page:28(title)
+msgid "GNOME Developer Platform Demos"
+msgstr "Demostraciones de la plataforma de desarrollo de GNOME"
 
-#: C/weatherAppMain.js.page:229(output) C/helloWorld.js.page:98(output)
-#: C/guitar.js.page:228(output)
-msgid "$"
-msgstr "$"
+#: C/index.page:31(title)
+msgid "Getting Ready"
+msgstr "CoÌmo empezar"
 
-#: C/weatherAppMain.js.page:229(input)
-msgid "GJS_PATH=`pwd` gjs weatherapp.js"
-msgstr "GJS_PATH=`pwd` gjs weatherapp.js"
+#: C/index.page:35(title)
+msgid "C"
+msgstr "C"
 
-#: C/weatherAppMain.js.page:230(p)
-msgid ""
-"Use this command on terminal while developing your modules. When calling "
-"your program in this manner it knows where to find your custom JSlibraries, "
-"in this case geonames.js."
-msgstr ""
+#: C/index.page:39(title)
+msgid "C++"
+msgstr "C++"
 
-#. When image changes, this message will be marked fuzzy or untranslated for you.
-#. It doesn't matter what you translate it to: it's not used at all.
-#: C/weatherApp.js.page:33(None)
-msgid "@@image: 'media/weatherAppJs.png'; md5=1fe859ac4854273d72ea8fc9203639b2"
-msgstr ""
-"@@image: 'media/weatherAppJs.png'; md5=1fe859ac4854273d72ea8fc9203639b2"
+#: C/index.page:43(title)
+msgid "JavaScript"
+msgstr "JavaScript"
 
-#: C/weatherApp.js.page:14(desc)
-msgid ""
-"How to plan an application that uses asynchronous calls. Asynchronous calls "
-"will be presented through a weather application."
-msgstr ""
+#: C/index.page:47(title)
+msgid "Python"
+msgstr "Python"
 
-#: C/weatherApp.js.page:19(title)
-#| msgid "Run the application"
-msgid "4 Weather Application"
-msgstr "4 AplicaciÃn del clima"
-
-#: C/weatherApp.js.page:21(p)
-#| msgid ""
-#| "In this tutorial we'll construct a small application, Hello World, using "
-#| "JavaScript and GTK+. To do and run all the code examples yourself, you "
-#| "need an editor to write code in, Terminal and GNOME 3 or higher installed "
-#| "into your computer. In this tutorial we'll go through the following parts:"
-msgid ""
-"In this guide well construct a weather application using asynchronous calls. "
-"Weather information in this example is fetched from geonames.org and the "
-"application is using the <link href=\"http://en.wikipedia.org/wiki/";
-"List_of_airports_by_ICAO_code:_E\">ICAO codes </link> to place your weather "
-"request. To write and run all the code examples yourself, you need an editor "
-"to write code in, Terminal and GNOME 3 or higher installed into your "
-"computer. In this guide we we'll go through the following parts:"
-msgstr ""
-"En esta parte de la guÃa se construirà una aplicaciÃn del clima usando "
-"llamadas asÃncronas. En este ejemplo, la informaciÃn del clima se obtiene de "
-"geonames.org y la aplicaciÃn usa los <link href=\"http://en.wikipedia.org/";
-"wiki/List_of_airports_by_ICAO_code:_E\">cÃdigos ICAO</link> para responder a "
-"las peticiones. Para escribir y ejecutar todos los ejemplos de cÃdigo "
-"necesita un editor de texto en el que escribir el cÃdigo, una terminal y "
-"GNOME 3 o superior instalado en su equipo. En esta guÃa se verÃn las "
-"siguientes partes:"
-
-#: C/weatherApp.js.page:24(link) C/weatherApp.js.page:36(title)
-msgid "Planning the graphical user interface"
-msgstr "Planificar la interfaz grÃfica de usuario"
-
-#: C/weatherApp.js.page:25(link) C/weatherApp.js.page:40(title)
-msgid "Asynchronous calls"
-msgstr "Llamadas asÃncronas"
-
-#: C/weatherApp.js.page:27(link)
-msgid "Local library GeoNames"
-msgstr "Biblioteca local GeoNames"
-
-#: C/weatherApp.js.page:32(p) C/helloWorld.js.page:30(p)
-#: C/guitar.js.page:33(p)
-msgid "After reading this tutorial, you should see this in your screen:"
-msgstr "DespuÃs de leer este tutorial, deberÃa ver esto en su pantalla:"
-
-#: C/weatherApp.js.page:37(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 "
-"most important thing is to remember that the main window will only accept "
-"one widget. You must plan your structure accordingly (this example is using "
-"Gtk.Grid). A useful method is to draw out the main window and place every "
-"widget needed inside that box. By looking at an image of your future "
-"application it is easier to tell what are the relations between widgets. For "
-"example Gtk.Grid places your widgets in relation to other widgets, so after "
-"the first widget is in place, placing widgets can be done in relation to any "
-"widget on the grid."
-msgstr ""
+#: C/index.page:51(title)
+msgid "Vala"
+msgstr "Vala"
 
-#: C/weatherApp.js.page:41(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 "
-"completes before proceeding. This is however bad for graphical user "
-"interfaces, as then the whole application will be frozen while the program "
-"waits for the operation. Going asynchronous (async) helps here. With async "
-"calls, your UI won't be blocked with any requests. Async calls make your "
-"application more flexible and better equipped to handle situations when "
-"calls take more time than expected or for some reason get jammed. Async "
-"calls can be used for example file system I/O and for slower calculations in "
-"the background."
-msgstr ""
+#: C/index.page:55(title)
+msgid "Get Involved"
+msgstr "Involucrarse"
 
-#: C/weatherApp.js.page:44(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 "
-"from geonames.org for the lack of internet connection and this would be a "
-"synchronous application we would never get to the point where our main_quit"
-"() is processed correctly and the application would have to killed from "
-"Terminal."
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2
+#: C/index.page:0(None)
+msgid "translator-credits"
 msgstr ""
+"Daniel Mustieles <daniel mustieles gmail com>, 2011-2012\n"
+"Jorge GonzÃlez <jorgegonz svn gnome org>, 2011"
 
-#: C/weatherApp.js.page:47(title)
-msgid "The different parts of the program"
-msgstr "Las diferentes partes del programa"
+#~ msgid "Local library geoNames"
+#~ msgstr "Biblioteca local geoNames"
 
-#: C/translate.page:10(name) C/index.page:22(name)
-#: C/image-viewer.vala.page:24(name) C/guitar-tuner.vala.page:20(name)
-#: C/documentation.page:10(name) C/bug-filing.page:10(name)
-#: C/beginner.vala.page:10(name)
-msgid "Tiffany Antopolski"
-msgstr "Tiffany Antopolski"
+#~| msgid ""
+#~| "In this tutorial we'll construct a small application, Hello World, using "
+#~| "JavaScript and GTK+. To do and run all the code examples yourself, you "
+#~| "need an editor to write code in, Terminal and GNOME 3 or higher "
+#~| "installed into your computer. In this tutorial we'll go through the "
+#~| "following parts:"
+#~ msgid ""
+#~ "In this part of the guide well construct the local library geoNames using "
+#~ "asynchronous calls. Weather information in this example is fetched from "
+#~ "geonames.org and the application is using the <link href=\"http://en.";
+#~ "wikipedia.org/wiki/List_of_airports_by_ICAO_code:_E\">ICAO codes </link> "
+#~ "to place your weather request. To write and run all the code examples "
+#~ "yourself, you need an editor to write code in, Terminal and GNOME 3 or "
+#~ "higher installed into your computer. In this guide we we'll go through "
+#~ "the following parts:"
+#~ msgstr ""
+#~ "En esta parte de la guÃa se construirà la biblioteca local geoNames "
+#~ "usando llamadas asÃncronas. En este ejemplo, la informaciÃn del clima se "
+#~ "obtiene de geonames.org y la aplicaciÃn usa los <link href=\"http://en.";
+#~ "wikipedia.org/wiki/List_of_airports_by_ICAO_code:_E\">cÃdigos ICAO</link> "
+#~ "para responder a las peticiones. Para escribir y ejecutar todos los "
+#~ "ejemplos de cÃdigo necesita un editor de texto en el que escribir el "
+#~ "cÃdigo, una terminal y GNOME 3 o superior instalado en su equipo. En esta "
+#~ "guÃa se verÃn las siguientes partes:"
 
-#: C/translate.page:11(email) C/index.page:23(email)
-#: C/image-viewer.vala.page:25(email) C/guitar-tuner.vala.page:21(email)
-#: C/documentation.page:11(email) C/beginner.vala.page:11(email)
-msgid "tiffany antopolski gmail com"
-msgstr "tiffany antopolski gmail com"
+#~ msgid "Local library for getting the weather"
+#~ msgstr "Biblioteca local para obtener el clima"
 
-#: C/translate.page:12(years) C/index.page:19(years)
-#: C/documentation.page:12(years) C/bug-filing.page:12(years)
-msgid "2011"
-msgstr "2011"
+#~ msgid "Creating function geoNames"
+#~ msgstr "Crear la funciÃn geoNames"
 
-#: C/translate.page:15(name)
-msgid "Michael Hill"
-msgstr "Michael Hill"
+#~ msgid "Methods for geoNames"
+#~ msgstr "MÃtodos para geoNames"
 
-#: C/translate.page:16(email)
-msgid "mdhillca gmail com"
-msgstr "mdhillca gmail com"
+#~ msgid "geonames.js"
+#~ msgstr "geonames.js"
 
-#: C/translate.page:19(p) C/documentation.page:15(p) C/bug-filing.page:15(p)
-msgid "Creative Commons Share Alike 3.0"
-msgstr "Creative Commons Compartir Igual 3.0"
+#~ msgid "For this we need a new file that will be our local library."
+#~ msgstr ""
+#~ "Para esto se necesita un archivo nueva que serà nuestra biblioteca local."
 
-#: C/translate.page:23(title)
-msgid "Help translate"
-msgstr "Ayudar a traducir"
+#~ msgid ""
+#~ "In the first lines we'll import and initialize the libraries we need to "
+#~ "use in this local library. Soup handles all the requests we have to make "
+#~ "with http."
+#~ msgstr ""
+#~ "En las primeras lÃneas se importan y se inicializan las bibliotecas que "
+#~ "necesitamos usar en esta biblioteca local. Soup maneja todas las "
+#~ "peticiones que se hagan con http."
 
-#: C/translate.page:24(p)
-msgid ""
-"The <app>Tutorial Demos</app> are being translated by a world-wide volunteer "
-"community. You are welcome to participate."
-msgstr ""
-"Los <app>Tutoriales de demostraciÃn</app> los traduce una comunidad de "
-"voluntarios de todo el mundo. Si quiere participar, es bienvenido."
+#~ msgid "Creating function GeoNames"
+#~ msgstr "Crear la funciÃn geoNames"
 
-#: C/translate.page:27(p)
-msgid ""
-"There are <link href=\"http://l10n.gnome.org/module/gnome-devel-docs/\";>many "
-"languages</link> for which translations are still needed."
-msgstr ""
-"Hay <link href=\"http://l10n.gnome.org/module/gnome-devel-docs/\";>muchos "
-"idiomas</link> para los que se siguen necesitando traducciones."
-
-#: C/translate.page:30(p)
-msgid ""
-"To start translating you will need to <link href=\"http:l10n.gnome.org"
-"\">create an account</link> and join the <link href=\"http://l10n.gnome.org/";
-"teams/\">translation team</link> for your language. This will give you the "
-"ability to upload new translations."
-msgstr ""
-"Para empezar a traducir necesitarà <link href=\"http:l10n.gnome.org\">crear "
-"una cuenta</link> y unirse al <link href=\"http://l10n.gnome.org/teams/";
-"\">equipo de traducciÃn</link> de su idioma. Esto le darà la posibilidad de "
-"subir traducciones nuevas."
+#~ msgid ""
+#~ "Here we create the function GeoNames that will handle getting weather for "
+#~ "us. JavaScript allows us to create functions that have little inside at "
+#~ "first and later expand them. This will be done inside the GeoNames."
+#~ "prototype curly braces{}"
+#~ msgstr ""
+#~ "Aquà se crea la funciÃn GenoNames, que manejarà la obtenciÃn del clima. "
+#~ "JavaScript permite crear funciones sencillas al principio para ampliarlas "
+#~ "mÃs tarde. Esto se harà dentro de las llaves de GeoNames.prototype."
 
-#: C/translate.page:34(p)
-msgid ""
-"You can chat with GNOME translators using <link href=\"https://cbe003.chat.";
-"mibbit.com/?url=irc%3A%2F%2Firc.gnome.org%2Fi18n\">irc</link>. People on the "
-"channel are located worldwide, so you may not get an immediate response as a "
-"result of timezone differences."
-msgstr ""
-"Puede chatear con los traductores de GNOME usando <link href=\"https://";
-"cbe003.chat.mibbit.com/?url=irc%3A%2F%2Firc.gnome.org%2Fi18n\">irc</link>. "
-"La gente de los canales se encuentra en cualquier parte del mundo, por lo "
-"que puede que no obtenga una respuesa inmediata debido a las diferencias "
-"horarias."
+#~ msgid "Methods for GeoNames"
+#~ msgstr "MÃtodos para geoNames"
 
-#: C/translate.page:37(p)
-msgid ""
-"Alternatively, you can contact the Internationalization Team using their "
-"<link href=\"http://mail.gnome.org/mailman/listinfo/gnome-i18n\";>mailing "
-"list</link>."
-msgstr ""
-"Alternativamente, puede contactar con el equipo de internacionalizaciÃn "
-"usando su <link href=\"http://mail.gnome.org/mailman/listinfo/gnome-i18n";
-"\">lista de correo</link>."
+#~ msgid ""
+#~ "The first method for GeoNames is getWeather and the second getIcon. In "
+#~ "getWeather we make a http request with soup, handle errors and then parse "
+#~ "the information from the request to form we can use it. In getIcon we "
+#~ "simply compare the results we got from getWeather to the switch we have "
+#~ "in order to get the icon matching current weather. Now that we have our "
+#~ "local library ready, it's time to make use of it."
+#~ msgstr ""
+#~ "El primer mÃtodo de GeoNames es getWeather, y el segundo es getIcon. En "
+#~ "getWeather se realiza una solicitud http con soup, se gestionan los "
+#~ "errores y se analiza la informaciÃn de la solicitud para saber que se "
+#~ "puede usar. En getIcon simplemente se comparan los resultados obtenidos "
+#~ "en getWeather con el selector para obtener el icono que representa el "
+#~ "clima actual. Ahora que la biblioteca local està lista, es el momento de "
+#~ "usarla."
 
-#. When image changes, this message will be marked fuzzy or untranslated for you.
-#. It doesn't matter what you translate it to: it's not used at all.
-#: C/record-collection.js.page:62(None)
-msgid ""
-"@@image: 'media/record-collection.png'; md5=2d645997687ed5aacd36aafafc16e072"
-msgstr ""
-"@@image: 'media/record-collection.png'; md5=2d645997687ed5aacd36aafafc16e072"
+#~ msgid ""
+#~ "Here is the entire code for our local library. The main program file "
+#~ "calls this asynchronously."
+#~ msgstr ""
+#~ "Aquà està el cÃdigo completo de la biblioteca. El archivo de programa "
+#~ "principal la llama de manera asÃncrona."
 
-#: C/record-collection.js.page:8(desc)
-msgid "Create a small database application for ordering your music collection"
-msgstr ""
-"Cree una pequeÃa aplicaciÃn con una base de datos para ordenar su colecciÃn "
-"de mÃsica"
-
-#: C/record-collection.js.page:12(name) C/image-viewer.vala.page:12(name)
-#: C/image-viewer.cpp.page:12(name) C/image-viewer.c.page:12(name)
-#: C/guitar-tuner.vala.page:12(name) C/guitar-tuner.py.page:12(name)
-#: C/guitar-tuner.cpp.page:12(name) C/guitar-tuner.c.page:12(name)
-#: C/getting-ready.page:12(name) C/audio-player.vala.page:12(name)
-msgid "GNOME Documentation Project"
-msgstr "Proyecto de documentaciÃn de GNOME"
+#~ msgid "Autotools and Icons"
+#~ msgstr "Autotools e iconos"
 
-#: C/record-collection.js.page:13(email) C/index.page:8(email)
-#: C/image-viewer.vala.page:13(email) C/image-viewer.cpp.page:13(email)
-#: C/image-viewer.c.page:13(email) C/guitar-tuner.vala.page:13(email)
-#: C/guitar-tuner.py.page:13(email) C/guitar-tuner.cpp.page:13(email)
-#: C/guitar-tuner.c.page:13(email) C/getting-ready.page:13(email)
-#: C/audio-player.vala.page:13(email)
-msgid "gnome-doc-list gnome org"
-msgstr "gnome-doc-list gnome org"
+#~| msgid ""
+#~| "In this tutorial we'll construct a small application, Hello World, using "
+#~| "JavaScript and GTK+. To do and run all the code examples yourself, you "
+#~| "need an editor to write code in, Terminal and GNOME 3 or higher "
+#~| "installed into your computer. In this tutorial we'll go through the "
+#~| "following parts:"
+#~ msgid ""
+#~ "In this part of the guide well construct the autotools and custom icons "
+#~ "needed for weather application to be a seamless part of your desktop. To "
+#~ "write and run all the code examples yourself, you need an editor to write "
+#~ "code in, Terminal and GNOME 3 or higher installed into your computer. In "
+#~ "this guide we we'll go through the following parts:"
+#~ msgstr ""
+#~ "En esta parte de la guÃa se construirÃn las Âautotools y los iconos "
+#~ "necesarios para la aplicaciÃn del clima para que sea una parte integral "
+#~ "de su escritorio. Para escribir y ejecutar todos los ejemplos de cÃdigo "
+#~ "necesita un editor de texto en el que escribir el cÃdigo, una terminal y "
+#~ "GNOME 3 o superior instalado en su equipo. En esta guÃa se verÃn las "
+#~ "siguientes partes:"
 
-#: C/record-collection.js.page:16(name) C/photo-wall.c.page:15(name)
-#: C/magic-mirror.vala.page:16(name) C/index.page:17(name)
-#: C/image-viewer.vala.page:16(name) C/image-viewer.py.page:17(name)
-#: C/image-viewer.js.page:17(name) C/image-viewer.cpp.page:16(name)
-#: C/image-viewer.c.page:16(name) C/guitar-tuner.vala.page:16(name)
-#: C/guitar-tuner.py.page:16(name) C/guitar-tuner.cpp.page:16(name)
-#: C/guitar-tuner.c.page:16(name)
-msgid "Johannes Schmid"
-msgstr "Johannes Schmid"
+#~ msgid "Autotools"
+#~ msgstr "Autotools"
 
-#: C/record-collection.js.page:17(email) C/photo-wall.c.page:16(email)
-#: C/magic-mirror.vala.page:17(email) C/index.page:18(email)
-#: C/image-viewer.vala.page:17(email) C/image-viewer.py.page:18(email)
-#: C/image-viewer.js.page:18(email) C/image-viewer.cpp.page:17(email)
-#: C/image-viewer.c.page:17(email) C/guitar-tuner.vala.page:17(email)
-#: C/guitar-tuner.py.page:17(email) C/guitar-tuner.cpp.page:17(email)
-#: C/guitar-tuner.c.page:17(email)
-msgid "jhs gnome org"
-msgstr "jhs gnome org"
+#~ msgid "Custom icons for your application"
+#~ msgstr "Iconos personalizados para su aplicaciÃn"
 
-#: C/record-collection.js.page:21(title)
-msgid "3 Record Collection"
-msgstr "3. ColecciÃn de mÃsica"
+#~ msgid "Autotools and necessary files"
+#~ msgstr "Autotools y archivos necesarios"
 
-#: C/record-collection.js.page:24(p) C/message-board.c.page:23(p)
-#: C/image-viewer.cpp.page:24(p) C/image-viewer.c.page:24(p)
-msgid "In this tutorial, you will learn:"
-msgstr "En este tutorial aprenderÃ:"
+#~ msgid ""
+#~ "Having more than one file in your folder makes using autotools a bit "
+#~ "tricky. You need the .desktop file, autogen.sh, Makefile.am, configure.ac "
+#~ "and as a new file: myapp.sh.in file. Hacking the autotools file is a "
+#~ "complicated field. More information can be found in many different "
+#~ "sources, <link href=\"http://en.wikipedia.org/wiki/GNU_build_system\";>the "
+#~ "wikipedia article</link> provides a good overwiev on the subject."
+#~ msgstr ""
+#~ "Tener mÃs de un archivo en la carpeta complica un poco el uso de "
+#~ "autotools. Necesita los archivos .desktop, autogen.sh, Makefile.am, "
+#~ "configure.ac y un archivo nuevo: myapp.sh.in. Hackear el archivo de "
+#~ "autotools es complicado. Puede encontrar mÃs informaciÃn en diferentes "
+#~ "fuentes; <link href=\"http://en.wikipedia.org/wiki/GNU_build_system";
+#~ "\">este artÃculo de la wikipedia</link> proporciona una visiÃn general de "
+#~ "este tema."
 
-#: C/record-collection.js.page:26(p)
-msgid "How to connect to a database using libgda"
-msgstr "CÃmo conectar con una base de datos usando libgda"
+#~ msgid "weatherapp.desktop"
+#~ msgstr "weatherapp.desktop"
 
-#: C/record-collection.js.page:27(p)
-msgid "How to insert and browse records in a database table"
-msgstr "CÃmo insertar y examinar registros en una tabla de una base de datos"
+#~ msgid "weatherapp.sh.in"
+#~ msgstr "weatherapp.sh.in"
 
-#: C/record-collection.js.page:32(title) C/photo-wall.c.page:34(title)
-msgid "Introduction"
-msgstr "IntroducciÃn"
+#~ msgid "Makefile.am"
+#~ msgstr "Makefile.am"
 
-#: C/record-collection.js.page:33(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 "
-"Access) library. Thus you also need this library installed."
-msgstr ""
-"Esta demostraciÃn usa el lenguaje Javascript. Se va a demostrar cÃmo "
-"conectar y usar una base de datos desde un programa GTK, usando la "
-"bilbioteca GDA (ÂGNOME Data AccessÂ, Acceso a datos de GNOME). Por lo tanto, "
-"es necesario tener instalada tambiÃn esta biblioteca."
+#~ msgid "configure.ac"
+#~ msgstr "configure.ac"
 
-#: C/record-collection.js.page:36(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 "
-"traditional relational database systems, to any imaginable kind of data "
-"source such as a mail server, a LDAP directory, etc. For more information, "
-"and for a full API and documentation, visit the <link href=\"http://library.";
-"gnome.org/devel/libgda/stable/\">GDA website</link>."
-msgstr ""
-"Acceso a Datos de GNOME (GDA) es una biblioteca cuyo propÃsito es "
-"proporcionar acceso universal a diferentes tipos de fuentes de datos. Esto "
-"abarca desde los tradicionales sistemas de bases da datos relacionales hasta "
-"cualquier fuente de datos imaginable como un servidor de correo-e, un "
-"directorio LDAP, etc. Para obtener mÃs informaciÃn y una documentaciÃn "
-"completa de la API, visite la  <link href=\"http://library.gnome.org/devel/";
-"libgda/stable/\">pÃgina web de GDA</link>."
-
-#: C/record-collection.js.page:39(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 "
-"parts we think are relevant though). To know more about Javascript programs "
-"in GNOME, see the <link xref=\"image-viewer.js\">Image Viewer program</link> "
-"tutorial."
-msgstr ""
-"Aunque una gran parte del cÃdigo se refiere a la interfaz de usuario (IU), "
-"el tutorial se enfocarà a las partes de las bases de datos (aunque se puede "
-"hacer menciÃn a otras partes que se consideren relevantes). Para aprender "
-"mÃs sobre los programas en Javascript en GNOME, consulte el tutorial del "
-"programa<link xref=\"image-viewer.js\">Visor de ImÃgenes</link>"
-
-#: C/record-collection.js.page:45(title) C/photo-wall.c.page:44(title)
-#: C/message-board.c.page:40(title) C/magic-mirror.vala.page:42(title)
-#: C/image-viewer.vala.page:49(title) C/image-viewer.py.page:43(title)
-#: C/image-viewer.js.page:44(title) C/image-viewer.cpp.page:34(title)
-#: C/image-viewer.c.page:34(title) C/guitar-tuner.py.page:40(title)
-#: C/guitar-tuner.cpp.page:40(title) C/guitar-tuner.c.page:40(title)
-msgid "Create a project in Anjuta"
-msgstr "Crear un proyecto en Anjuta"
-
-#: C/record-collection.js.page:46(p) C/photo-wall.c.page:45(p)
-#: C/magic-mirror.vala.page:43(p) C/image-viewer.vala.page:50(p)
-#: C/image-viewer.py.page:44(p) C/image-viewer.js.page:45(p)
-#: C/image-viewer.cpp.page:35(p) C/image-viewer.c.page:35(p)
-#: C/guitar-tuner.vala.page:45(p) C/guitar-tuner.py.page:41(p)
-#: C/guitar-tuner.cpp.page:41(p) C/guitar-tuner.c.page:41(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. "
-"It's also useful for keeping everything together."
-msgstr ""
-"Antes de empezar a programar, deberà configurar un proyecto nuevo en Anjuta. "
-"Esto crearà todos los archivos que necesite para construir y ejecutar el "
-"cÃdigo mÃs adelante. TambiÃn es Ãtil para mantener todo ordenado."
-
-#: C/record-collection.js.page:49(p) C/photo-wall.c.page:48(p)
-#: C/magic-mirror.vala.page:46(p) C/image-viewer.py.page:47(p)
-#: C/image-viewer.js.page:48(p) C/image-viewer.cpp.page:38(p)
-#: C/image-viewer.c.page:38(p) C/guitar-tuner.py.page:44(p)
-#: C/guitar-tuner.cpp.page:44(p) C/guitar-tuner.c.page:44(p)
-msgid ""
-"Start Anjuta and click <guiseq><gui>File</gui><gui>New</gui><gui>Project</"
-"gui></guiseq> to open the project wizard."
-msgstr ""
-"Inicie Anjuta y pulse <guiseq><gui>Archivo</gui><gui>Nuevo</"
-"gui><gui>Proyecto</gui></guiseq> para abrir el asistente de proyectos."
+#~ msgid "autogen.sh"
+#~ msgstr "autogen.sh"
 
-#: C/record-collection.js.page:52(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 "
-"<file>record-collection</file> as project name and directory."
-msgstr ""
-"Elija <gui>JavaScript genÃrico</gui> de la pestaÃa <gui>JS</gui>, pulse "
-"<gui>Adelante</gui> y rellene los detalles en las siguientes pÃginas. Use "
-"<file>coleccion-de-albumes</file> como nombre de proyecto y de carpeta."
+#~ msgid "EXTRA_DIST are the files that are to be distributed"
+#~ msgstr "EXTRA_DIST son los archivos que se deben distribuir"
 
-#: C/record-collection.js.page:55(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> "
-"tabs. It contains very basic example code."
-msgstr ""
-"Pulse <gui>Finalizar</gui> y se crearà el proyecto. Abra <file>src/main.js</"
-"file> desde la pestaÃa <gui>Proyecto</gui> o <gui>Archivo</gui>. Contiene un "
-"ejemplo de cÃdigo muy bÃsico."
+#~ msgid "autohen.sh"
+#~ msgstr "autohen.sh"
 
-#: C/record-collection.js.page:61(title)
-msgid "Program Structure"
-msgstr "Estructura del programa"
+#~ msgid "appicondir=$(datadir)/icons/hicolor/scalable/apps"
+#~ msgstr "appicondir=$(datadir)/icons/hicolor/scalable/apps"
 
-#: C/record-collection.js.page:63(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 "
-"the table. The table has two fields: <code>id</code>, an integer, and "
-"<code>name</code>, a varchar. The first section (on the top) of the "
-"application allows you to insert a record into the table. The last section "
-"(bottom) allows you to see all the records of that table. Its content is "
-"refreshed every time a new record is inserted and on the application startup."
-msgstr ""
-"Esta demostraciÃn es una aplicaciÃn GTK sencilla (con una Ãnica ventana) "
-"capaz de insertar registros en la tabla de una base de datos, asà como de "
-"examinar todos los registros de la tabla. La tabla tiene dos campos: "
-"<code>id</code>, un entero, y <code>name</code>, un ÂvarcharÂ. La primera "
-"secciÃn (en la parte superior) de la aplicaciÃn le permite insertar un "
-"registro en la tabla. La Ãltima secciÃn (en la parte inferior) le permite "
-"ver todos los registros de la tabla. El contenido se actualiza cada vez que "
-"se insertar un registro y al inicio de la aplicaciÃn."
-
-#: C/record-collection.js.page:68(title)
-msgid "Starting the fun"
-msgstr "Empezar la diversiÃn"
-
-#: C/record-collection.js.page:69(p)
-msgid "Let's start by examining the skeleton of the program:"
-msgstr "Empezar examinando el esqueleto del programa:"
-
-#: C/record-collection.js.page:95(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."
-msgstr ""
-"LÃneas 1â4: importaciones iniciales. Preste especial atenciÃn a la lÃnea 3, "
-"que indica a Javascript que importe la biblioteca GDA, nuestro objetivo en "
-"este tutorial."
+#~ msgid "appicon_DATA=weather-icon.svg"
+#~ msgstr "appicon_DATA=weather-icon.svg"
 
-#: C/record-collection.js.page:96(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 "
-"be detailed below."
-msgstr ""
-"LÃneas 6â17: definir la clase <code>Demo</code>. Preste especial atenciÃn a "
-"las lÃneas 13â15, donde se llama a 3 mÃtodos que harÃn todo el trabajo. Se "
-"detallarÃn mÃs adelante."
+#~ msgid "The main program file"
+#~ msgstr "El archivo del programa principal"
 
-#: C/record-collection.js.page:97(p)
-msgid "Lines 19â23: Start the application."
-msgstr "LÃneas 19â23: iniciar la aplicaciÃn."
+#~| msgid ""
+#~| "In this tutorial we'll construct a small application, Hello World, using "
+#~| "JavaScript and GTK+. To do and run all the code examples yourself, you "
+#~| "need an editor to write code in, Terminal and GNOME 3 or higher "
+#~| "installed into your computer. In this tutorial we'll go through the "
+#~| "following parts:"
+#~ msgid ""
+#~ "In this part of the guide well construct the main program file of the "
+#~ "weather application. To write and run all the code examples yourself, you "
+#~ "need an editor to write code in, Terminal and GNOME 3 or higher installed "
+#~ "into your computer. In this part we we'll go through the following parts:"
+#~ msgstr ""
+#~ "En esta parte de la guÃa se construirà el archivo del programa principal "
+#~ "de la aplicaciÃn del clima. Para escribir y ejecutar todos los ejemplos "
+#~ "de cÃdigo necesita un editor de texto en el que escribir el cÃdigo, una "
+#~ "terminal y GNOME 3 o superior instalado en su equipo. En esta guÃa se "
+#~ "verÃn las siguientes partes:"
 
-#: C/record-collection.js.page:102(title)
-msgid "Designing the application"
-msgstr "DiseÃar la aplicaciÃn"
+#~ msgid "Script for running the application"
+#~ msgstr "Script para ejecutar la aplicaciÃn"
 
-#: C/record-collection.js.page:103(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 "
-"explain only the relevant parts."
-msgstr ""
-"Eche un vistazo al mÃtodo <code>setupWindow</code>. Es el responsable de "
-"crear la interfaz de usuario (IU). Ya que la IU no es el objetivo, sÃlo se "
-"explicarÃn las partes relevantes."
+#~ msgid "Libraries to import"
+#~ msgstr "Bibliotecas que importar"
 
-#: C/record-collection.js.page:154(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."
-msgstr ""
-"LÃneas 22 y 27: crear las dos entradas (para los dos campos) en las que el "
-"usuario escribirà algo para insertarlo en la base de datos."
+#~ msgid "Creating the main window for the application"
+#~ msgstr "Crear la ventana principal de la aplicaciÃn"
 
-#: C/record-collection.js.page:155(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 "
-"method is detailed below."
-msgstr ""
-"LÃneas 31â34: crear el botÃn ÂInsertarÂ. Se conecta su seÃal <code>clicked</"
-"code> con el mÃtodo privado <code>_insertClicked</code> de la clase. Este "
-"mÃtodo se detalla a continuaciÃn."
+#~ msgid "Adding a grid and all the necessary widgets to it"
+#~ msgstr "AÃadir una rejilla y todos los widgets necesarios en ella"
 
-#: C/record-collection.js.page:156(p)
-msgid ""
-"Line 39: Create the widget (<code>TextView</code>) where we will show the "
-"contents of the table."
-msgstr ""
-"LÃnea 39: crear el widget (<code>TextView</code>) donde se mostrarÃn los "
-"contenidos de la tabla."
+#~ msgid "weatherapp.js"
+#~ msgstr "weatherapp.js"
 
-#: C/record-collection.js.page:157(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."
-msgstr ""
-"LÃnea 44: crear la etiqueta donde se mostrarà el nÃmero de registros de la "
-"tabla. Inicialmente està vacÃa, se actualizarà mÃs tarde."
+#~ msgid ""
+#~ "This line tells how to run the script. It needs to be the first line of "
+#~ "the code and it needs to be executable. To get the execution rights go to "
+#~ "Terminal and run in right folder: chmod +x scriptname. Or you can use the "
+#~ "graphical filemanager. Just go to the right folder where your code is, "
+#~ "right click you code file, choose properties, click the permissions tab "
+#~ "and check the box for allow executing file as a program"
+#~ msgstr ""
+#~ "Esta lÃnea indica cÃmo ejecutar el script. Debe ser la primera lÃnea del "
+#~ "cÃdigo y debe ser ejecutable. Para obtener permisos de ejecuciÃn vaya a "
+#~ "la terminal y ejecute lo siguiente en la carpeta adecuada: chmod +x "
+#~ "nombrescript. TambiÃn puede usar el gestor de archivo. Simplemente vaya a "
+#~ "la carpeta donde està el cÃdigo, pulse con el botÃn derecho sobre el "
+#~ "archivo de cÃdigo y elija ÂPropiedadesÂ, pulse en la pestaÃa ÂPermisos y "
+#~ "marque la casilla para permitir ejecutar el archivo como un programa."
 
-#: C/record-collection.js.page:162(title)
-msgid "Connecting to and initializing the database"
-msgstr "Conectar e inicializar la base de datos"
+#~| msgid ""
+#~| "In order to have a working program we need to import a GObject "
+#~| "Introspection -library to our use. For working UI, we need Gtk. Gtk is "
+#~| "imported in the beginning so we have it in our use everywhere."
+#~ msgid ""
+#~ "In order to have a working program we need to import a GObject "
+#~ "Introspection -library to our use. For working UI, we need Gtk. Gtk is "
+#~ "imported in the beginning so we have it in our use everywhere. We also "
+#~ "import our own local JavaScript library geonames to our use here."
+#~ msgstr ""
+#~ "Para que el programa funcione se debe importar una biblioteca de "
+#~ "introspecciÃn de GObject. Para que funcione la IU se necesita GTK+, que "
+#~ "se importa al inicio, por lo que està en uso en todos los sitios. TambiÃn "
+#~ "se importa la biblioteca local en JavaScript geonames para usarla aquÃ."
 
-#: C/record-collection.js.page:163(p)
-msgid ""
-"The code which makes the connection to the database is in the "
-"<code>setupDatabase</code> method below:"
-msgstr ""
-"El cÃdigo que hace la conexiÃn con la base de datos està en mÃtodo "
-"<code>setupDatabase</code> siguiente:"
+#, fuzzy
+#~| msgid "Connecting buttons to playSound"
+#~ msgid "Connecting signals to button and entry."
+#~ msgstr "Conectar los botones a playSound"
 
-#: C/record-collection.js.page:180(p)
-msgid ""
-"Lines 2â3: Create the GDA's <code>Connection</code> object. We must supply "
-"to its constructor some properties:"
-msgstr ""
-"LÃneas 2â3: crear el objeto de GDA <code>Connection</code>. Se deben "
-"proporcionar a su constructor algunas propiedades:"
+#~ msgid "Weatherapp.js"
+#~ msgstr "Weatherapp.js"
 
-#: C/record-collection.js.page:183(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 "
-"use a SQLite database, as it comes installed by default in most "
-"distributions and it is simple to use (it just uses a file as a database)."
-msgstr ""
-"<code>provider</code>: uno de los proveedores de GDA soportados. GDA soporta "
-"SQLite, MySQL, PostgreSQL, Oracle y muchos otros. Para la demostraciÃn se "
-"usarà una base de datos SQLite, ya que viene instalada de manera "
-"predeterminada en la mayorÃa de las distribuciones y es fÃcil de usar (sÃlo "
-"usa un archivo como base de datos)."
+#~ msgid "Weatherapp.js file looks like this:"
+#~ msgstr "El archivo Weatherapp.js se parece a esto:"
 
-#: C/record-collection.js.page:186(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>;"
-"DB_NAME=<var>FILENAME</var></code>. In this demo we are accessing a database "
-"called gnome_demo in the user home dir (note the call to GLib's "
-"<code>get_home_dir</code> function)."
-msgstr ""
-"<code>cnc_string</code>: la cadena de conexiÃn. Puede cambiar de un "
-"proveedor a otro. La sintaxis de SQLite es: <code>DB_DIR=<var>PATH</var>;"
-"DB_NAME=<var>FILENAME</var></code>. En esta demostraciÃn se accederà a una "
-"base de datos llamada Âgnome_demo en la carpeta del usaurio (tenga en cuenta "
-"la llamada a la funciÃn <code>get_home_dir</code> de GLib)."
+#~ msgid "$"
+#~ msgstr "$"
 
-#: C/record-collection.js.page:190(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 "
-"should handle it with JavaScript's statement <code>try</code>...<code>catch</"
-"code>."
-msgstr ""
-"Si GDA no soporta el proveedor, o si falta algÃn elemento en la cadena de "
-"conexiÃn, la lÃnea 2 elevarà una excepciÃn. Por esto, en la vida real hay "
-"que manejarlo con la sentencia <code>try</code>...<code>catch</code> de "
-"JavaScript."
+#~ msgid "GJS_PATH=`pwd` gjs weatherapp.js"
+#~ msgstr "GJS_PATH=`pwd` gjs weatherapp.js"
 
-#: C/record-collection.js.page:194(p)
-msgid ""
-"Line 4: Open the connection. In the SQLite provider, if the database does "
-"not exist, it will be created in this step."
-msgstr ""
-"LÃnea 4: abrir la conexiÃn. En el proveedor de SQLite, si la base de datos "
-"no existe, se crearà en este paso."
+#~ msgid ""
+#~ "@@image: 'media/weatherAppJs.png'; md5=1fe859ac4854273d72ea8fc9203639b2"
+#~ msgstr ""
+#~ "@@image: 'media/weatherAppJs.png'; md5=1fe859ac4854273d72ea8fc9203639b2"
 
-#: C/record-collection.js.page:196(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 "
-"will raise an exception, which is handled by the <code>try</code>..."
-"<code>catch</code> block. If it is the case, we run the create table "
-"statement (line 9)."
-msgstr ""
-"LÃneas 6â10: intentar hacer una selecciÃn simple para comprobar si la tabla "
-"existe. Si no existe (porque la base de datos se acaba de crear), este "
-"comando elevarà una excepciÃn, que se maneja en el bloque <code>try</code>..."
-"<code>catch</code> block. Si este es el caso, se ejecuta la sentencia para "
-"crear tabla (lÃnea 9)."
+#~| msgid "Run the application"
+#~ msgid "4 Weather Application"
+#~ msgstr "4 AplicaciÃn del clima"
 
-#: C/record-collection.js.page:197(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</"
-"code>. They are simple to use, and just require two arguments: The "
-"<code>Connection</code> object and the SQL command to be parsed."
-msgstr ""
-"Para ejecutar los comandos SQL anteriores se usan las funcionas globales de "
-"GDA <code>execute_select_command</code> y <code>execute_non_select_command</"
-"code>. Son fÃciles de usar, y sÃlo requieren dos argumentos: el objeto "
-"<code>Connection</code> y el comando SQL que analizar."
+#~| msgid ""
+#~| "In this tutorial we'll construct a small application, Hello World, using "
+#~| "JavaScript and GTK+. To do and run all the code examples yourself, you "
+#~| "need an editor to write code in, Terminal and GNOME 3 or higher "
+#~| "installed into your computer. In this tutorial we'll go through the "
+#~| "following parts:"
+#~ msgid ""
+#~ "In this guide well construct a weather application using asynchronous "
+#~ "calls. Weather information in this example is fetched from geonames.org "
+#~ "and the application is using the <link href=\"http://en.wikipedia.org/";
+#~ "wiki/List_of_airports_by_ICAO_code:_E\">ICAO codes </link> to place your "
+#~ "weather request. To write and run all the code examples yourself, you "
+#~ "need an editor to write code in, Terminal and GNOME 3 or higher installed "
+#~ "into your computer. In this guide we we'll go through the following parts:"
+#~ msgstr ""
+#~ "En esta parte de la guÃa se construirà una aplicaciÃn del clima usando "
+#~ "llamadas asÃncronas. En este ejemplo, la informaciÃn del clima se obtiene "
+#~ "de geonames.org y la aplicaciÃn usa los <link href=\"http://en.wikipedia.";
+#~ "org/wiki/List_of_airports_by_ICAO_code:_E\">cÃdigos ICAO</link> para "
+#~ "responder a las peticiones. Para escribir y ejecutar todos los ejemplos "
+#~ "de cÃdigo necesita un editor de texto en el que escribir el cÃdigo, una "
+#~ "terminal y GNOME 3 o superior instalado en su equipo. En esta guÃa se "
+#~ "verÃn las siguientes partes:"
 
-#: C/record-collection.js.page:201(p)
-msgid "At this point we have the database set up, and are ready to use it."
-msgstr ""
-"En este punto, ya està configurada la base de datos y lista para usarse."
+#~ msgid "Planning the graphical user interface"
+#~ msgstr "Planificar la interfaz grÃfica de usuario"
 
-#: C/record-collection.js.page:205(title)
-msgid "Selecting"
-msgstr "Seleccionar"
+#~ msgid "Asynchronous calls"
+#~ msgstr "Llamadas asÃncronas"
 
-#: C/record-collection.js.page:206(p)
-msgid ""
-"After connecting to the database, our demo's constructor calls the "
-"<code>selectData</code> method. It is responsible for getting all the "
-"records in the table and showing them on the <code>TextView</code> widget. "
-"Let's take a look at it:"
-msgstr ""
-"DespuÃs de conectar a la base de datos, el constructor de la demostraciÃn "
-"llama al mÃtodo <code>selectData</code>. Es el responsable de obtener todos "
-"los registros de la tabla y de mostrarlos en el widget <code>TextView</"
-"code>. Ãchele un vistazo:"
+#~ msgid "Local library GeoNames"
+#~ msgstr "Biblioteca local GeoNames"
 
-#: C/record-collection.js.page:227(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 "
-"<code>DataModel</code> object, which is later used to retrieve the rows."
-msgstr ""
-"LÃnea 2: el comando <code>SELECT</code>. Se usan funciones la funciÃn global "
-"de GDA <code>execute_select_command</code>. Devuelve un objeto "
-"<code>DataModel</code>, que se usa mÃs tarde para obtener las filas."
+#~ msgid "After reading this tutorial, you should see this in your screen:"
+#~ msgstr "DespuÃs de leer este tutorial, deberÃa ver esto en su pantalla:"
 
-#: C/record-collection.js.page:228(p)
-msgid ""
-"Line 3: Create an <code>Iter</code> object, which is used to iterate over "
-"the <code>DataModel</code>'s records."
-msgstr ""
-"LÃnea 3: crear un objeto <code>Iter</code>, que se usa para iterar sobre los "
-"registros de <code>DataModel</code>."
+#~ msgid "The different parts of the program"
+#~ msgstr "Las diferentes partes del programa"
 
-#: C/record-collection.js.page:229(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 "
-"contains the actual, retrieved data. Its <code>move_next</code> method "
-"returns <code>false</code> when it reaches the last record."
-msgstr ""
-"LÃnea 7: recorrer todos los registros, recuperÃndolos con la ayuda del "
-"objeto <code>Iter</code>. En este punto, la variable <code>iter</code> "
-"contiene los datos obtenidos actualmente. Su mÃtodo <code>move_next</code> "
-"devuelve <code>false</code> cuando se alcanza el Ãltimo registro."
+#~ msgid "Michael Hill"
+#~ msgstr "Michael Hill"
 
-#: C/record-collection.js.page:231(p)
-msgid "Lines 8â9: We do two things in each line:"
-msgstr "LiÌneas 8â9: se hacen dos cosas en cada liÌnea:"
+#~ msgid "mdhillca gmail com"
+#~ msgstr "mdhillca gmail com"
 
-#: C/record-collection.js.page:233(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 "
-"<code>SELECT</code> command returns only two columns, we are retrieving "
-"columns 0 and 1."
-msgstr ""
-"Use el mÃtodo <code>get_value_at</code> de <code>Iter</code>, que sÃlo "
-"necesita un argumento: el nÃmero de columna que recuperar, empezando por 0. "
-"Ya que el comando <code>SELECT</code> sÃlo devuelve dos columnas, se estÃn "
-"recuperando las columnas 0 y 1."
+#~ msgid "Help translate"
+#~ msgstr "Ayudar a traducir"
 
-#: C/record-collection.js.page:234(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 "
-"is by using GDA's global function <code>value_stringify</code>. That's what "
-"we are doing here, and we store the results in the variables <code>id_field</"
-"code> and <code>name_field</code>."
-msgstr ""
-"El mÃtodo <code>get_value_at</code> devuelve el campo en el formato "
-"<code>GValue</code> de GLib. Una manera sencilla de convertir este valor en "
-"una cadena es usar la funciÃn global de GDA <code>value_stringify</code>. Es "
-"lo que se està haciendo aquÃ, y el resultado se almacena en las variables "
-"<code>id_field</code> y <code>name_field</code>."
+#~ msgid ""
+#~ "The <app>Tutorial Demos</app> are being translated by a world-wide "
+#~ "volunteer community. You are welcome to participate."
+#~ msgstr ""
+#~ "Los <app>Tutoriales de demostraciÃn</app> los traduce una comunidad de "
+#~ "voluntarios de todo el mundo. Si quiere participar, es bienvenido."
 
-#: C/record-collection.js.page:237(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."
-msgstr ""
-"LÃnea 11: concatenar los dos registros para formar una lÃnea de texto, "
-"separados por <code>\"=&gt;\"</code>, y almacenarla en la variable "
-"<code>text</code>."
+#~ msgid ""
+#~ "There are <link href=\"http://l10n.gnome.org/module/gnome-devel-docs/";
+#~ "\">many languages</link> for which translations are still needed."
+#~ msgstr ""
+#~ "Hay <link href=\"http://l10n.gnome.org/module/gnome-devel-docs/\";>muchos "
+#~ "idiomas</link> para los que se siguen necesitando traducciones."
 
-#: C/record-collection.js.page:238(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 "
-"<code>TextView</code> with that variable."
-msgstr ""
-"LÃnea 14: cuando termine el bucle, se tendrÃn todos los registros "
-"formateados en la variable <code>text</code>. En esta lÃnea, simplemente se "
-"establece el contenido del <code>TextView</code> con esta variable."
+#~ msgid ""
+#~ "To start translating you will need to <link href=\"http:l10n.gnome.org"
+#~ "\">create an account</link> and join the <link href=\"http://l10n.gnome.";
+#~ "org/teams/\">translation team</link> for your language. This will give "
+#~ "you the ability to upload new translations."
+#~ msgstr ""
+#~ "Para empezar a traducir necesitarà <link href=\"http:l10n.gnome.org"
+#~ "\">crear una cuenta</link> y unirse al <link href=\"http://l10n.gnome.org/";
+#~ "teams/\">equipo de traducciÃn</link> de su idioma. Esto le darà la "
+#~ "posibilidad de subir traducciones nuevas."
 
-#: C/record-collection.js.page:239(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."
-msgstr ""
-"LÃnea 15: mostrar el nÃmero de registros en la tabla, usando el mÃtodo "
-"<code>get_n_rows</code> de <code>DataModel</code> <code>get_n_rows</code>."
+#~ msgid ""
+#~ "You can chat with GNOME translators using <link href=\"https://cbe003.";
+#~ "chat.mibbit.com/?url=irc%3A%2F%2Firc.gnome.org%2Fi18n\">irc</link>. "
+#~ "People on the channel are located worldwide, so you may not get an "
+#~ "immediate response as a result of timezone differences."
+#~ msgstr ""
+#~ "Puede chatear con los traductores de GNOME usando <link href=\"https://";
+#~ "cbe003.chat.mibbit.com/?url=irc%3A%2F%2Firc.gnome.org%2Fi18n\">irc</"
+#~ "link>. La gente de los canales se encuentra en cualquier parte del mundo, "
+#~ "por lo que puede que no obtenga una respuesa inmediata debido a las "
+#~ "diferencias horarias."
 
-#: C/record-collection.js.page:244(title)
-msgid "Inserting"
-msgstr "Insertar"
+#~ msgid ""
+#~ "Alternatively, you can contact the Internationalization Team using their "
+#~ "<link href=\"http://mail.gnome.org/mailman/listinfo/gnome-i18n\";>mailing "
+#~ "list</link>."
+#~ msgstr ""
+#~ "Alternativamente, puede contactar con el equipo de internacionalizaciÃn "
+#~ "usando su <link href=\"http://mail.gnome.org/mailman/listinfo/gnome-i18n";
+#~ "\">lista de correo</link>."
 
-#: C/record-collection.js.page:245(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 "
-"remember above, in the method <code>setupWindow</code> we connected the "
-"<gui>Insert</gui> button's <code>clicked</code> signal to the method "
-"<code>_insertClicked</code>? Let's see the implementation of this method."
-msgstr ""
-"Bien, ahora ya sabe cÃmo conectarse a la base de datos y cÃmo seleccionar "
-"filas de una tabla. Ahora es el momento de hacer un <code>INSERT</code> en "
-"la tabla. ÂRecuerda cuando antes, en el mÃtodo <code>setupWindow</code>, se "
-"conectà la seÃal <code>clicked</code> del botÃn <gui>Insertar</gui> al "
-"mÃtodo <code>_insertClicked</code>?. Vea la implementaciÃn de este mÃtodo."
+#~ msgid ""
+#~ "@@image: 'media/record-collection.png'; "
+#~ "md5=2d645997687ed5aacd36aafafc16e072"
+#~ msgstr ""
+#~ "@@image: 'media/record-collection.png'; "
+#~ "md5=2d645997687ed5aacd36aafafc16e072"
 
-#: C/record-collection.js.page:266(p)
-msgid ""
-"We have learned how to use GDA's convenience functions "
-"<code>execute_select_command</code> and <code>execute_non_select_command</"
-"code> to quickly execute SQL commands on the database. GDA allows one to "
-"build a SQL statement indirectly, by using its <code>SqlBuilder</code> "
-"object. What are the benefits of this? GDA will generate the SQL statement "
-"dynamically, and it will be valid for the connection provider used (it will "
-"use the same SQL dialect the provider uses). Let's study the code:"
-msgstr ""
-"Se ha aprendido a usar las funciones de conveniencia de GDA "
-"<code>execute_select_command</code> y <code>execute_non_select_command</"
-"code> para ejecutar comandos SQL rÃpidamente en la base de datos. GDA le "
-"permite construir una sentencia SQL de manera indirecta, usando su objeto "
-"<code>SqlBuilder</code>. ÂCuÃles son los beneficios de esto? GDA generarà la "
-"sentencia SQL dinÃmicamente, y serà vÃlida para el proveedor de la conexiÃn "
-"usado (usarà el mismo dialecto de SQL que usa el proveedor). Estudie el "
-"cÃdigo:"
-
-#: C/record-collection.js.page:270(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 "
-"the full demo source code."
-msgstr ""
-"LÃneas 2â3: comprobar si el usuario ha rellenado todos los campos. El cÃdigo "
-"del mÃtodo privado <code>_validateFields</code> es realmente simple y puede "
-"leerlo en el cÃdigo fuente completo de la demostraciÃn."
+#~ msgid ""
+#~ "Create a small database application for ordering your music collection"
+#~ msgstr ""
+#~ "Cree una pequeÃa aplicaciÃn con una base de datos para ordenar su "
+#~ "colecciÃn de mÃsica"
 
-#: C/record-collection.js.page:271(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 "
-"SQL statement portable across databases."
-msgstr ""
-"LÃnea 5: la manera mÃs rÃpida de hacer el <code>INSERT</code>. Se ha "
-"comentado que se quiere mostrar cÃmo usar el objeto <code>SqlBuilder</code> "
-"para construir una sentencia SQL portable entre bases de datos."
+#~ msgid "3 Record Collection"
+#~ msgstr "3. ColecciÃn de mÃsica"
 
-#: C/record-collection.js.page:272(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>, "
-"<code>UPDATE</code>, <code>INSERT</code> or <code>DELETE</code>."
-msgstr ""
-"LÃnea 7: crear el objeto <code>SqlBuilder</code>. Se debe pasar el tipo de "
-"sentencia que se va a construir. Puede ser <code>SELECT</code>, "
-"<code>UPDATE</code>, <code>INSERT</code> o <code>DELETE</code>."
+#~ msgid "In this tutorial, you will learn:"
+#~ msgstr "En este tutorial aprenderÃ:"
 
-#: C/record-collection.js.page:273(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>)"
-msgstr ""
-"LÃnea 8: establecer el nombre de la base de datos en la que operarà la "
-"sentencia construida (generarà <code>INSERT INTO demo</code>)"
+#~ msgid "How to connect to a database using libgda"
+#~ msgstr "CÃmo conectar con una base de datos usando libgda"
 
-#: C/record-collection.js.page:274(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 "
-"second one is the value for that field."
-msgstr ""
-"LÃneas 9â10: establecer los campos que formarÃn parte de la sentencia y sus "
-"valores. El primer argumento es el nombre del campo (como aparece en la "
-"tabla). El segundo es el valor de este campo."
+#~ msgid "How to insert and browse records in a database table"
+#~ msgstr ""
+#~ "CÃmo insertar y examinar registros en una tabla de una base de datos"
 
-#: C/record-collection.js.page:275(p)
-msgid ""
-"Line 11: Get the dynamically generated <code>Statement</code> object, which "
-"represents a SQL statement."
-msgstr ""
-"LÃnea 11: obtener el objeto <code>Statement</code> generado dinÃmicamente, "
-"que representa una sentencia SQL."
+#~ msgid "Introduction"
+#~ msgstr "IntroducciÃn"
 
-#: C/record-collection.js.page:276(p)
-msgid "Line 12: Finally, execute the SQL statement (<code>INSERT</code>)."
-msgstr "LÃnea 12: finalmente, ejecutar la sentencia SQL (<code>INSERT</code>)."
+#~ 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 Access) library. Thus you also need this library installed."
+#~ msgstr ""
+#~ "Esta demostraciÃn usa el lenguaje Javascript. Se va a demostrar cÃmo "
+#~ "conectar y usar una base de datos desde un programa GTK, usando la "
+#~ "bilbioteca GDA (ÂGNOME Data AccessÂ, Acceso a datos de GNOME). Por lo "
+#~ "tanto, es necesario tener instalada tambiÃn esta biblioteca."
 
-#: C/record-collection.js.page:277(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 "
-"it in the full demo source code."
-msgstr ""
-"LÃnea 14: limpiar los campos Âid y Âname en la pantalla. El cÃdigo del "
-"mÃtodo privado <code>_clearFields</code> es muy sencillo, y puede leerlo en "
-"el cÃdigo fuente de la demostraciÃn completa."
+#~ 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 "
+#~ "traditional relational database systems, to any imaginable kind of data "
+#~ "source such as a mail server, a LDAP directory, etc. For more "
+#~ "information, and for a full API and documentation, visit the <link href="
+#~ "\"http://library.gnome.org/devel/libgda/stable/\";>GDA website</link>."
+#~ msgstr ""
+#~ "Acceso a Datos de GNOME (GDA) es una biblioteca cuyo propÃsito es "
+#~ "proporcionar acceso universal a diferentes tipos de fuentes de datos. "
+#~ "Esto abarca desde los tradicionales sistemas de bases da datos "
+#~ "relacionales hasta cualquier fuente de datos imaginable como un servidor "
+#~ "de correo-e, un directorio LDAP, etc. Para obtener mÃs informaciÃn y una "
+#~ "documentaciÃn completa de la API, visite la  <link href=\"http://library.";
+#~ "gnome.org/devel/libgda/stable/\">pÃgina web de GDA</link>."
 
-#: C/record-collection.js.page:278(p)
-msgid ""
-"Line 15: Refresh the view on the screen by doing another <code>SELECT</code>."
-msgstr ""
-"LÃnea 15: actualizar la vista en la pantalla haciendo otro <code>SELECT</"
-"code>."
+#~ 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 parts we think are relevant though). To know more about Javascript "
+#~ "programs in GNOME, see the <link xref=\"image-viewer.js\">Image Viewer "
+#~ "program</link> tutorial."
+#~ msgstr ""
+#~ "Aunque una gran parte del cÃdigo se refiere a la interfaz de usuario "
+#~ "(IU), el tutorial se enfocarà a las partes de las bases de datos (aunque "
+#~ "se puede hacer menciÃn a otras partes que se consideren relevantes). Para "
+#~ "aprender mÃs sobre los programas en Javascript en GNOME, consulte el "
+#~ "tutorial del programa<link xref=\"image-viewer.js\">Visor de ImÃgenes</"
+#~ "link>"
 
-#: C/record-collection.js.page:280(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 "
-"attacks like SQL injection. Check the <link href=\"http://library.gnome.org/";
-"devel/libgda/stable/\">GDA documentation</link> for more information about "
-"parameters."
-msgstr ""
-"TambiÃn puede usar parÃmetros mientras construye la sentencia. Usando "
-"objetos y parÃmetros <code>SqlBuilder</code> serà menos susceptible a "
-"ataques de inyecciÃn de SQL. Para obtener informaciÃn adicional sobre los "
-"parÃmetros, consulte la <link href=\"http://library.gnome.org/devel/libgda/";
-"stable/\">documentaciÃn de GDA</link>."
-
-#: C/record-collection.js.page:284(title) C/image-viewer.py.page:219(title)
-#: C/image-viewer.js.page:305(title) C/guitar-tuner.py.page:222(title)
-msgid "Run the application"
-msgstr "Ejecutar la aplicaciÃn"
-
-#: C/record-collection.js.page:285(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!"
-msgstr ""
-"Todo el cÃdigo que necesita debe estar en su lugar, asà que trate de "
-"ejecutar el cÃdigo. Ahora tiene una base de datos para su colecciÃn de "
-"registros."
-
-#: C/record-collection.js.page:289(title) C/photo-wall.c.page:377(title)
-#: C/magic-mirror.vala.page:142(title) C/image-viewer.vala.page:280(title)
-#: C/image-viewer.py.page:224(title) C/image-viewer.js.page:310(title)
-#: C/image-viewer.c.page:220(title) C/guitar-tuner.vala.page:252(title)
-#: C/guitar-tuner.py.page:227(title) C/guitar-tuner.cpp.page:255(title)
-#: C/guitar-tuner.c.page:255(title)
-msgid "Reference Implementation"
-msgstr "ImplementaciÃn de referencia"
-
-#: C/record-collection.js.page:290(p)
-msgid ""
-"If you run into problems with the tutorial, compare your code with this "
-"<link href=\"record-collection/record-collection.js\">reference code</link>."
-msgstr ""
-"Si tiene problemas con este tutorial, compare su cÃdigo con este <link href="
-"\"record-collection/record-collection.js\">cÃdigo de referencia</link>."
+#~ msgid "Create a project in Anjuta"
+#~ msgstr "Crear un proyecto en Anjuta"
 
-#. When image changes, this message will be marked fuzzy or untranslated for you.
-#. It doesn't matter what you translate it to: it's not used at all.
-#: C/photo-wall.c.page:76(None)
-msgid "@@image: 'media/photo-wall.png'; md5=f19590d97e8ec029cda3c44b769c11cd"
-msgstr "@@image: 'media/photo-wall.png'; md5=f19590d97e8ec029cda3c44b769c11cd"
+#~ 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. It's also useful for keeping everything together."
+#~ msgstr ""
+#~ "Antes de empezar a programar, deberà configurar un proyecto nuevo en "
+#~ "Anjuta. Esto crearà todos los archivos que necesite para construir y "
+#~ "ejecutar el cÃdigo mÃs adelante. TambiÃn es Ãtil para mantener todo "
+#~ "ordenado."
 
-#. When image changes, this message will be marked fuzzy or untranslated for you.
-#. It doesn't matter what you translate it to: it's not used at all.
-#: C/photo-wall.c.page:79(None)
-msgid ""
-"@@image: 'media/photo-wall-focused.png'; md5=9f1ceecf3a28c1e468597b093a10cbae"
-msgstr ""
-"@@image: 'media/photo-wall-focused.png'; md5=9f1ceecf3a28c1e468597b093a10cbae"
+#~ msgid ""
+#~ "Start Anjuta and click <guiseq><gui>File</gui><gui>New</gui><gui>Project</"
+#~ "gui></guiseq> to open the project wizard."
+#~ msgstr ""
+#~ "Inicie Anjuta y pulse <guiseq><gui>Archivo</gui><gui>Nuevo</"
+#~ "gui><gui>Proyecto</gui></guiseq> para abrir el asistente de proyectos."
 
-#: C/photo-wall.c.page:7(desc)
-msgid "A Clutter image viewer"
-msgstr "Un visor de imÃgenes Clutter"
+#~ 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 "
+#~ "<file>record-collection</file> as project name and directory."
+#~ msgstr ""
+#~ "Elija <gui>JavaScript genÃrico</gui> de la pestaÃa <gui>JS</gui>, pulse "
+#~ "<gui>Adelante</gui> y rellene los detalles en las siguientes pÃginas. Use "
+#~ "<file>coleccion-de-albumes</file> como nombre de proyecto y de carpeta."
 
-#: C/photo-wall.c.page:11(name)
-msgid "Chris KÃhl"
-msgstr "Chris KÃhl"
+#~ 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> "
+#~ "tabs. It contains very basic example code."
+#~ msgstr ""
+#~ "Pulse <gui>Finalizar</gui> y se crearà el proyecto. Abra <file>src/main."
+#~ "js</file> desde la pestaÃa <gui>Proyecto</gui> o <gui>Archivo</gui>. "
+#~ "Contiene un ejemplo de cÃdigo muy bÃsico."
 
-#: C/photo-wall.c.page:12(email)
-msgid "chrisk openismus com"
-msgstr "chrisk openismus com"
+#~ msgid "Program Structure"
+#~ msgstr "Estructura del programa"
 
-#: C/photo-wall.c.page:20(title)
-msgid "Photo Wall"
-msgstr "Mural de fotos"
+#~ 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 the table. The table has two fields: <code>id</code>, an integer, and "
+#~ "<code>name</code>, a varchar. The first section (on the top) of the "
+#~ "application allows you to insert a record into the table. The last "
+#~ "section (bottom) allows you to see all the records of that table. Its "
+#~ "content is refreshed every time a new record is inserted and on the "
+#~ "application startup."
+#~ msgstr ""
+#~ "Esta demostraciÃn es una aplicaciÃn GTK sencilla (con una Ãnica ventana) "
+#~ "capaz de insertar registros en la tabla de una base de datos, asà como de "
+#~ "examinar todos los registros de la tabla. La tabla tiene dos campos: "
+#~ "<code>id</code>, un entero, y <code>name</code>, un ÂvarcharÂ. La primera "
+#~ "secciÃn (en la parte superior) de la aplicaciÃn le permite insertar un "
+#~ "registro en la tabla. La Ãltima secciÃn (en la parte inferior) le permite "
+#~ "ver todos los registros de la tabla. El contenido se actualiza cada vez "
+#~ "que se insertar un registro y al inicio de la aplicaciÃn."
 
-#: C/photo-wall.c.page:23(p)
-msgid ""
-"For this example we will build a simple image viewer using Clutter. You will "
-"learn:"
-msgstr ""
-"Para este ejemplo se construirà un sencillo visor de imÃgenes usando "
-"Clutter. AprenderÃ:"
+#~ msgid "Starting the fun"
+#~ msgstr "Empezar la diversiÃn"
 
-#: C/photo-wall.c.page:25(p)
-msgid "How to size and position <code>ClutterActor</code>s"
-msgstr "CÃmo dimensionar y posicionar varios <code>ClutterActor</code>"
+#~ msgid "Let's start by examining the skeleton of the program:"
+#~ msgstr "Empezar examinando el esqueleto del programa:"
 
-#: C/photo-wall.c.page:26(p)
-msgid "How to place an image in a <code>ClutterActor</code>"
-msgstr "CÃmo situar una imagen en un <code>ClutterActor</code>"
+#~ 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."
+#~ msgstr ""
+#~ "LÃneas 1â4: importaciones iniciales. Preste especial atenciÃn a la lÃnea "
+#~ "3, que indica a Javascript que importe la biblioteca GDA, nuestro "
+#~ "objetivo en este tutorial."
 
-#: C/photo-wall.c.page:27(p)
-msgid "How to do simple transitions using Clutter's animation framework"
-msgstr ""
-"CÃmo hacer transiciones sencillas usando el entorno de trabajo de "
-"animaciones de Clutter"
+#~ 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 be detailed below."
+#~ msgstr ""
+#~ "LÃneas 6â17: definir la clase <code>Demo</code>. Preste especial atenciÃn "
+#~ "a las lÃneas 13â15, donde se llama a 3 mÃtodos que harÃn todo el trabajo. "
+#~ "Se detallarÃn mÃs adelante."
 
-#: C/photo-wall.c.page:28(p)
-msgid "How to make <code>ClutterActor</code>s respond to mouse events"
-msgstr ""
-"CÃmo hacer que un <code>ClutterActor</code> responda a los eventos del ratÃn"
+#~ msgid "Lines 19â23: Start the application."
+#~ msgstr "LÃneas 19â23: iniciar la aplicaciÃn."
 
-#: C/photo-wall.c.page:29(p)
-msgid "How to get file names from a directory"
-msgstr "CÃmo obtener nombres de archivos de una carpeta"
+#~ msgid "Designing the application"
+#~ msgstr "DiseÃar la aplicaciÃn"
 
-#: C/photo-wall.c.page:35(p)
-msgid ""
-"Clutter is a library for creating dynamic user interfaces using OpenGL for "
-"hardware acceleration. This example demonstates a small, but central, part "
-"of the Clutter library to create a simple but attractive image viewing "
-"program."
-msgstr ""
-"Clutter es una biblioteca para crear interfaces de usuarios dinÃmicas usando "
-"OpenGL para la aceleraciÃn grÃfica. Este ejemplo demuestra una pequeÃa, pero "
-"importante parte de la biblioteca Clutter para crear un sencillo pero "
-"atractivo programa para ver imÃgenes."
+#~ 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 explain only the relevant parts."
+#~ msgstr ""
+#~ "Eche un vistazo al mÃtodo <code>setupWindow</code>. Es el responsable de "
+#~ "crear la interfaz de usuario (IU). Ya que la IU no es el objetivo, sÃlo "
+#~ "se explicarÃn las partes relevantes."
 
-#: C/photo-wall.c.page:38(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."
-msgstr ""
-"Para ayudarle a conseguir su objetivo, tambiÃn se utilizarÃn algunos "
-"fragmentos comunes de GLib. MÃs importante es que se usarà una <code>GSList</"
-"code>, una lista simple enlazada para tener el <code>ClutterActor</code> y "
-"otro para los nombres de las rutas de los archivos. TambiÃn se usarà "
-"<code>GDir</code>, una utilidad para trabajar con carpetas, acceder a "
-"nuestra carpeta de imÃgenes y obtener rutas de archivos."
-
-#: C/photo-wall.c.page:51(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."
-msgstr ""
-"Seleccione <gui>Gtk+ (simple)</gui> en la pestaÃa <gui>C</gui>, pulse "
-"<gui>Continuar</gui>, y rellene los detalles en las siguientes pÃginas. Use "
-"<file>mural-de-fotos</file> como nombre del proyecto y de la carpeta."
+#~ 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."
+#~ msgstr ""
+#~ "LÃneas 22 y 27: crear las dos entradas (para los dos campos) en las que "
+#~ "el usuario escribirà algo para insertarlo en la base de datos."
 
-#: C/photo-wall.c.page:54(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="
-"\"guitar-tuner.c\">Guitar-Tuner</link> tutorial using the interface builder."
-msgstr ""
-"AsegÃrese de que <gui>Usar GtkBuilder para la interfaz del usuario</gui> "
-"està desactivado, ya que, en este tutorial, la IU se crearà manualmente. "
-"Revise el tutorial del <link xref=\"guitar-tuner.c\">afinador de guitarra</"
-"link> usando el constructor de interfaces."
+#~ 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 method is detailed below."
+#~ msgstr ""
+#~ "LÃneas 31â34: crear el botÃn ÂInsertarÂ. Se conecta su seÃal "
+#~ "<code>clicked</code> con el mÃtodo privado <code>_insertClicked</code> de "
+#~ "la clase. Este mÃtodo se detalla a continuaciÃn."
 
-#: C/photo-wall.c.page:59(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 "
-"project."
-msgstr ""
-"Active <gui>Configurar paquetes externos</gui>. En la pÃgina siguiente, "
-"seleccione <em>clutter-1.0</em> de la lista para incluir la biblioteca "
-"Clutter en su proyecto."
+#~ msgid ""
+#~ "Line 39: Create the widget (<code>TextView</code>) where we will show the "
+#~ "contents of the table."
+#~ msgstr ""
+#~ "LÃnea 39: crear el widget (<code>TextView</code>) donde se mostrarÃn los "
+#~ "contenidos de la tabla."
 
-#: C/photo-wall.c.page:63(p) C/image-viewer.c.page:49(p)
-#: C/guitar-tuner.c.page:54(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. "
-"You should see some code which starts with the lines:"
-msgstr ""
-"Pulse <gui>Aplicar</gui> y se crearà el proyecto. Abra <file>src/main.c</"
-"file> desde las pestaÃas <gui>Proyecto</gui> o <gui>Archivo</gui>. DeberÃa "
-"ver algo de cÃdigo que comience con las lÃneas:"
+#~ 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."
+#~ msgstr ""
+#~ "LÃnea 44: crear la etiqueta donde se mostrarà el nÃmero de registros de "
+#~ "la tabla. Inicialmente està vacÃa, se actualizarà mÃs tarde."
 
-#: C/photo-wall.c.page:72(title)
-msgid "A look at Photo Wall"
-msgstr "Un vistazo al mural de fotos"
+#~ msgid "Connecting to and initializing the database"
+#~ msgstr "Conectar e inicializar la base de datos"
 
-#: C/photo-wall.c.page:73(p)
-msgid "Our image viewer presents the user with a wall of images."
-msgstr "El visor de imÃgenes muestra al usuario un mural de imÃgenes."
+#~ msgid ""
+#~ "The code which makes the connection to the database is in the "
+#~ "<code>setupDatabase</code> method below:"
+#~ msgstr ""
+#~ "El cÃdigo que hace la conexiÃn con la base de datos està en mÃtodo "
+#~ "<code>setupDatabase</code> siguiente:"
 
-#: C/photo-wall.c.page:77(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 "
-"an animation with the same duration of 500 milliseconds."
-msgstr ""
-"Cuando se pulsa una imagen, esta se anima para que rellene el Ãrea de "
-"visualizaciÃn. Cuando se pulsa la imagen que tiene el foco, vuelve a su "
-"tamaÃo original usando una animaciÃn que dura 500 milisegundos."
+#~ msgid ""
+#~ "Lines 2â3: Create the GDA's <code>Connection</code> object. We must "
+#~ "supply to its constructor some properties:"
+#~ msgstr ""
+#~ "LÃneas 2â3: crear el objeto de GDA <code>Connection</code>. Se deben "
+#~ "proporcionar a su constructor algunas propiedades:"
 
-#: C/photo-wall.c.page:83(title)
-msgid "Initial setup"
-msgstr "ConfiguraciÃn inicial"
+#~ msgid ""
+#~ "<code>provider</code>: One of GDA's supported providers. GDA supports "
+#~ "SQLite, MySQL, PostgreSQL, Oracle and many others. For demo purposes we "
+#~ "will use a SQLite database, as it comes installed by default in most "
+#~ "distributions and it is simple to use (it just uses a file as a database)."
+#~ msgstr ""
+#~ "<code>provider</code>: uno de los proveedores de GDA soportados. GDA "
+#~ "soporta SQLite, MySQL, PostgreSQL, Oracle y muchos otros. Para la "
+#~ "demostraciÃn se usarà una base de datos SQLite, ya que viene instalada de "
+#~ "manera predeterminada en la mayorÃa de las distribuciones y es fÃcil de "
+#~ "usar (sÃlo usa un archivo como base de datos)."
 
-#: C/photo-wall.c.page:84(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 "
-"sections. Copy this code to the beginning of <file>src/main.c</file>:"
-msgstr ""
-"El siguiente fragmento de cÃdigo contiene muchas definiciones y variables "
-"que se usarÃn en las siguientes secciones. Ãselo como referencia para las "
-"prÃximas secciones. Copie este cÃdigo al principio de <file>src/main.c</"
-"file>:"
+#~ 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>;DB_NAME=<var>FILENAME</var></code>. In this demo we are accessing a "
+#~ "database called gnome_demo in the user home dir (note the call to GLib's "
+#~ "<code>get_home_dir</code> function)."
+#~ msgstr ""
+#~ "<code>cnc_string</code>: la cadena de conexiÃn. Puede cambiar de un "
+#~ "proveedor a otro. La sintaxis de SQLite es: <code>DB_DIR=<var>PATH</var>;"
+#~ "DB_NAME=<var>FILENAME</var></code>. En esta demostraciÃn se accederà a "
+#~ "una base de datos llamada Âgnome_demo en la carpeta del usaurio (tenga "
+#~ "en cuenta la llamada a la funciÃn <code>get_home_dir</code> de GLib)."
 
-#: C/photo-wall.c.page:121(title)
-msgid "Jumping into the code"
-msgstr "Saltar dentro del cÃdigo"
+#~ 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 "
+#~ "should handle it with JavaScript's statement <code>try</code>..."
+#~ "<code>catch</code>."
+#~ msgstr ""
+#~ "Si GDA no soporta el proveedor, o si falta algÃn elemento en la cadena de "
+#~ "conexiÃn, la lÃnea 2 elevarà una excepciÃn. Por esto, en la vida real hay "
+#~ "que manejarlo con la sentencia <code>try</code>...<code>catch</code> de "
+#~ "JavaScript."
 
-#: C/photo-wall.c.page:122(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 "
-"<file>src/main.c</file> to contain this <code>main()</code> function. You "
-"can delete the <code>create_window()</code> function as we don't need it in "
-"this example."
-msgstr ""
-"Se empezarà echando un vistazo a la funciÃn <code>main()</code> completa. "
-"Luego se verà el resto de secciones del cÃdigo en detalle. Cambie el archivo "
-"<file>src/main.c</file> para que contenga la funciÃn <code>main()</code>. "
-"Puede eliminar la funciÃn <code>create_window()</code>, ya que no se usa en "
-"este ejemplo."
+#~ msgid ""
+#~ "Line 4: Open the connection. In the SQLite provider, if the database does "
+#~ "not exist, it will be created in this step."
+#~ msgstr ""
+#~ "LÃnea 4: abrir la conexiÃn. En el proveedor de SQLite, si la base de "
+#~ "datos no existe, se crearà en este paso."
 
-#: C/photo-wall.c.page:163(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 "
-"transparency a value of 255 is opaque."
-msgstr ""
-"LÃnea 4: <code>ClutterColor</code> se define configurando los valores de "
-"rojo, verde, azul y de transparencia (alfa). Los valores van de 0 a 255. "
-"Para la transparencia, el valor 255 es opaco."
+#~ 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 will raise an exception, which is handled by the <code>try</"
+#~ "code>...<code>catch</code> block. If it is the case, we run the create "
+#~ "table statement (line 9)."
+#~ msgstr ""
+#~ "LÃneas 6â10: intentar hacer una selecciÃn simple para comprobar si la "
+#~ "tabla existe. Si no existe (porque la base de datos se acaba de crear), "
+#~ "este comando elevarà una excepciÃn, que se maneja en el bloque <code>try</"
+#~ "code>...<code>catch</code> block. Si este es el caso, se ejecuta la "
+#~ "sentencia para crear tabla (lÃnea 9)."
 
-#: C/photo-wall.c.page:164(p)
-msgid ""
-"Line 7: You must initialize Clutter. If you forget to do this, you will get "
-"very strange errors. Be warned."
-msgstr ""
-"LÃnea 7: debe inicializar Clutter. Si olvida hacerlo, obtendrà mensajes muy "
-"extraÃos. Queda advertido."
+#~ 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</"
+#~ "code>. They are simple to use, and just require two arguments: The "
+#~ "<code>Connection</code> object and the SQL command to be parsed."
+#~ msgstr ""
+#~ "Para ejecutar los comandos SQL anteriores se usan las funcionas globales "
+#~ "de GDA <code>execute_select_command</code> y "
+#~ "<code>execute_non_select_command</code>. Son fÃciles de usar, y sÃlo "
+#~ "requieren dos argumentos: el objeto <code>Connection</code> y el comando "
+#~ "SQL que analizar."
 
-#: C/photo-wall.c.page:165(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."
-msgstr ""
-"LÃneas 9â11: aquà es donde se obtiene el <code>ClutterStage</code> "
-"predeterminado que <code>clutter_init</code> proporcionÃ. Entonces se "
-"establece el tamaÃo usando el definido en la secciÃn anterior y las "
-"direcciones del <code>ClutterColor</code> que ya estÃn definidas."
+#~ msgid "At this point we have the database set up, and are ready to use it."
+#~ msgstr ""
+#~ "En este punto, ya està configurada la base de datos y lista para usarse."
 
-#: C/photo-wall.c.page:166(p)
-msgid ""
-"A <code>ClutterStage</code> is the top-level <code>ClutterActor</code> onto "
-"which other <code>ClutterActor</code>s are placed."
-msgstr ""
-"Un <code>ClutterStage</code> es el nivel superior de un <code>ClutterActor</"
-"code> en el que se ubican otros <code>ClutterActor</code>."
+#~ msgid "Selecting"
+#~ msgstr "Seleccionar"
 
-#: C/photo-wall.c.page:168(p)
-msgid ""
-"Line 12: Here we call our function for getting the image file paths. We'll "
-"look at this in a bit."
-msgstr ""
-"LÃnea 12: aquà se llama a la funciÃn para obtener las rutas de las imÃgenes. "
-"Esto se verà en breve."
+#~ msgid ""
+#~ "After connecting to the database, our demo's constructor calls the "
+#~ "<code>selectData</code> method. It is responsible for getting all the "
+#~ "records in the table and showing them on the <code>TextView</code> "
+#~ "widget. Let's take a look at it:"
+#~ msgstr ""
+#~ "DespuÃs de conectar a la base de datos, el constructor de la demostraciÃn "
+#~ "llama al mÃtodo <code>selectData</code>. Es el responsable de obtener "
+#~ "todos los registros de la tabla y de mostrarlos en el widget "
+#~ "<code>TextView</code>. Ãchele un vistazo:"
 
-#: C/photo-wall.c.page:169(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."
-msgstr ""
-"LÃneas 14â26: aquà es donde se configuran los <code>ClutterActor</code>, se "
-"cargan las imÃgenes y se colocan en su sitio en el mural de imÃgenes. Esto "
-"se verà con mÃs detalle en la siguiente secciÃn."
+#~ 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 "
+#~ "<code>DataModel</code> object, which is later used to retrieve the rows."
+#~ msgstr ""
+#~ "LÃnea 2: el comando <code>SELECT</code>. Se usan funciones la funciÃn "
+#~ "global de GDA <code>execute_select_command</code>. Devuelve un objeto "
+#~ "<code>DataModel</code>, que se usa mÃs tarde para obtener las filas."
 
-#: C/photo-wall.c.page:170(p)
-msgid ""
-"Line 29: Show the stage and <em>all its children</em>, meaning our images."
-msgstr ""
-"LÃnea 29: mostrar el escenario y <em>todos sus hijos</em>, es decir, las "
-"imÃgenes."
+#~ msgid ""
+#~ "Line 3: Create an <code>Iter</code> object, which is used to iterate over "
+#~ "the <code>DataModel</code>'s records."
+#~ msgstr ""
+#~ "LÃnea 3: crear un objeto <code>Iter</code>, que se usa para iterar sobre "
+#~ "los registros de <code>DataModel</code>."
 
-#: C/photo-wall.c.page:171(p)
-msgid "Line 32: Start the Clutter main loop."
-msgstr "LÃnea 32: iniciar el bucle principal de Clutter."
+#~ 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 "
+#~ "contains the actual, retrieved data. Its <code>move_next</code> method "
+#~ "returns <code>false</code> when it reaches the last record."
+#~ msgstr ""
+#~ "LÃnea 7: recorrer todos los registros, recuperÃndolos con la ayuda del "
+#~ "objeto <code>Iter</code>. En este punto, la variable <code>iter</code> "
+#~ "contiene los datos obtenidos actualmente. Su mÃtodo <code>move_next</"
+#~ "code> devuelve <code>false</code> cuando se alcanza el Ãltimo registro."
 
-#: C/photo-wall.c.page:176(title)
-msgid "Setting up our image actors"
-msgstr "Configurar los actores de imagen"
+#~ msgid "Lines 8â9: We do two things in each line:"
+#~ msgstr "LiÌneas 8â9: se hacen dos cosas en cada liÌnea:"
 
-#: C/photo-wall.c.page:177(p)
-msgid ""
-"In Clutter, an actor is the most basic visual element. Basically, everything "
-"you see is an actor."
-msgstr ""
-"En Clutter, un actor es el elemento visual mÃs simple. BÃsicamente, todo lo "
-"que ve es un actor."
+#~ 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 "
+#~ "<code>SELECT</code> command returns only two columns, we are retrieving "
+#~ "columns 0 and 1."
+#~ msgstr ""
+#~ "Use el mÃtodo <code>get_value_at</code> de <code>Iter</code>, que sÃlo "
+#~ "necesita un argumento: el nÃmero de columna que recuperar, empezando por "
+#~ "0. Ya que el comando <code>SELECT</code> sÃlo devuelve dos columnas, se "
+#~ "estÃn recuperando las columnas 0 y 1."
 
-#: C/photo-wall.c.page:178(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."
-msgstr ""
-"En esta secciÃn, se va a mirar mÃs detenidamente el bucle usado para "
-"configurar los <code>ClutterActor</code> que mostrarÃn las imÃgenes."
-
-#: C/photo-wall.c.page:196(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."
-msgstr ""
-"LÃnea 5: aquà se quiere obtener la ruta a la ubicaciÃn <var>n</var>-Ãsima en "
-"la <code>GSList</code> que contiene los nombres de las rutas de las "
-"imÃgenes. La <var>n</var>-Ãsima posiciÃn se calcula basÃndose en <code>row</"
-"code> y <code>col</code>. El valor de retorno es un puntero a <code>GSList</"
-"code> que es simplemente un nodo en la lista. Esto se usarà para obtener la "
-"ruta actual en la siguiente lÃnea. El primer parÃmetro es un puntero a la "
-"cabecera de la lista."
-
-#: C/photo-wall.c.page:198(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."
-msgstr ""
-"LÃnea 6: aquà es donde actualmente se crea el <code>ClutterActor</code> y se "
-"ubica la imagen en el actor. El primer argumento es la ruta con la que se "
-"acceder al nodo de la <code>GSList</code>. El segundo argumento es para "
-"informar de un error, pero se ignora para simplificar."
+#~ 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 is by using GDA's global function <code>value_stringify</code>. "
+#~ "That's what we are doing here, and we store the results in the variables "
+#~ "<code>id_field</code> and <code>name_field</code>."
+#~ msgstr ""
+#~ "El mÃtodo <code>get_value_at</code> devuelve el campo en el formato "
+#~ "<code>GValue</code> de GLib. Una manera sencilla de convertir este valor "
+#~ "en una cadena es usar la funciÃn global de GDA <code>value_stringify</"
+#~ "code>. Es lo que se està haciendo aquÃ, y el resultado se almacena en las "
+#~ "variables <code>id_field</code> y <code>name_field</code>."
 
-#: C/photo-wall.c.page:200(p)
-msgid "Line 7: We'll look at this function in a later section."
-msgstr "LÃnea 7: està funciÃn se verà en una secciÃn posterior."
+#~ 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."
+#~ msgstr ""
+#~ "LÃnea 11: concatenar los dos registros para formar una lÃnea de texto, "
+#~ "separados por <code>\"=&gt;\"</code>, y almacenarla en la variable "
+#~ "<code>text</code>."
 
-#: C/photo-wall.c.page:202(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."
-msgstr ""
-"LÃnea 8: esto aÃade el <code>ClutterActor</code> al escenario, que es un "
-"contenedor. Asume el propietario del <code>ClutterActor</code>, que es algo "
-"que querrà cuando profundice en el desarrollo de GNOME. Para obtener mÃs "
-"detalles, consulte la <link href=\"http://library.gnome.org/devel/gobject/";
-"stable/gobject-memory.html\">documentaciÃn de <code>GObject</code></link>."
+#~ 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 <code>TextView</code> with that variable."
+#~ msgstr ""
+#~ "LÃnea 14: cuando termine el bucle, se tendrÃn todos los registros "
+#~ "formateados en la variable <code>text</code>. En esta lÃnea, simplemente "
+#~ "se establece el contenido del <code>TextView</code> con esta variable."
 
-#: C/photo-wall.c.page:204(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 ""
-"LÃnea 9: esto aÃade el <code>ClutterActor</code> a una <code>GSList</code> "
-"por lo que luego se podrà iterar sobre los <code>ClutterActor</code>."
+#~ 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."
+#~ msgstr ""
+#~ "LÃnea 15: mostrar el nÃmero de registros en la tabla, usando el mÃtodo "
+#~ "<code>get_n_rows</code> de <code>DataModel</code> <code>get_n_rows</code>."
 
-#: C/photo-wall.c.page:205(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 ""
-"Es interesante tener en cuenta que se prefiere anteponer los "
-"<code>ClutterActor</code> en lugar de adjuntarlos, lo que evita atravesar la "
-"lista en cada inserciÃn. A menudo vera <code>g_slist_prepend</code> seguido "
-"de <code>g_slist_reverse</code>, ya que es mÃs rÃpido que insertar varios "
-"objetos al final de la lista."
+#~ msgid "Inserting"
+#~ msgstr "Insertar"
 
-#: C/photo-wall.c.page:211(title)
-msgid "Loading the images"
-msgstr "Cargar las imÃgenes"
+#~ 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 "
+#~ "remember above, in the method <code>setupWindow</code> we connected the "
+#~ "<gui>Insert</gui> button's <code>clicked</code> signal to the method "
+#~ "<code>_insertClicked</code>? Let's see the implementation of this method."
+#~ msgstr ""
+#~ "Bien, ahora ya sabe cÃmo conectarse a la base de datos y cÃmo seleccionar "
+#~ "filas de una tabla. Ahora es el momento de hacer un <code>INSERT</code> "
+#~ "en la tabla. ÂRecuerda cuando antes, en el mÃtodo <code>setupWindow</"
+#~ "code>, se conectà la seÃal <code>clicked</code> del botÃn <gui>Insertar</"
+#~ "gui> al mÃtodo <code>_insertClicked</code>?. Vea la implementaciÃn de "
+#~ "este mÃtodo."
 
-#: C/photo-wall.c.page:212(p)
-msgid ""
-"Let's take a short break from Clutter to see how we can get the file names "
-"from our image directory."
-msgstr ""
-"TÃmese un pequeÃo descanso de Clutter para ver cÃmo se pueden obtener los "
-"nombres de archivos desde la carpeta de imÃgenes."
+#~ msgid ""
+#~ "We have learned how to use GDA's convenience functions "
+#~ "<code>execute_select_command</code> and <code>execute_non_select_command</"
+#~ "code> to quickly execute SQL commands on the database. GDA allows one to "
+#~ "build a SQL statement indirectly, by using its <code>SqlBuilder</code> "
+#~ "object. What are the benefits of this? GDA will generate the SQL "
+#~ "statement dynamically, and it will be valid for the connection provider "
+#~ "used (it will use the same SQL dialect the provider uses). Let's study "
+#~ "the code:"
+#~ msgstr ""
+#~ "Se ha aprendido a usar las funciones de conveniencia de GDA "
+#~ "<code>execute_select_command</code> y <code>execute_non_select_command</"
+#~ "code> para ejecutar comandos SQL rÃpidamente en la base de datos. GDA le "
+#~ "permite construir una sentencia SQL de manera indirecta, usando su objeto "
+#~ "<code>SqlBuilder</code>. ÂCuÃles son los beneficios de esto? GDA generarà "
+#~ "la sentencia SQL dinÃmicamente, y serà vÃlida para el proveedor de la "
+#~ "conexiÃn usado (usarà el mismo dialecto de SQL que usa el proveedor). "
+#~ "Estudie el cÃdigo:"
 
-#: C/photo-wall.c.page:239(p)
-msgid ""
-"Lines 5 and 12: This opens our directory or, if an error occured, returns "
-"after printing an error message."
-msgstr ""
-"LÃneas 5 y 12: esto abre la carpeta o, si ocurre un error, termina despuÃs "
-"de mostrar un mensaje de error."
+#~ 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 the full demo source code."
+#~ msgstr ""
+#~ "LÃneas 2â3: comprobar si el usuario ha rellenado todos los campos. El "
+#~ "cÃdigo del mÃtodo privado <code>_validateFields</code> es realmente "
+#~ "simple y puede leerlo en el cÃdigo fuente completo de la demostraciÃn."
 
-#: C/photo-wall.c.page:240(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."
-msgstr ""
-"LÃneas 14â23: la primera lÃnea obtiene otro nombre de archivo del "
-"<code>GDir</code> abierto anteriormente. Si hay un archivo de imagen (se "
-"comprueba mirando si la extensiÃn es Â.png o Â.jpgÂ) en la carpeta, se "
-"procede a anteponer la ruta de la carpeta de la imagen al nombre del archivo "
-"y se antepone en la lista creada anteriormente. Por Ãltimo, se intenta "
-"obtener la siguiente ruta y se vuelve a entrar en el bucle si se encuentra "
-"otro archivo."
-
-#: C/photo-wall.c.page:245(title)
-msgid "Set up the actors"
-msgstr "Configurar los actores"
-
-#: C/photo-wall.c.page:246(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."
-msgstr ""
-"Eche un vistazo al tamaÃo y al posicionamiento de los <code>ClutterActor</"
-"code> y a cÃmo se deja listo el <code>ClutterActor</code> para la "
-"interacciÃn del usuario."
+#~ 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 SQL statement portable across databases."
+#~ msgstr ""
+#~ "LÃnea 5: la manera mÃs rÃpida de hacer el <code>INSERT</code>. Se ha "
+#~ "comentado que se quiere mostrar cÃmo usar el objeto <code>SqlBuilder</"
+#~ "code> para construir una sentencia SQL portable entre bases de datos."
 
-#: C/photo-wall.c.page:265(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 "
-"<code>ClutterActor</code>s in the wall should initially be reactive."
-msgstr ""
-"LÃnea 7: configurar un actor como Âreactivo significa que reacciona a los "
-"eventos tales como <code>button-press-event</code> en nuestro caso. Para el "
-"mural de fotos, todos los <code>ClutterActor</code> del mural deben ser "
-"inicialmente reactivos."
+#~ 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>, "
+#~ "<code>UPDATE</code>, <code>INSERT</code> or <code>DELETE</code>."
+#~ msgstr ""
+#~ "LÃnea 7: crear el objeto <code>SqlBuilder</code>. Se debe pasar el tipo "
+#~ "de sentencia que se va a construir. Puede ser <code>SELECT</code>, "
+#~ "<code>UPDATE</code>, <code>INSERT</code> o <code>DELETE</code>."
 
-#: C/photo-wall.c.page:268(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."
-msgstr ""
-"LÃneas 9â12: ahora se conecta el evento <code>button-press-event</code> al "
-"retorno de la llamada <code>actor_clicked_cb</code> que veremos mÃs adelante."
+#~ msgid ""
+#~ "Line 8: Set the name of the table on which the built statement will "
+#~ "operate (it will generate <code>INSERT INTO demo</code>)"
+#~ msgstr ""
+#~ "LÃnea 8: establecer el nombre de la base de datos en la que operarà la "
+#~ "sentencia construida (generarà <code>INSERT INTO demo</code>)"
 
-#: C/photo-wall.c.page:271(p)
-msgid "At this point we've got a wall of images that are ready to be viewed."
-msgstr "En este punto tiene un mural de fotos que està listo para verse."
+#~ 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 "
+#~ "second one is the value for that field."
+#~ msgstr ""
+#~ "LÃneas 9â10: establecer los campos que formarÃn parte de la sentencia y "
+#~ "sus valores. El primer argumento es el nombre del campo (como aparece en "
+#~ "la tabla). El segundo es el valor de este campo."
 
-#: C/photo-wall.c.page:275(title)
-msgid "Reacting to the clicks"
-msgstr "Reaccionar a las pulsaciones"
+#~ msgid ""
+#~ "Line 11: Get the dynamically generated <code>Statement</code> object, "
+#~ "which represents a SQL statement."
+#~ msgstr ""
+#~ "LÃnea 11: obtener el objeto <code>Statement</code> generado "
+#~ "dinÃmicamente, que representa una sentencia SQL."
 
-#: C/photo-wall.c.page:320(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, "
-"we will only use the first argument, the <code>ClutterActor</code> that is "
-"actually clicked."
-msgstr ""
-"LÃneas 1â4: hay que asegurarse de que la funciÃn de retorno de llamada "
-"coincide con la firma requerida para la seÃal <code>button_clicked_event</"
-"code>. En este ejemplo, sÃlo se usarà el primer argumento, el "
-"<code>ClutterActor</code> pulsado actualmente."
+#~ msgid "Line 12: Finally, execute the SQL statement (<code>INSERT</code>)."
+#~ msgstr ""
+#~ "LÃnea 12: finalmente, ejecutar la sentencia SQL (<code>INSERT</code>)."
 
-#: C/photo-wall.c.page:322(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 "
-"handled. For example, a key event produces a <code>ClutterKeyEvent</code> "
-"from which you can get the key being pressed among other information. For "
-"mouse click events you get a <code>ClutterButtonEvent</code> from which you "
-"can get the <code>x</code> and <code>y</code> values. See the Clutter "
-"documentation for other <code>ClutterEvent</code> types."
-msgstr ""
-"Unas pocas palabras sobre los argumentos que no se estÃn usando en este "
-"ejemplo. El <code>ClutterEvent</code> es diferente dependiendo de quà evento "
-"se està manejando. Por ejemplo, un evento de clave produce un "
-"<code>ClutterKeyEvent</code> desde el que puede obtener la clave pulsada, "
-"entre otra informaciÃn. Para eventos de pulsaciones del ratÃn, obtiene un "
-"<code>ClutterButtonEvent</code> con el que pueden obtener los valores "
-"<code>x</code> e <code>y</code>. Consulte la documentaciÃn de Clutter para "
-"obtener informaciÃn sobre otros tipos de <code>ClutterEvent</code>."
-
-#: C/photo-wall.c.page:323(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."
-msgstr ""
-"El <code>user_data</code> es lo que se usa para pasar datos a una funciÃn. "
-"Se puede pasar un puntero a cualquier tipo de estructura de datos. Si "
-"necesita pasar varios datos al retorno de la llamada, puede colocar los "
-"datos en una estructura y pasar un puntero a su direcciÃn."
+#~ 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 it in the full demo source code."
+#~ msgstr ""
+#~ "LÃnea 14: limpiar los campos Âid y Âname en la pantalla. El cÃdigo del "
+#~ "mÃtodo privado <code>_clearFields</code> es muy sencillo, y puede leerlo "
+#~ "en el cÃdigo fuente de la demostraciÃn completa."
 
-#: C/photo-wall.c.page:327(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 "
-"the flag to <code>FALSE</code> initially."
-msgstr ""
-"LÃnea 7: se establece un indicador estÃtico para seguir el estado en el que "
-"se estÃ: modo mural o modo de foco. Se inicia en modo mural, por lo que "
-"ninguna imagen tiene el foco. Por ello, el indicador se establece "
-"inicialmente a <code>FALSE</code>."
+#~ msgid ""
+#~ "Line 15: Refresh the view on the screen by doing another <code>SELECT</"
+#~ "code>."
+#~ msgstr ""
+#~ "LÃnea 15: actualizar la vista en la pantalla haciendo otro <code>SELECT</"
+#~ "code>."
 
-#: C/photo-wall.c.page:328(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 ""
-"LÃnea 9: esta lÃnea de cÃdigo ejecuta una funciÃn personalizada, "
-"<code>foreach_set_focus_state</code>, para cada elemento de la "
-"<code>actor_list</code>, pasando la direcciÃn al indicador <code>is_focused</"
-"code>. La definiciÃn de la funciÃn <code>foreach_set_focus_state</code> se "
-"verà en la siguiente secciÃn."
+#~ 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 attacks like SQL injection. Check the <link href=\"http://";
+#~ "library.gnome.org/devel/libgda/stable/\">GDA documentation</link> for "
+#~ "more information about parameters."
+#~ msgstr ""
+#~ "TambiÃn puede usar parÃmetros mientras construye la sentencia. Usando "
+#~ "objetos y parÃmetros <code>SqlBuilder</code> serà menos susceptible a "
+#~ "ataques de inyecciÃn de SQL. Para obtener informaciÃn adicional sobre los "
+#~ "parÃmetros, consulte la <link href=\"http://library.gnome.org/devel/";
+#~ "libgda/stable/\">documentaciÃn de GDA</link>."
 
-#: C/photo-wall.c.page:329(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 ""
-"LÃneas 13â19: llegar a este cÃdigo significa que actualmente sÃlo una imagen "
-"tiene el foco, y se quiere volver al modo mural. La funciÃn "
-"<code>clutter_actor_animate</code> se usa para animar una o varias "
-"propiedades de un <code>ClutterActor</code> desde su estado actual al estado "
-"especificado. Los argumentos son como sigue:"
+#~ msgid "Run the application"
+#~ msgstr "Ejecutar la aplicaciÃn"
 
-#: C/photo-wall.c.page:331(p)
-msgid "The address of the <code>ClutterActor</code> to animate"
-msgstr "La direcciÃn del <code>ClutterActor</code> que animar"
+#~ 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!"
+#~ msgstr ""
+#~ "Todo el cÃdigo que necesita debe estar en su lugar, asà que trate de "
+#~ "ejecutar el cÃdigo. Ahora tiene una base de datos para su colecciÃn de "
+#~ "registros."
 
-#: C/photo-wall.c.page:332(p)
-msgid ""
-"The animation mode to use. Here we use <code>CLUTTER_LINEAR</code> so that "
-"we have a constant speed for animation."
-msgstr ""
-"El modo de animaciÃn que usar. Aquà se ha usado <code>CLUTTER_LINEAR</code> "
-"por lo que se tiene una velocidad constante en la animaciÃn."
+#~ msgid "Reference Implementation"
+#~ msgstr "ImplementaciÃn de referencia"
 
-#: C/photo-wall.c.page:333(p)
-msgid ""
-"The duration of the animation in milliseconds. I've chosen 500 ms for this "
-"example."
-msgstr ""
-"La duraciÃn de la animaciÃn, en milisegundos. Se ha escogido 500 ms para "
-"este ejemplo."
+#~ msgid ""
+#~ "If you run into problems with the tutorial, compare your code with this "
+#~ "<link href=\"record-collection/record-collection.js\">reference code</"
+#~ "link>."
+#~ msgstr ""
+#~ "Si tiene problemas con este tutorial, compare su cÃdigo con este <link "
+#~ "href=\"record-collection/record-collection.js\">cÃdigo de referencia</"
+#~ "link>."
 
-#: C/photo-wall.c.page:334(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 ""
-"El resto de argumentos son parejas propiedad/valor. Aquà se quiere "
-"establecer el valor <code>x</code> al valor <code>x</code> inicial en el que "
-"estaba el <code>ClutterActor</code> antes de darle el foco."
+#~ msgid ""
+#~ "@@image: 'media/photo-wall.png'; md5=f19590d97e8ec029cda3c44b769c11cd"
+#~ msgstr ""
+#~ "@@image: 'media/photo-wall.png'; md5=f19590d97e8ec029cda3c44b769c11cd"
 
-#: C/photo-wall.c.page:335(p)
-msgid ""
-"The last argument must always be <code>NULL</code> to indicate that there "
-"are no more properties to be set."
-msgstr ""
-"El Ãltimo argumento debe ser siempre <code>NULL</code> para indicar que no "
-"hay mÃs propiedades que configurar."
+#~ msgid ""
+#~ "@@image: 'media/photo-wall-focused.png'; "
+#~ "md5=9f1ceecf3a28c1e468597b093a10cbae"
+#~ msgstr ""
+#~ "@@image: 'media/photo-wall-focused.png'; "
+#~ "md5=9f1ceecf3a28c1e468597b093a10cbae"
 
-#: C/photo-wall.c.page:337(p)
-msgid ""
-"The <code>depth</code> property needs a little more explaining. We need to "
-"raise the focused image so that it doesn't slide behind other "
-"<code>ClutterActor</code>s. In this section we are returning it to the same "
-"depth as the others on the wall."
-msgstr ""
-"La propiedad <code>depth</code> necesita un poco mÃs de explicaciÃn. Se debe "
-"elevar la imagen que tiene el foco para que no se deslice por debajo de "
-"otros <code>ClutterActor</code>. En esta secciÃn se està devolviendo a la "
-"misma profundidad que las otras en el mural."
+#~ msgid "A Clutter image viewer"
+#~ msgstr "Un visor de imÃgenes Clutter"
 
-#: C/photo-wall.c.page:338(p)
-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 ""
-"La profundidad tambiÃn determina quà <code>ClutterActor</code> recibe "
-"eventos. Un <code>ClutterActor</code> con una profundidad alta recibe los "
-"eventos de las pulsaciones y puede elegir si el evento se envÃa a un "
-"<code>ClutterActor</code> que està debajo de Ãl. Se verà cÃmo funciona esto "
-"en pocos pasos."
+#~ msgid "Chris KÃhl"
+#~ msgstr "Chris KÃhl"
 
-#: C/photo-wall.c.page:340(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 ""
-"LÃnea 24: llegar a esta lÃnea de cÃdigo significa que actualmente se està en "
-"el modo mural y se va a dar el foco a un <code>ClutterActor</code>. Aquà se "
-"guarda la posiciÃn inicial, por lo que se puede volver a ella mÃs adelante."
+#~ msgid "chrisk openismus com"
+#~ msgstr "chrisk openismus com"
 
-#: C/photo-wall.c.page:341(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 "
-"events. In this focused state the only <code>ClutterActor</code> that we "
-"want to receive events will be the <code>ClutterActor</code> being viewed. "
-"Clicking on the <code>ClutterActor</code> will return it to its starting "
-"position."
-msgstr ""
-"LÃnea 25: establecer la propiedad <code>reactive</code> del "
-"<code>ClutterActor</code> a <code>TRUE</code> hace que este "
-"<code>ClutterActor</code> reaccione a los eventos. En el estado Âcon focoÂ, "
-"el Ãnico <code>ClutterActor</code> que se quiere que reciba eventos es el "
-"<code>ClutterActor</code> que se està viendo. Al pulsar sobre el "
-"<code>ClutterActor</code> volverà a su posiciÃn inicial."
-
-#: C/photo-wall.c.page:342(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."
-msgstr ""
-"LÃneas 27â33: esto es similar al bloque de cÃdigo anterior. Tenga en cuenta "
-"que se està estableciendo la profundidad para elevarlo por encima del resto "
-"de imÃgenes."
+#~ msgid "Photo Wall"
+#~ msgstr "Mural de fotos"
 
-#: C/photo-wall.c.page:343(p)
-msgid ""
-"Line 37: Here we toggle the <code>is_focused</code> flag to the current "
-"state."
-msgstr ""
-"LÃnea 37: aquà se cambia la opciÃn <code>is_focused</code> al estado actual."
+#~ msgid ""
+#~ "For this example we will build a simple image viewer using Clutter. You "
+#~ "will learn:"
+#~ msgstr ""
+#~ "Para este ejemplo se construirà un sencillo visor de imÃgenes usando "
+#~ "Clutter. AprenderÃ:"
 
-#: C/photo-wall.c.page:344(p)
-msgid ""
-"As mentioned previously, the <code>ClutterActor</code>s with higher "
-"<code>depth</code> values receive events but can allow <code>ClutterActor</"
-"code>s below them to also receive events. Returning <code>TRUE</code> will "
-"stop events from being passed down, while <code>FALSE</code> will pass "
-"events down."
-msgstr ""
-"Como se ha mencionado anteriormente, los <code>ClutterActor</code> con "
-"valores de <code>depth</code> mÃs altos recibirÃn eventos, pero pueden "
-"permitir que los <code>ClutterActor</code> que estÃn por denajo de ellos "
-"tambiÃn reciban eventos. Al devolver <code>TRUE</code> se dejarÃn de enviar "
-"eventos havia abajo, mientras que <code>FALSE</code> harà que los eventos "
-"pasen hacia abajo."
-
-#: C/photo-wall.c.page:346(p)
-msgid ""
-"Remember, however, that to receive events the <code>ClutterActor</code>s "
-"must be set <code>reactive</code>."
-msgstr ""
-"Recuerde, sin embargo, que para que los <code>ClutterActor</code> reciban "
-"eventos deben establecerse como <code>reactive</code>."
+#~ msgid "How to size and position <code>ClutterActor</code>s"
+#~ msgstr "CÃmo dimensionar y posicionar varios <code>ClutterActor</code>"
 
-#: C/photo-wall.c.page:350(p)
-msgid ""
-"The following is the convenience function passed to <code>g_slist_foreach</"
-"code>."
-msgstr ""
-"Lo siguiente es la funciÃn de conveniencia pasada a <code>g_slist_foreach</"
-"code>."
+#~ msgid "How to place an image in a <code>ClutterActor</code>"
+#~ msgstr "CÃmo situar una imagen en un <code>ClutterActor</code>"
 
-#: C/photo-wall.c.page:363(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 ""
-"LÃneas 2â5: la firma de esta funciÃn requiere dos <code>gpointer</code>. El "
-"primero es un puntero al <code>ClutterActor</code> contenido en la "
-"<code>GSList</code> y el otro es el indicador <code>is_focused</code> que se "
-"ha pasado en la secciÃn anterior. Se quiere convertir su tipo (ÂcastÂ) y "
-"almacenarlos para que sea fÃcil usarlos."
+#~ msgid "How to do simple transitions using Clutter's animation framework"
+#~ msgstr ""
+#~ "CÃmo hacer transiciones sencillas usando el entorno de trabajo de "
+#~ "animaciones de Clutter"
 
-#: C/photo-wall.c.page:364(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 ""
-"LÃnea 7: dependiendo de quà valor booleano se pasa, el <code>ClutterActor</"
-"code> se establecerà para que responda o no a eventos."
+#~ msgid "How to make <code>ClutterActor</code>s respond to mouse events"
+#~ msgstr ""
+#~ "CÃmo hacer que un <code>ClutterActor</code> responda a los eventos del "
+#~ "ratÃn"
 
-#: C/photo-wall.c.page:369(title) C/image-viewer.vala.page:272(title)
-#: C/image-viewer.c.page:214(title) C/guitar-tuner.vala.page:246(title)
-#: C/guitar-tuner.cpp.page:249(title) C/guitar-tuner.c.page:249(title)
-msgid "Build and run the application"
-msgstr "Construir y ejecutar la aplicaciÃn"
+#~ msgid "How to get file names from a directory"
+#~ msgstr "CÃmo obtener nombres de archivos de una carpeta"
 
-#: C/photo-wall.c.page:370(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</"
-"file> directory. If you want, you can change the <code>#define "
-"IMAGE_DIR_PATH</code> line near the top to refer to your photo directory, or "
-"create a <file>berlin_images</file> directory by clicking "
-"<guiseq><gui>Project</gui><gui>New Directory...</gui></guiseq> and creating "
-"a <file>berlin_images</file> directory as a subdirectory of the <file>photo-"
-"wall</file> directory. Make sure to put at least twelve images in the "
-"directory!"
-msgstr ""
-"Todo el cÃdigo deberÃa estar listo para ejecutarse. Todo lo que necesita son "
-"algunas imÃgenes para cargar. De manera predeterminada, las imÃgenes se "
-"cargan desde la carpeta <file>berlin_images</file>. Si quiere, puede cambiar "
-"la lÃnea <code>#define IMAGE_DIR_PATH</code> del principio para que haga "
-"referencia a su carpeta de fotos, o crear una carpeta <file>berlin_images</"
-"file> pulsando en <guiseq><gui>Proyecto</gui><gui>Carpeta nueva...</gui></"
-"guiseq> y creando una carpeta <file>berlin_images</file> como subcarpeta de "
-"la carpeta <file>mural-fotos</file>. AsegÃrese de poner al menos doce "
-"imÃgenes en la carpeta."
-
-#: C/photo-wall.c.page:372(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</"
-"gui><gui>Execute</gui></guiseq> to start the application."
-msgstr ""
-"Cuando lo haya hecho, pulse <guiseq><gui>Construir</gui><gui>Construir "
-"proyecto</gui></guiseq> para construir todo otra vez, y entonces pulse "
-"<guiseq><gui>Ejecutar</gui><gui>Ejecutar</gui></guiseq> para iniciar la "
-"aplicaciÃn."
+#~ msgid ""
+#~ "Clutter is a library for creating dynamic user interfaces using OpenGL "
+#~ "for hardware acceleration. This example demonstates a small, but central, "
+#~ "part of the Clutter library to create a simple but attractive image "
+#~ "viewing program."
+#~ msgstr ""
+#~ "Clutter es una biblioteca para crear interfaces de usuarios dinÃmicas "
+#~ "usando OpenGL para la aceleraciÃn grÃfica. Este ejemplo demuestra una "
+#~ "pequeÃa, pero importante parte de la biblioteca Clutter para crear un "
+#~ "sencillo pero atractivo programa para ver imÃgenes."
 
-#: C/photo-wall.c.page:373(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 "
-"enjoy!"
-msgstr ""
-"Si todavÃa no lo ha hecho, elija la aplicaciÃn <file>Debug/src/photo-wall</"
-"file> en el diÃlogo que aparece. Finalmente, pulse <gui>Ejecutar</gui> y "
-"disfrute."
+#~ 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."
+#~ msgstr ""
+#~ "Para ayudarle a conseguir su objetivo, tambiÃn se utilizarÃn algunos "
+#~ "fragmentos comunes de GLib. MÃs importante es que se usarà una "
+#~ "<code>GSList</code>, una lista simple enlazada para tener el "
+#~ "<code>ClutterActor</code> y otro para los nombres de las rutas de los "
+#~ "archivos. TambiÃn se usarà <code>GDir</code>, una utilidad para trabajar "
+#~ "con carpetas, acceder a nuestra carpeta de imÃgenes y obtener rutas de "
+#~ "archivos."
 
-#: C/photo-wall.c.page:378(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>."
-msgstr ""
-"Si tiene problemas con este tutorial, compare su cÃdigo con este <link href="
-"\"photo-wall/photo-wall.c\">cÃdigo de referencia</link>."
+#~ 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 ""
+#~ "Seleccione <gui>Gtk+ (simple)</gui> en la pestaÃa <gui>C</gui>, pulse "
+#~ "<gui>Continuar</gui>, y rellene los detalles en las siguientes pÃginas. "
+#~ "Use <file>mural-de-fotos</file> como nombre del proyecto y de la carpeta."
 
-#. When image changes, this message will be marked fuzzy or untranslated for you.
-#. It doesn't matter what you translate it to: it's not used at all.
-#: C/toolbar.js.page:19(None)
-msgid "@@image: 'media/toolbar.png'; md5=65d00f92e142de153e3a3e95a89603ae"
-msgstr "@@image: 'media/toolbar.png'; md5=65d00f92e142de153e3a3e95a89603ae"
+#~ 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="
+#~ "\"guitar-tuner.c\">Guitar-Tuner</link> tutorial using the interface "
+#~ "builder."
+#~ msgstr ""
+#~ "AsegÃrese de que <gui>Usar GtkBuilder para la interfaz del usuario</gui> "
+#~ "està desactivado, ya que, en este tutorial, la IU se crearà manualmente. "
+#~ "Revise el tutorial del <link xref=\"guitar-tuner.c\">afinador de "
+#~ "guitarra</link> usando el constructor de interfaces."
 
-#: C/toolbar.js.page:14(desc)
-msgid "A toolbar widget which is connected to a Dialog widget"
-msgstr "Un widget de barra de herramientas conectado a un widget de diÃlogo"
+#~ 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 "
+#~ "project."
+#~ msgstr ""
+#~ "Active <gui>Configurar paquetes externos</gui>. En la pÃgina siguiente, "
+#~ "seleccione <em>clutter-1.0</em> de la lista para incluir la biblioteca "
+#~ "Clutter en su proyecto."
 
-#: C/toolbar.js.page:17(title)
-msgid "Toolbar widget"
-msgstr "Widget de barra de herramientas"
+#~ 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. You should see some code which starts with the lines:"
+#~ msgstr ""
+#~ "Pulse <gui>Aplicar</gui> y se crearà el proyecto. Abra <file>src/main.c</"
+#~ "file> desde las pestaÃas <gui>Proyecto</gui> o <gui>Archivo</gui>. "
+#~ "DeberÃa ver algo de cÃdigo que comience con las lÃneas:"
 
-#: C/toolbar.js.page:20(p)
-msgid ""
-"Toolbar is a widget that may contain either text or stock icons. In this "
-"sample we use stock icons."
-msgstr ""
-"La barra de herramientas es un widget que puede contener texto e iconos del "
-"almacÃn. En este ejemplo se usan iconos del almacÃn."
+#~ msgid "A look at Photo Wall"
+#~ msgstr "Un vistazo al mural de fotos"
 
-#: C/toolbar.js.page:49(p)
-msgid ""
-"In this sample we use the following widgets: <link href=\"http://www.roojs.";
-"com/seed/gir-1.2-gtk-3.0/gjs/Gtk.Window.html\">Gtk.Window</link>, <link href="
-"\"http://www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.Grid.html\";>Gtk.Grid</"
-"link>, <link href=\"http://www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.";
-"Toolbar.html\">Gtk.Toolbar</link>, <link href=\"http://www.roojs.com/seed/";
-"gir-1.2-gtk-3.0/gjs/Gtk.ToolButton.html\">Gtk.ToolButton</link>, <link href="
-"\"http://www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.Dialog.html\";>Gtk."
-"Dialog</link>."
-msgstr ""
-"En este ejemplo se usan los siguientes widgets: <link href=\"http://www.";
-"roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.Window.html\">Gtk.Window</link>, "
-"<link href=\"http://www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.Grid.html";
-"\">Gtk.Grid</link>, <link href=\"http://www.roojs.com/seed/gir-1.2-gtk-3.0/";
-"gjs/Gtk.Toolbar.html\">Gtk.Toolbar</link>, <link href=\"http://www.roojs.com/";
-"seed/gir-1.2-gtk-3.0/gjs/Gtk.ToolButton.html\">Gtk.ToolButton</link>, <link "
-"href=\"http://www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.Dialog.html\";>Gtk."
-"Dialog</link>."
+#~ msgid "Our image viewer presents the user with a wall of images."
+#~ msgstr "El visor de imÃgenes muestra al usuario un mural de imÃgenes."
 
-#. When image changes, this message will be marked fuzzy or untranslated for you.
-#. It doesn't matter what you translate it to: it's not used at all.
-#: C/message-board.c.page:35(None)
-msgid ""
-"@@image: 'media/message-board.ogv'; md5=beb80c4538776dc2cdd26c95abea5027"
-msgstr ""
-"@@image: 'media/message-board.ogv'; md5=beb80c4538776dc2cdd26c95abea5027"
+#~ 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 an animation with the same duration of 500 milliseconds."
+#~ msgstr ""
+#~ "Cuando se pulsa una imagen, esta se anima para que rellene el Ãrea de "
+#~ "visualizaciÃn. Cuando se pulsa la imagen que tiene el foco, vuelve a su "
+#~ "tamaÃo original usando una animaciÃn que dura 500 milisegundos."
 
-#: C/message-board.c.page:9(desc)
-msgid "A simple program using WebKitGTK+ and the DOM."
-msgstr "Un programa sencillo usando WebKitGTK+ y el DOM."
+#~ msgid "Initial setup"
+#~ msgstr "ConfiguraciÃn inicial"
 
-#: C/message-board.c.page:13(name) C/index.page:12(name)
-msgid "Shaun McCance"
-msgstr "Shaun McCance"
+#~ 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 sections. Copy this code to the beginning of <file>src/main.c</"
+#~ "file>:"
+#~ msgstr ""
+#~ "El siguiente fragmento de cÃdigo contiene muchas definiciones y variables "
+#~ "que se usarÃn en las siguientes secciones. Ãselo como referencia para las "
+#~ "prÃximas secciones. Copie este cÃdigo al principio de <file>src/main.c</"
+#~ "file>:"
 
-#: C/message-board.c.page:14(email) C/index.page:13(email)
-msgid "shaunm gnome org"
-msgstr "shaunm gnome org"
+#~ msgid "Jumping into the code"
+#~ msgstr "Saltar dentro del cÃdigo"
 
-#: C/message-board.c.page:15(years) C/index.page:14(years)
-msgid "2010"
-msgstr "2010"
+#~ 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 "
+#~ "<file>src/main.c</file> to contain this <code>main()</code> function. You "
+#~ "can delete the <code>create_window()</code> function as we don't need it "
+#~ "in this example."
+#~ msgstr ""
+#~ "Se empezarà echando un vistazo a la funciÃn <code>main()</code> completa. "
+#~ "Luego se verà el resto de secciones del cÃdigo en detalle. Cambie el "
+#~ "archivo <file>src/main.c</file> para que contenga la funciÃn <code>main()"
+#~ "</code>. Puede eliminar la funciÃn <code>create_window()</code>, ya que "
+#~ "no se usa en este ejemplo."
 
-#: C/message-board.c.page:20(title)
-msgid "Message Board"
-msgstr "Cuadro de mensajes"
+#~ 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 "
+#~ "transparency a value of 255 is opaque."
+#~ msgstr ""
+#~ "LÃnea 4: <code>ClutterColor</code> se define configurando los valores de "
+#~ "rojo, verde, azul y de transparencia (alfa). Los valores van de 0 a 255. "
+#~ "Para la transparencia, el valor 255 es opaco."
 
-#: C/message-board.c.page:25(p)
-msgid "How to display a web page with WebKit."
-msgstr "CÃmo mostrar una pÃgina web con WebKit"
+#~ msgid ""
+#~ "Line 7: You must initialize Clutter. If you forget to do this, you will "
+#~ "get very strange errors. Be warned."
+#~ msgstr ""
+#~ "LÃnea 7: debe inicializar Clutter. Si olvida hacerlo, obtendrà mensajes "
+#~ "muy extraÃos. Queda advertido."
 
-#: C/message-board.c.page:26(p)
-msgid ""
-"How to manipulate the contents of a web page using WebKit's DOM functions."
-msgstr ""
-"Como manipular el contenido de una pÃgina web usando las funciones del DOM "
-"del WebKit."
+#~ 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."
+#~ msgstr ""
+#~ "LÃneas 9â11: aquà es donde se obtiene el <code>ClutterStage</code> "
+#~ "predeterminado que <code>clutter_init</code> proporcionÃ. Entonces se "
+#~ "establece el tamaÃo usando el definido en la secciÃn anterior y las "
+#~ "direcciones del <code>ClutterColor</code> que ya estÃn definidas."
 
-#: C/message-board.c.page:29(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 "
-"widgets and how to connect callback functions to signals. See <link xref="
-"\"image-viewer.c\"/> to learn the basics of GTK+."
-msgstr ""
-"En este tutorial se asume que està familiarizado con el lenguaje de "
-"programaciÃn C y que tiene un conocimiento bÃsico de GTK+, incluyendo cÃmo "
-"crear y colocar widgets y cÃmo conectar funciones de retorno de retorno de "
-"la llamadas a seÃales. Consulte la <link xref=\"image-viewer.c\"/> para "
-"aprender las nociones bÃsicas de GTK+."
+#~ msgid ""
+#~ "A <code>ClutterStage</code> is the top-level <code>ClutterActor</code> "
+#~ "onto which other <code>ClutterActor</code>s are placed."
+#~ msgstr ""
+#~ "Un <code>ClutterStage</code> es el nivel superior de un "
+#~ "<code>ClutterActor</code> en el que se ubican otros <code>ClutterActor</"
+#~ "code>."
 
-#: C/message-board.c.page:42(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 "
-"on the Internet, but also to create rich user interfaces that can be easily "
-"styled with CSS."
-msgstr ""
-"La plataforma GNOME incluye WebKitGTK+, construido sobre el potente marco de "
-"trabajo WebKit. WebKitGTK se usa en todo GNOME, no sÃlo para ver pÃginas web "
-"en Internet, sino tambiÃn para crear interfaces de usuario enriquecidas a "
-"las que se pueden aÃadir estilos fÃcilmente con CSS."
+#~ msgid ""
+#~ "Line 12: Here we call our function for getting the image file paths. "
+#~ "We'll look at this in a bit."
+#~ msgstr ""
+#~ "LÃnea 12: aquà se llama a la funciÃn para obtener las rutas de las "
+#~ "imÃgenes. Esto se verà en breve."
 
-#: C/message-board.c.page:47(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 "
-"of messages in HTML. Before you begin, you need to set up a project in "
-"Anjuta."
-msgstr ""
-"En este tutorial, se crearà un cuadro de mensajes sencillo usando WebKit. El "
-"cuadro de mensajes le permitirà introducir algÃn texto y aÃadirlo a una "
-"lista de mensajes en HTML. Antes de empezar, deberà configurar un proyecto "
-"en Anjuta."
+#~ 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."
+#~ msgstr ""
+#~ "LÃneas 14â26: aquà es donde se configuran los <code>ClutterActor</code>, "
+#~ "se cargan las imÃgenes y se colocan en su sitio en el mural de imÃgenes. "
+#~ "Esto se verà con mÃs detalle en la siguiente secciÃn."
 
-#: C/message-board.c.page:53(p)
-msgid ""
-"In Anjuta, click <guiseq><gui>File</gui><gui>New</gui><gui>Project</gui></"
-"guiseq> to open the new project assistant."
-msgstr ""
-"En Anjuta, pulse <guiseq><gui>Archivo</gui><gui>Nuevo</gui><gui>Proyecto</"
-"gui></guiseq> para abrir el asistente para proyecto nuevo."
+#~ msgid ""
+#~ "Line 29: Show the stage and <em>all its children</em>, meaning our images."
+#~ msgstr ""
+#~ "LÃnea 29: mostrar el escenario y <em>todos sus hijos</em>, es decir, las "
+#~ "imÃgenes."
 
-#: C/message-board.c.page:55(p)
-msgid ""
-"Select <gui>GTK+ (simple)</gui> on the <gui>C</gui> tab, and click "
-"<gui>Continue</gui>."
-msgstr ""
-"Seleccione <gui>GTK+ (simple)</gui> en la pestaÃa <gui>C</gui> y pulse "
-"<gui>Continuar</gui>."
+#~ msgid "Line 32: Start the Clutter main loop."
+#~ msgstr "LÃnea 32: iniciar el bucle principal de Clutter."
 
-#: C/message-board.c.page:57(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>."
-msgstr ""
-"Rellene sus detalles en la pÃgina <gui>InformaciÃn bÃsica</gui>. Use "
-"<input>cuadro-mensajes</input> para el nombre del proyecto. Pulse "
-"<gui>Continuar</gui>."
+#~ msgid "Setting up our image actors"
+#~ msgstr "Configurar los actores de imagen"
 
-#: C/message-board.c.page:60(p)
-msgid ""
-"Disable the <gui>Use GtkBuilder for user interface</gui> option as this "
-"tutorial builds the user-interface manually."
-msgstr ""
-"Desactive la opciÃn <gui>Usar GtkBuilder para la interfaz del usuario</gui>, "
-"ya que, en este tutorial, la interfaz de usuario se construye manualmente."
+#~ msgid ""
+#~ "In Clutter, an actor is the most basic visual element. Basically, "
+#~ "everything you see is an actor."
+#~ msgstr ""
+#~ "En Clutter, un actor es el elemento visual mÃs simple. BÃsicamente, todo "
+#~ "lo que ve es un actor."
 
-#: C/message-board.c.page:63(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</"
-"gui>. Click <gui>Continue</gui>. On the <gui>Configure external packages</"
-"gui> page, check <gui>webkitgtk-3.0</gui>."
-msgstr ""
-"Deberà indicar a Anjuta que va a usar WebKitGTK+ en este proyecto. En la "
-"pÃgina <gui>Opciones del proyecto</gui>, seleccione <gui>Configurar paquetes "
-"externos</gui>. Pulse <gui>Continuar</gui>. En la pÃgina <gui>Configurar "
-"paquetes externos</gui> seleccione <gui>webkitgtk-3.0</gui>."
+#~ 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."
+#~ msgstr ""
+#~ "En esta secciÃn, se va a mirar mÃs detenidamente el bucle usado para "
+#~ "configurar los <code>ClutterActor</code> que mostrarÃn las imÃgenes."
 
-#: C/message-board.c.page:69(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 "
-"will have filled this in with some basic GTK+ code from its templates. Since "
-"you are creating a WebKit project, you first need to include the WebKit "
-"headers. After the line that includes <code>gtk/gtk.h</code>, add the "
-"following line:"
-msgstr ""
-"Cuando termine el asistente de creaciÃn de un nuevo proyecto, abra el "
-"archivo <file>src/main.c</file> desde la pestaÃa <gui>Proyecto</gui> o desde "
-"<gui>Archivo</gui>. Anjuta lo habrà rellenado con algo de cÃdigo GTK+ bÃsico "
-"de sus plantillas. Ya que està creando un proyecto WebKit, primero debe "
-"incluir las cabeceras de WebKit. DespuÃs de la lÃnea que incluye <code>gtk/"
-"gtk.h</code>, aÃada la siguiente lÃnea:"
-
-#: C/message-board.c.page:76(code)
-#, no-wrap
-msgid "#include &lt;webkit/webkit.h&gt;"
-msgstr "#include &lt;webkit/webkit.h&gt;"
-
-#: C/message-board.c.page:78(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 "
-"<keyseq><key>Shift</key><key>F7</key></keyseq>. The first time you build, "
-"you will be asked for some configure options. Just accept the defaults and "
-"click <gui>Execute</gui>."
-msgstr ""
-"Verifique que todo funciona construyendo lo que tiene hasta ahora. Pulse "
-"<guiseq><gui>Construir</gui><gui>Construir proyecto</gui></guiseq> o "
-"simplemente pulse <keyseq><key>MayÃs</key><key>F7</key></keyseq>. La primera "
-"vez que construya, se le pedirÃn algunas opciones de configuraciÃn. "
-"Simplemente acepte los valores predeterminados y pulse <gui>Ejecutar</gui>."
+#~ 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."
+#~ msgstr ""
+#~ "LÃnea 5: aquà se quiere obtener la ruta a la ubicaciÃn <var>n</var>-Ãsima "
+#~ "en la <code>GSList</code> que contiene los nombres de las rutas de las "
+#~ "imÃgenes. La <var>n</var>-Ãsima posiciÃn se calcula basÃndose en "
+#~ "<code>row</code> y <code>col</code>. El valor de retorno es un puntero a "
+#~ "<code>GSList</code> que es simplemente un nodo en la lista. Esto se usarà "
+#~ "para obtener la ruta actual en la siguiente lÃnea. El primer parÃmetro es "
+#~ "un puntero a la cabecera de la lista."
 
-#: C/message-board.c.page:84(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 "
-"an empty window appear."
-msgstr ""
-"Ahora deberÃa poder ejecutar el programa. Pulse <guiseq><gui>Ejecutar</"
-"gui><gui>Ejecutar</gui></guiseq> o simplemente pulse <key>F3</key>. DeberÃa "
-"ver aparecer una ventana vacÃa."
+#~ 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."
+#~ msgstr ""
+#~ "LÃnea 6: aquà es donde actualmente se crea el <code>ClutterActor</code> y "
+#~ "se ubica la imagen en el actor. El primer argumento es la ruta con la que "
+#~ "se acceder al nodo de la <code>GSList</code>. El segundo argumento es "
+#~ "para informar de un error, pero se ignora para simplificar."
 
-#: C/message-board.c.page:90(title)
-msgid "Lay out your window and web view"
-msgstr "La disposiciÃn de la ventana y la vista web"
+#~ msgid "Line 7: We'll look at this function in a later section."
+#~ msgstr "LÃnea 7: està funciÃn se verà en una secciÃn posterior."
 
-#: C/message-board.c.page:92(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 "
-"into a window. Find the function <code>create_window</code> and replace it "
-"with the following:"
-msgstr ""
-"Ahora que puede mostrar una ventana, es el momento de empezar a trabajar con "
-"WebKit. Para este tutorial, se crearà una entrada de texto y una vista web y "
-"ambas se empaquetarÃn en una ventana. Busque la funciÃn <code>create_window</"
-"code> y reemplÃcela con lo siguiente"
+#~ 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."
+#~ msgstr ""
+#~ "LÃnea 8: esto aÃade el <code>ClutterActor</code> al escenario, que es un "
+#~ "contenedor. Asume el propietario del <code>ClutterActor</code>, que es "
+#~ "algo que querrà cuando profundice en el desarrollo de GNOME. Para obtener "
+#~ "mÃs detalles, consulte la <link href=\"http://library.gnome.org/devel/";
+#~ "gobject/stable/gobject-memory.html\">documentaciÃn de <code>GObject</"
+#~ "code></link>."
 
-#: C/message-board.c.page:132(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 "
-"the <code>delete-event</code> signal. The <code>delete-event</code> signal "
-"is emitted when the window is closed. The <code>gtk_main_quit</code> "
-"function is part of GTK, and it quits the application."
-msgstr ""
-"Primero cree un objeto <code>GtkWindow</code> y establezca su tÃtulo y su "
-"tamaÃo predeterminado. TambiÃn puede conectar la funciÃn "
-"<code>gtk_main_quit</code> a la seÃal <code>delete-event</code>. La seÃal "
-"<code>delete-event</code> se emite cuando se cierra la ventana. La funciÃn "
-"<code>gtk_main_quit</code> es parte de GTK+, y sale de la aplicaciÃn."
+#~ 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 ""
+#~ "LÃnea 9: esto aÃade el <code>ClutterActor</code> a una <code>GSList</"
+#~ "code> por lo que luego se podrà iterar sobre los <code>ClutterActor</"
+#~ "code>."
 
-#: C/message-board.c.page:138(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 "
-"widgets. The second argument to <code>gtk_box_new</code> sets the amount of "
-"padding (in pixels) between each child, and the next line puts a six-pixel "
-"border around the entire thing."
-msgstr ""
-"Ahora cree una caja vertical y aÃÃdala a la ventana. Una ventana sÃlo puede "
-"contener un widget hijo, por lo que necesitarà una caja para aÃadir varios "
-"widgets. El segundo argumento de <code>gtk_box_new</code> configura la "
-"cantidad de espacio (en pÃxeles) entre cada hijo, y la siguiente lÃnea aÃade "
-"un borde de seis pÃxeles alrededor de la cosa completa."
+#~ 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 ""
+#~ "Es interesante tener en cuenta que se prefiere anteponer los "
+#~ "<code>ClutterActor</code> en lugar de adjuntarlos, lo que evita atravesar "
+#~ "la lista en cada inserciÃn. A menudo vera <code>g_slist_prepend</code> "
+#~ "seguido de <code>g_slist_reverse</code>, ya que es mÃs rÃpido que "
+#~ "insertar varios objetos al final de la lista."
 
-#: C/message-board.c.page:144(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 "
-"the entry shouldn't take up any extra space the box has available. The "
-"fourth argument is the amount of padding you want around the entry. In this "
-"case, you set the padding to zero, because you're allowing the box to handle "
-"all the padding."
-msgstr ""
-"DespuÃs, cree un objeto <code>GtkEntry</code> y empaquÃtelo en una caja. Los "
-"argumentos tercero y cuarto de <code>gtk_box_pack_start</code> especifican "
-"que la entrada no deberÃa coger ningÃn espacio adicional que tenga la caja. "
-"El cuarto es la cantidad de relleno que quiere alrededor de la entrada. En "
-"este caso, se establece el relleno a cero, ya que se està permitiendo que la "
-"caja maneje todo el relleno."
-
-#: C/message-board.c.page:151(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 "
-"when necessary, and prevent your web view from filling your entire screen. "
-"This time, you pass <code>TRUE</code> and <code>TRUE</code> to "
-"<code>gtk_box_pack_start</code> to allow the scrolled window (and thus, the "
-"web view) to use any extra space available in the box."
-msgstr ""
-"Antes de aÃadir la vista web debe crear una ventana desplazada para ponerla "
-"dentro. La ventana desplazada contendrà barras de desplazamiento a la "
-"derecha y abajo cuando sea necesario, y evitarà que la vista web abarque la "
-"pantalla entera. En este momento, se pasa <code>TRUE</code> y <code>TRUE</"
-"code> a <code>gtk_box_pack_start</code> para permitir que la ventana "
-"desplazada (y por lo tanto, la vista web) usen el espacio adicional "
-"disponible en la caja."
-
-#: C/message-board.c.page:158(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 "
-"<code>webkit_web_view_load_string</code> with the following arguments:"
-msgstr ""
-"Finalmente, cree una <code>WebKitWebView</code> y aÃÃdala a la ventana "
-"desplazada. Entonces cargue una pÃgina HTML muy simple en la vista web "
-"llamando a <code>webkit_web_view_load_string</code> con los siguientes "
-"argumentos:"
+#~ msgid "Loading the images"
+#~ msgstr "Cargar las imÃgenes"
 
-#: C/message-board.c.page:164(code)
-#, no-wrap
-msgid "WEBKIT_WEB_VIEW (view)"
-msgstr "WEBKIT_WEB_VIEW (view)"
+#~ msgid ""
+#~ "Let's take a short break from Clutter to see how we can get the file "
+#~ "names from our image directory."
+#~ msgstr ""
+#~ "TÃmese un pequeÃo descanso de Clutter para ver cÃmo se pueden obtener los "
+#~ "nombres de archivos desde la carpeta de imÃgenes."
 
-#: C/message-board.c.page:165(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 "
-"object."
-msgstr ""
-"La vista en sÃ. Ya que <code>view</code> es de tipo <code>GtkWidget*</code>, "
-"debe usar <code>WEBKIT_WEB_VIEW</code> para convertir el tipo del objeto con "
-"seguridad."
+#~ msgid ""
+#~ "Lines 5 and 12: This opens our directory or, if an error occured, returns "
+#~ "after printing an error message."
+#~ msgstr ""
+#~ "LÃneas 5 y 12: esto abre la carpeta o, si ocurre un error, termina "
+#~ "despuÃs de mostrar un mensaje de error."
 
-#: C/message-board.c.page:170(code)
-#, no-wrap
-msgid "\"&lt;html&gt;&lt;body&gt;&lt;/body&gt;&lt;/html&gt;\""
-msgstr "\"&lt;html&gt;&lt;body&gt;&lt;/body&gt;&lt;/html&gt;\""
+#~ 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."
+#~ msgstr ""
+#~ "LÃneas 14â23: la primera lÃnea obtiene otro nombre de archivo del "
+#~ "<code>GDir</code> abierto anteriormente. Si hay un archivo de imagen (se "
+#~ "comprueba mirando si la extensiÃn es Â.png o Â.jpgÂ) en la carpeta, se "
+#~ "procede a anteponer la ruta de la carpeta de la imagen al nombre del "
+#~ "archivo y se antepone en la lista creada anteriormente. Por Ãltimo, se "
+#~ "intenta obtener la siguiente ruta y se vuelve a entrar en el bucle si se "
+#~ "encuentra otro archivo."
 
-#: C/message-board.c.page:171(p)
-msgid "The simplest HTML file you could possibly write."
-msgstr "El archivo HTML mÃs simple que pueda escribir."
+#~ msgid "Set up the actors"
+#~ msgstr "Configurar los actores"
 
-#: C/message-board.c.page:174(code)
-#, no-wrap
-msgid "\"text/html\""
-msgstr "\"text/html\""
+#~ 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."
+#~ msgstr ""
+#~ "Eche un vistazo al tamaÃo y al posicionamiento de los <code>ClutterActor</"
+#~ "code> y a cÃmo se deja listo el <code>ClutterActor</code> para la "
+#~ "interacciÃn del usuario."
 
-#: C/message-board.c.page:175(p)
-msgid ""
-"The MIME type of the content you provided. In this case, you're using plain "
-"HTML."
-msgstr ""
-"El tipo MIME del contenido que ha proporcionado. En este caso, està usando "
-"HTML plano."
+#~ 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 "
+#~ "<code>ClutterActor</code>s in the wall should initially be reactive."
+#~ msgstr ""
+#~ "LÃnea 7: configurar un actor como Âreactivo significa que reacciona a "
+#~ "los eventos tales como <code>button-press-event</code> en nuestro caso. "
+#~ "Para el mural de fotos, todos los <code>ClutterActor</code> del mural "
+#~ "deben ser inicialmente reactivos."
 
-#: C/message-board.c.page:179(code)
-#, no-wrap
-msgid "\"UTF-8\""
-msgstr "\"UTF-8\""
+#~ 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."
+#~ msgstr ""
+#~ "LÃneas 9â12: ahora se conecta el evento <code>button-press-event</code> "
+#~ "al retorno de la llamada <code>actor_clicked_cb</code> que veremos mÃs "
+#~ "adelante."
 
-#: C/message-board.c.page:180(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 "
-"default encoding throughout the GNOME platform."
-msgstr ""
-"La codificaciÃn de caracteres del contenido que ha proporcionado. Aunque "
-"sÃlo use caracteres ASCII, es una buena idea especificar UTF-8, ya que es la "
-"codificaciÃn que se usa de manera predeterminada en toda la plataforma GNOME."
+#~ msgid ""
+#~ "At this point we've got a wall of images that are ready to be viewed."
+#~ msgstr "En este punto tiene un mural de fotos que està listo para verse."
 
-#: C/message-board.c.page:185(code)
-#, no-wrap
-msgid "NULL"
-msgstr "NULL"
+#~ msgid "Reacting to the clicks"
+#~ msgstr "Reaccionar a las pulsaciones"
 
-#: C/message-board.c.page:186(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 "
-"you want to use relative URI references."
-msgstr ""
-"El URI base. En este ejemplo no se necesita, pero puede querer proporcionar "
-"un URI <sys>file:</sys> si aÃade imÃgenes u otras caracterÃsticas cuando "
-"quiera usar referencias a URI relativos."
+#~ 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, we will only use the first argument, the <code>ClutterActor</"
+#~ "code> that is actually clicked."
+#~ msgstr ""
+#~ "LÃneas 1â4: hay que asegurarse de que la funciÃn de retorno de llamada "
+#~ "coincide con la firma requerida para la seÃal <code>button_clicked_event</"
+#~ "code>. En este ejemplo, sÃlo se usarà el primer argumento, el "
+#~ "<code>ClutterActor</code> pulsado actualmente."
 
-#: C/message-board.c.page:193(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 "
-"a container widget like a <code>GtkBox</code>, GTK+ will automatically show "
-"all the widgets inside the container, to any depth. Sometimes you don't want "
-"to call <code>gtk_widget_show_all</code>, such as when you want to "
-"dynamically hide and show some widgets in response to events."
-msgstr ""
-"Cada vez que aÃade un widget, debe llamar a la funciÃn "
-"<code>gtk_widget_show</code> sobre Ãl para hacerlo visible. Si llama a "
-"<code>gtk_widget_show</code> en un contenedor de widgets como <code>GtkBox</"
-"code>, GTK+ mostrarà automÃticamente todos los widgets del contenedor, en "
-"cualquier nivel. Algunas veces no se quiere llamar a la funciÃn "
-"<code>gtk_widget_show_all</code>, como cuando se quieren ocultar o mostrar "
-"dinÃmicamente algunos objetos en respuesta a determinados eventos."
-
-#: C/message-board.c.page:201(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 "
-"shown in the <code>main</code> function with <code>gtk_widget_show</code>.)"
-msgstr ""
-"Finalmente, debe llamar a la funciÃn <code>gtk_widget_show_all</code> sobre "
-"la caja. De otro modo, ninguno de los widgets que haya creado serà visible. "
-"(La ventana se muestra en la funciÃn <code>main</code> con "
-"<code>gtk_widget_show</code>.)"
+#~ 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 "
+#~ "handled. For example, a key event produces a <code>ClutterKeyEvent</code> "
+#~ "from which you can get the key being pressed among other information. For "
+#~ "mouse click events you get a <code>ClutterButtonEvent</code> from which "
+#~ "you can get the <code>x</code> and <code>y</code> values. See the Clutter "
+#~ "documentation for other <code>ClutterEvent</code> types."
+#~ msgstr ""
+#~ "Unas pocas palabras sobre los argumentos que no se estÃn usando en este "
+#~ "ejemplo. El <code>ClutterEvent</code> es diferente dependiendo de quà "
+#~ "evento se està manejando. Por ejemplo, un evento de clave produce un "
+#~ "<code>ClutterKeyEvent</code> desde el que puede obtener la clave pulsada, "
+#~ "entre otra informaciÃn. Para eventos de pulsaciones del ratÃn, obtiene un "
+#~ "<code>ClutterButtonEvent</code> con el que pueden obtener los valores "
+#~ "<code>x</code> e <code>y</code>. Consulte la documentaciÃn de Clutter "
+#~ "para obtener informaciÃn sobre otros tipos de <code>ClutterEvent</code>."
 
-#: C/message-board.c.page:205(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 "
-"the web view don't know anything about each other."
-msgstr ""
-"Construya y ejecute el cuadro de mensajes de nuevo. DeberÃa ver una ventana "
-"con una entrada de texto y una vista web. TodavÃa no hace nada porque la "
-"entrada de texto y la vista web no saben nada la una acerca de la otra."
+#~ 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."
+#~ msgstr ""
+#~ "El <code>user_data</code> es lo que se usa para pasar datos a una "
+#~ "funciÃn. Se puede pasar un puntero a cualquier tipo de estructura de "
+#~ "datos. Si necesita pasar varios datos al retorno de la llamada, puede "
+#~ "colocar los datos en una estructura y pasar un puntero a su direcciÃn."
 
-#: C/message-board.c.page:211(title)
-msgid "Hook up signals"
-msgstr "Conectar seÃales"
+#~ 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 the flag to <code>FALSE</code> initially."
+#~ msgstr ""
+#~ "LÃnea 7: se establece un indicador estÃtico para seguir el estado en el "
+#~ "que se estÃ: modo mural o modo de foco. Se inicia en modo mural, por lo "
+#~ "que ninguna imagen tiene el foco. Por ello, el indicador se establece "
+#~ "inicialmente a <code>FALSE</code>."
 
-#: C/message-board.c.page:213(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 "
-"to the <code>activate</code> signal of <code>entry</code>. GTK+ emits the "
-"<code>activate</code> signal whenever the user presses <key>Enter</key> in "
-"the entry. Add the following into <code>create_window</code>, anywhere after "
-"both <code>entry</code> and <code>view</code> have been defined:"
-msgstr ""
-"Ahora se quiere hacer que el cuadro <em>haga</em> algo cuando se introduce "
-"texto en la entrada de texto. Para hacer esto, conecte una funciÃn de "
-"retorno de la llamada a la seÃal <code>activate</code> de <code>entry</"
-"code>. GTK+ emite la seÃal <code>activate</code> cuando el usuario pulsa "
-"<key>Intro</key> en la entrada. AÃada lo siguiente en <code>create_window</"
-"code>, en cualquier lugar despuÃs de que <code>entry</code> y <code>view</"
-"code> se hayan definido:"
-
-#: C/message-board.c.page:224(p)
-msgid ""
-"You then have to actually define <code>entry_activate_cb</code>. Define it "
-"as follows, anywhere above <code>create_window</code>:"
-msgstr ""
-"Entonces se debe definir <code>entry_activate_cb</code>. DefÃnalo como "
-"quiera, en cualquier lugar por encima de <code>create_window</code>:"
+#~ 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 ""
+#~ "LÃnea 9: esta lÃnea de cÃdigo ejecuta una funciÃn personalizada, "
+#~ "<code>foreach_set_focus_state</code>, para cada elemento de la "
+#~ "<code>actor_list</code>, pasando la direcciÃn al indicador "
+#~ "<code>is_focused</code>. La definiciÃn de la funciÃn "
+#~ "<code>foreach_set_focus_state</code> se verà en la siguiente secciÃn."
 
-#: C/message-board.c.page:247(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 "
-"and methods in WebKit allow you to inspect and manipulate the HTML document, "
-"and work very similarly to the DOM APIs you might already know from "
-"JavaScript."
-msgstr ""
-"Lo primero que hacer es obtener un objeto <code>WebKitDOMDocument</code> que "
-"representa el documento HTML mostrado en la <code>view</code>. Las clases "
-"DOM y los mÃtodos de WebKit le permiten inspeccionar y manipular el "
-"documento HTML, y trabajar de manera similar a las API DOM que ya deberÃa "
-"conocer de JavaScript."
+#~ 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 ""
+#~ "LÃneas 13â19: llegar a este cÃdigo significa que actualmente sÃlo una "
+#~ "imagen tiene el foco, y se quiere volver al modo mural. La funciÃn "
+#~ "<code>clutter_actor_animate</code> se usa para animar una o varias "
+#~ "propiedades de un <code>ClutterActor</code> desde su estado actual al "
+#~ "estado especificado. Los argumentos son como sigue:"
 
-#: C/message-board.c.page:253(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 "
-"<code>webkit_dom_document_query_selector</code> function lets you find an "
-"element in the document using CSS selectors. This keeps you from having to "
-"write tedious loops to traverse the document."
-msgstr ""
-"Una vez que tenga el documento, querrà obtener el elemento <code>body</code> "
-"para poder aÃadirle elementos <code>div</code>. La funciÃn "
-"<code>webkit_dom_document_query_selector</code> le permite encontrar un "
-"elemento en el documento usando selectores CSS. Esto le evita tener que "
-"escribir bucles tediosos para recorrer el documento."
-
-#: C/message-board.c.page:260(cite) C/message-board.c.page:272(cite)
-#: C/message-board.c.page:324(cite) C/message-board.c.page:381(cite)
-#: C/message-board.c.page:389(cite)
-msgid "shaunm"
-msgstr "shaunm"
-
-#: C/message-board.c.page:261(p)
-msgid "FIXME: Is this true? Does query_selector take CSS, CSSish, or what?"
-msgstr "NO TRADUCIR"
-
-#: C/message-board.c.page:264(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 "
-"create an element takes the <code>WebKitDOMDocument</code> as its first "
-"arguments. You then set the text content of the element to the contents of "
-"the text entry. Because <code>gtk_entry_get_text</code> returns a "
-"<code>const gchar*</code>, you don't have to free the result."
-msgstr ""
-"Ahora, cree un elemento <code>div</code> que contenga el mensaje. Cada "
-"elemento que cree se debe adjuntar se debe adjuntar a un documento, por lo "
-"que la funciÃn para crear un elemento toma el <code>WebKitDOMDocument</code> "
-"como primer argumento. Debe entonces establecer el contenido del elemento "
-"con el contenido de la entrada de texto. Dado que <code>gtk_entry_get_text</"
-"code> devuelve un <code>const gchar*</code>, no tiene que liberar el "
-"resultado."
-
-#: C/message-board.c.page:273(p)
-msgid ""
-"Not passing the GError**, but we should give it a quick mention and link to "
-"somewhere that explains how GError-handling works."
-msgstr "NO TRADUCIR"
+#~ msgid "The address of the <code>ClutterActor</code> to animate"
+#~ msgstr "La direcciÃn del <code>ClutterActor</code> que animar"
 
-#: C/message-board.c.page:277(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 "
-"again and test it for yourself."
-msgstr ""
-"Finalmente, aÃada el nuevo elemento <code>div</code> al cuerpo y limpie la "
-"salida de texto para poder escribir algo nuevo. Construya y ejecute el "
-"programa otra vez y pruÃbelo por su cuenta."
+#~ msgid ""
+#~ "The animation mode to use. Here we use <code>CLUTTER_LINEAR</code> so "
+#~ "that we have a constant speed for animation."
+#~ msgstr ""
+#~ "El modo de animaciÃn que usar. Aquà se ha usado <code>CLUTTER_LINEAR</"
+#~ "code> por lo que se tiene una velocidad constante en la animaciÃn."
 
-#: C/message-board.c.page:284(title)
-msgid "Make it look better with CSS"
-msgstr "Mejorar el aspecto con CSS"
+#~ msgid ""
+#~ "The duration of the animation in milliseconds. I've chosen 500 ms for "
+#~ "this example."
+#~ msgstr ""
+#~ "La duraciÃn de la animaciÃn, en milisegundos. Se ha escogido 500 ms para "
+#~ "este ejemplo."
 
-#: C/message-board.c.page:286(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 "
-"HTML page. There are many ways you could attach some CSS to the page: You "
-"could add it in the initial HTML document. You could inline it in the "
-"<code>style</code> attribute of the <code>div</code> elements. You could "
-"even programmatically construct it using the DOM APIs."
-msgstr ""
-"En este punto, su programa es completamente funcional, pero no es muy "
-"atractivo. Puede aÃadir estilos a la visualizaciÃn de los mensajes con CSS, "
-"igual que puede hacer con una pÃgina web. Hay muchas maneras de incluir un "
-"CSS en la pÃgina: puede aÃadirlo al documento HTML inicial, aÃadirlo en "
-"lÃnea usando el atributo <code>style</code> de los elementos <code>div</"
-"code> o puede incluso construirlo con programaciÃn usando las API DOM."
-
-#: C/message-board.c.page:293(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 "
-"web view. In a more complete application, you would want to save and load "
-"your HTML file. Keeping the style information outside the actual HTML means "
-"that you can change the styling completely within your application, without "
-"having to change users' files. You would normally just install a file along "
-"with your application, but just to keep everything in one file for this "
-"demo, we'll use a trick called a data URI. First, define the CSS as a static "
-"string near the top of your file."
-msgstr ""
-"En este tutorial se adjuntarà el CSS usando la propiedad <code>user-"
-"stylesheet-uri</code> del objeto <code>WebKitWebSetting</code> empotrado en "
-"la vista web. En una aplicaciÃn mÃs completa, se podrÃa querer guardar y "
-"cargar el archivo HTML. Mantener la informaciÃn de estilo fuera del HTML "
-"actual significa que se puede cambiar el estilo completo de la aplicaciÃn "
-"sin tener que cambiar los archivos del usuario. Normalmente se instala un "
-"archivo junto con la aplicaciÃn, pero simplemente para mantener todo en un "
-"archivo en esta demostraciÃn, se usarà un truco llamado URI de datos. En "
-"primer lugar, se define el CSS como una cadena estÃtica cerca del principio "
-"del archivo."
-
-#: C/message-board.c.page:315(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 "
-"use whatever CSS is necessary. In fact, if you're comfortable with CSS, you "
-"should trying changing this to something you like better."
-msgstr ""
-"Todo lo que tiene en este ejemplo son elementos <code>div</code> dentro de "
-"un elemento <code>body</code>. Si ha creado HTML mÃs complejo, puede usar "
-"cualquier CSS que sea necesario. Si se siente cÃmodo usando CSS deberÃa "
-"intentar cambiar esto por algo que le guste mÃs."
+#~ 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 ""
+#~ "El resto de argumentos son parejas propiedad/valor. Aquà se quiere "
+#~ "establecer el valor <code>x</code> al valor <code>x</code> inicial en el "
+#~ "que estaba el <code>ClutterActor</code> antes de darle el foco."
 
-#: C/message-board.c.page:320(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 "
-"already been defined."
-msgstr ""
-"Para aplicar el CSS, configure la <code>user-stylesheet-uri</code> en la "
-"funciÃn <code>create_window</code>, en cualquier lugar despuÃs de que "
-"<code>view</code> se haya definido."
+#~ msgid ""
+#~ "The last argument must always be <code>NULL</code> to indicate that there "
+#~ "are no more properties to be set."
+#~ msgstr ""
+#~ "El Ãltimo argumento debe ser siempre <code>NULL</code> para indicar que "
+#~ "no hay mÃs propiedades que configurar."
 
-#: C/message-board.c.page:324(p)
-msgid "g_base64_encode has bad args"
-msgstr "g_base64_encode tiene argumentos no vÃlidos"
+#~ 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 ""
+#~ "La propiedad <code>depth</code> necesita un poco mÃs de explicaciÃn. Se "
+#~ "debe elevar la imagen que tiene el foco para que no se deslice por debajo "
+#~ "de otros <code>ClutterActor</code>. En esta secciÃn se està devolviendo a "
+#~ "la misma profundidad que las otras en el mural."
 
-#: C/message-board.c.page:336(p)
-msgid ""
-"Also, make sure to add variable declarations for <code>tmp</code> and "
-"<code>css</code> to the top of <code>create_window</code>."
-msgstr ""
-"AsegÃrese de aÃadir declaraciones de variables para <code>tmp</code> y "
-"<code>css</code> a la parte superior de <code>create_window</code>."
+#~ 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 ""
+#~ "La profundidad tambiÃn determina quà <code>ClutterActor</code> recibe "
+#~ "eventos. Un <code>ClutterActor</code> con una profundidad alta recibe los "
+#~ "eventos de las pulsaciones y puede elegir si el evento se envÃa a un "
+#~ "<code>ClutterActor</code> que està debajo de Ãl. Se verà cÃmo funciona "
+#~ "esto en pocos pasos."
 
-#: C/message-board.c.page:339(code)
-#, no-wrap
-msgid ""
-"\n"
-"gchar *tmp, *css;\n"
-msgstr ""
-"\n"
-"gchar *tmp, *css;\n"
+#~ 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 ""
+#~ "LÃnea 24: llegar a esta lÃnea de cÃdigo significa que actualmente se està "
+#~ "en el modo mural y se va a dar el foco a un <code>ClutterActor</code>. "
+#~ "Aquà se guarda la posiciÃn inicial, por lo que se puede volver a ella mÃs "
+#~ "adelante."
 
-#: C/message-board.c.page:343(p)
-msgid ""
-"A data URI starts with <sys>data:</sys> and some information about the "
-"content type and how the data is encoded. The actual data follows after a "
-"comma, in this case encoded in Base64. Unlike other URI schemes like "
-"<sys>http:</sys>, <sys>ftp:</sys>, and <sys>file:</sys>, the <sys>data:</"
-"sys> URI scheme doesn't specify where to find a file to load. Rather, it "
-"gives the entire contents of the file."
-msgstr ""
-"Un URI de datos empieza por <sys>data:</sys> y cierta informaciÃn sobre el "
-"tipo de contenido y cÃmo se codifican los datos. Los datos reales siguen "
-"despuÃs de una coma, en este caso, codificados en Base64. A diferencia de "
-"otros esquemas de URI como <sys>http:</sys>, <sys>ftp:</sys>, y <sys>file:</"
-"sys>, the <sys>data:</sys>, el esquema del URI no especifica dÃnde encontrar "
-"un archivo que cargar. En vez de eso, ofrece el contenido completo del "
-"archivo."
-
-#: C/message-board.c.page:350(p)
-msgid ""
-"The code above first encodes your CSS definitions in Base64, then combines "
-"that with a fixed string to create a data URI. The <code>g_strconcat</code> "
-"function can take any number of string arguments and concatenate them all "
-"together, so you have to pass <code>NULL</code> as the final argument so it "
-"knows when to stop. And don't forget to free those temporary strings after "
-"you set the stylesheet property."
-msgstr ""
-"El cÃdigo anterior primero codifica las definiciones CSS en Base64, y luego "
-"las combina con una cadena fija para crear una URI de datos. La funciÃn "
-"<code>g_strconcat</code> puede tomar cualquier nÃmero de argumentos de "
-"cadena y concatenarlos todos juntos, por lo que tiene que pasar <code>NULL</"
-"code> como argumento final para que sepa dÃnde parar. No olvide liberar esas "
-"cadenas temporales despuÃs de establecer la propiedad de la hoja de estilos."
-
-#: C/message-board.c.page:357(p)
-msgid ""
-"Build and run the program again. It should now work exactly the same as at "
-"the end of the last section, except the messages will be nicely styled with "
-"a border and a subtle background gradient."
-msgstr ""
-"Construya y ejecute el programa de nuevo. DeberÃa funcionar exactamente "
-"igual que al final de la Ãltima secciÃn, excepto que los mensajes tendrÃn "
-"estilos con un borde y un degradado de fondo sutil."
+#~ msgid ""
+#~ "Line 25: Setting the <code>ClutterActor</code>'s <code>reactive</code> "
+#~ "property to <code>TRUE</code> makes this <code>ClutterActor</code> react "
+#~ "to events. In this focused state the only <code>ClutterActor</code> that "
+#~ "we want to receive events will be the <code>ClutterActor</code> being "
+#~ "viewed. Clicking on the <code>ClutterActor</code> will return it to its "
+#~ "starting position."
+#~ msgstr ""
+#~ "LÃnea 25: establecer la propiedad <code>reactive</code> del "
+#~ "<code>ClutterActor</code> a <code>TRUE</code> hace que este "
+#~ "<code>ClutterActor</code> reaccione a los eventos. En el estado Âcon "
+#~ "focoÂ, el Ãnico <code>ClutterActor</code> que se quiere que reciba "
+#~ "eventos es el <code>ClutterActor</code> que se està viendo. Al pulsar "
+#~ "sobre el <code>ClutterActor</code> volverà a su posiciÃn inicial."
 
-#: C/message-board.c.page:363(title)
-msgid "Learn more"
-msgstr "Aprender mÃs"
+#~ 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 ""
+#~ "LÃneas 27â33: esto es similar al bloque de cÃdigo anterior. Tenga en "
+#~ "cuenta que se està estableciendo la profundidad para elevarlo por encima "
+#~ "del resto de imÃgenes."
 
-#: C/message-board.c.page:365(p)
-msgid ""
-"This tutorial showed you how to create a basic application using GTK+ and "
-"WebKit, including showing a document and manipulating its contents. To "
-"create a real application, you probably want to do a little bit more. Try "
-"adding features on your own. Here are a few ideas:"
-msgstr ""
-"Este tutorial le ha mostrado cÃmo crear una aplicaciÃn sencilla usando GTK+ "
-"y WebKit, incluyendo cÃmo mostrar un documento y manipular su contenido. "
-"Para crear una aplicaciÃn real, probablemente quiera hacer algo mÃs. Pruebe "
-"a aÃadir caracterÃsticas usted mismo. Aquà hay algunas ideas:"
+#~ msgid ""
+#~ "Line 37: Here we toggle the <code>is_focused</code> flag to the current "
+#~ "state."
+#~ msgstr ""
+#~ "LÃnea 37: aquà se cambia la opciÃn <code>is_focused</code> al estado "
+#~ "actual."
 
-#: C/message-board.c.page:371(p)
-msgid ""
-"If you're comfortable with CSS, try changing the style of the message "
-"display. CSS is easy to get started with, but increasingly more powerful. "
-"There is a wealth of CSS tutorials on the Internet, and just about "
-"everything you can do on the web, you can do in this application."
-msgstr ""
-"Si se siente cÃmo usando CSS, pruebe a cambiar el estilo de la visualizaciÃn "
-"del mensaje. Es fÃcil iniciarse en CSS, pero cada vez es mÃs potente. Hay "
-"una gran cantidad de tutoriales de CSS en Internet, y casi todo lo que se "
-"puede hacer en una pÃgina web, se puede hacer en esta aplicaciÃn."
+#~ msgid ""
+#~ "As mentioned previously, the <code>ClutterActor</code>s with higher "
+#~ "<code>depth</code> values receive events but can allow "
+#~ "<code>ClutterActor</code>s below them to also receive events. Returning "
+#~ "<code>TRUE</code> will stop events from being passed down, while "
+#~ "<code>FALSE</code> will pass events down."
+#~ msgstr ""
+#~ "Como se ha mencionado anteriormente, los <code>ClutterActor</code> con "
+#~ "valores de <code>depth</code> mÃs altos recibirÃn eventos, pero pueden "
+#~ "permitir que los <code>ClutterActor</code> que estÃn por denajo de ellos "
+#~ "tambiÃn reciban eventos. Al devolver <code>TRUE</code> se dejarÃn de "
+#~ "enviar eventos havia abajo, mientras que <code>FALSE</code> harà que los "
+#~ "eventos pasen hacia abajo."
 
-#: C/message-board.c.page:377(p)
-msgid ""
-"Right now, you lose all your messages whenever you close the message board. "
-"Try saving the HTML contents after each post, and loading the saved file (if "
-"it exists) on startup."
-msgstr ""
-"Ahora mismo, todos los mensajes se pierden al cerras el cuadro de mensajes. "
-"Pruebe a guardar el contenido HTML despuÃs de cada envÃo, y a cargar el "
-"archivo guardado (si existe) al inicio."
+#~ msgid ""
+#~ "Remember, however, that to receive events the <code>ClutterActor</code>s "
+#~ "must be set <code>reactive</code>."
+#~ msgstr ""
+#~ "Recuerde, sin embargo, que para que los <code>ClutterActor</code> reciban "
+#~ "eventos deben establecerse como <code>reactive</code>."
 
-#: C/message-board.c.page:381(p)
-msgid "Link to method to get HTML from DOM and to GIO APIs."
-msgstr "Enlace al mÃtodo para obtener el HTML del DOM y de las API de GIO."
+#~ msgid ""
+#~ "The following is the convenience function passed to "
+#~ "<code>g_slist_foreach</code>."
+#~ msgstr ""
+#~ "Lo siguiente es la funciÃn de conveniencia pasada a "
+#~ "<code>g_slist_foreach</code>."
 
-#: C/message-board.c.page:385(p)
-msgid ""
-"If you keep your messages around for a long time, you'll start wondering "
-"when you posted them. Add a timestamp to each message when it's posted. "
-"You'll probably want to create some additional child <code>div</code> "
-"elements with different classes that you can style in the CSS."
-msgstr ""
-"Si guarda sus mensajes durante mucho tiempo, empezarà a preguntarse dÃnde "
-"los escribiÃ. AÃada una marca de tiempo a cada mensaje cuando se envÃa. "
-"Probablemente quiera crear algÃn elemento <code>div</code> hijo adicional "
-"con diferentes clases que puede modelar en el CSS."
+#~ 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 ""
+#~ "LÃneas 2â5: la firma de esta funciÃn requiere dos <code>gpointer</code>. "
+#~ "El primero es un puntero al <code>ClutterActor</code> contenido en la "
+#~ "<code>GSList</code> y el otro es el indicador <code>is_focused</code> que "
+#~ "se ha pasado en la secciÃn anterior. Se quiere convertir su tipo (ÂcastÂ) "
+#~ "y almacenarlos para que sea fÃcil usarlos."
 
-#: C/message-board.c.page:389(p)
-msgid "Link to strftime or something"
-msgstr "Enlace a strftime o algo"
+#~ 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 ""
+#~ "LÃnea 7: dependiendo de quà valor booleano se pasa, el "
+#~ "<code>ClutterActor</code> se establecerà para que responda o no a eventos."
 
-#: C/message-board.c.page:392(p)
-msgid ""
-"This program keeps messages around forever. Think about ways you could allow "
-"the user to delete messages. Perhaps you want messages to disappear "
-"automatically after they're too old, or after there are a certain number of "
-"messages before them. Or you could add a link in each message to delete it. "
-"You could even override the context menu when you right-click on a message. "
-"These features involve exploring WebKit's DOM API more."
-msgstr ""
-"Este programa guarda los mensajes para siempre. Piense alguna manera para "
-"que el usuario pueda borrar mensajes. Tal vez quiera que los mensajes "
-"desaparezca automÃticamente cuando son muy antiguos o despuÃs de que haya "
-"cierto nÃmero de mensajes por delante. O podrÃa aÃadir un enlace en cada "
-"mensaje para borrarlo. TambiÃn puede omitir el menà contextual cuando pulsa "
-"con el botÃn derecho sobe un mensaje. Esta caracterÃsticas implican explorar "
-"mÃs la API del DOM de WebKit."
+#~ msgid "Build and run the application"
+#~ msgstr "Construir y ejecutar la aplicaciÃn"
 
-#. When image changes, this message will be marked fuzzy or untranslated for you.
-#. It doesn't matter what you translate it to: it's not used at all.
-#: C/magic-mirror.vala.page:39(None)
-msgid "@@image: 'media/magic-mirror.png'; md5=8171faea6ed3b6ddac0da084c29e4e22"
-msgstr ""
-"@@image: 'media/magic-mirror.png'; md5=8171faea6ed3b6ddac0da084c29e4e22"
+#~ 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</file> directory. If you want, you can change the "
+#~ "<code>#define IMAGE_DIR_PATH</code> line near the top to refer to your "
+#~ "photo directory, or create a <file>berlin_images</file> directory by "
+#~ "clicking <guiseq><gui>Project</gui><gui>New Directory...</gui></guiseq> "
+#~ "and creating a <file>berlin_images</file> directory as a subdirectory of "
+#~ "the <file>photo-wall</file> directory. Make sure to put at least twelve "
+#~ "images in the directory!"
+#~ msgstr ""
+#~ "Todo el cÃdigo deberÃa estar listo para ejecutarse. Todo lo que necesita "
+#~ "son algunas imÃgenes para cargar. De manera predeterminada, las imÃgenes "
+#~ "se cargan desde la carpeta <file>berlin_images</file>. Si quiere, puede "
+#~ "cambiar la lÃnea <code>#define IMAGE_DIR_PATH</code> del principio para "
+#~ "que haga referencia a su carpeta de fotos, o crear una carpeta "
+#~ "<file>berlin_images</file> pulsando en <guiseq><gui>Proyecto</"
+#~ "gui><gui>Carpeta nueva...</gui></guiseq> y creando una carpeta "
+#~ "<file>berlin_images</file> como subcarpeta de la carpeta <file>mural-"
+#~ "fotos</file>. AsegÃrese de poner al menos doce imÃgenes en la carpeta."
 
-#: C/magic-mirror.vala.page:8(desc)
-msgid "Use your webcam as a mirror using the GStreamer framework and Gtk+"
-msgstr ""
-"Usar su cÃmara web como un espejo usando el entorno de trabajo GStreamer y "
-"GTK+"
+#~ msgid ""
+#~ "When you have done that, click <guiseq><gui>Build</gui><gui>Build "
+#~ "Project</gui></guiseq> to build everything again, then <guiseq><gui>Run</"
+#~ "gui><gui>Execute</gui></guiseq> to start the application."
+#~ msgstr ""
+#~ "Cuando lo haya hecho, pulse <guiseq><gui>Construir</gui><gui>Construir "
+#~ "proyecto</gui></guiseq> para construir todo otra vez, y entonces pulse "
+#~ "<guiseq><gui>Ejecutar</gui><gui>Ejecutar</gui></guiseq> para iniciar la "
+#~ "aplicaciÃn."
 
-#: C/magic-mirror.vala.page:12(name)
-msgid "Daniel G. Siegel"
-msgstr "Daniel G. Siegel"
+#~ 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 enjoy!"
+#~ msgstr ""
+#~ "Si todavÃa no lo ha hecho, elija la aplicaciÃn <file>Debug/src/photo-"
+#~ "wall</file> en el diÃlogo que aparece. Finalmente, pulse <gui>Ejecutar</"
+#~ "gui> y disfrute."
 
-#: C/magic-mirror.vala.page:13(email)
-msgid "dgsiegel gnome org"
-msgstr "dgsiegel gnome org"
+#~ msgid ""
+#~ "If you run into problems with the tutorial, compare your code with this "
+#~ "<link href=\"photo-wall/photo-wall.c\">reference code</link>."
+#~ msgstr ""
+#~ "Si tiene problemas con este tutorial, compare su cÃdigo con este <link "
+#~ "href=\"photo-wall/photo-wall.c\">cÃdigo de referencia</link>."
 
-#: C/magic-mirror.vala.page:21(title)
-msgid "4 Magic Mirror"
-msgstr "4. Espejo mÃgico"
+#~ msgid "@@image: 'media/toolbar.png'; md5=65d00f92e142de153e3a3e95a89603ae"
+#~ msgstr "@@image: 'media/toolbar.png'; md5=65d00f92e142de153e3a3e95a89603ae"
 
-#: C/magic-mirror.vala.page:24(em)
-msgid ""
-"Your mirror just fell off the wall and broke into a thousand pieces â but "
-"you need a mirror to shave your beard off or add some makeup! You only have "
-"15 minutes left before catching the bus to work. So what can you do?"
-msgstr ""
-"Su espejo se ha caiÌdo al suelo y se ha roto en miles de pedazos; pero "
-"necesita un espejo para afeitarse o para maquillarse. SoÌlo tiene 15 minutos "
-"antes de coger el autobuÌs para ir al trabajo. ÂQueÌ puede hacer?"
+#~ msgid "A toolbar widget which is connected to a Dialog widget"
+#~ msgstr "Un widget de barra de herramientas conectado a un widget de diÃlogo"
 
-#: C/magic-mirror.vala.page:25(p)
-msgid ""
-"In this tutorial, we're going to make a program which lets you use your "
-"webcam as a mirror. You will learn how to:"
-msgstr ""
-"En este tutorial se va a hacer un programa que le permite usar su cÃmara web "
-"como un espejo. Aprenderà a:"
+#~ msgid "Toolbar widget"
+#~ msgstr "Widget de barra de herramientas"
 
-#: C/magic-mirror.vala.page:27(p)
-msgid "Create a GTK+ application"
-msgstr "Crear una aplicaciÃn GTK+"
+#~ msgid ""
+#~ "Toolbar is a widget that may contain either text or stock icons. In this "
+#~ "sample we use stock icons."
+#~ msgstr ""
+#~ "La barra de herramientas es un widget que puede contener texto e iconos "
+#~ "del almacÃn. En este ejemplo se usan iconos del almacÃn."
 
-#: C/magic-mirror.vala.page:28(p)
-msgid "Access your webcam using GStreamer and embed the result into a window"
-msgstr ""
-"Acceder a su cÃmara web usando GStreamer y empotrar el resultado en una "
-"ventana"
-
-#: C/magic-mirror.vala.page:29(p)
-msgid "Grab photos off your webcam"
-msgstr "Obtener las fotos de su cÃmara web"
-
-#: C/magic-mirror.vala.page:31(p) C/image-viewer.vala.page:38(p)
-#: C/image-viewer.py.page:33(p) C/image-viewer.js.page:33(p)
-#: C/guitar-tuner.vala.page:34(p) C/guitar-tuner.py.page:30(p)
-#: C/guitar-tuner.cpp.page:30(p) C/guitar-tuner.c.page:30(p)
-msgid "You'll need the following to be able to follow this tutorial:"
-msgstr "Necesitarà lo siguiente para poder seguir este tutorial:"
-
-#: C/magic-mirror.vala.page:33(p) C/image-viewer.py.page:35(p)
-#: C/image-viewer.js.page:35(p) C/guitar-tuner.py.page:32(p)
-#: C/guitar-tuner.cpp.page:32(p) C/guitar-tuner.c.page:32(p)
-msgid "An installed copy of the <link xref=\"getting-ready\">Anjuta IDE</link>"
-msgstr "Una copia instalada del <link xref=\"getting-ready\">EID Anjuta</link>"
-
-#: C/magic-mirror.vala.page:34(p)
-msgid "Installed copies of GTK, GStreamer, and a Vala compiler"
-msgstr "Copias instaladas de GTK, GStreamer y de un compilador de Vala"
-
-#: C/magic-mirror.vala.page:35(p)
-msgid "Basic knowledge of an object-oriented programming language"
-msgstr ""
-"Conocimientos bÃsico de un lenguaje de programaciÃn orientado a objetos"
+#~ msgid ""
+#~ "In this sample we use the following widgets: <link href=\"http://www.";
+#~ "roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.Window.html\">Gtk.Window</link>, "
+#~ "<link href=\"http://www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.Grid.html";
+#~ "\">Gtk.Grid</link>, <link href=\"http://www.roojs.com/seed/gir-1.2-";
+#~ "gtk-3.0/gjs/Gtk.Toolbar.html\">Gtk.Toolbar</link>, <link href=\"http://";
+#~ "www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.ToolButton.html\">Gtk."
+#~ "ToolButton</link>, <link href=\"http://www.roojs.com/seed/gir-1.2-gtk-3.0/";
+#~ "gjs/Gtk.Dialog.html\">Gtk.Dialog</link>."
+#~ msgstr ""
+#~ "En este ejemplo se usan los siguientes widgets: <link href=\"http://www.";
+#~ "roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.Window.html\">Gtk.Window</link>, "
+#~ "<link href=\"http://www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.Grid.html";
+#~ "\">Gtk.Grid</link>, <link href=\"http://www.roojs.com/seed/gir-1.2-";
+#~ "gtk-3.0/gjs/Gtk.Toolbar.html\">Gtk.Toolbar</link>, <link href=\"http://";
+#~ "www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.ToolButton.html\">Gtk."
+#~ "ToolButton</link>, <link href=\"http://www.roojs.com/seed/gir-1.2-gtk-3.0/";
+#~ "gjs/Gtk.Dialog.html\">Gtk.Dialog</link>."
 
-#: C/magic-mirror.vala.page:49(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."
-msgstr ""
-"Elija <gui>GTK+ (simple)</gui> de la pestaÃa <gui>Vala</gui>, pulse "
-"<gui>Adelante</gui> y rellene los detalles en las siguientes pÃginas. Use "
-"<file>afinador-guitarra</file> como nombre de proyecto y de carpeta."
+#~ msgid ""
+#~ "@@image: 'media/message-board.ogv'; md5=beb80c4538776dc2cdd26c95abea5027"
+#~ msgstr ""
+#~ "@@image: 'media/message-board.ogv'; md5=beb80c4538776dc2cdd26c95abea5027"
 
-#: C/magic-mirror.vala.page:52(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"
-"\">Guitar-Tuner</link> tutorial using the interface builder."
-msgstr ""
-"Desactive la opciÃn <gui>Usar GtkBuilder para la interfaz del usuario</gui>, "
-"ya que, en este tutorial, la interfaz de usuario se crearà manualmente. "
-"Revise el tutorial <link xref=\"guitar-tuner.vala\">afinador-guitarra</link> "
-"usando el constructor de interfaces."
+#~ msgid "A simple program using WebKitGTK+ and the DOM."
+#~ msgstr "Un programa sencillo usando WebKitGTK+ y el DOM."
 
-#: C/magic-mirror.vala.page:57(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 "
-"<app>GStreamer</app> library into your project."
-msgstr ""
-"AsegÃrese de que <gui>Configurar paquetes externos</gui> està seleccionada. "
-"En la siguiente pÃgina, seleccione <em>gstreamermm-0.10</em> de la lista "
-"para incluir la biblioteca <app>GStreamer</app> en su proyecto."
+#~ msgid "Message Board"
+#~ msgstr "Cuadro de mensajes"
 
-#: C/magic-mirror.vala.page:61(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</"
-"gui> tabs. You should see some code which starts with the lines:"
-msgstr ""
-"Pulse <gui>Aplicar</gui> y se crearaÌ el proyecto. Abra <file>src/espejo-"
-"magico.vala</file> desde las pestanÌas <gui>Proyecto</gui> o <gui>Archivo</"
-"gui>. DeberiÌa ver algo de coÌdigo que comience con las liÌneas:"
-
-#: C/magic-mirror.vala.page:70(title) C/image-viewer.vala.page:105(title)
-#: C/image-viewer.cpp.page:60(title) C/image-viewer.c.page:58(title)
-#: C/guitar-tuner.vala.page:67(title) C/guitar-tuner.cpp.page:63(title)
-#: C/guitar-tuner.c.page:63(title)
-msgid "Build the code for the first time"
-msgstr "Construir el cÃdigo por primera vez"
-
-#: C/magic-mirror.vala.page:71(p)
-msgid ""
-"The code loads an (empty) window and shows it. More details are given below; "
-"skip this list if you understand the basics:"
-msgstr ""
-"El cÃdigo carga una ventana (vacÃa) y la muestra. A continuaciÃn hay mÃs "
-"detalles; omita esta lista si entiende los conceptos bÃsicos:"
+#~ msgid "How to display a web page with WebKit."
+#~ msgstr "CÃmo mostrar una pÃgina web con WebKit"
 
-#: C/magic-mirror.vala.page:74(p) C/guitar-tuner.vala.page:72(p)
-msgid ""
-"The two <code>using</code> lines import namespaces so we don't have to name "
-"them explicitly."
-msgstr ""
-"Las dos lÃneas <code>using</code> importan espacios de nombres, por lo que "
-"no hay que nombrarlas explÃcitamente."
+#~ msgid ""
+#~ "How to manipulate the contents of a web page using WebKit's DOM functions."
+#~ msgstr ""
+#~ "Como manipular el contenido de una pÃgina web usando las funciones del "
+#~ "DOM del WebKit."
 
-#: C/magic-mirror.vala.page:77(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 "
-"quits the application if the window is closed. More on signals later on."
-msgstr ""
-"El constructor de la clase <code>Main</code> crea una ventana nueva y "
-"establece su tÃtulo. DespuÃs se muestra la ventana y se conecta una seÃal "
-"que cierra la aplicaciÃn si se cierra la ventana. Se verÃn mÃs seÃales mÃs "
-"adelante."
+#~ 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 "
+#~ "widgets and how to connect callback functions to signals. See <link xref="
+#~ "\"image-viewer.c\"/> to learn the basics of GTK+."
+#~ msgstr ""
+#~ "En este tutorial se asume que està familiarizado con el lenguaje de "
+#~ "programaciÃn C y que tiene un conocimiento bÃsico de GTK+, incluyendo "
+#~ "cÃmo crear y colocar widgets y cÃmo conectar funciones de retorno de "
+#~ "retorno de la llamadas a seÃales. Consulte la <link xref=\"image-viewer.c"
+#~ "\"/> para aprender las nociones bÃsicas de GTK+."
 
-#: C/magic-mirror.vala.page:81(p)
-msgid ""
-"The static <code>main</code> function is run by default when you start a "
-"Vala application. It calls a few functions which create the Main class, set "
-"up and then run the application. The <code>Gtk.Main</code> function starts "
-"the GTK main loop, which runs the user interface and starts listening for "
-"events (like clicks and key presses)."
-msgstr ""
-"La funciÃn estÃtica <code>main</code> se ejecuta de manera predeterminada "
-"cuando inicia una aplicaciÃn en Vala. Llama a unas pocas funciones que crean "
-"la clase ÂMainÂ, la configuran y ejecutan la aplicaciÃn. La funciÃn <code>Gtk."
-"Main</code> inicia el bucle principal de GTK+, que ejecuta la interfaz de "
-"usuario y empieza a escuchar eventos (como pulsaciones del ratÃn y del "
-"teclado)."
-
-#: C/magic-mirror.vala.page:85(p) C/image-viewer.vala.page:125(p)
-#: C/image-viewer.cpp.page:76(p) C/image-viewer.c.page:77(p)
-#: C/guitar-tuner.cpp.page:78(p) C/guitar-tuner.c.page:82(p)
-msgid ""
-"This code is ready to be used, so you can compile it by clicking "
-"<guiseq><gui>Build</gui><gui>Build Project</gui></guiseq> (or press "
-"<keyseq><key>Shift</key><key>F7</key></keyseq>)."
-msgstr ""
-"Este cÃdigo està listo para usarse, por lo que puede compilarlo pulsando "
-"<guiseq><gui>Construir</gui><gui>Construir proyecto</gui></guiseq> (o "
-"pulsando <keyseq><key>MayÃs</key><key>F7</key></keyseq>)."
+#~ 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 on the Internet, but also to create rich user interfaces that "
+#~ "can be easily styled with CSS."
+#~ msgstr ""
+#~ "La plataforma GNOME incluye WebKitGTK+, construido sobre el potente marco "
+#~ "de trabajo WebKit. WebKitGTK se usa en todo GNOME, no sÃlo para ver "
+#~ "pÃginas web en Internet, sino tambiÃn para crear interfaces de usuario "
+#~ "enriquecidas a las que se pueden aÃadir estilos fÃcilmente con CSS."
 
-#: C/magic-mirror.vala.page:86(p) C/image-viewer.vala.page:126(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 "
-"this once, for the first build."
-msgstr ""
-"Cambie la <gui>ConfiguraciÃn</gui> a <gui>Predeterminada</gui> y pulse "
-"<gui>Ejecutar</gui> para configurar la carpeta de construcciÃn. SÃlo "
-"necesita hacer esto una vez, para la primera construcciÃn."
+#~ 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 of messages in HTML. Before you begin, you need to set up a "
+#~ "project in Anjuta."
+#~ msgstr ""
+#~ "En este tutorial, se crearà un cuadro de mensajes sencillo usando WebKit. "
+#~ "El cuadro de mensajes le permitirà introducir algÃn texto y aÃadirlo a "
+#~ "una lista de mensajes en HTML. Antes de empezar, deberà configurar un "
+#~ "proyecto en Anjuta."
 
-#: C/magic-mirror.vala.page:90(title)
-msgid "Access the webcam video stream with GStreamer"
-msgstr "Acceder al flujo de vÃdeo de la cÃmara web con GStreamer"
+#~ msgid ""
+#~ "In Anjuta, click <guiseq><gui>File</gui><gui>New</gui><gui>Project</gui></"
+#~ "guiseq> to open the new project assistant."
+#~ msgstr ""
+#~ "En Anjuta, pulse <guiseq><gui>Archivo</gui><gui>Nuevo</gui><gui>Proyecto</"
+#~ "gui></guiseq> para abrir el asistente para proyecto nuevo."
 
-#: C/magic-mirror.vala.page:91(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."
-msgstr ""
-"El entorno multimedia de trabajo GStreamer es capaz de manejar vÃdeo desde "
-"cÃmaras web. AÃada GStreamer a su aplicaciÃn y podrà acceder al flujo de "
-"vÃdeo."
+#~ msgid ""
+#~ "Select <gui>GTK+ (simple)</gui> on the <gui>C</gui> tab, and click "
+#~ "<gui>Continue</gui>."
+#~ msgstr ""
+#~ "Seleccione <gui>GTK+ (simple)</gui> en la pestaÃa <gui>C</gui> y pulse "
+#~ "<gui>Continuar</gui>."
 
-#: C/magic-mirror.vala.page:118(p)
-msgid ""
-"First we remove the window we created before because GStreamer will take "
-"care of showing the picture on screen."
-msgstr ""
-"Primero se quita la ventana creada anteriormente, ya que GStreamer se "
-"encargarà de mostrar la imagen en la pantalla."
+#~ 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>."
+#~ msgstr ""
+#~ "Rellene sus detalles en la pÃgina <gui>InformaciÃn bÃsica</gui>. Use "
+#~ "<input>cuadro-mensajes</input> para el nombre del proyecto. Pulse "
+#~ "<gui>Continuar</gui>."
 
-#: C/magic-mirror.vala.page:122(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 "
-"capable of taking photos, videos, applying effects and much more. Perfect "
-"for our use case! With <code>this.camerabin.set_state (Gst.State.PLAYING)</"
-"code> we tell the GStreamer pipeline we just created to start playing. Easy, "
-"no?"
-msgstr ""
-"Ahora se va a crear un elemento de GStreamer que accede a la cÃmara web. Se "
-"va a usar el elemento ÂCamerabinÂ, que es un elemento de cÃmara todo en uno "
-"capaz de hacer fotos, vÃdeos, aplicar efectos y mucho mÃs. Perfecto para "
-"nuestro caso de uso. Con <code>this.camerabin.set_state (Gst.State.PLAYING)</"
-"code> se indica a la tuberÃa de GStreamer que se acaba de crear que empiece "
-"a reproducir. FÃcil, Âno?"
-
-#: C/magic-mirror.vala.page:129(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 "
-"Window System we will omit here."
-msgstr ""
-"Por supuesto, tambiÃn es posible integrar el vÃdeo mÃs ajustadamente en "
-"otras ventanas, pero esto es un tema avanzado que incluye algunos detalles "
-"sobre el sistema ÂX-Window que aquà se omiten."
+#~ msgid ""
+#~ "Disable the <gui>Use GtkBuilder for user interface</gui> option as this "
+#~ "tutorial builds the user-interface manually."
+#~ msgstr ""
+#~ "Desactive la opciÃn <gui>Usar GtkBuilder para la interfaz del usuario</"
+#~ "gui>, ya que, en este tutorial, la interfaz de usuario se construye "
+#~ "manualmente."
 
-#: C/magic-mirror.vala.page:133(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."
-msgstr ""
-"Compile y ejecute de nuevo. Acabarà teniendo dos ventanas. En el siguiente "
-"paso, se integrarà el vÃdeo en una ventana de GTK+."
+#~ 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</"
+#~ "gui>. Click <gui>Continue</gui>. On the <gui>Configure external packages</"
+#~ "gui> page, check <gui>webkitgtk-3.0</gui>."
+#~ msgstr ""
+#~ "Deberà indicar a Anjuta que va a usar WebKitGTK+ en este proyecto. En la "
+#~ "pÃgina <gui>Opciones del proyecto</gui>, seleccione <gui>Configurar "
+#~ "paquetes externos</gui>. Pulse <gui>Continuar</gui>. En la pÃgina "
+#~ "<gui>Configurar paquetes externos</gui> seleccione <gui>webkitgtk-3.0</"
+#~ "gui>."
 
-#: C/magic-mirror.vala.page:143(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 "
-"is also a more <link href=\"magic-mirror/magic-mirror-advanced.vala"
-"\">extensive implementation</link> that embeds the window into a regular Gtk."
-"Window which involves some advanced techniques, and adds buttons to start/"
-"stop the picture."
-msgstr ""
-"Si tiene problemas con este tutorial, compare su cÃdigo con este <link href="
-"\"magic-mirror/magic-mirror.vala\">cÃdigo de referencia</link>. TambiÃn hay "
-"una <link href=\"magic-mirror/magic-mirror-advanced.vala\">implemnetaciÃn "
-"mÃs amplia</link> que empotra la ventana en una ventana GTK regular que "
-"implica algunas tÃcnicas avanzadas, y aÃade botones para iniciar/parar la "
-"imagen."
-
-#: C/magic-mirror.vala.page:149(title) C/guitar-tuner.vala.page:257(title)
-msgid "Further reading"
-msgstr "Lectura complementaria"
-
-#: C/magic-mirror.vala.page:150(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</"
-"link>."
-msgstr ""
-"Para obtener mÃs informaciÃn sobre el lenguaje de programaciÃn Vala, puede "
-"querer revisar el <link href=\"http://live.gnome.org/Vala/Tutorial";
-"\">tutorial de Vala</link>."
+#~ 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 will have filled this in with some basic GTK+ code from its "
+#~ "templates. Since you are creating a WebKit project, you first need to "
+#~ "include the WebKit headers. After the line that includes <code>gtk/gtk.h</"
+#~ "code>, add the following line:"
+#~ msgstr ""
+#~ "Cuando termine el asistente de creaciÃn de un nuevo proyecto, abra el "
+#~ "archivo <file>src/main.c</file> desde la pestaÃa <gui>Proyecto</gui> o "
+#~ "desde <gui>Archivo</gui>. Anjuta lo habrà rellenado con algo de cÃdigo GTK"
+#~ "+ bÃsico de sus plantillas. Ya que està creando un proyecto WebKit, "
+#~ "primero debe incluir las cabeceras de WebKit. DespuÃs de la lÃnea que "
+#~ "incluye <code>gtk/gtk.h</code>, aÃada la siguiente lÃnea:"
 
-#: C/magic-mirror.vala.page:155(title)
-msgid "Conclusion"
-msgstr "ConclusiÃn"
+#~ msgid "#include &lt;webkit/webkit.h&gt;"
+#~ msgstr "#include &lt;webkit/webkit.h&gt;"
 
-#: C/magic-mirror.vala.page:156(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 "
-"makeup to your beautiful face, right before having a beautiful day at your "
-"workplace, where you can impress your friends and colleagues with an awesome "
-"application you just made in 15 minutes."
-msgstr ""
-"Ya estaÌ, ha conseguido crear una aplicacioÌn de caÌmara web con todas las "
-"funciones de fotos en 15 minutos. Ahora puede afeitarse la barba o maquillar "
-"su bonita cara justo antes de tener un gran diÌa en su trabajo, donde puede "
-"impresionar a sus amigos y colegas con una impresionante aplicacioÌn que ha "
-"hecho en 15 minutos."
+#~ 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 "
+#~ "<keyseq><key>Shift</key><key>F7</key></keyseq>. The first time you build, "
+#~ "you will be asked for some configure options. Just accept the defaults "
+#~ "and click <gui>Execute</gui>."
+#~ msgstr ""
+#~ "Verifique que todo funciona construyendo lo que tiene hasta ahora. Pulse "
+#~ "<guiseq><gui>Construir</gui><gui>Construir proyecto</gui></guiseq> o "
+#~ "simplemente pulse <keyseq><key>MayÃs</key><key>F7</key></keyseq>. La "
+#~ "primera vez que construya, se le pedirÃn algunas opciones de "
+#~ "configuraciÃn. Simplemente acepte los valores predeterminados y pulse "
+#~ "<gui>Ejecutar</gui>."
 
-#: C/index.page:7(name)
-msgid "GNOME Documentation Team"
-msgstr "Equipo de documentaciÃn de GNOME"
+#~ 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 an empty window appear."
+#~ msgstr ""
+#~ "Ahora deberÃa poder ejecutar el programa. Pulse <guiseq><gui>Ejecutar</"
+#~ "gui><gui>Ejecutar</gui></guiseq> o simplemente pulse <key>F3</key>. "
+#~ "DeberÃa ver aparecer una ventana vacÃa."
 
-#: C/index.page:9(years)
-msgid "2010, 2011"
-msgstr "2010, 2011"
+#~ msgid "Lay out your window and web view"
+#~ msgstr "La disposiciÃn de la ventana y la vista web"
 
-#: C/index.page:28(title)
-msgid "GNOME Developer Platform Demos"
-msgstr "Demostraciones de la plataforma de desarrollo de GNOME"
+#~ 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 into a window. Find the function <code>create_window</code> and "
+#~ "replace it with the following:"
+#~ msgstr ""
+#~ "Ahora que puede mostrar una ventana, es el momento de empezar a trabajar "
+#~ "con WebKit. Para este tutorial, se crearà una entrada de texto y una "
+#~ "vista web y ambas se empaquetarÃn en una ventana. Busque la funciÃn "
+#~ "<code>create_window</code> y reemplÃcela con lo siguiente"
 
-#: C/index.page:31(title)
-msgid "Getting Ready"
-msgstr "CoÌmo empezar"
+#~ 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 "
+#~ "the <code>delete-event</code> signal. The <code>delete-event</code> "
+#~ "signal is emitted when the window is closed. The <code>gtk_main_quit</"
+#~ "code> function is part of GTK, and it quits the application."
+#~ msgstr ""
+#~ "Primero cree un objeto <code>GtkWindow</code> y establezca su tÃtulo y su "
+#~ "tamaÃo predeterminado. TambiÃn puede conectar la funciÃn "
+#~ "<code>gtk_main_quit</code> a la seÃal <code>delete-event</code>. La seÃal "
+#~ "<code>delete-event</code> se emite cuando se cierra la ventana. La "
+#~ "funciÃn <code>gtk_main_quit</code> es parte de GTK+, y sale de la "
+#~ "aplicaciÃn."
 
-#: C/index.page:35(title)
-msgid "C"
-msgstr "C"
+#~ 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 "
+#~ "widgets. The second argument to <code>gtk_box_new</code> sets the amount "
+#~ "of padding (in pixels) between each child, and the next line puts a six-"
+#~ "pixel border around the entire thing."
+#~ msgstr ""
+#~ "Ahora cree una caja vertical y aÃÃdala a la ventana. Una ventana sÃlo "
+#~ "puede contener un widget hijo, por lo que necesitarà una caja para aÃadir "
+#~ "varios widgets. El segundo argumento de <code>gtk_box_new</code> "
+#~ "configura la cantidad de espacio (en pÃxeles) entre cada hijo, y la "
+#~ "siguiente lÃnea aÃade un borde de seis pÃxeles alrededor de la cosa "
+#~ "completa."
 
-#: C/index.page:39(title)
-msgid "C++"
-msgstr "C++"
+#~ 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 the entry shouldn't take up any extra space the box has available. "
+#~ "The fourth argument is the amount of padding you want around the entry. "
+#~ "In this case, you set the padding to zero, because you're allowing the "
+#~ "box to handle all the padding."
+#~ msgstr ""
+#~ "DespuÃs, cree un objeto <code>GtkEntry</code> y empaquÃtelo en una caja. "
+#~ "Los argumentos tercero y cuarto de <code>gtk_box_pack_start</code> "
+#~ "especifican que la entrada no deberÃa coger ningÃn espacio adicional que "
+#~ "tenga la caja. El cuarto es la cantidad de relleno que quiere alrededor "
+#~ "de la entrada. En este caso, se establece el relleno a cero, ya que se "
+#~ "està permitiendo que la caja maneje todo el relleno."
 
-#: C/index.page:43(title)
-msgid "JavaScript"
-msgstr "JavaScript"
+#~ 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 when necessary, and prevent your web view from filling your entire "
+#~ "screen. This time, you pass <code>TRUE</code> and <code>TRUE</code> to "
+#~ "<code>gtk_box_pack_start</code> to allow the scrolled window (and thus, "
+#~ "the web view) to use any extra space available in the box."
+#~ msgstr ""
+#~ "Antes de aÃadir la vista web debe crear una ventana desplazada para "
+#~ "ponerla dentro. La ventana desplazada contendrà barras de desplazamiento "
+#~ "a la derecha y abajo cuando sea necesario, y evitarà que la vista web "
+#~ "abarque la pantalla entera. En este momento, se pasa <code>TRUE</code> y "
+#~ "<code>TRUE</code> a <code>gtk_box_pack_start</code> para permitir que la "
+#~ "ventana desplazada (y por lo tanto, la vista web) usen el espacio "
+#~ "adicional disponible en la caja."
 
-#: C/index.page:47(title)
-msgid "Python"
-msgstr "Python"
+#~ 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 <code>webkit_web_view_load_string</code> with the following "
+#~ "arguments:"
+#~ msgstr ""
+#~ "Finalmente, cree una <code>WebKitWebView</code> y aÃÃdala a la ventana "
+#~ "desplazada. Entonces cargue una pÃgina HTML muy simple en la vista web "
+#~ "llamando a <code>webkit_web_view_load_string</code> con los siguientes "
+#~ "argumentos:"
 
-#: C/index.page:51(title)
-msgid "Vala"
-msgstr "Vala"
+#~ msgid "WEBKIT_WEB_VIEW (view)"
+#~ msgstr "WEBKIT_WEB_VIEW (view)"
 
-#: C/index.page:55(title)
-msgid "Get Involved"
-msgstr "Involucrarse"
+#~ 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 object."
+#~ msgstr ""
+#~ "La vista en sÃ. Ya que <code>view</code> es de tipo <code>GtkWidget*</"
+#~ "code>, debe usar <code>WEBKIT_WEB_VIEW</code> para convertir el tipo del "
+#~ "objeto con seguridad."
 
-#. When image changes, this message will be marked fuzzy or untranslated for you.
-#. It doesn't matter what you translate it to: it's not used at all.
-#: C/image-viewer.vala.page:46(None) C/image-viewer.py.page:40(None)
-#: C/image-viewer.js.page:41(None) C/image-viewer.cpp.page:31(None)
-#: C/image-viewer.c.page:31(None)
-msgid "@@image: 'media/image-viewer.png'; md5=7720360611243b14283b83527be968c2"
-msgstr ""
-"@@image: 'media/image-viewer.png'; md5=7720360611243b14283b83527be968c2"
+#~ msgid "\"&lt;html&gt;&lt;body&gt;&lt;/body&gt;&lt;/html&gt;\""
+#~ msgstr "\"&lt;html&gt;&lt;body&gt;&lt;/body&gt;&lt;/html&gt;\""
 
-#: C/image-viewer.vala.page:8(desc) C/image-viewer.c.page:8(desc)
-msgid "A little bit more than a simple \"Hello world\" Gtk application."
-msgstr "Algo mÃs que una sencilla aplicaciÃn ÂHola mundo en GTK."
+#~ msgid "The simplest HTML file you could possibly write."
+#~ msgstr "El archivo HTML mÃs simple que pueda escribir."
 
-#: C/image-viewer.vala.page:20(name)
-msgid "Philip Chimento"
-msgstr "Philip Chimento"
+#~ msgid "\"text/html\""
+#~ msgstr "\"text/html\""
 
-#: C/image-viewer.vala.page:21(email)
-msgid "philip chimento gmail com"
-msgstr "philip chimento gmail com"
+#~ msgid ""
+#~ "The MIME type of the content you provided. In this case, you're using "
+#~ "plain HTML."
+#~ msgstr ""
+#~ "El tipo MIME del contenido que ha proporcionado. En este caso, està "
+#~ "usando HTML plano."
 
-#: C/image-viewer.vala.page:29(title) C/image-viewer.js.page:23(title)
-msgid "1 Image Viewer"
-msgstr "1. Visor de imÃgenes"
+#~ msgid "\"UTF-8\""
+#~ msgstr "\"UTF-8\""
 
-#: C/image-viewer.vala.page:31(p)
-msgid ""
-"In this tutorial you will create an application which opens and displays an "
-"image file. You will learn:"
-msgstr ""
-"En este tutorial se va a crear un programa que abre un archivo de imagen y "
-"lo muestra. Aprenderà a:"
+#~ 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 default encoding throughout the GNOME platform."
+#~ msgstr ""
+#~ "La codificaciÃn de caracteres del contenido que ha proporcionado. Aunque "
+#~ "sÃlo use caracteres ASCII, es una buena idea especificar UTF-8, ya que es "
+#~ "la codificaciÃn que se usa de manera predeterminada en toda la plataforma "
+#~ "GNOME."
 
-#: C/image-viewer.vala.page:33(p)
-msgid ""
-"How to set up a basic project using the <link xref=\"getting-ready\">Anjuta "
-"IDE</link>."
-msgstr ""
-"CÃmo configurar un proyecto bÃsico usando el <link xref=\"getting-ready"
-"\">EID Anjuta</link>."
+#~ msgid "NULL"
+#~ msgstr "NULL"
 
-#: C/image-viewer.vala.page:34(p)
-msgid ""
-"How to write a <link href=\"http://developer.gnome.org/platform-overview/";
-"stable/gtk\">Gtk application</link> in Vala"
-msgstr ""
-"CÃmo escribir una <link href=\"http://developer.gnome.org/platform-overview/";
-"stable/gtk\">aplicaciÃn de GTK+</link> en Vala"
+#~ 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 you want to use relative URI references."
+#~ msgstr ""
+#~ "El URI base. En este ejemplo no se necesita, pero puede querer "
+#~ "proporcionar un URI <sys>file:</sys> si aÃade imÃgenes u otras "
+#~ "caracterÃsticas cuando quiera usar referencias a URI relativos."
 
-#: C/image-viewer.vala.page:35(p)
-msgid ""
-"Some basic concepts of <link href=\"http://developer.gnome.org/gobject/";
-"stable/\">GObject</link> programming"
-msgstr ""
-"Algunos conceptos bÃsicos de programaciÃn en <link href=\"http://developer.";
-"gnome.org/gobject/stable/\">GObject</link>"
+#~ 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 a container widget like a <code>GtkBox</code>, GTK+ will "
+#~ "automatically show all the widgets inside the container, to any depth. "
+#~ "Sometimes you don't want to call <code>gtk_widget_show_all</code>, such "
+#~ "as when you want to dynamically hide and show some widgets in response to "
+#~ "events."
+#~ msgstr ""
+#~ "Cada vez que aÃade un widget, debe llamar a la funciÃn "
+#~ "<code>gtk_widget_show</code> sobre Ãl para hacerlo visible. Si llama a "
+#~ "<code>gtk_widget_show</code> en un contenedor de widgets como "
+#~ "<code>GtkBox</code>, GTK+ mostrarà automÃticamente todos los widgets del "
+#~ "contenedor, en cualquier nivel. Algunas veces no se quiere llamar a la "
+#~ "funciÃn <code>gtk_widget_show_all</code>, como cuando se quieren ocultar "
+#~ "o mostrar dinÃmicamente algunos objetos en respuesta a determinados "
+#~ "eventos."
 
-#: C/image-viewer.vala.page:40(p) C/guitar-tuner.vala.page:36(p)
-msgid ""
-"Basic knowledge of the <link href=\"https://live.gnome.org/Vala/Tutorial";
-"\">Vala</link> programming language."
-msgstr ""
-"Conocimiento baÌsico del lenguaje de programacioÌn <link href=\"https://live.";
-"gnome.org/Vala/Tutorial\">Vala</link>."
+#~ 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 shown in the <code>main</code> function with <code>gtk_widget_show</"
+#~ "code>.)"
+#~ msgstr ""
+#~ "Finalmente, debe llamar a la funciÃn <code>gtk_widget_show_all</code> "
+#~ "sobre la caja. De otro modo, ninguno de los widgets que haya creado serà "
+#~ "visible. (La ventana se muestra en la funciÃn <code>main</code> con "
+#~ "<code>gtk_widget_show</code>.)"
 
-#: C/image-viewer.vala.page:41(p) C/guitar-tuner.vala.page:37(p)
-msgid "An installed copy of <app>Anjuta</app>."
-msgstr "Una copia instalada de <app>Anjuta</app>."
+#~ 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 the web view don't know anything about each other."
+#~ msgstr ""
+#~ "Construya y ejecute el cuadro de mensajes de nuevo. DeberÃa ver una "
+#~ "ventana con una entrada de texto y una vista web. TodavÃa no hace nada "
+#~ "porque la entrada de texto y la vista web no saben nada la una acerca de "
+#~ "la otra."
 
-#: C/image-viewer.vala.page:42(p)
-msgid ""
-"You may find the <link href=\"http://valadoc.org/gtk+-3.0/\";>gtk+-3.0</link> "
-"API Reference useful, although it is not necessary to follow the tutorial."
-msgstr ""
-"Puede que la referencia de la API de <link href=\"http://valadoc.org/gtk+-";
-"3.0/\">gtk+-3.0</link> le resulte Ãtil, aunque no es necesaria para seguir "
-"el tutorial."
+#~ msgid "Hook up signals"
+#~ msgstr "Conectar seÃales"
 
-#: C/image-viewer.vala.page:55(p) C/guitar-tuner.vala.page:48(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 "
-"project wizard."
-msgstr ""
-"Inicie <app>Anjuta</app> y pulse <gui>Crear un proyecto nuevo</gui> o "
-"<guiseq><gui>Archivo</gui><gui>Nuevo</gui><gui>Proyecto</gui></guiseq> para "
-"abrir el asistente de proyectos."
+#~ 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 to the <code>activate</code> signal of <code>entry</code>. GTK+ "
+#~ "emits the <code>activate</code> signal whenever the user presses "
+#~ "<key>Enter</key> in the entry. Add the following into "
+#~ "<code>create_window</code>, anywhere after both <code>entry</code> and "
+#~ "<code>view</code> have been defined:"
+#~ msgstr ""
+#~ "Ahora se quiere hacer que el cuadro <em>haga</em> algo cuando se "
+#~ "introduce texto en la entrada de texto. Para hacer esto, conecte una "
+#~ "funciÃn de retorno de la llamada a la seÃal <code>activate</code> de "
+#~ "<code>entry</code>. GTK+ emite la seÃal <code>activate</code> cuando el "
+#~ "usuario pulsa <key>Intro</key> en la entrada. AÃada lo siguiente en "
+#~ "<code>create_window</code>, en cualquier lugar despuÃs de que "
+#~ "<code>entry</code> y <code>view</code> se hayan definido:"
 
-#: C/image-viewer.vala.page:58(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>image-viewer</file> as project name and directory."
-msgstr ""
-"Seleccione <gui>Gtk+ (simple)</gui> en la pestaÃa <gui>Vala</gui>, pulse "
-"<gui>Siguiente</gui>, y rellene los detalles en las siguientes pÃginas. Use "
-"<file>visor-imagenes</file> como nombre del proyecto y de la carpeta."
+#~ msgid ""
+#~ "You then have to actually define <code>entry_activate_cb</code>. Define "
+#~ "it as follows, anywhere above <code>create_window</code>:"
+#~ msgstr ""
+#~ "Entonces se debe definir <code>entry_activate_cb</code>. DefÃnalo como "
+#~ "quiera, en cualquier lugar por encima de <code>create_window</code>:"
 
-#: C/image-viewer.vala.page:62(p)
-msgid ""
-"Make sure that <gui>Use GtkBuilder for user interface</gui> is disabled as "
-"we will create the UI manually in this tutorial."
-msgstr ""
-"AsegÃrese de que <gui>Usar GtkBuilder para la interfaz del usuario</gui> "
-"està desactivado, ya que, en este tutorial, la IU se crearà manualmente."
+#~ 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 and methods in WebKit allow you to inspect and manipulate the "
+#~ "HTML document, and work very similarly to the DOM APIs you might already "
+#~ "know from JavaScript."
+#~ msgstr ""
+#~ "Lo primero que hacer es obtener un objeto <code>WebKitDOMDocument</code> "
+#~ "que representa el documento HTML mostrado en la <code>view</code>. Las "
+#~ "clases DOM y los mÃtodos de WebKit le permiten inspeccionar y manipular "
+#~ "el documento HTML, y trabajar de manera similar a las API DOM que ya "
+#~ "deberÃa conocer de JavaScript."
 
-#: C/image-viewer.vala.page:63(p)
-msgid ""
-"You will learn how to use the interface builder in the <link xref=\"guitar-"
-"tuner.vala\">Guitar-Tuner</link> tutorial."
-msgstr ""
-"Aprenderà a usar el constructor de interfaces en el tutorial del <link xref="
-"\"guitar-tuner.vala\">afinador de guitarra</link>."
+#~ 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 "
+#~ "<code>webkit_dom_document_query_selector</code> function lets you find an "
+#~ "element in the document using CSS selectors. This keeps you from having "
+#~ "to write tedious loops to traverse the document."
+#~ msgstr ""
+#~ "Una vez que tenga el documento, querrà obtener el elemento <code>body</"
+#~ "code> para poder aÃadirle elementos <code>div</code>. La funciÃn "
+#~ "<code>webkit_dom_document_query_selector</code> le permite encontrar un "
+#~ "elemento en el documento usando selectores CSS. Esto le evita tener que "
+#~ "escribir bucles tediosos para recorrer el documento."
 
-#: C/image-viewer.vala.page:67(p)
-msgid ""
-"Click <gui>Apply</gui> and the project will be created for you. Open "
-"<file>src/main.vala</file> from the <gui>Project</gui> or <gui>File</gui> "
-"tabs. You will see this code:"
-msgstr ""
-"Pulse <gui>Aplicar</gui> y se crearà el proyecto. Abra <file>src/main.vala</"
-"file> desde las pestaÃas <gui>Proyecto</gui> o <gui>Archivo</gui>. Verà el "
-"siguiente cÃdigo:"
+#~ msgid "shaunm"
+#~ msgstr "shaunm"
 
-#: C/image-viewer.vala.page:106(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 "
-"the basics:"
-msgstr ""
-"El cÃdigo carga una ventana (vacÃa) desde el archivo de descripciÃn de "
-"interfaz de usuario y la muestra. Se ofrecen mÃs detalles a continuaciÃn; "
-"omita esta lista si entiende los conceptos bÃsicos:"
+#~ msgid "FIXME: Is this true? Does query_selector take CSS, CSSish, or what?"
+#~ msgstr "NO TRADUCIR"
 
-#: C/image-viewer.vala.page:111(p)
-msgid ""
-"The two <code>using</code> lines at the top import namespaces so we don't "
-"have to name them explicitly."
-msgstr ""
-"Las dos lÃneas <code>using</code> importan espacios de nombres, por lo que "
-"no hay que nombrarlas explÃcitamente."
+#~ 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 create an element takes the <code>WebKitDOMDocument</code> as "
+#~ "its first arguments. You then set the text content of the element to the "
+#~ "contents of the text entry. Because <code>gtk_entry_get_text</code> "
+#~ "returns a <code>const gchar*</code>, you don't have to free the result."
+#~ msgstr ""
+#~ "Ahora, cree un elemento <code>div</code> que contenga el mensaje. Cada "
+#~ "elemento que cree se debe adjuntar se debe adjuntar a un documento, por "
+#~ "lo que la funciÃn para crear un elemento toma el <code>WebKitDOMDocument</"
+#~ "code> como primer argumento. Debe entonces establecer el contenido del "
+#~ "elemento con el contenido de la entrada de texto. Dado que "
+#~ "<code>gtk_entry_get_text</code> devuelve un <code>const gchar*</code>, no "
+#~ "tiene que liberar el resultado."
 
-#: C/image-viewer.vala.page:114(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";
-"\">signal</link> to exit the application when that window is closed."
-msgstr ""
-"El constructor de la clase <code>Main</code> crea una ventana (vacÃa) nueva "
-"y conecta una <link href=\"https://live.gnome.org/Vala/SignalsAndCallbacks";
-"\">seÃal</link> para salir de la aplicaciÃn cuando se cierra esa ventana."
+#~ msgid ""
+#~ "Not passing the GError**, but we should give it a quick mention and link "
+#~ "to somewhere that explains how GError-handling works."
+#~ msgstr "NO TRADUCIR"
 
-#: C/image-viewer.vala.page:115(p) C/image-viewer.c.page:67(p)
-#: C/guitar-tuner.c.page:72(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 "
-"called (and quits the app) when you close the window."
-msgstr ""
-"Conectar seÃales es como se define lo que pasa cuando pulsa un botÃn, o "
-"cuando ocurre algÃn otro evento. AquÃ, se llama a la funciÃn <code>destroy</"
-"code> (y se sale de la aplicaciÃn) cuando cierra la ventana."
+#~ 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 again and test it for yourself."
+#~ msgstr ""
+#~ "Finalmente, aÃada el nuevo elemento <code>div</code> al cuerpo y limpie "
+#~ "la salida de texto para poder escribir algo nuevo. Construya y ejecute el "
+#~ "programa otra vez y pruÃbelo por su cuenta."
 
-#: C/image-viewer.vala.page:119(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</"
-"code> class, set up and then run the application. The <link href=\"http://";
-"valadoc.org/gtk+-3.0/Gtk.main.html\"><code>Gtk.main</code></link> function "
-"starts the GTK <link href=\"http://en.wikipedia.org/wiki/Event_loop\";>main "
-"loop</link>, which runs the user interface and starts listening for events "
-"(like clicks and key presses)."
-msgstr ""
-"La funciÃn <code>static main</code> se ejecuta de manera predeterminada "
-"cuando inicia una aplicaciÃn en Vala. Llama a algunas funciones que crean la "
-"clase <code>Main</code> y configuran y ejecutan la aplicaciÃn. La funciÃn "
-"<link href=\"http://valadoc.org/gtk+-3.0/Gtk.main.html\";><code>Gtk.main</"
-"code></link> inicia el <link href=\"http://en.wikipedia.org/wiki/Event_loop";
-"\">bucle principal</link> de GTK+, que ejecuta la interfaz de usuario y "
-"empieza a escuchar eventos (como pulsaciones del ratÃn y del teclado)."
-
-#: C/image-viewer.vala.page:131(title) C/image-viewer.cpp.page:81(title)
-#: C/image-viewer.c.page:82(title)
-msgid "Creating the user interface"
-msgstr "Crear la interfaz de usuario"
-
-#: C/image-viewer.vala.page:132(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.";
-"html\"><code>Gtk.Container</code></link>s that can contain other widgets and "
-"even other containers. Here we will use the simplest available container, a "
-"<link href=\"http://unstable.valadoc.org/gtk+-2.0/Gtk.Box.html\";><code>Gtk."
-"Box</code></link>."
-msgstr ""
-"Ahora se darà vida a la ventana vacÃa. GTK+ organiza la interfaz de usuario "
-"con varios <link href=\"http://www.valadoc.org/gtk+-2.0/Gtk.Container.html";
-"\"><code>Gtk.Container</code></link> que pueden contener otros widgets e "
-"incluso otros contenedores. Aquà se usarà el contenedor mÃs sencillo "
-"disponible, una <link href=\"http://unstable.valadoc.org/gtk+-2.0/Gtk.Box.";
-"html\"><code>Gtk.Box</code></link>."
-
-#: C/image-viewer.vala.page:136(p)
-msgid "Add the following lines to the top of the <code>Main</code> class:"
-msgstr ""
-"AÃada las siguientes lÃneas a la parte superior de la clase <code>Main</"
-"code>:"
+#~ msgid "Make it look better with CSS"
+#~ msgstr "Mejorar el aspecto con CSS"
 
-#: C/image-viewer.vala.page:142(p)
-msgid "Now replace the current constructor with the one below:"
-msgstr "Ahora reemplace el constructor actual con el siguiente:"
+#~ 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 HTML page. There are many ways you could attach some CSS "
+#~ "to the page: You could add it in the initial HTML document. You could "
+#~ "inline it in the <code>style</code> attribute of the <code>div</code> "
+#~ "elements. You could even programmatically construct it using the DOM APIs."
+#~ msgstr ""
+#~ "En este punto, su programa es completamente funcional, pero no es muy "
+#~ "atractivo. Puede aÃadir estilos a la visualizaciÃn de los mensajes con "
+#~ "CSS, igual que puede hacer con una pÃgina web. Hay muchas maneras de "
+#~ "incluir un CSS en la pÃgina: puede aÃadirlo al documento HTML inicial, "
+#~ "aÃadirlo en lÃnea usando el atributo <code>style</code> de los elementos "
+#~ "<code>div</code> o puede incluso construirlo con programaciÃn usando las "
+#~ "API DOM."
 
-#: C/image-viewer.vala.page:168(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 "
-"accessible throughout the class instead of only in the method where they are "
-"created."
-msgstr ""
-"Las dos primeras lÃneas son partes de la IGU a las que se debe acceder desde "
-"mÃs de un mÃtodo. Se declaran aquÃ, por lo que son accesibles mediante la "
-"clase en vez de serlo solamente en el mÃtodo en el que se crearon."
+#~ 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 web view. In a more complete application, you would want to save "
+#~ "and load your HTML file. Keeping the style information outside the actual "
+#~ "HTML means that you can change the styling completely within your "
+#~ "application, without having to change users' files. You would normally "
+#~ "just install a file along with your application, but just to keep "
+#~ "everything in one file for this demo, we'll use a trick called a data "
+#~ "URI. First, define the CSS as a static string near the top of your file."
+#~ msgstr ""
+#~ "En este tutorial se adjuntarà el CSS usando la propiedad <code>user-"
+#~ "stylesheet-uri</code> del objeto <code>WebKitWebSetting</code> empotrado "
+#~ "en la vista web. En una aplicaciÃn mÃs completa, se podrÃa querer guardar "
+#~ "y cargar el archivo HTML. Mantener la informaciÃn de estilo fuera del "
+#~ "HTML actual significa que se puede cambiar el estilo completo de la "
+#~ "aplicaciÃn sin tener que cambiar los archivos del usuario. Normalmente se "
+#~ "instala un archivo junto con la aplicaciÃn, pero simplemente para "
+#~ "mantener todo en un archivo en esta demostraciÃn, se usarà un truco "
+#~ "llamado URI de datos. En primer lugar, se define el CSS como una cadena "
+#~ "estÃtica cerca del principio del archivo."
 
-#: C/image-viewer.vala.page:172(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 "
-"image view widget itself and the box we will use as a container."
-msgstr ""
-"Las primeras lÃneas del constructor crean la ventana vacÃa. Las siguientes "
-"lÃneas crean los widgets que se quieren usar: un botÃn para abrir una "
-"imagen, el widget de la vista de la imagen en sà y la caja que se usarà como "
-"contenedor."
+#~ 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 use whatever CSS is necessary. In fact, if you're comfortable with "
+#~ "CSS, you should trying changing this to something you like better."
+#~ msgstr ""
+#~ "Todo lo que tiene en este ejemplo son elementos <code>div</code> dentro "
+#~ "de un elemento <code>body</code>. Si ha creado HTML mÃs complejo, puede "
+#~ "usar cualquier CSS que sea necesario. Si se siente cÃmodo usando CSS "
+#~ "deberÃa intentar cambiar esto por algo que le guste mÃs."
 
-#: C/image-viewer.vala.page:176(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 "
-"box and define their behaviour. The image will expand into any available "
-"space whereas the button will just be as big as needed. You will notice that "
-"we don't set explicit sizes on the widgets. In GTK this is usually not "
-"needed as it makes it much easier to have a layout that looks good in "
-"different window sizes. Next, the box is added to the window."
-msgstr ""
-"Las llamadas a <link href=\"http://unstable.valadoc.org/gtk+-2.0/Gtk.Box.";
-"pack_start.html\"><code>pack_start</code></link> aÃaden los dos widgets a la "
-"caja y definen su comportamiento. La imagen se expandirà en cualquier "
-"espacio disponible, mientras que el botÃn serà tan grande como se necesite. "
-"Se darà cuenta de que no se establecen tamaÃos explÃcitos de los widgets. "
-"Generalmente, en GTK+ no se necesita ya que hace que sea mucho mÃs sencillo "
-"tener una distribuciÃn que se ve bien con diferentes tamaÃos de la ventana. "
-"A continuaciÃn, se aÃade la caja a la ventana."
-
-#: C/image-viewer.vala.page:183(p)
-msgid ""
-"We need to define what happens when the user clicks on the button. GTK uses "
-"the concept of <em>signals</em>."
-msgstr ""
-"Se debe definir quà pasa cuando el usuario pulsa en el botÃn. GTK+ usa el "
-"concepto de <em>seÃales</em>."
+#~ 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 "
+#~ "already been defined."
+#~ msgstr ""
+#~ "Para aplicar el CSS, configure la <code>user-stylesheet-uri</code> en la "
+#~ "funciÃn <code>create_window</code>, en cualquier lugar despuÃs de que "
+#~ "<code>view</code> se haya definido."
 
-#: C/image-viewer.vala.page:184(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.";
-"Button.clicked.html\"><code>clicked</code></link> signal, which we can "
-"connect to some action (defined in a <link href=\"https://live.gnome.org/";
-"Vala/SignalsAndCallbacks\">callback</link> method)."
-msgstr ""
-"Cuando se pulsa el <link href=\"http://valadoc.org/gtk+-3.0/Gtk.Button.html";
-"\">botÃn</link> se emite la seÃal <link href=\"http://valadoc.org/gtk+-3.0/";
-"Gtk.Button.clicked.html\"><code>clicked</code></link>, que se puede conectar "
-"a alguna acciÃn (definida en un mÃtodo de un <link href=\"https://live.gnome.";
-"org/Vala/SignalsAndCallbacks\">retorno de la llamada</link>)."
+#~ msgid "g_base64_encode has bad args"
+#~ msgstr "g_base64_encode tiene argumentos no vÃlidos"
 
-#: C/image-viewer.vala.page:187(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 "
-"undefined) <code>on_image_open</code> callback method when the button is "
-"clicked. We will define the <em>callback</em> in the next section."
-msgstr ""
-"Esto se hace usando el mÃtodo <code>connect</code> de la seÃal "
-"<code>clicked</code> de los botones, que en este caso indica a GTK+ que "
-"llame al mÃtodo del retorno de la llamada <code>on_image_open</code> "
-"(todavÃa no definida) cuando se pulsa el botÃn. El <em>retorno de la "
-"llamada</em> se definirà en la siguiente secciÃn."
+#~ msgid ""
+#~ "Also, make sure to add variable declarations for <code>tmp</code> and "
+#~ "<code>css</code> to the top of <code>create_window</code>."
+#~ msgstr ""
+#~ "AsegÃrese de aÃadir declaraciones de variables para <code>tmp</code> y "
+#~ "<code>css</code> a la parte superior de <code>create_window</code>."
 
-#: C/image-viewer.vala.page:191(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 "
-"our class."
-msgstr ""
-"En el retorno de la llamada, se debe acceder a los widgets <code>window</"
-"code> y <code>image</code> que es por lo que se definen como miembros "
-"privados en la parte superior de la clase."
+#~ msgid ""
+#~ "\n"
+#~ "gchar *tmp, *css;\n"
+#~ msgstr ""
+#~ "\n"
+#~ "gchar *tmp, *css;\n"
 
-#: C/image-viewer.vala.page:195(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 "
-"<code>on_destroy</code> callback method which called <link href=\"http://www.";
-"valadoc.org/gtk+-2.0/Gtk.main_quit.html\"><code>Gtk.main_quit</code></link>, "
-"but just connecting our signal to <code>main_quit</code> directly is easier. "
-"You can delete the <code>on_destroy</code> method."
-msgstr ""
-"La Ãltima llamada a <code>connect</code> asegura que la aplicaciÃn termina "
-"cuando se cierra la ventana. El cÃdigo generado por Anjuta llamaba a un "
-"mÃtodo <code>on_destroy</code> que llamaba a <link href=\"http://www.valadoc.";
-"org/gtk+-2.0/Gtk.main_quit.html\"><code>Gtk.main_quit</code></link>, pero "
-"simplemente conectando la seÃal <code>main_quit</code> directamente es mÃs "
-"fÃcil. Puede eliminar el mÃtodo <code>on_destroy</code>."
-
-#: C/image-viewer.vala.page:202(title) C/image-viewer.cpp.page:136(title)
-#: C/image-viewer.c.page:147(title)
-msgid "Showing the image"
-msgstr "Mostrar la imagen"
-
-#: C/image-viewer.vala.page:203(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:"
-msgstr ""
-"Ahora se definirà el manejador de la seÃal <em>clicked</em> para el botÃn "
-"mencionado anteriormente. AÃada este cÃdigo despuÃs del constructor."
+#~ msgid ""
+#~ "A data URI starts with <sys>data:</sys> and some information about the "
+#~ "content type and how the data is encoded. The actual data follows after a "
+#~ "comma, in this case encoded in Base64. Unlike other URI schemes like "
+#~ "<sys>http:</sys>, <sys>ftp:</sys>, and <sys>file:</sys>, the <sys>data:</"
+#~ "sys> URI scheme doesn't specify where to find a file to load. Rather, it "
+#~ "gives the entire contents of the file."
+#~ msgstr ""
+#~ "Un URI de datos empieza por <sys>data:</sys> y cierta informaciÃn sobre "
+#~ "el tipo de contenido y cÃmo se codifican los datos. Los datos reales "
+#~ "siguen despuÃs de una coma, en este caso, codificados en Base64. A "
+#~ "diferencia de otros esquemas de URI como <sys>http:</sys>, <sys>ftp:</"
+#~ "sys>, y <sys>file:</sys>, the <sys>data:</sys>, el esquema del URI no "
+#~ "especifica dÃnde encontrar un archivo que cargar. En vez de eso, ofrece "
+#~ "el contenido completo del archivo."
 
-#: C/image-viewer.vala.page:229(p)
-msgid "This is a bit complicated, so let's break it down:"
-msgstr "Esto es un poco mÃs complicado, asà que se puede desglosar:"
+#~ msgid ""
+#~ "The code above first encodes your CSS definitions in Base64, then "
+#~ "combines that with a fixed string to create a data URI. The "
+#~ "<code>g_strconcat</code> function can take any number of string arguments "
+#~ "and concatenate them all together, so you have to pass <code>NULL</code> "
+#~ "as the final argument so it knows when to stop. And don't forget to free "
+#~ "those temporary strings after you set the stylesheet property."
+#~ msgstr ""
+#~ "El cÃdigo anterior primero codifica las definiciones CSS en Base64, y "
+#~ "luego las combina con una cadena fija para crear una URI de datos. La "
+#~ "funciÃn <code>g_strconcat</code> puede tomar cualquier nÃmero de "
+#~ "argumentos de cadena y concatenarlos todos juntos, por lo que tiene que "
+#~ "pasar <code>NULL</code> como argumento final para que sepa dÃnde parar. "
+#~ "No olvide liberar esas cadenas temporales despuÃs de establecer la "
+#~ "propiedad de la hoja de estilos."
 
-#: C/image-viewer.vala.page:230(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."
-msgstr ""
-"Un manejador de seÃal es un tipo de mÃtodo de retorno de la llamada al que "
-"se llama cuando se emite la seÃal. Aquà se usan los tÃrminos intercambiados."
+#~ msgid ""
+#~ "Build and run the program again. It should now work exactly the same as "
+#~ "at the end of the last section, except the messages will be nicely styled "
+#~ "with a border and a subtle background gradient."
+#~ msgstr ""
+#~ "Construya y ejecute el programa de nuevo. DeberÃa funcionar exactamente "
+#~ "igual que al final de la Ãltima secciÃn, excepto que los mensajes tendrÃn "
+#~ "estilos con un borde y un degradado de fondo sutil."
 
-#: C/image-viewer.vala.page:233(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 "
-"<em>clicked</em> doesn't have any."
-msgstr ""
-"El primer argumento del mÃtodo del retorno de la llamada es siempre el "
-"widget que envÃa la seÃal. A veces hay otros argumentos relativos a la seÃal "
-"que vienen despuÃs, pero <em>clicked</em> no tiene ninguno."
+#~ msgid "Learn more"
+#~ msgstr "Aprender mÃs"
 
-#: C/image-viewer.vala.page:235(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:"
-msgstr ""
-"En este caso, el <code>button</code> envÃa la seÃal <code>clicked</code>, "
-"que se conecta al mÃtodo del retorno de la llamada <code>on_open_image</"
-"code>:"
+#~ msgid ""
+#~ "This tutorial showed you how to create a basic application using GTK+ and "
+#~ "WebKit, including showing a document and manipulating its contents. To "
+#~ "create a real application, you probably want to do a little bit more. Try "
+#~ "adding features on your own. Here are a few ideas:"
+#~ msgstr ""
+#~ "Este tutorial le ha mostrado cÃmo crear una aplicaciÃn sencilla usando GTK"
+#~ "+ y WebKit, incluyendo cÃmo mostrar un documento y manipular su "
+#~ "contenido. Para crear una aplicaciÃn real, probablemente quiera hacer "
+#~ "algo mÃs. Pruebe a aÃadir caracterÃsticas usted mismo. Aquà hay algunas "
+#~ "ideas:"
 
-#: C/image-viewer.vala.page:240(p)
-msgid ""
-"The <code>on_open_image</code> method takes the button that emitted the "
-"signal as an argument:"
-msgstr ""
-"El mÃtodo <code>on_open_image</code> toma como argumento el botÃn que ha "
-"emitido la seÃal:"
+#~ msgid ""
+#~ "If you're comfortable with CSS, try changing the style of the message "
+#~ "display. CSS is easy to get started with, but increasingly more powerful. "
+#~ "There is a wealth of CSS tutorials on the Internet, and just about "
+#~ "everything you can do on the web, you can do in this application."
+#~ msgstr ""
+#~ "Si se siente cÃmo usando CSS, pruebe a cambiar el estilo de la "
+#~ "visualizaciÃn del mensaje. Es fÃcil iniciarse en CSS, pero cada vez es "
+#~ "mÃs potente. Hay una gran cantidad de tutoriales de CSS en Internet, y "
+#~ "casi todo lo que se puede hacer en una pÃgina web, se puede hacer en esta "
+#~ "aplicaciÃn."
 
-#: C/image-viewer.vala.page:246(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.";
-"html\"><code>FileChooserDialog</code></link>'s constructor takes the title "
-"of the dialog, the parent window of the dialog and several options like the "
-"number of buttons and their corresponding values."
-msgstr ""
-"La siguiente lÃnea interesante es en la que se crea el diÃlogo para elegir "
-"el archivo. El constructor de  <link href=\"http://www.valadoc.org/gtk+-3.0/";
-"Gtk.FileChooserDialog.html\"><code>FileChooserDialog</code></link> toma el "
-"tÃtulo del diÃlogo, la ventana padre del diÃlogo y varias opciones como el "
-"nÃmero de botones y sus valores correspondientes."
+#~ msgid ""
+#~ "Right now, you lose all your messages whenever you close the message "
+#~ "board. Try saving the HTML contents after each post, and loading the "
+#~ "saved file (if it exists) on startup."
+#~ msgstr ""
+#~ "Ahora mismo, todos los mensajes se pierden al cerras el cuadro de "
+#~ "mensajes. Pruebe a guardar el contenido HTML despuÃs de cada envÃo, y a "
+#~ "cargar el archivo guardado (si existe) al inicio."
 
-#: C/image-viewer.vala.page:248(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 "
-"manually typing \"Cancel\" or \"Open\". The advantage of using stock names "
-"is that the button labels will already be translated into the user's "
-"language."
-msgstr ""
-"Tenga en cuenta que se està usando nombres de botones del <link href="
-"\"http://unstable.valadoc.org/gtk+-3.0/Gtk.Stock.html\";><em>almacÃn</em></"
-"link> de GTK+, en lugar de escribir manualmente ÂCancelar o ÂAbrirÂ. La "
-"ventaja de usar nombres del almacÃn es que las etiquetas de los botones ya "
-"estarÃn traducidas en el idioma del usuario."
+#~ msgid "Link to method to get HTML from DOM and to GIO APIs."
+#~ msgstr "Enlace al mÃtodo para obtener el HTML del DOM y de las API de GIO."
 
-#: C/image-viewer.vala.page:252(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 "
-"displays an image. A filter object is created first; we then add all kinds "
-"of files supported by <link href=\"http://www.valadoc.org/gdk-pixbuf-2.0/Gdk.";
-"Pixbuf.html\"><code>Gdk.Pixbuf</code></link> (which includes most image "
-"formats like PNG and JPEG) to the filter. Finally, we set this filter to be "
-"the <gui>Open</gui> dialog's filter."
-msgstr ""
-"Las dos liÌneas siguientes restringen el diaÌlogo <gui>Abrir</gui> para que "
-"soÌlo muestre archivos que se puedan abrir con <code>GtkImage</code>. "
-"GtkImage es un widget que muestra una imagen. Primero se crea un objeto; "
-"luego se anÌaden los tipos de archivos soportados por el <link href=\"http://";
-"www.valadoc.org/gdk-pixbuf-2.0/Gdk.Pixbuf.html\"><code>Gdk.Pixbuf</code></"
-"link> (que incluye la mayoriÌa de los formatos de imagen como PNG y JPEG) al "
-"filtro. Por uÌltimo, se establece que este filtro sea el filtro del diaÌlogo "
-"<gui>Abrir</gui>."
-
-#: C/image-viewer.vala.page:257(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 "
-"dialog will wait for the user to choose an image; when they do, <code>dialog."
-"run</code> will return the <link href=\"http://www.valadoc.org/gtk+-3.0/Gtk.";
-"ResponseType.html\">ResponseType</link> value <code>ResponseType.ACCEPT</"
-"code> (it would return <code>ResponseType.CANCEL</code> if the user clicked "
-"<gui>Cancel</gui>). The <code>switch</code> statement tests for this."
-msgstr ""
-"<link href=\"http://www.valadoc.org/gtk+-3.0/Gtk.Dialog.run.html";
-"\"><code>dialog.run</code></link> muestra el diÃlogo <gui>Abrir</gui>. El "
-"diÃlogo esperarà a que el usuario seleccione una imagen; cuando lo haga, "
-"<code>dialog.run</code> devolverà el valor <code>ResponseType.ACCEPT</code> "
-"de <link href=\"http://www.valadoc.org/gtk+-3.0/Gtk.ResponseType.html";
-"\">ResponseType</link> (devolverÃa <code>ResponseType.CANCEL</code> si el "
-"usuario pulsara <gui>Cancel</gui>). La sentencia <code>switch</code> "
-"comprueba esto."
-
-#: C/image-viewer.vala.page:262(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</"
-"code> widget to load and display the selected image."
-msgstr ""
-"Asumiendo que el usuario pulsà <gui>Abrir</gui>, las siguientes lÃneas "
-"obtienen el nombre de archivo de la imagen seleccionada por el usuario e "
-"indican al widget <code>GtkImage</code> que cargue y muestre la imagen "
-"elegida."
+#~ msgid ""
+#~ "If you keep your messages around for a long time, you'll start wondering "
+#~ "when you posted them. Add a timestamp to each message when it's posted. "
+#~ "You'll probably want to create some additional child <code>div</code> "
+#~ "elements with different classes that you can style in the CSS."
+#~ msgstr ""
+#~ "Si guarda sus mensajes durante mucho tiempo, empezarà a preguntarse dÃnde "
+#~ "los escribiÃ. AÃada una marca de tiempo a cada mensaje cuando se envÃa. "
+#~ "Probablemente quiera crear algÃn elemento <code>div</code> hijo adicional "
+#~ "con diferentes clases que puede modelar en el CSS."
 
-#: C/image-viewer.vala.page:265(p) C/image-viewer.py.page:212(p)
-#: C/image-viewer.js.page:298(p)
-msgid ""
-"In the final line of this method, we destroy the <gui>Open</gui> dialog "
-"because we don't need it any more."
-msgstr ""
-"En la Ãltima lÃnea de este mÃtodo se destruye el diÃlogo <gui>Abrir</gui> "
-"porque ya no se necesita."
+#~ msgid "Link to strftime or something"
+#~ msgstr "Enlace a strftime o algo"
 
-#: C/image-viewer.vala.page:266(p)
-msgid "Destroying automatically hides the dialog."
-msgstr "Al destruir se oculta el diÃlogo automÃticamente."
+#~ msgid ""
+#~ "This program keeps messages around forever. Think about ways you could "
+#~ "allow the user to delete messages. Perhaps you want messages to disappear "
+#~ "automatically after they're too old, or after there are a certain number "
+#~ "of messages before them. Or you could add a link in each message to "
+#~ "delete it. You could even override the context menu when you right-click "
+#~ "on a message. These features involve exploring WebKit's DOM API more."
+#~ msgstr ""
+#~ "Este programa guarda los mensajes para siempre. Piense alguna manera para "
+#~ "que el usuario pueda borrar mensajes. Tal vez quiera que los mensajes "
+#~ "desaparezca automÃticamente cuando son muy antiguos o despuÃs de que haya "
+#~ "cierto nÃmero de mensajes por delante. O podrÃa aÃadir un enlace en cada "
+#~ "mensaje para borrarlo. TambiÃn puede omitir el menà contextual cuando "
+#~ "pulsa con el botÃn derecho sobe un mensaje. Esta caracterÃsticas implican "
+#~ "explorar mÃs la API del DOM de WebKit."
 
-#: C/image-viewer.vala.page:273(p) C/image-viewer.c.page:215(p)
-#: C/guitar-tuner.vala.page:247(p) C/guitar-tuner.c.page:250(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 "
-"<guiseq><gui>Run</gui><gui>Execute</gui></guiseq> to start the application."
-msgstr ""
-"Todo el cÃdigo deberÃa estar listo para ejecutarse. Pulse "
-"<guiseq><gui>Construir</gui><gui>Construir proyecto</gui></guiseq> para "
-"construir todo otra vez y pulse <guiseq><gui>Ejecutar</gui><gui>Ejecutar</"
-"gui></guiseq> para iniciar la aplicaciÃn."
+#~ msgid ""
+#~ "@@image: 'media/magic-mirror.png'; md5=8171faea6ed3b6ddac0da084c29e4e22"
+#~ msgstr ""
+#~ "@@image: 'media/magic-mirror.png'; md5=8171faea6ed3b6ddac0da084c29e4e22"
 
-#: C/image-viewer.vala.page:275(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 "
-"enjoy!"
-msgstr ""
-"Si todavÃa no lo ha hecho, elija la aplicaciÃn <file>src/visor-imagenes</"
-"file> en el diÃlogo que aparece. Finalmente, pulse <gui>Ejecutar</gui> y "
-"disfrute."
+#~ msgid "Use your webcam as a mirror using the GStreamer framework and Gtk+"
+#~ msgstr ""
+#~ "Usar su cÃmara web como un espejo usando el entorno de trabajo GStreamer "
+#~ "y GTK+"
 
-#: C/image-viewer.vala.page:281(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>."
-msgstr ""
-"Si tiene problemas con este tutorial, compare su coÌdigo con este <link href="
-"\"image-viewer/image-viewer.vala\">coÌdigo de referencia</link>."
-
-#: C/image-viewer.vala.page:285(title) C/image-viewer.py.page:229(title)
-#: C/image-viewer.js.page:315(title) C/image-viewer.c.page:225(title)
-#: C/guitar-tuner.vala.page:263(title) C/guitar-tuner.py.page:232(title)
-#: C/guitar-tuner.cpp.page:268(title) C/guitar-tuner.c.page:260(title)
-msgid "Next steps"
-msgstr "Siguientes pasos"
-
-#: C/image-viewer.vala.page:286(p) C/image-viewer.py.page:230(p)
-#: C/image-viewer.js.page:316(p) C/image-viewer.c.page:226(p)
-#: C/guitar-tuner.vala.page:264(p) C/guitar-tuner.py.page:233(p)
-#: C/guitar-tuner.cpp.page:269(p) C/guitar-tuner.c.page:261(p)
-msgid "Here are some ideas for how you can extend this simple demonstration:"
-msgstr ""
-"Aquà hay algunas ideas sobre cÃmo puede extender esta sencilla demostraciÃn:"
+#~ msgid "Daniel G. Siegel"
+#~ msgstr "Daniel G. Siegel"
 
-#: C/image-viewer.vala.page:288(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."
-msgstr ""
-"ConfigÃrela de tal manera que la ventana se abra con un tamaÃo determinado. "
-"Por ejemplo, 200x200 pÃxeles."
+#~ msgid "dgsiegel gnome org"
+#~ msgstr "dgsiegel gnome org"
 
-#: C/image-viewer.vala.page:290(p) C/image-viewer.py.page:233(p)
-#: C/image-viewer.js.page:319(p) C/image-viewer.c.page:229(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."
-msgstr ""
-"Haga que el usuario selecciona una carpeta en vez de un archivo, y "
-"proporcione controles para moverse por todas las imÃgenes de una carpeta."
+#~ msgid "4 Magic Mirror"
+#~ msgstr "4. Espejo mÃgico"
 
-#: C/image-viewer.vala.page:293(p) C/image-viewer.py.page:236(p)
-#: C/image-viewer.js.page:322(p) C/image-viewer.c.page:232(p)
-msgid ""
-"Apply random filters and effects to the image when it is loaded and allow "
-"the user to save the modified image."
-msgstr ""
-"Aplicar filtros aleatorios y efectos a la imagen cuando se carga y permitir "
-"al usuario guardar la imagen modificada."
+#~ msgid ""
+#~ "Your mirror just fell off the wall and broke into a thousand pieces â but "
+#~ "you need a mirror to shave your beard off or add some makeup! You only "
+#~ "have 15 minutes left before catching the bus to work. So what can you do?"
+#~ msgstr ""
+#~ "Su espejo se ha caiÌdo al suelo y se ha roto en miles de pedazos; pero "
+#~ "necesita un espejo para afeitarse o para maquillarse. SoÌlo tiene 15 "
+#~ "minutos antes de coger el autobuÌs para ir al trabajo. ÂQueÌ puede hacer?"
 
-#: C/image-viewer.vala.page:294(p) C/image-viewer.py.page:237(p)
-#: C/image-viewer.js.page:323(p) C/image-viewer.c.page:233(p)
-msgid ""
-"<link href=\"http://www.gegl.org/api.html\";>GEGL</link> provides powerful "
-"image manipulation capabilities."
-msgstr ""
-"<link href=\"http://www.gegl.org/api.html\";>GEGL</link> proporciona la "
-"capacidad de manipular imÃgenes de manera potente."
+#~ msgid ""
+#~ "In this tutorial, we're going to make a program which lets you use your "
+#~ "webcam as a mirror. You will learn how to:"
+#~ msgstr ""
+#~ "En este tutorial se va a hacer un programa que le permite usar su cÃmara "
+#~ "web como un espejo. Aprenderà a:"
 
-#: C/image-viewer.vala.page:297(p) C/image-viewer.py.page:240(p)
-#: C/image-viewer.js.page:326(p) C/image-viewer.c.page:236(p)
-msgid ""
-"Allow the user to load images from network shares, scanners, and other more "
-"complicated sources."
-msgstr ""
-"Permitir al usuario cargar imÃgenes desde recursos de red compartidos, "
-"escÃneres y otras fuentes mÃs complicadas."
+#~ msgid "Create a GTK+ application"
+#~ msgstr "Crear una aplicaciÃn GTK+"
 
-#: C/image-viewer.vala.page:298(p) C/image-viewer.py.page:241(p)
-#: C/image-viewer.js.page:327(p) C/image-viewer.c.page:237(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://";
-"library.gnome.org/devel/gnome-scan/unstable/\">GNOME Scan</link> to handle "
-"scanning."
-msgstr ""
-"Puede usar <link href=\"http://library.gnome.org/devel/gio/unstable/\";>GIO</"
-"link> para gestionar transferencias de archivos de red y similares, y <link "
-"href=\"http://library.gnome.org/devel/gnome-scan/unstable/\";>GNOME Scan</"
-"link> para gestionar el escaneado."
+#~ msgid ""
+#~ "Access your webcam using GStreamer and embed the result into a window"
+#~ msgstr ""
+#~ "Acceder a su cÃmara web usando GStreamer y empotrar el resultado en una "
+#~ "ventana"
 
-#: C/image-viewer.py.page:9(desc)
-msgid ""
-"A little bit more than a simple \"Hello world\" application - write an image "
-"viewer in GTK."
-msgstr ""
-"Algo mÃs que una sencilla aplicaciÃn ÂHola mundoÂ; escribir un visor de "
-"imÃgenes en GTK."
+#~ msgid "Grab photos off your webcam"
+#~ msgstr "Obtener las fotos de su cÃmara web"
 
-#: C/image-viewer.py.page:13(name) C/image-viewer.js.page:13(name)
-msgid "Jonh Wendell"
-msgstr "Jonh Wendell"
+#~ msgid "You'll need the following to be able to follow this tutorial:"
+#~ msgstr "Necesitarà lo siguiente para poder seguir este tutorial:"
 
-#: C/image-viewer.py.page:14(email) C/image-viewer.js.page:14(email)
-msgid "jwendell gnome org"
-msgstr "jwendell gnome org"
+#~ msgid ""
+#~ "An installed copy of the <link xref=\"getting-ready\">Anjuta IDE</link>"
+#~ msgstr ""
+#~ "Una copia instalada del <link xref=\"getting-ready\">EID Anjuta</link>"
 
-#: C/image-viewer.py.page:23(title) C/image-viewer.cpp.page:21(title)
-#: C/image-viewer.c.page:21(title)
-msgid "Image Viewer"
-msgstr "Visor de imÃgenes"
+#~ msgid "Installed copies of GTK, GStreamer, and a Vala compiler"
+#~ msgstr "Copias instaladas de GTK, GStreamer y de un compilador de Vala"
 
-#: C/image-viewer.py.page:26(p) C/image-viewer.js.page:26(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:"
-msgstr ""
-"En este tutorial se va a escribir una aplicaciÃn GTK+ muy sencilla que carga "
-"un archivo e imagen y lo muestra. Aprenderà a:"
+#~ msgid "Basic knowledge of an object-oriented programming language"
+#~ msgstr ""
+#~ "Conocimientos bÃsico de un lenguaje de programaciÃn orientado a objetos"
 
-#: C/image-viewer.py.page:28(p)
-msgid "Write a basic GTK user interface in Python"
-msgstr "Escribir una interfaz de usuario bÃsica en Python"
+#~ 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."
+#~ msgstr ""
+#~ "Elija <gui>GTK+ (simple)</gui> de la pestaÃa <gui>Vala</gui>, pulse "
+#~ "<gui>Adelante</gui> y rellene los detalles en las siguientes pÃginas. Use "
+#~ "<file>afinador-guitarra</file> como nombre de proyecto y de carpeta."
 
-#: C/image-viewer.py.page:29(p) C/image-viewer.js.page:29(p)
-msgid "Deal with events by connecting signals to signal handlers"
-msgstr "Trabajar con eventos conectando seÃales a manejadores de seÃales"
+#~ 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"
+#~ "\">Guitar-Tuner</link> tutorial using the interface builder."
+#~ msgstr ""
+#~ "Desactive la opciÃn <gui>Usar GtkBuilder para la interfaz del usuario</"
+#~ "gui>, ya que, en este tutorial, la interfaz de usuario se crearà "
+#~ "manualmente. Revise el tutorial <link xref=\"guitar-tuner.vala\">afinador-"
+#~ "guitarra</link> usando el constructor de interfaces."
 
-#: C/image-viewer.py.page:30(p) C/image-viewer.js.page:30(p)
-msgid "Lay out GTK user interfaces using containers"
-msgstr "La disposiciÃn de las interfaces de usuario usando contenedores"
+#~ 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 "
+#~ "<app>GStreamer</app> library into your project."
+#~ msgstr ""
+#~ "AsegÃrese de que <gui>Configurar paquetes externos</gui> està "
+#~ "seleccionada. En la siguiente pÃgina, seleccione <em>gstreamermm-0.10</"
+#~ "em> de la lista para incluir la biblioteca <app>GStreamer</app> en su "
+#~ "proyecto."
 
-#: C/image-viewer.py.page:31(p) C/image-viewer.js.page:31(p)
-msgid "Load and display image files"
-msgstr "Cargar y mostrar archivos de imagen"
+#~ 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</gui> tabs. You should see some code which starts with the "
+#~ "lines:"
+#~ msgstr ""
+#~ "Pulse <gui>Aplicar</gui> y se crearaÌ el proyecto. Abra <file>src/espejo-"
+#~ "magico.vala</file> desde las pestanÌas <gui>Proyecto</gui> o <gui>Archivo</"
+#~ "gui>. DeberiÌa ver algo de coÌdigo que comience con las liÌneas:"
 
-#: C/image-viewer.py.page:36(p)
-msgid "Basic knowledge of the python programming language"
-msgstr "Conocimiento bÃsico del lenguaje de programaciÃn Python"
+#~ msgid "Build the code for the first time"
+#~ msgstr "Construir el cÃdigo por primera vez"
 
-#: C/image-viewer.py.page:50(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 "
-"<file>image-viewer</file> as project name and directory."
-msgstr ""
-"Seleccione <gui>PyGTK (automake)</gui> en la pestaÃa <gui>Python</gui>, "
-"pulse <gui>Continuar</gui>, y rellene los detalles en las siguientes "
-"pÃginas. Use <file>visor-imagenes</file> como nombre del proyecto y de la "
-"carpeta."
+#~ msgid ""
+#~ "The code loads an (empty) window and shows it. More details are given "
+#~ "below; skip this list if you understand the basics:"
+#~ msgstr ""
+#~ "El cÃdigo carga una ventana (vacÃa) y la muestra. A continuaciÃn hay mÃs "
+#~ "detalles; omita esta lista si entiende los conceptos bÃsicos:"
 
-#: C/image-viewer.py.page:53(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 "
-"the interface designer, check the <link xref=\"guitar-tuner.py\">Guitar-"
-"Tuner demo</link>."
-msgstr ""
-"AsegÃrese de desactivar <gui>Usar GtkBuilder para la interfaz del usuario</"
-"gui>, ya que, en este ejemplo, la interfaz de usuario se construirà "
-"manualmente. Para obtener un ejemplo del uso de diseÃador de interfaces. "
-"revise la <link xref=\"guitar-tuner.py\">demostraciÃn de afinador de "
-"guitarra</link>."
+#~ msgid ""
+#~ "The two <code>using</code> lines import namespaces so we don't have to "
+#~ "name them explicitly."
+#~ msgstr ""
+#~ "Las dos lÃneas <code>using</code> importan espacios de nombres, por lo "
+#~ "que no hay que nombrarlas explÃcitamente."
 
-#: C/image-viewer.py.page:58(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</"
-"gui> tabs. It contains very basic example code."
-msgstr ""
-"Pulse <gui>Aplicar</gui> y se crearaÌ el proyecto. Abra <file>src/visor-"
-"imagenes.py</file> desde las pestanÌas <gui>Proyecto</gui> o <gui>Archivo</"
-"gui>. Contiene un ejemplo de cÃdigo muy bÃsico:"
+#~ 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 quits the application if the window is closed. More on signals "
+#~ "later on."
+#~ msgstr ""
+#~ "El constructor de la clase <code>Main</code> crea una ventana nueva y "
+#~ "establece su tÃtulo. DespuÃs se muestra la ventana y se conecta una seÃal "
+#~ "que cierra la aplicaciÃn si se cierra la ventana. Se verÃn mÃs seÃales "
+#~ "mÃs adelante."
 
-#: C/image-viewer.py.page:64(title) C/image-viewer.js.page:125(title)
-msgid "A first Gtk application"
-msgstr "Una primera aplicaciÃn en GTK"
+#~ msgid ""
+#~ "The static <code>main</code> function is run by default when you start a "
+#~ "Vala application. It calls a few functions which create the Main class, "
+#~ "set up and then run the application. The <code>Gtk.Main</code> function "
+#~ "starts the GTK main loop, which runs the user interface and starts "
+#~ "listening for events (like clicks and key presses)."
+#~ msgstr ""
+#~ "La funciÃn estÃtica <code>main</code> se ejecuta de manera predeterminada "
+#~ "cuando inicia una aplicaciÃn en Vala. Llama a unas pocas funciones que "
+#~ "crean la clase ÂMainÂ, la configuran y ejecutan la aplicaciÃn. La funciÃn "
+#~ "<code>Gtk.Main</code> inicia el bucle principal de GTK+, que ejecuta la "
+#~ "interfaz de usuario y empieza a escuchar eventos (como pulsaciones del "
+#~ "ratÃn y del teclado)."
 
-#: C/image-viewer.py.page:65(p)
-msgid "Let's see what a very basic Gtk application looks like in Python:"
-msgstr "Vea como queda una aplicacioÌn GTK+ muy baÌsica en Python:"
+#~ msgid ""
+#~ "This code is ready to be used, so you can compile it by clicking "
+#~ "<guiseq><gui>Build</gui><gui>Build Project</gui></guiseq> (or press "
+#~ "<keyseq><key>Shift</key><key>F7</key></keyseq>)."
+#~ msgstr ""
+#~ "Este cÃdigo està listo para usarse, por lo que puede compilarlo pulsando "
+#~ "<guiseq><gui>Construir</gui><gui>Construir proyecto</gui></guiseq> (o "
+#~ "pulsando <keyseq><key>MayÃs</key><key>F7</key></keyseq>)."
 
-#: C/image-viewer.py.page:89(p) C/image-viewer.js.page:136(p)
-msgid "Let's take a look at what's happening:"
-msgstr "Eche un vistazo a lo que està pasando:"
+#~ 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 "
+#~ "this once, for the first build."
+#~ msgstr ""
+#~ "Cambie la <gui>ConfiguraciÃn</gui> a <gui>Predeterminada</gui> y pulse "
+#~ "<gui>Ejecutar</gui> para configurar la carpeta de construcciÃn. SÃlo "
+#~ "necesita hacer esto una vez, para la primera construcciÃn."
 
-#: C/image-viewer.py.page:92(p) C/image-viewer.js.page:139(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 "
-"provides language bindings for many GNOME libraries."
-msgstr ""
-"La primera lÃnea importa el espacio de nombres de GTK+ (es decir, incluye la "
-"biblioteca GTK+). Las bibliotecas las proporciona ÂGObject Introspection "
-"(gi)Â, que implementa asociaciones de lenguajes para la mayorÃa de las "
-"bilbiotecas de GNOME."
+#~ msgid "Access the webcam video stream with GStreamer"
+#~ msgstr "Acceder al flujo de vÃdeo de la cÃmara web con GStreamer"
 
-#: C/image-viewer.py.page:95(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 "
-"to quit the application once the window is closed. That's pretty simple "
-"overall, more on signals later."
-msgstr ""
-"En el mÃtodo <code>__init__</code> de la clase <code>GUI</code> se crea un "
-"<code>Gtk.Window</code> (vacÃa), establece su tÃtulo y despuÃs conecta una "
-"seÃal para salir de la aplicaciÃn una vez que se cierra la ventana. Es "
-"bastante simple, mÃs acerca de seÃales en adelante."
+#~ 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."
+#~ msgstr ""
+#~ "El entorno multimedia de trabajo GStreamer es capaz de manejar vÃdeo "
+#~ "desde cÃmaras web. AÃada GStreamer a su aplicaciÃn y podrà acceder al "
+#~ "flujo de vÃdeo."
 
-#: C/image-viewer.py.page:100(p)
-msgid ""
-"Next, <code>destroy</code> is defined which just quits the application. It "
-"is called by the <code>destroy</code> signal connected above."
-msgstr ""
-"DespuÃs se define <code>destroy</code> que simplemente sale de la "
-"aplicaciÃn. Se le llama a travÃs de la seÃal <code>destroy</code> conectada "
-"anteriormente."
+#~ msgid ""
+#~ "First we remove the window we created before because GStreamer will take "
+#~ "care of showing the picture on screen."
+#~ msgstr ""
+#~ "Primero se quita la ventana creada anteriormente, ya que GStreamer se "
+#~ "encargarà de mostrar la imagen en la pantalla."
 
-#: C/image-viewer.py.page:104(p)
-msgid "The rest of the file does initialisation for Gtk and displays the GUI."
-msgstr ""
-"El resto del archivo realiza la inicializaciÃn de GTK+ y muestra la IGU."
+#~ 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 "
+#~ "capable of taking photos, videos, applying effects and much more. Perfect "
+#~ "for our use case! With <code>this.camerabin.set_state (Gst.State.PLAYING)"
+#~ "</code> we tell the GStreamer pipeline we just created to start playing. "
+#~ "Easy, no?"
+#~ msgstr ""
+#~ "Ahora se va a crear un elemento de GStreamer que accede a la cÃmara web. "
+#~ "Se va a usar el elemento ÂCamerabinÂ, que es un elemento de cÃmara todo "
+#~ "en uno capaz de hacer fotos, vÃdeos, aplicar efectos y mucho mÃs. "
+#~ "Perfecto para nuestro caso de uso. Con <code>this.camerabin.set_state "
+#~ "(Gst.State.PLAYING)</code> se indica a la tuberÃa de GStreamer que se "
+#~ "acaba de crear que empiece a reproducir. FÃcil, Âno?"
 
-#: C/image-viewer.py.page:108(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."
-msgstr ""
-"Este cÃdigo està listo para usarse, por lo que puede probarlo usando "
-"<guiseq><gui>Ejecutar</gui><gui>Ejecutar</gui></guiseq>. DeberÃa mostrar una "
-"ventana vacÃa."
+#~ 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 Window System we will omit here."
+#~ msgstr ""
+#~ "Por supuesto, tambiÃn es posible integrar el vÃdeo mÃs ajustadamente en "
+#~ "otras ventanas, pero esto es un tema avanzado que incluye algunos "
+#~ "detalles sobre el sistema ÂX-Window que aquà se omiten."
 
-#: C/image-viewer.py.page:113(title) C/image-viewer.js.page:180(title)
-msgid "Signals"
-msgstr "SeÃales"
+#~ 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."
+#~ msgstr ""
+#~ "Compile y ejecute de nuevo. Acabarà teniendo dos ventanas. En el "
+#~ "siguiente paso, se integrarà el vÃdeo en una ventana de GTK+."
 
-#: C/image-viewer.py.page:114(p) C/image-viewer.js.page:181(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 "
-"clicked it gives off the <code>clicked</code> signal. If you want your "
-"program to do something when that event occurs, you must connect a function "
-"(a \"signal handler\") to that signal. Here's an example:"
-msgstr ""
-"Las seÃales son un concepto clave en la programaciÃn en GTK. Cuando pasa "
-"algo en un objeto, emite una seÃal; por ejemplo, cuando se pulsa un botÃn, "
-"emite la seÃal <code>clicked</code>. Si quiere que su programa haga algo "
-"cuando ocurre ese evento, debe conectar una funciÃn (un Âmanejador de la "
-"seÃalÂ) a esa seÃal. Aquà hay un ejemplo:"
+#~ 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 is also a more <link href=\"magic-mirror/magic-mirror-advanced.vala"
+#~ "\">extensive implementation</link> that embeds the window into a regular "
+#~ "Gtk.Window which involves some advanced techniques, and adds buttons to "
+#~ "start/stop the picture."
+#~ msgstr ""
+#~ "Si tiene problemas con este tutorial, compare su cÃdigo con este <link "
+#~ "href=\"magic-mirror/magic-mirror.vala\">cÃdigo de referencia</link>. "
+#~ "TambiÃn hay una <link href=\"magic-mirror/magic-mirror-advanced.vala"
+#~ "\">implemnetaciÃn mÃs amplia</link> que empotra la ventana en una ventana "
+#~ "GTK regular que implica algunas tÃcnicas avanzadas, y aÃade botones para "
+#~ "iniciar/parar la imagen."
 
-#: C/image-viewer.py.page:121(p) C/image-viewer.js.page:188(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</"
-"code> function, which is defined above. Every time the button is clicked, "
-"the code in the <code>button_clicked</code> function will be executed. It "
-"just prints a message here."
-msgstr ""
-"Las dos Ãltimas lÃneas crean un <code>Gtk.Button</code> llamado <code>b</"
-"code> y conectan su seÃal <code>clicked</code> con la funciÃn "
-"<code>button_clicked</code> que se ha definido anteriormente. Cada vez que "
-"se pulsa un botÃn, se ejecuta el cÃdigo de la funciÃn <code>button_clicked</"
-"code>. Esto sÃlo imprime un mensaje aquÃ."
+#~ msgid "Further reading"
+#~ msgstr "Lectura complementaria"
 
-#: C/image-viewer.py.page:125(title) C/image-viewer.js.page:211(title)
-msgid "Containers: Laying-out the user interface"
-msgstr "Contenedores: diseÃar la interfaz de usuario"
+#~ 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</link>."
+#~ msgstr ""
+#~ "Para obtener mÃs informaciÃn sobre el lenguaje de programaciÃn Vala, "
+#~ "puede querer revisar el <link href=\"http://live.gnome.org/Vala/Tutorial";
+#~ "\">tutorial de Vala</link>."
 
-#: C/image-viewer.py.page:126(p) C/image-viewer.js.page:212(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 "
-"different types of containers, like boxes and grids."
-msgstr ""
-"Los widgets (controles, como botones y etiquetas) se pueden organizar en la "
-"ventana usando <em>contenedores</em>. Puede organizar el diseÃo mezclando "
-"diferentes tipos de contenedores, como cajas y rejillas."
+#~ msgid "Conclusion"
+#~ msgstr "ConclusiÃn"
 
-#: C/image-viewer.py.page:127(p) C/image-viewer.js.page:213(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 "
-"and a button, so we must put a \"higher-capacity\" container inside the "
-"window to hold the other widgets. A number of <link href=\"http://library.";
-"gnome.org/devel/gtk/stable/GtkContainer.html\">container types</link> are "
-"available, but we will use a <code>Gtk.Box</code> here. A <code>Gtk.Box</"
-"code> can hold several widgets, organized horizontally or vertically. You "
-"can do more complicated layouts by putting several boxes inside another box "
-"and so on."
-msgstr ""
-"Una <code>Gtk.Window</code> es en sà misma un tipo de contenedor, pero sÃlo "
-"puede poner un widget directamente en ella. Se quieren poner dos widgets, "
-"una imagen y un botÃn, por lo que se necesita poner un contenedor Âde mayor "
-"capacidad dentro de la ventana para que contenga otros widgets. Hay varios "
-"<link href=\"http://library.gnome.org/devel/gtk/stable/GtkContainer.html";
-"\">tipos de contenedores</link> disponibles, pero aquà se usarà una "
-"<code>Gtk.Box</code>. Una <code>Gtk.Box</code> puede contener varios "
-"widgets, organizados horizontal o verticalmente. Se pueden hacer diseÃos mÃs "
-"complejos poniendo varias cajas dentro de otras, y asà sucesivamente."
-
-#: C/image-viewer.py.page:129(p) C/image-viewer.js.page:215(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 "
-"simple example, however, we will code everything manually."
-msgstr ""
-"Hay un diseÃador de interfaces grÃficas llamado <app>Glade</app> integrado "
-"en <app>Anjuta</app> que hace que el diseÃo de IU sea realmente fÃcil. Sin "
-"embargo, para este ejemplo, se va a codificar todo manualmente."
+#~ 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 "
+#~ "makeup to your beautiful face, right before having a beautiful day at "
+#~ "your workplace, where you can impress your friends and colleagues with an "
+#~ "awesome application you just made in 15 minutes."
+#~ msgstr ""
+#~ "Ya estaÌ, ha conseguido crear una aplicacioÌn de caÌmara web con todas las "
+#~ "funciones de fotos en 15 minutos. Ahora puede afeitarse la barba o "
+#~ "maquillar su bonita cara justo antes de tener un gran diÌa en su trabajo, "
+#~ "donde puede impresionar a sus amigos y colegas con una impresionante "
+#~ "aplicacioÌn que ha hecho en 15 minutos."
 
-#: C/image-viewer.py.page:131(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."
-"connect_after</code> line:"
-msgstr ""
-"AÃada la caja y los widgets a la ventana. Inserte el siguiente cÃdigo en el "
-"mÃtodo <code>__init__</code>, justo debajo de la lÃnea <code>window."
-"connect_after</code>:"
+#~ msgid ""
+#~ "@@image: 'media/image-viewer.png'; md5=7720360611243b14283b83527be968c2"
+#~ msgstr ""
+#~ "@@image: 'media/image-viewer.png'; md5=7720360611243b14283b83527be968c2"
 
-#: C/image-viewer.py.page:139(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> "
-"is set to vertical (so the widgets are arranged in a column), and the "
-"<code>spacing</code> between the widgets is set to 5 pixels. The next line "
-"then adds the newly-created <code>Gtk.Box</code> to the window."
-msgstr ""
-"La primera lÃnea crea una <code>Gtk.Box</code> llamada <code>box</code> y "
-"las siguientes lÃneas establecen dos de sus propiedades: la orientaciÃn "
-"(<code>orientation</code>) se establece a Âvertical (por lo que los widgets "
-"se colocan en columna), y el espaciado (<code>spacing</code>) entre los "
-"widgets se establece a 5 pÃxeles. La siguiente lÃnea aÃade la <code>Gtk.Box</"
-"code> reciÃn creada a la ventana."
-
-#: C/image-viewer.py.page:140(p) C/image-viewer.js.page:222(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> "
-"is a transparent container, so you can't see that it's there)."
-msgstr ""
-"De momento, la ventana sÃlo contiene una <code>Gtk.Box</code> vacÃa, y si "
-"ejecuta el programa ahora no verà ningÃn cambio (la <code>Gtk.Box</code> es "
-"un contenedor transparente, por lo que no puede que està ahÃ)."
+#~ msgid "A little bit more than a simple \"Hello world\" Gtk application."
+#~ msgstr "Algo mÃs que una sencilla aplicaciÃn ÂHola mundo en GTK."
 
-#: C/image-viewer.py.page:144(title) C/image-viewer.js.page:226(title)
-msgid "Packing: Adding widgets to the container"
-msgstr "Empaquetado: aÃadir widgets al contenedor"
+#~ msgid "Philip Chimento"
+#~ msgstr "Philip Chimento"
 
-#: C/image-viewer.py.page:145(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:"
-msgstr ""
-"Para aÃadir algunos widgets a la <code>Gtk.Box</code>, inserte el siguiente "
-"cÃdigo justo debajo de la lÃnea <code>window.add (box)</code>:"
+#~ msgid "philip chimento gmail com"
+#~ msgstr "philip chimento gmail com"
 
-#: C/image-viewer.py.page:149(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 "
-"in the signal handler, we will define it as a class-wide variable. You need "
-"to add <code>image = 0</code> to the beginning of the <code>GUI</code> "
-"class. Then, the image widget is added (<em>packed</em>) into the <code>box</"
-"code> container using GtkBox's <link href=\"http://library.gnome.org/devel/";
-"gtk/stable/GtkBox.html#gtk-box-pack-start\"><code>pack_start</code></link> "
-"method."
-msgstr ""
-"La primera lÃnea crea una <code>Gtk.Image</code> llamada <code>image</code>, "
-"que se usarà para mostrar un archivo de imagen. Como se necesitarà mÃs tarde "
-"en el manejador de la seÃal, se definirà como variable a nivel de clase. "
-"Deberà aÃadir <code>image = 0</code> al principio de la clase <code>GUI</"
-"code>. Entonces se aÃade el widget de imagen (<em>packed</em>) en el "
-"contenedor <code>box</code> usando el mÃtodo <link href=\"http://library.";
-"gnome.org/devel/gtk/stable/GtkBox.html#gtk-box-pack-start"
-"\"><code>pack_start</code></link> de GtkBox."
-
-#: C/image-viewer.py.page:151(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 "
-"grow larger when the new widget is added (<code>expand</code>); whether the "
-"new widget should take up all of the extra space created if the <code>Gtk."
-"Box</code> gets bigger (<code>fill</code>); and how much space there should "
-"be, in pixels, between the widget and its neighbors inside the <code>Gtk."
-"Box</code> (<code>padding</code>)."
-msgstr ""
-"<code>pack_start</code> toma 4 argumentos: el widget que aÃadir a la GtkBox "
-"(<code>child</code>); si la <code>Gtk.Box</code> debe crecer cuando aÃada el "
-"widget nuevo (<code>expand</code>); si el widget nuevo debe tomar todo el "
-"espacio adicional creado si la <code>Gtk.Box</code> crece (<code>fill</"
-"code>); y cuÃnto espacio debe haber, en pÃxeles, entre el widget y sus "
-"vecinos dentro de la <code>Gtk.Box</code> (<code>padding</code>)."
-
-#: C/image-viewer.py.page:152(p) C/image-viewer.js.page:233(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-"
-"coordinate location in the window; rather, they are positioned relative to "
-"one another. This makes handling window resizing much easier, and widgets "
-"should automatically take a sensible size in most situations."
-msgstr ""
-"Los contenedores (y los widgets) de GTK+ se expanden dinÃmicamente, si les "
-"deja, para rellenar el espacio disponible. No posicione widgets indicando "
-"unas coordenadas x-y precisas en la ventana; en lugar de eso, se posicionan "
-"relativos a otro. Esto hace que el manejo de la redimensiÃn de las ventanas "
-"sea mÃs fÃcil, y que los widgets tengan un tamaÃo sensible automÃtica en la "
-"mayorÃa de las situaciones."
-
-#: C/image-viewer.py.page:153(p) C/image-viewer.js.page:234(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</"
-"em> of the <code>Gtk.Box</code>. This allows you to treat all of the "
-"children of a widget as a group; for example, you could hide the <code>Gtk."
-"Box</code>, which would also hide all of its children at the same time."
-msgstr ""
-"TambiÃn tenga en cuenta cÃmo se organizan los widgets de manera jerÃrquica. "
-"Una vez empaquetados en la <code>Gtk.Box</code>, la <code>Gtk.Image</code> "
-"se considera un <em>hijo</em> de la <code>Gtk.Box</code>. Esto le permite "
-"tratar a todos los hijos de un widget como un grupo; por ejemplo, puede "
-"ocultar la <code>Gtk.Box</code>, lo que harÃa que tambiÃn se ocultaran todos "
-"sus hijos a la vez."
-
-#: C/image-viewer.py.page:154(p) C/image-viewer.js.page:235(p)
-msgid "Now insert these two lines, below the two you just added:"
-msgstr ""
-"Ahora inserte estas dos lÃneas, justo debajo de las dos que acaba de aÃadir."
+#~ msgid "1 Image Viewer"
+#~ msgstr "1. Visor de imÃgenes"
 
-#: C/image-viewer.py.page:159(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 "
-"setting the <code>expand</code> argument (the second one) to <code>False</"
-"code> here, whereas it was set to <code>True</code> for the <code>Gtk.Image</"
-"code>. This will cause the image to take up all available space and the "
-"button to take only the space it needs. When you maximize the window, the "
-"button size will remain the same, but the image size will increase, taking "
-"up all of the rest of the window."
-msgstr ""
-"Estas liÌneas son similares a las dos primeras, pero esta vez crean un "
-"<code>Gtk.Button</code> y lo anÌaden a la <code>box</code>. Tenga en cuenta "
-"que se estaÌ estableciendo el argumento <code>expand</code> (el segundo) a "
-"<code>False</code>, mientras que para la <code>Gtk.Image</code> se "
-"establecià a <code>True</code>. Esto haraÌ que la imagen tome todo el espacio "
-"disponible y que el botoÌn tome soÌlo el espacio que necesite. Cuando se "
-"maximiza la ventana, el tamanÌo del botoÌn seraÌ el mismo, pero el tamanÌo de la "
-"imagen aumentaraÌ junto con el resto de la ventana."
-
-#: C/image-viewer.py.page:163(title) C/image-viewer.js.page:246(title)
-msgid ""
-"Loading the image: Connecting to the button's <code>clicked</code> signal"
-msgstr "Cargar la imagen: conectar con la seÃal <code>clicked</code> del botÃn"
+#~ msgid ""
+#~ "In this tutorial you will create an application which opens and displays "
+#~ "an image file. You will learn:"
+#~ msgstr ""
+#~ "En este tutorial se va a crear un programa que abre un archivo de imagen "
+#~ "y lo muestra. Aprenderà a:"
 
-#: C/image-viewer.py.page:164(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 "
-"should be loaded and shown in the image widget."
-msgstr ""
-"Cuando el usuario pulse sobre el botÃn <gui>Abrir imagen...</gui>, deberÃa "
-"aparece un diÃlogo en el que el usuario pueda elegir una imagen. una vez "
-"elegida, la imagen deberÃa cargarse y mostrarse en el widget de imagen."
+#~ msgid ""
+#~ "How to set up a basic project using the <link xref=\"getting-ready"
+#~ "\">Anjuta IDE</link>."
+#~ msgstr ""
+#~ "CÃmo configurar un proyecto bÃsico usando el <link xref=\"getting-ready"
+#~ "\">EID Anjuta</link>."
 
-#: C/image-viewer.py.page:165(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>. "
-"Put this code immediately after the <code>button = Gtk.Button()</code> line "
-"where the button was created:"
-msgstr ""
-"El primer paso es conectar la seÃal <code>clicked</code> del botÃn a una "
-"funciÃn manejadora de la seÃal, llamada <code>on_open_clicked</code>. Ponga "
-"este cÃdigo inmediatamente despuÃs de la lÃnea <code>button = Gtk.Button()</"
-"code> en la que se creà el botÃn:"
+#~ msgid ""
+#~ "How to write a <link href=\"http://developer.gnome.org/platform-overview/";
+#~ "stable/gtk\">Gtk application</link> in Vala"
+#~ msgstr ""
+#~ "CÃmo escribir una <link href=\"http://developer.gnome.org/platform-";
+#~ "overview/stable/gtk\">aplicaciÃn de GTK+</link> en Vala"
 
-#: C/image-viewer.py.page:169(p)
-msgid ""
-"This will connect the <code>clicked</code> signal to <code>on_open_clicked</"
-"code> method that we will define below."
-msgstr ""
-"Esto conectarà la seÃal <code>clicked</code> al mÃtodo "
-"<code>on_open_clicked</code> que se definirà mÃs adelante."
+#~ msgid ""
+#~ "Some basic concepts of <link href=\"http://developer.gnome.org/gobject/";
+#~ "stable/\">GObject</link> programming"
+#~ msgstr ""
+#~ "Algunos conceptos bÃsicos de programaciÃn en <link href=\"http://";
+#~ "developer.gnome.org/gobject/stable/\">GObject</link>"
 
-#: C/image-viewer.py.page:174(title) C/image-viewer.js.page:256(title)
-msgid "Loading the image: Writing the signal's callback"
-msgstr "Cargar la imagen: escribir la llamada de retorno de la seÃal"
+#~ msgid ""
+#~ "Basic knowledge of the <link href=\"https://live.gnome.org/Vala/Tutorial";
+#~ "\">Vala</link> programming language."
+#~ msgstr ""
+#~ "Conocimiento baÌsico del lenguaje de programacioÌn <link href=\"https://";
+#~ "live.gnome.org/Vala/Tutorial\">Vala</link>."
 
-#: C/image-viewer.py.page:175(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 "
-"<code>__init__</code> method:"
-msgstr ""
-"Ahora se puede crear el mÃtodo <code>on_open_clicked</code>. Inserte lo "
-"siguente dentro del bloque de clase <code>GUI</code>, despuÃs del mÃtodo "
-"<code>__init__</code>:"
+#~ msgid "An installed copy of <app>Anjuta</app>."
+#~ msgstr "Una copia instalada de <app>Anjuta</app>."
 
-#: C/image-viewer.py.page:191(p) C/image-viewer.js.page:277(p)
-#: C/image-viewer.cpp.page:172(p) C/image-viewer.c.page:184(p)
-msgid ""
-"This is a bit more complicated than anything we've attempted so far, so "
-"let's break it down:"
-msgstr ""
-"Esto es un poco mÃs complicado que todo lo que se ha intentado hasta ahora, "
-"asà que se puede desglosar:"
+#~ msgid ""
+#~ "You may find the <link href=\"http://valadoc.org/gtk+-3.0/\";>gtk+-3.0</"
+#~ "link> API Reference useful, although it is not necessary to follow the "
+#~ "tutorial."
+#~ msgstr ""
+#~ "Puede que la referencia de la API de <link href=\"http://valadoc.org/gtk";
+#~ "+-3.0/\">gtk+-3.0</link> le resulte Ãtil, aunque no es necesaria para "
+#~ "seguir el tutorial."
 
-#: C/image-viewer.py.page:194(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 "
-"title of the dialog; the action (type) of the dialog (it's an \"open\" "
-"dialog, but we could have used <code>SAVE</code> if the intention was to "
-"save a file; and <code>transient_for</code>, which sets the parent window of "
-"the dialog."
-msgstr ""
-"La lÃnea que empieza por <code>dialog</code> crea un diÃlogo <gui>Abrir</"
-"gui>, que el usuario puede utilizar para abrir archivos. Se establecen tres "
-"propiedades: el tÃtulo del diÃlogo; la acciÃn (tipo) del diÃlogo (es un "
-"diÃlogo ÂopenÂ, pero se podrÃa haber usado <code>SAVE</code> si se quisiese "
-"guardar un archivo; y <code>transient_for</code>, que establecer la ventana "
-"padre del diÃlogo."
-
-#: C/image-viewer.py.page:197(p) C/image-viewer.js.page:283(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 "
-"(integer) value that is returned when the button is pressed: 0 for "
-"<gui>Cancel</gui> and 1 for <gui>Open</gui>."
-msgstr ""
-"Las dos siguientes lÃneas aÃaden los botones <gui>Cancelar</gui> y "
-"<gui>Abrir</gui> al diÃlogo. el segundo argumento del mÃtodo "
-"<code>add_button</code> es el valor (entero) que se devuelve cuando se pulsa "
-"el botÃn: 0 para <gui>Cancelar</gui> y 1 para <gui>Abrir</gui>."
+#~ 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 project wizard."
+#~ msgstr ""
+#~ "Inicie <app>Anjuta</app> y pulse <gui>Crear un proyecto nuevo</gui> o "
+#~ "<guiseq><gui>Archivo</gui><gui>Nuevo</gui><gui>Proyecto</gui></guiseq> "
+#~ "para abrir el asistente de proyectos."
 
-#: C/image-viewer.py.page:198(p) C/image-viewer.js.page:284(p)
-#: C/image-viewer.c.page:196(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 "
-"is that the button labels will already be translated into the user's "
-"language."
-msgstr ""
-"Note que se està usando nombres de botones del <em>almacÃn</em> de GTK, en "
-"lugar de escribir manualmente ÂCancelar o ÂAbrirÂ. La ventaja de usar nombres "
-"del almacÃn es que las etiquetas de los botones ya estarÃn traducidas en el "
-"idioma del usuario."
+#~ 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>image-viewer</file> as project name and directory."
+#~ msgstr ""
+#~ "Seleccione <gui>Gtk+ (simple)</gui> en la pestaÃa <gui>Vala</gui>, pulse "
+#~ "<gui>Siguiente</gui>, y rellene los detalles en las siguientes pÃginas. "
+#~ "Use <file>visor-imagenes</file> como nombre del proyecto y de la carpeta."
 
-#: C/image-viewer.py.page:201(p) C/image-viewer.js.page:287(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 "
-"our case, we are using the <gui>Open</gui> button as default (which has the "
-"value 1)."
-msgstr ""
-"<code>set_default_response</code> determina quà botÃn se activarà si el "
-"usuario hace una doble pulsaciÃn o presiona <key>Intro</key>. En este caso, "
-"se usa el botÃn <gui>Abrir</gui> como predeterminado (que tiene el valor Â1Â)."
+#~ msgid ""
+#~ "Make sure that <gui>Use GtkBuilder for user interface</gui> is disabled "
+#~ "as we will create the UI manually in this tutorial."
+#~ msgstr ""
+#~ "AsegÃrese de que <gui>Usar GtkBuilder para la interfaz del usuario</gui> "
+#~ "està desactivado, ya que, en este tutorial, la IU se crearà manualmente."
 
-#: C/image-viewer.py.page:204(p) C/image-viewer.js.page:290(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 "
-"created first; we then add all kinds of files supported by <code>Gdk.Pixbuf</"
-"code> (which includes most image formats like PNG and JPEG) to the filter. "
-"Finally, we set this filter to be the <gui>Open</gui> dialog's filter."
-msgstr ""
-"Las tres lÃneas siguientes restringen el diÃlogo <gui>Abrir</gui> para que "
-"sÃlo muestre archivos que se puedan abrir con <code>Gtk.Image</code>. "
-"Primero se crea un objeto de filtro; luego se aÃaden los tipos de archivos "
-"soportados por el <code>Gdk.Pixbuf</code> (que incluye la mayorÃa de los "
-"formatos de imagen como PNG y JPEG) al filtro. Por Ãltimo, se establece que "
-"este filtro sea el filtro del diÃlogo <gui>Abrir</gui>."
-
-#: C/image-viewer.py.page:207(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> "
-"will return the value <output>1</output> (it would return <output>0</output> "
-"if the user clicked <gui>Cancel</gui>). The <code>if</code> statement tests "
-"for this."
-msgstr ""
-"<code>dialog.run</code> muestra el diÃlogo <gui>Abrir</gui>. El diÃlogo "
-"esperarà a que el usuario elija una imagen; cuando lo haga, <code>dialog."
-"run</code> devolverà el valor <output>1</output> (devolverÃa <output>0</"
-"output> si el usuario pulsara <gui>Cancelar</gui>). La sentencia <code>if</"
-"code> comprueba esto."
+#~ msgid ""
+#~ "You will learn how to use the interface builder in the <link xref="
+#~ "\"guitar-tuner.vala\">Guitar-Tuner</link> tutorial."
+#~ msgstr ""
+#~ "Aprenderà a usar el constructor de interfaces en el tutorial del <link "
+#~ "xref=\"guitar-tuner.vala\">afinador de guitarra</link>."
 
-#: C/image-viewer.py.page:209(p) C/image-viewer.js.page:295(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 "
-"the image selected by the user. The <code>Gtk.Image</code> will then load "
-"and display the chosen image."
-msgstr ""
-"Asumiendo que el usuario pulsà <gui>Abrir</gui>, la siguiente lÃnea "
-"establece la propiedad <code>file</code> de la <code>Gtk.Image</code> al "
-"nombre del archivo de imagen seleccionada por el usuario. La <code>Gtk."
-"Image</code> cargarà y mostrarà la imagen elegida."
+#~ msgid ""
+#~ "Click <gui>Apply</gui> and the project will be created for you. Open "
+#~ "<file>src/main.vala</file> from the <gui>Project</gui> or <gui>File</gui> "
+#~ "tabs. You will see this code:"
+#~ msgstr ""
+#~ "Pulse <gui>Aplicar</gui> y se crearà el proyecto. Abra <file>src/main."
+#~ "vala</file> desde las pestaÃas <gui>Proyecto</gui> o <gui>Archivo</gui>. "
+#~ "Verà el siguiente cÃdigo:"
 
-#: C/image-viewer.py.page:220(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 "
-"of Python and Gtk) in not much time at all!"
-msgstr ""
-"Todo el cÃdigo que necesita debe estar en su lugar, asà que trate de "
-"ejecutar el cÃdigo. Esto deberÃa ser todo; un visor de imÃgenes "
-"completamente funcional (y un completo tour sobre Python y GTK+) en poco "
-"tiempo."
+#~ 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 the basics:"
+#~ msgstr ""
+#~ "El cÃdigo carga una ventana (vacÃa) desde el archivo de descripciÃn de "
+#~ "interfaz de usuario y la muestra. Se ofrecen mÃs detalles a continuaciÃn; "
+#~ "omita esta lista si entiende los conceptos bÃsicos:"
 
-#: C/image-viewer.py.page:225(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>."
-msgstr ""
-"Si tiene problemas con este tutorial, compare su coÌdigo con este <link href="
-"\"image-viewer/image-viewer.py\">coÌdigo de referencia</link>."
+#~ msgid ""
+#~ "The two <code>using</code> lines at the top import namespaces so we don't "
+#~ "have to name them explicitly."
+#~ msgstr ""
+#~ "Las dos lÃneas <code>using</code> importan espacios de nombres, por lo "
+#~ "que no hay que nombrarlas explÃcitamente."
 
-#: C/image-viewer.js.page:9(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."
-msgstr ""
-"Algo mÃs que una sencilla aplicaciÃn ÂHola mundoÂ; escribir un visor de "
-"imÃgenes en GTK. Incluye una introducciÃn al lenguaje JavaScript."
+#~ 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\">signal</link> to exit the application when that "
+#~ "window is closed."
+#~ msgstr ""
+#~ "El constructor de la clase <code>Main</code> crea una ventana (vacÃa) "
+#~ "nueva y conecta una <link href=\"https://live.gnome.org/Vala/";
+#~ "SignalsAndCallbacks\">seÃal</link> para salir de la aplicaciÃn cuando se "
+#~ "cierra esa ventana."
 
-#: C/image-viewer.js.page:28(p)
-msgid "Write a basic GTK user interface in JavaScript"
-msgstr "Escribir una interfaz GTK+ de usuario bÃsica usando JavaScript"
+#~ 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 called (and quits the app) when you close the window."
+#~ msgstr ""
+#~ "Conectar seÃales es como se define lo que pasa cuando pulsa un botÃn, o "
+#~ "cuando ocurre algÃn otro evento. AquÃ, se llama a la funciÃn "
+#~ "<code>destroy</code> (y se sale de la aplicaciÃn) cuando cierra la "
+#~ "ventana."
 
-#: C/image-viewer.js.page:36(p)
-msgid "An installed copy of the <em>gjs</em> interpreter"
-msgstr "Una copia instalada del intÃrprete <em>gjs</em>"
+#~ 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</"
+#~ "code> class, set up and then run the application. The <link href=\"http://";
+#~ "valadoc.org/gtk+-3.0/Gtk.main.html\"><code>Gtk.main</code></link> "
+#~ "function starts the GTK <link href=\"http://en.wikipedia.org/wiki/";
+#~ "Event_loop\">main loop</link>, which runs the user interface and starts "
+#~ "listening for events (like clicks and key presses)."
+#~ msgstr ""
+#~ "La funciÃn <code>static main</code> se ejecuta de manera predeterminada "
+#~ "cuando inicia una aplicaciÃn en Vala. Llama a algunas funciones que crean "
+#~ "la clase <code>Main</code> y configuran y ejecutan la aplicaciÃn. La "
+#~ "funciÃn <link href=\"http://valadoc.org/gtk+-3.0/Gtk.main.html";
+#~ "\"><code>Gtk.main</code></link> inicia el <link href=\"http://en.";
+#~ "wikipedia.org/wiki/Event_loop\">bucle principal</link> de GTK+, que "
+#~ "ejecuta la interfaz de usuario y empieza a escuchar eventos (como "
+#~ "pulsaciones del ratÃn y del teclado)."
+
+#~ msgid "Creating the user interface"
+#~ msgstr "Crear la interfaz de usuario"
 
-#: C/image-viewer.js.page:37(p)
-msgid "Basic knowledge of any object-orientated programming language"
-msgstr ""
-"Conocimiento bÃsico de cualquier lenguaje de programaciÃn orientado a objetos"
+#~ 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.";
+#~ "html\"><code>Gtk.Container</code></link>s that can contain other widgets "
+#~ "and even other containers. Here we will use the simplest available "
+#~ "container, a <link href=\"http://unstable.valadoc.org/gtk+-2.0/Gtk.Box.";
+#~ "html\"><code>Gtk.Box</code></link>."
+#~ msgstr ""
+#~ "Ahora se darà vida a la ventana vacÃa. GTK+ organiza la interfaz de "
+#~ "usuario con varios <link href=\"http://www.valadoc.org/gtk+-2.0/Gtk.";
+#~ "Container.html\"><code>Gtk.Container</code></link> que pueden contener "
+#~ "otros widgets e incluso otros contenedores. Aquà se usarà el contenedor "
+#~ "mÃs sencillo disponible, una <link href=\"http://unstable.valadoc.org/gtk";
+#~ "+-2.0/Gtk.Box.html\"><code>Gtk.Box</code></link>."
 
-#: C/image-viewer.js.page:51(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 "
-"<file>image-viewer</file> as project name and directory."
-msgstr ""
-"Elija <gui>Javascript genÃrico</gui> de la pestaÃa <gui>JS</gui>, pulse "
-"<gui>Adelante</gui> y rellene los detalles en las siguientes pÃginas. Use "
-"<file>visor-imÃgenes</file> como nombre de proyecto y de carpeta."
+#~ msgid "Add the following lines to the top of the <code>Main</code> class:"
+#~ msgstr ""
+#~ "AÃada las siguientes lÃneas a la parte superior de la clase <code>Main</"
+#~ "code>:"
 
-#: C/image-viewer.js.page:54(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> "
-"tabs. It contains very basic example code."
-msgstr ""
-"Pulse <gui>Aplicar</gui> y se crearaÌ el proyecto. Abra <file>src/main.js</"
-"file> desde las pestanÌas <gui>Proyecto</gui> o <gui>Archivo</gui>. Contiene "
-"un ejemplo de cÃdigo muy bÃsico:"
+#~ msgid "Now replace the current constructor with the one below:"
+#~ msgstr "Ahora reemplace el constructor actual con el siguiente:"
 
-#: C/image-viewer.js.page:61(title)
-msgid "JavaScript basics: Hello World"
-msgstr "JavaScript bÃsico: hola mundo"
+#~ 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 "
+#~ "accessible throughout the class instead of only in the method where they "
+#~ "are created."
+#~ msgstr ""
+#~ "Las dos primeras lÃneas son partes de la IGU a las que se debe acceder "
+#~ "desde mÃs de un mÃtodo. Se declaran aquÃ, por lo que son accesibles "
+#~ "mediante la clase en vez de serlo solamente en el mÃtodo en el que se "
+#~ "crearon."
 
-#: C/image-viewer.js.page:62(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 "
-"programming language should be the Hello World program which can already be "
-"found in <file>main.js</file>:"
-msgstr ""
-"Antes de empezar a escribir el visor de imÃgenes, averigÃe algo mÃs sobre "
-"cÃmo se usa JavaScript en GNOME. Por supuesto que su primer contacto con un "
-"lenguaje de programaciÃn debe ser el programa ÂHola mundoÂ, que se puede "
-"encontrar en el archivo <file>main.js</file>:"
+#~ 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 image view widget itself and the box we will use as a "
+#~ "container."
+#~ msgstr ""
+#~ "Las primeras lÃneas del constructor crean la ventana vacÃa. Las "
+#~ "siguientes lÃneas crean los widgets que se quieren usar: un botÃn para "
+#~ "abrir una imagen, el widget de la vista de la imagen en sà y la caja que "
+#~ "se usarà como contenedor."
 
-#: C/image-viewer.js.page:63(code)
-#, no-wrap
-msgid "print (\"Hello world!\");"
-msgstr "print (\"ÂHola mundo!\");"
+#~ 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 box and define their behaviour. The image will expand into any "
+#~ "available space whereas the button will just be as big as needed. You "
+#~ "will notice that we don't set explicit sizes on the widgets. In GTK this "
+#~ "is usually not needed as it makes it much easier to have a layout that "
+#~ "looks good in different window sizes. Next, the box is added to the "
+#~ "window."
+#~ msgstr ""
+#~ "Las llamadas a <link href=\"http://unstable.valadoc.org/gtk+-2.0/Gtk.Box.";
+#~ "pack_start.html\"><code>pack_start</code></link> aÃaden los dos widgets a "
+#~ "la caja y definen su comportamiento. La imagen se expandirà en cualquier "
+#~ "espacio disponible, mientras que el botÃn serà tan grande como se "
+#~ "necesite. Se darà cuenta de que no se establecen tamaÃos explÃcitos de "
+#~ "los widgets. Generalmente, en GTK+ no se necesita ya que hace que sea "
+#~ "mucho mÃs sencillo tener una distribuciÃn que se ve bien con diferentes "
+#~ "tamaÃos de la ventana. A continuaciÃn, se aÃade la caja a la ventana."
 
-#: C/image-viewer.js.page:64(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 "
-"argument <code>\"Hello world!\"</code>, which will be printed on the screen. "
-"Note that each line of code ends with a semicolon."
-msgstr ""
-"Esto deberÃa resultarle natural si està familiarizado con la mayorÃa del "
-"resto de lenguajes de programaciÃn. La funciÃn <code>print</code> se llama "
-"con el argumento <code>\"ÂHola mundo!\"</code>, que se mostrarà en la "
-"pantalla. Tenga en cuenta que cada lÃnea de cÃdigo termina en Â;Â."
+#~ msgid ""
+#~ "We need to define what happens when the user clicks on the button. GTK "
+#~ "uses the concept of <em>signals</em>."
+#~ msgstr ""
+#~ "Se debe definir quà pasa cuando el usuario pulsa en el botÃn. GTK+ usa el "
+#~ "concepto de <em>seÃales</em>."
 
-#: C/image-viewer.js.page:68(title)
-msgid "Classes in JavaScript"
-msgstr "Clases en JavaScript"
+#~ 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.Button.clicked.html\"><code>clicked</code></link> signal, "
+#~ "which we can connect to some action (defined in a <link href=\"https://";
+#~ "live.gnome.org/Vala/SignalsAndCallbacks\">callback</link> method)."
+#~ msgstr ""
+#~ "Cuando se pulsa el <link href=\"http://valadoc.org/gtk+-3.0/Gtk.Button.";
+#~ "html\">botÃn</link> se emite la seÃal <link href=\"http://valadoc.org/gtk";
+#~ "+-3.0/Gtk.Button.clicked.html\"><code>clicked</code></link>, que se puede "
+#~ "conectar a alguna acciÃn (definida en un mÃtodo de un <link href="
+#~ "\"https://live.gnome.org/Vala/SignalsAndCallbacks\";>retorno de la "
+#~ "llamada</link>)."
 
-#: C/image-viewer.js.page:69(p)
-msgid "This is the standard way to define a class in JavaScript:"
-msgstr "Esta es la manera estÃndar de definir una clase en JavaScript:"
+#~ 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 undefined) <code>on_image_open</code> callback method when the "
+#~ "button is clicked. We will define the <em>callback</em> in the next "
+#~ "section."
+#~ msgstr ""
+#~ "Esto se hace usando el mÃtodo <code>connect</code> de la seÃal "
+#~ "<code>clicked</code> de los botones, que en este caso indica a GTK+ que "
+#~ "llame al mÃtodo del retorno de la llamada <code>on_image_open</code> "
+#~ "(todavÃa no definida) cuando se pulsa el botÃn. El <em>retorno de la "
+#~ "llamada</em> se definirà en la siguiente secciÃn."
 
-#: C/image-viewer.js.page:92(p)
-msgid ""
-"This defines a class called <code>MyClass</code>. Let's go through each part "
-"of the class definition:"
-msgstr ""
-"Esto define una clase llamada <code>MyClass</code>. Vea cada una de las "
-"partes de la definiciÃn de la clase:"
+#~ 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 our class."
+#~ msgstr ""
+#~ "En el retorno de la llamada, se debe acceder a los widgets <code>window</"
+#~ "code> y <code>image</code> que es por lo que se definen como miembros "
+#~ "privados en la parte superior de la clase."
 
-#: C/image-viewer.js.page:95(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 "
-"the <code>this</code> object; here, the constructor calls the class's "
-"<code>_init</code> method."
-msgstr ""
-"<code>function MyClass</code> es el constructor de la clase; su nombre debe "
-"coincidir con el de la clase. Puede acceder a cualquier miembro de la clase "
-"usando el objeto <code>this</code>; aquÃ, el constructor llama al mÃtodo "
-"<code>_init</code> de la clase."
+#~ 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 "
+#~ "<code>on_destroy</code> callback method which called <link href=\"http://";
+#~ "www.valadoc.org/gtk+-2.0/Gtk.main_quit.html\"><code>Gtk.main_quit</code></"
+#~ "link>, but just connecting our signal to <code>main_quit</code> directly "
+#~ "is easier. You can delete the <code>on_destroy</code> method."
+#~ msgstr ""
+#~ "La Ãltima llamada a <code>connect</code> asegura que la aplicaciÃn "
+#~ "termina cuando se cierra la ventana. El cÃdigo generado por Anjuta "
+#~ "llamaba a un mÃtodo <code>on_destroy</code> que llamaba a <link href="
+#~ "\"http://www.valadoc.org/gtk+-2.0/Gtk.main_quit.html\";><code>Gtk."
+#~ "main_quit</code></link>, pero simplemente conectando la seÃal "
+#~ "<code>main_quit</code> directamente es mÃs fÃcil. Puede eliminar el "
+#~ "mÃtodo <code>on_destroy</code>."
 
-#: C/image-viewer.js.page:98(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 "
-"(functions) and fields (variables); there are three methods and two fields "
-"in this example."
-msgstr ""
-"El bloque <code>MyClass.prototype</code> es donde define la <em>estructura</"
-"em> de la clase. Cada clase se compone de mÃtodos (funciones) y campos "
-"(variables); en este ejemplo, hay tres mÃtodos y dos campos."
+#~ msgid "Showing the image"
+#~ msgstr "Mostrar la imagen"
 
-#: C/image-viewer.js.page:101(p)
-msgid ""
-"The first method defined here is called <code>_init</code>, and we specify "
-"that it is a function with no arguments:"
-msgstr ""
-"El primer mÃtodo definido se llama <code>_init</code>, y se especifica que "
-"es una funciÃn sin argumentos:"
+#~ 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:"
+#~ msgstr ""
+#~ "Ahora se definirà el manejador de la seÃal <em>clicked</em> para el botÃn "
+#~ "mencionado anteriormente. AÃada este cÃdigo despuÃs del constructor."
 
-#: C/image-viewer.js.page:102(code)
-#, no-wrap
-msgid "_init: function ()"
-msgstr "_init: function ()"
+#~ msgid "This is a bit complicated, so let's break it down:"
+#~ msgstr "Esto es un poco mÃs complicado, asà que se puede desglosar:"
 
-#: C/image-viewer.js.page:103(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 "
-"string and the second is set to an integer (10). The function doesn't return "
-"any value."
-msgstr ""
-"Se escribe la funciÃn entre corchetes. Aquà se definen dos campos, "
-"<code>propertyA</code> y <code>propertyB</code>. La primera se establece "
-"como una cadena, y la segunda se establece como un entero (10). La funciÃn "
-"no retorna ningÃn valor."
+#~ msgid ""
+#~ "A signal handler is a type of callback method that is called when a "
+#~ "signal is emitted. Here the terms are used interchangeably."
+#~ msgstr ""
+#~ "Un manejador de seÃal es un tipo de mÃtodo de retorno de la llamada al "
+#~ "que se llama cuando se emite la seÃal. Aquà se usan los tÃrminos "
+#~ "intercambiados."
 
-#: C/image-viewer.js.page:106(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</"
-"code>, and prints the fields <code>propertyA</code> and <code>propertyB</"
-"code>."
-msgstr ""
-"El siguiente mÃtodo se llama <code>aMethod</code> y tiene dos argumentos que "
-"imprime cuando se invoca. El Ãltimo mÃtodo es <code>dumpProperties</code>, "
-"que imprime los campos <code>propertyA</code> y <code>propertyB</code>."
+#~ 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 <em>clicked</em> doesn't have any."
+#~ msgstr ""
+#~ "El primer argumento del mÃtodo del retorno de la llamada es siempre el "
+#~ "widget que envÃa la seÃal. A veces hay otros argumentos relativos a la "
+#~ "seÃal que vienen despuÃs, pero <em>clicked</em> no tiene ninguno."
 
-#: C/image-viewer.js.page:109(p)
-msgid ""
-"Note how the class definition (prototype) is arranged; each function "
-"definition is separated by a comma."
-msgstr ""
-"Tenga en cuenta cÃmo se ordena la definiciÃn de la clase (prototipo); cada "
-"definiciÃn de funciÃn se separa con una coma."
+#~ 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:"
+#~ msgstr ""
+#~ "En este caso, el <code>button</code> envÃa la seÃal <code>clicked</code>, "
+#~ "que se conecta al mÃtodo del retorno de la llamada <code>on_open_image</"
+#~ "code>:"
 
-#: C/image-viewer.js.page:113(p)
-msgid "Now that MyClass has been defined, we can play with it:"
-msgstr "Ahora que ÂMyClass se ha definido, se puede jugar con ella:"
+#~ msgid ""
+#~ "The <code>on_open_image</code> method takes the button that emitted the "
+#~ "signal as an argument:"
+#~ msgstr ""
+#~ "El mÃtodo <code>on_open_image</code> toma como argumento el botÃn que ha "
+#~ "emitido la seÃal:"
 
-#: C/image-viewer.js.page:119(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, "
-"and then calls <code>dumpProperties</code> (which outputs the fields)."
-msgstr ""
-"Este cÃdigo crear una instancia nueva de la clase llamada <code>o</code>, "
-"ejecuta <code>aMethod</code>, cambia <code>propertyA</code> a una cadena "
-"diferente y entonces llama a <code>dumpProperties</code> (que muestra los "
-"campos)."
+#~ 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.html\"><code>FileChooserDialog</code></link>'s "
+#~ "constructor takes the title of the dialog, the parent window of the "
+#~ "dialog and several options like the number of buttons and their "
+#~ "corresponding values."
+#~ msgstr ""
+#~ "La siguiente lÃnea interesante es en la que se crea el diÃlogo para "
+#~ "elegir el archivo. El constructor de  <link href=\"http://www.valadoc.org/";
+#~ "gtk+-3.0/Gtk.FileChooserDialog.html\"><code>FileChooserDialog</code></"
+#~ "link> toma el tÃtulo del diÃlogo, la ventana padre del diÃlogo y varias "
+#~ "opciones como el nÃmero de botones y sus valores correspondientes."
 
-#: C/image-viewer.js.page:120(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 "
-"toolbar."
-msgstr ""
-"Guarde el cÃdigo en el archivo <file>main.js</file> y ejecÃtelo usando "
-"<guiseq><gui>Ejecutar</gui><gui>Ejecutar</gui></guiseq> desde el menà o "
-"usando la barra de herramientas."
+#~ 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 manually typing \"Cancel\" or \"Open\". The advantage of using "
+#~ "stock names is that the button labels will already be translated into the "
+#~ "user's language."
+#~ msgstr ""
+#~ "Tenga en cuenta que se està usando nombres de botones del <link href="
+#~ "\"http://unstable.valadoc.org/gtk+-3.0/Gtk.Stock.html\";><em>almacÃn</em></"
+#~ "link> de GTK+, en lugar de escribir manualmente ÂCancelar o ÂAbrirÂ. La "
+#~ "ventaja de usar nombres del almacÃn es que las etiquetas de los botones "
+#~ "ya estarÃn traducidas en el idioma del usuario."
 
-#: C/image-viewer.js.page:126(p)
-msgid "Let's see what a very basic Gtk application looks like in JavaScript:"
-msgstr "Vea como queda una aplicaciÃn GTK+ muy bÃsica en JavaScript:"
+#~ 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 displays an image. A filter object is created first; we then add "
+#~ "all kinds of files supported by <link href=\"http://www.valadoc.org/gdk-";
+#~ "pixbuf-2.0/Gdk.Pixbuf.html\"><code>Gdk.Pixbuf</code></link> (which "
+#~ "includes most image formats like PNG and JPEG) to the filter. Finally, we "
+#~ "set this filter to be the <gui>Open</gui> dialog's filter."
+#~ msgstr ""
+#~ "Las dos liÌneas siguientes restringen el diaÌlogo <gui>Abrir</gui> para que "
+#~ "soÌlo muestre archivos que se puedan abrir con <code>GtkImage</code>. "
+#~ "GtkImage es un widget que muestra una imagen. Primero se crea un objeto; "
+#~ "luego se anÌaden los tipos de archivos soportados por el <link href="
+#~ "\"http://www.valadoc.org/gdk-pixbuf-2.0/Gdk.Pixbuf.html\";><code>Gdk."
+#~ "Pixbuf</code></link> (que incluye la mayoriÌa de los formatos de imagen "
+#~ "como PNG y JPEG) al filtro. Por uÌltimo, se establece que este filtro sea "
+#~ "el filtro del diaÌlogo <gui>Abrir</gui>."
 
-#: C/image-viewer.js.page:142(p)
-msgid ""
-"<code>Gtk.init</code> initializes the Gtk library; this statement is "
-"mandatory for all Gtk programs."
-msgstr ""
-"<code>Gtk.init</code> inicializa la biblioteca GTK; esta sentencia es "
-"obligatoria para todos los programas GTK."
+#~ 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 dialog will wait for the user to choose an image; when they do, "
+#~ "<code>dialog.run</code> will return the <link href=\"http://www.valadoc.";
+#~ "org/gtk+-3.0/Gtk.ResponseType.html\">ResponseType</link> value "
+#~ "<code>ResponseType.ACCEPT</code> (it would return <code>ResponseType."
+#~ "CANCEL</code> if the user clicked <gui>Cancel</gui>). The <code>switch</"
+#~ "code> statement tests for this."
+#~ msgstr ""
+#~ "<link href=\"http://www.valadoc.org/gtk+-3.0/Gtk.Dialog.run.html";
+#~ "\"><code>dialog.run</code></link> muestra el diÃlogo <gui>Abrir</gui>. El "
+#~ "diÃlogo esperarà a que el usuario seleccione una imagen; cuando lo haga, "
+#~ "<code>dialog.run</code> devolverà el valor <code>ResponseType.ACCEPT</"
+#~ "code> de <link href=\"http://www.valadoc.org/gtk+-3.0/Gtk.ResponseType.";
+#~ "html\">ResponseType</link> (devolverÃa <code>ResponseType.CANCEL</code> "
+#~ "si el usuario pulsara <gui>Cancel</gui>). La sentencia <code>switch</"
+#~ "code> comprueba esto."
 
-#: C/image-viewer.js.page:145(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 "
-"using the syntax <code>{property: value, property: value, ...}</code>. In "
-"this case we are setting the title of the window."
-msgstr ""
-"La siguiente lÃnea crea la ventana principal creando un objeto <code>Gtk."
-"Window</code>. Puede pasar varias propiedades al constructor de la ventana "
-"usando la sintaxis <code>{property: value, property: value, ...}</code>. En "
-"este caso, se està estableciendo el tÃtulo de la ventana."
+#~ 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</"
+#~ "code> widget to load and display the selected image."
+#~ msgstr ""
+#~ "Asumiendo que el usuario pulsà <gui>Abrir</gui>, las siguientes lÃneas "
+#~ "obtienen el nombre de archivo de la imagen seleccionada por el usuario e "
+#~ "indican al widget <code>GtkImage</code> que cargue y muestre la imagen "
+#~ "elegida."
 
-#: C/image-viewer.js.page:146(p)
-msgid ""
-"The next line explicitly shows the window. In Gtk, every widget is hidden by "
-"default."
-msgstr ""
-"La siguiente lÃnea muestra explÃcitamente la ventana. En GTK+, cada widget "
-"està oculto de manera predeterminada."
+#~ msgid ""
+#~ "In the final line of this method, we destroy the <gui>Open</gui> dialog "
+#~ "because we don't need it any more."
+#~ msgstr ""
+#~ "En la Ãltima lÃnea de este mÃtodo se destruye el diÃlogo <gui>Abrir</gui> "
+#~ "porque ya no se necesita."
 
-#: C/image-viewer.js.page:147(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 "
-"user interface and then calls a signal handler which will do something "
-"useful. We'll learn more about signals shortly."
-msgstr ""
-"Finalmente, <code>Gtk.main</code> ejecuta el bucle principal; en otras "
-"palabras, ejecuta el programa. El bucle principal escucha los eventos "
-"(seÃales) de la interfaz del usuario y llama a un manejador de la seÃal que "
-"harà algo Ãtil. En breve aprenderà mÃs cosas sobre las seÃales."
+#~ msgid "Destroying automatically hides the dialog."
+#~ msgstr "Al destruir se oculta el diÃlogo automÃticamente."
 
-#: C/image-viewer.js.page:150(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 "
-"haven't set up a signal handler to deal with the window's <code>destroy</"
-"code> (close) signal yet. We'll do this shortly, but for now you can just "
-"hit <keyseq><key>Ctrl</key><key>C</key></keyseq> in the terminal window to "
-"quit the program."
-msgstr ""
-"Guarde el cÃdigo en <file>main.js</file> y ejecÃtelo. Notarà que la "
-"aplicaciÃn no termina cuando cierra la ventana. Esto es porque todavÃa no se "
-"ha configurado un manejador de seÃal para gestionar la seÃal <code>destroy</"
-"code> (cerrar) de la ventana. Esto se harà en breve, pero por el momento "
-"puede pulsar <keyseq><key>Ctrl</key><key>C</key></keyseq> en la ventana de "
-"la terminal para salir del programa."
-
-#: C/image-viewer.js.page:155(title)
-msgid "Adding classes"
-msgstr "AÃadir clases"
-
-#: C/image-viewer.js.page:156(p)
-msgid ""
-"The proper way of doing Gtk programming is by using classes. Let's rewrite "
-"the simple code you just wrote using classes:"
-msgstr ""
-"La manera correcta de programar en GTK+ es usando clases. Reescriba el "
-"cÃdigo que acaba de escribir usando clases:"
+#~ 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 "
+#~ "<guiseq><gui>Run</gui><gui>Execute</gui></guiseq> to start the "
+#~ "application."
+#~ msgstr ""
+#~ "Todo el cÃdigo deberÃa estar listo para ejecutarse. Pulse "
+#~ "<guiseq><gui>Construir</gui><gui>Construir proyecto</gui></guiseq> para "
+#~ "construir todo otra vez y pulse <guiseq><gui>Ejecutar</gui><gui>Ejecutar</"
+#~ "gui></guiseq> para iniciar la aplicaciÃn."
 
-#. FIXME: Throws an error, "JS ERROR: !!!   Unhandled type int32 releasing GArgument" on Ubuntu 10.10
-#: C/image-viewer.js.page:175(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 "
-"<code>_init</code> method, which creates and shows the window. We then "
-"create an instance of the class before running the main loop (<code>Gtk."
-"main</code>)."
-msgstr ""
-"Tenga en cuenta que el programa es el mismo; simplemente se ha movido el "
-"cÃdigo de creaciÃn de la ventana a la clase <code>ImageViewer</code>. El "
-"constructor de la clase llama al mÃtodo <code>_init</code>, que crea y "
-"muestra la ventana. Se crea entonces una instancia de la clase antes de "
-"ejecutar el bucle principal (<code>Gtk.main</code>)."
+#~ 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 "
+#~ "enjoy!"
+#~ msgstr ""
+#~ "Si todavÃa no lo ha hecho, elija la aplicaciÃn <file>src/visor-imagenes</"
+#~ "file> en el diÃlogo que aparece. Finalmente, pulse <gui>Ejecutar</gui> y "
+#~ "disfrute."
 
-#: C/image-viewer.js.page:176(p)
-msgid ""
-"This code is modular and can be split into multiple files easily. This makes "
-"it cleaner and easier to read."
-msgstr ""
-"El cÃdigo es modular y se puede dividir el varios archivos fÃcilmente. Esto "
-"hace que sea mÃs limpio y fÃcil de leer."
+#~ msgid ""
+#~ "If you run into problems with the tutorial, compare your code with this "
+#~ "<link href=\"image-viewer/image-viewer.vala\">reference code</link>."
+#~ msgstr ""
+#~ "Si tiene problemas con este tutorial, compare su coÌdigo con este <link "
+#~ "href=\"image-viewer/image-viewer.vala\">coÌdigo de referencia</link>."
 
-#: C/image-viewer.js.page:189(p)
-msgid "The syntax for connecting any signal to a function is:"
-msgstr "La sintaxis para conectar cualquier seÃal a una funciÃn es:"
+#~ msgid "Next steps"
+#~ msgstr "Siguientes pasos"
 
-#: C/image-viewer.js.page:192(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>."
-msgstr ""
-"Puede encontrar definiciones de seÃales para cualquier objeto en la <link "
-"href=\"http://library.gnome.org/devel/gtk/stable/ch01.html\";>referencia de "
-"clases de GTK+</link>."
+#~ msgid ""
+#~ "Here are some ideas for how you can extend this simple demonstration:"
+#~ msgstr ""
+#~ "Aquà hay algunas ideas sobre cÃmo puede extender esta sencilla "
+#~ "demostraciÃn:"
 
-#: C/image-viewer.js.page:195(p)
-msgid ""
-"You can simplify the code by making use of an inline function definition:"
-msgstr "Puede simplificar el cÃdigo usando una definiciÃn de funciÃn en lÃnea:"
+#~ 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."
+#~ msgstr ""
+#~ "ConfigÃrela de tal manera que la ventana se abra con un tamaÃo "
+#~ "determinado. Por ejemplo, 200x200 pÃxeles."
 
-#: C/image-viewer.js.page:203(title)
-msgid "Closing the window"
-msgstr "Cerrar la ventana"
+#~ msgid ""
+#~ "Have the user select a directory rather than a file, and provide controls "
+#~ "to cycle through all of the images in a directory."
+#~ msgstr ""
+#~ "Haga que el usuario selecciona una carpeta en vez de un archivo, y "
+#~ "proporcione controles para moverse por todas las imÃgenes de una carpeta."
 
-#: C/image-viewer.js.page:204(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 "
-"if they really want to close the window, for example)."
-msgstr ""
-"Cuando cierra una ventana de GTK, realmente no se cierra, se oculta. Esto le "
-"permite mantener la ventana (lo que es Ãtil si quiere preguntar al usuario "
-"si realmente quiere cerrar la ventana, por ejemplo)."
+#~ msgid ""
+#~ "Apply random filters and effects to the image when it is loaded and allow "
+#~ "the user to save the modified image."
+#~ msgstr ""
+#~ "Aplicar filtros aleatorios y efectos a la imagen cuando se carga y "
+#~ "permitir al usuario guardar la imagen modificada."
 
-#: C/image-viewer.js.page:205(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 "
-"object to a function that closes the application. Go back to the <file>image-"
-"viewer.js</file> file and add the following code to the <code>_init</code> "
-"method, on the line above <code>this.window.show</code>:"
-msgstr ""
-"En este caso, simplemente se quiere cerrar la ventana. La manera mÃs "
-"sencilla de hacerlo es conectar la seÃal <code>hide</code> del objeto "
-"GtkWindow a una funciÃn que cierra la aplicaciÃn. Vuelva al archivo "
-"<file>image-viewer.js</file> y aÃada el siguiente cÃdigo al mÃtodo "
-"<code>_init</code>, en la lÃnea anterior a <code>this.window.show</code>:"
-
-#: C/image-viewer.js.page:206(code)
-#, no-wrap
-msgid "this.window.connect (\"hide\", Gtk.main_quit);"
-msgstr "this.window.connect (\"hide\", Gtk.main_quit);"
-
-#: C/image-viewer.js.page:207(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 "
-"loop. Once the main loop finishes, the function <code>Gtk.main</code> "
-"returns. Our program would continue to run any code written after the "
-"<code>Gtk.main ();</code> line, but since we don't have any code after that "
-"point, the program just ends."
-msgstr ""
-"Esto conecta la seÃal <code>hide</code> de la ventana con la funciÃn "
-"<code>main_quit</code> de GTK, que termina la ejecuciÃn del bucle principal "
-"de GTK. Una vez que el bucle principal termina, la funciÃn <code>Gtk.main</"
-"code> retorna. El programa puede continuar ejecutando cualquier cÃdigo que "
-"haya despuÃs de la lÃnea <code>Gtk.main ();</code>, pero como no hay ningÃn "
-"cÃdigo despuÃs de ese punto, el programa simplemente termina."
-
-#: C/image-viewer.js.page:217(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</"
-"code> line:"
-msgstr ""
-"AÃada la caja y los widgets a la ventana. Inserte el siguiente cÃdigo en el "
-"mÃtodo <code>_init</code>, justo debajo de la lÃnea <code>this.window.show</"
-"code>:"
+#~ msgid ""
+#~ "<link href=\"http://www.gegl.org/api.html\";>GEGL</link> provides powerful "
+#~ "image manipulation capabilities."
+#~ msgstr ""
+#~ "<link href=\"http://www.gegl.org/api.html\";>GEGL</link> proporciona la "
+#~ "capacidad de manipular imÃgenes de manera potente."
 
-#: C/image-viewer.js.page:221(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 "
-"vertical (so widgets are arranged in a column), and the <code>spacing</code> "
-"between the widgets is set to 0 pixels. The next line then adds the newly-"
-"created <code>Gtk.Box</code> to the window."
-msgstr ""
-"La primera lÃnea crea una <code>Gtk.Box</code> llamada <code>main_box</code> "
-"y establece dos de sus propiedades: la <code>orientation</code> se establece "
-"a Âvertical (por lo que los widgets se ordenan en columna), y el "
-"<code>spacing</code> entre los widgets, que se establece a 0 pÃxeles. La "
-"siguiente lÃnea aÃade la <code>Gtk.Box</code> reciÃn creada a la ventana."
+#~ msgid ""
+#~ "Allow the user to load images from network shares, scanners, and other "
+#~ "more complicated sources."
+#~ msgstr ""
+#~ "Permitir al usuario cargar imÃgenes desde recursos de red compartidos, "
+#~ "escÃneres y otras fuentes mÃs complicadas."
 
-#: C/image-viewer.js.page:227(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:"
-msgstr ""
-"Para aÃadir algunos widgets a la <code>Gtk.Box</code>, inserte el siguiente "
-"cÃdigo justo debajo de la lÃnea <code>this.window.add (main_box)</code>:"
+#~ 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://library.gnome.org/devel/gnome-scan/unstable/\";>GNOME Scan</"
+#~ "link> to handle scanning."
+#~ msgstr ""
+#~ "Puede usar <link href=\"http://library.gnome.org/devel/gio/unstable/";
+#~ "\">GIO</link> para gestionar transferencias de archivos de red y "
+#~ "similares, y <link href=\"http://library.gnome.org/devel/gnome-scan/";
+#~ "unstable/\">GNOME Scan</link> para gestionar el escaneado."
 
-#: C/image-viewer.js.page:231(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 "
-"is added (<em>packed</em>) into the <code>main_box</code> container using "
-"<code>Gtk.Box</code>'s <link href=\"http://library.gnome.org/devel/gtk/";
-"stable/GtkBox.html#gtk-box-pack-start\"><code>pack_start</code></link> "
-"method."
-msgstr ""
-"La primera lÃnea crea una <code>Gtk.Image</code> nueva llamada <code>image</"
-"code>, que se usarà para mostrar un archivo de imagen. Entonces, se aÃade el "
-"widget de imagen (<em>packed</em>) al contenedor <code>main_box</code> "
-"usando el mÃtodo <link href=\"http://library.gnome.org/devel/gtk/stable/";
-"GtkBox.html#gtk-box-pack-start\"><code>pack_start</code></link> de <code>Gtk."
-"Box</code>."
-
-#: C/image-viewer.js.page:232(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</"
-"code> should grow larger when the new widget is added (<code>expand</code>); "
-"whether the new widget should take up all of the extra space created if the "
-"<code>Gtk.Box</code> gets bigger (<code>fill</code>); and how much space "
-"there should be, in pixels, between the widget and its neighbors inside the "
-"<code>Gtk.Box</code> (<code>padding</code>)."
-msgstr ""
-"<code>pack_start</code> toma 4 argumentos: el widget que aÃadir a la "
-"<code>Gtk.Box</code> (<code>child</code>); indica si la <code>Gtk.Box</code> "
-"debe crecer a lo largo cuando se aÃade el widget nuevo (<code>expand</"
-"code>); indica si el widget nuevo debe tomar todo el espacio adicional "
-"creado si la <code>Gtk.Box</code> se hace mÃs grande (<code>fill</code>); y "
-"cuÃnto espacio debe haber, en pÃxeles, entre el widget y los demÃs widgets "
-"dentro de la <code>Gtk.Box</code> (<code>padding</code>)."
-
-#: C/image-viewer.js.page:239(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 "
-"are setting the <code>expand</code> argument (the second one) to "
-"<code>false</code> here, whereas it was set to <code>true</code> for the "
-"<code>Gtk.Image</code>. This will cause the image to take up all available "
-"space and the button to take only the space it needs. When you maximize the "
-"window, the button size will remain the same, but the image size will "
-"increase, taking up all of the rest of the window."
-msgstr ""
-"Estas lÃneas son similares a las dos primeras, pero esta vez crean un "
-"<code>Gtk.Button</code> y lo aÃaden a la <code>main_box</code>. Tenga en "
-"cuenta que aquà se està estableciendo el argumento <code>expand</code> (el "
-"segundo) a <code>false</code>, mientras que para la <code>Gtk.Image</code> "
-"se establecià a <code>true</code>. Esto harà que la imagen tome todo el "
-"espacio disponible y que el botÃn tome sÃlo el espacio que necesite. Cuando "
-"se maximiza la ventana, el tamaÃo del botÃn serà el mismo, pero el tamaÃo de "
-"la imagen aumentarà junto con el resto de la ventana."
-
-#: C/image-viewer.js.page:240(p)
-msgid ""
-"Finally, we must change the <code>this.window.show ();</code> line to read:"
-msgstr ""
-"Finalmente, se debe cambiar la lÃnea <code>this.window.show ();</code> para "
-"leer:"
+#~ msgid ""
+#~ "A little bit more than a simple \"Hello world\" application - write an "
+#~ "image viewer in GTK."
+#~ msgstr ""
+#~ "Algo mÃs que una sencilla aplicaciÃn ÂHola mundoÂ; escribir un visor de "
+#~ "imÃgenes en GTK."
 
-#: C/image-viewer.js.page:241(code)
-#, no-wrap
-msgid "this.window.show_all ();"
-msgstr "this.window.show_all ();"
+#~ msgid "Jonh Wendell"
+#~ msgstr "Jonh Wendell"
 
-#: C/image-viewer.js.page:242(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 "
-"default.)"
-msgstr ""
-"Esto mostrarà el hijo de la ventana de GTK, y todos sus hijos, y los hijos "
-"de sus hijos, etcÃtera. (Recuerde que los widgets de GTK estÃn ocultos de "
-"manera predeterminada.)"
+#~ msgid "jwendell gnome org"
+#~ msgstr "jwendell gnome org"
 
-#: C/image-viewer.js.page:247(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 "
-"loaded and shown in the image widget."
-msgstr ""
-"Cuando el usuario pulse en el botÃn <gui>Abrir</gui>, debe aparecer un "
-"diÃlogo en el que el usuario pueda elegir una imagen. una vez elegida, la "
-"imagen se debe cargar y mostrar en el widget de imagen."
+#~ msgid "Image Viewer"
+#~ msgstr "Visor de imÃgenes"
 
-#: C/image-viewer.js.page:248(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 "
-"this code immediately after the <code>var open_button = new Gtk.Button</"
-"code> line where the button was created:"
-msgstr ""
-"El primer paso es conectar la seÃal <code>clicked</code> del botÃn a una "
-"funciÃn manejadora de la seÃal, llamada <code>_openClicked</code>. Ponga "
-"este cÃdigo inmediatamente despuÃs de la lÃnea <code>var open_button = new "
-"Gtk.Button</code> en la que se creà el botÃn:"
+#~ 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:"
+#~ msgstr ""
+#~ "En este tutorial se va a escribir una aplicaciÃn GTK+ muy sencilla que "
+#~ "carga un archivo e imagen y lo muestra. Aprenderà a:"
 
-#: C/image-viewer.js.page:251(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 "
-"(without a class) which we had used before for the window's <code>hide</"
-"code> signal. Don't worry about this for now, it's just a technical detail. "
-"For it to work, you also need to put the following line at the top of the "
-"file:"
-msgstr ""
-"Aquà se està usando el JavaScript auxiliar <em>Lang</em>. Permite conectar "
-"un <em>mÃtodo de clase</em> a la seÃal, en vez de una funciÃn normal (sin "
-"clase) que se haya usado anteriormente para seÃal <code>hide</code> de la "
-"ventana. No se preocupe por esto ahora, es sÃlo un detalle tÃcnico. Para que "
-"funcione, debe poner tambiÃn la siguiente lÃnea en la parte superior del "
-"archivo:"
-
-#: C/image-viewer.js.page:252(code)
-#, no-wrap
-msgid "const Lang = imports.lang;"
-msgstr "const Lang = imports.lang;"
-
-#: C/image-viewer.js.page:257(p)
-msgid ""
-"Now we can create the <code>_openClicked()</code> method. Insert the "
-"following into the <code>ImageViewer.prototype</code> code block, after the "
-"<code>_init</code> method (and not forgetting the comma):"
-msgstr ""
-"Ahora se puede crear el mÃtodo <code>_openClicked()</code>. Inserte el "
-"siguiente cÃdigo en el bloque de cÃdigo de <code>ImageViewer.prototype</"
-"code>, despuÃs del mÃtodo <code>_init</code> (y no olvide la coma):"
+#~ msgid "Write a basic GTK user interface in Python"
+#~ msgstr "Escribir una interfaz de usuario bÃsica en Python"
 
-#: C/image-viewer.js.page:280(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 "
-"title of the dialog; the action (type) of the dialog (it's an \"open\" "
-"dialog, but we could have used <code>SAVE</code> if the intention was to "
-"save a file; <code>transient_for</code>, which sets the parent window of the "
-"dialog; and <code>modal</code> which, if set to <code>true</code>, prevents "
-"the user from clicking on another area of the application until the dialog "
-"is closed."
-msgstr ""
-"La lÃnea que comienza por <code>var chooser</code> crear un diÃlogo "
-"<gui>Abrir</gui>, que el usuario puede utilizar para elegir archivos. Se "
-"establecen cuatro propiedades: el tÃtulo del diÃlogo, la acciÃn (tipo) del "
-"diÃlogo (es un diÃlogo ÂopenÂ, pero se podrÃa haber usado <code>SAVE</code> "
-"si la intenciÃn hubiese sido guardar un archivo; <code>transient_for</code>, "
-"que establece la ventana padre del diÃlogo; y <code>modal</code>, que si se "
-"establecer a <code>true</code> evita que el usuario pueda pulsar en otra "
-"Ãrea de la aplicaciÃn hasta que no se cierre el diÃlogo."
-
-#: C/image-viewer.js.page:293(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</"
-"code> will return the value <output>1</output> (it would return <output>0</"
-"output> if the user clicked <gui>Cancel</gui>). The <code>if</code> "
-"statement tests for this."
-msgstr ""
-"<code>chooser.run</code> muestra el diÃlogo <gui>Abrir</gui>. El diÃlogo "
-"esperarà a que el usuario elija una imagen; cuando lo haga, <code>chooser."
-"run</code> devolverà el valor <output>1</output> (devolverÃa <output>0</"
-"output> si el usuario pulsara <gui>Cancelar</gui>). La sentencia <code>if</"
-"code> comprueba esto."
+#~ msgid "Deal with events by connecting signals to signal handlers"
+#~ msgstr "Trabajar con eventos conectando seÃales a manejadores de seÃales"
 
-#: C/image-viewer.js.page:306(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 "
-"of JavaScript and Gtk) in not much time at all!"
-msgstr ""
-"Todo el cÃdigo que necesita debe estar en su lugar, asà que trate de "
-"ejecutar el cÃdigo. Esto deberÃa ser todo; un visor de imÃgenes "
-"completamente funcional (y un completo tour sobre JavaScript y GTK+) en poco "
-"tiempo."
+#~ msgid "Lay out GTK user interfaces using containers"
+#~ msgstr "La disposiciÃn de las interfaces de usuario usando contenedores"
 
-#: C/image-viewer.js.page:311(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>."
-msgstr ""
-"Si tiene problemas con este tutorial, compare su coÌdigo con este <link href="
-"\"image-viewer/image-viewer.js\">coÌdigo de referencia</link>."
+#~ msgid "Load and display image files"
+#~ msgstr "Cargar y mostrar archivos de imagen"
 
-#: C/image-viewer.cpp.page:8(desc)
-msgid "A little bit more than a simple \"Hello world\" GTKmm application."
-msgstr "Algo mÃs que una sencilla aplicaciÃn ÂHola mundo en GTKmm."
+#~ msgid "Basic knowledge of the python programming language"
+#~ msgstr "Conocimiento bÃsico del lenguaje de programaciÃn Python"
 
-#: C/image-viewer.cpp.page:26(p)
-msgid "Some basic concepts of C++/GObject programming"
-msgstr "Algunos conceptos baÌsicos de programacioÌn en C++/GObject"
+#~ 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 "
+#~ "<file>image-viewer</file> as project name and directory."
+#~ msgstr ""
+#~ "Seleccione <gui>PyGTK (automake)</gui> en la pestaÃa <gui>Python</gui>, "
+#~ "pulse <gui>Continuar</gui>, y rellene los detalles en las siguientes "
+#~ "pÃginas. Use <file>visor-imagenes</file> como nombre del proyecto y de la "
+#~ "carpeta."
 
-#: C/image-viewer.cpp.page:27(p)
-msgid "How to write a Gtk application in C++"
-msgstr "CÃmo escribir una aplicaciÃn GTK en C++"
+#~ 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 the interface designer, check the <link xref=\"guitar-tuner.py"
+#~ "\">Guitar-Tuner demo</link>."
+#~ msgstr ""
+#~ "AsegÃrese de desactivar <gui>Usar GtkBuilder para la interfaz del "
+#~ "usuario</gui>, ya que, en este ejemplo, la interfaz de usuario se "
+#~ "construirà manualmente. Para obtener un ejemplo del uso de diseÃador de "
+#~ "interfaces. revise la <link xref=\"guitar-tuner.py\">demostraciÃn de "
+#~ "afinador de guitarra</link>."
 
-#: C/image-viewer.cpp.page:41(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 "
-"<file>image-viewer</file> as project name and directory."
-msgstr ""
-"Elija <gui>GTKmm (simple)</gui> de la pestaÃa <gui>C++</gui>, pulse "
-"<gui>Adelante</gui> y rellene los detalles en las siguientes pÃginas. Use "
-"<file>visor-imagenes</file> como nombre de proyecto y de carpeta."
+#~ 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</gui> tabs. It contains very basic example code."
+#~ msgstr ""
+#~ "Pulse <gui>Aplicar</gui> y se crearaÌ el proyecto. Abra <file>src/visor-"
+#~ "imagenes.py</file> desde las pestanÌas <gui>Proyecto</gui> o <gui>Archivo</"
+#~ "gui>. Contiene un ejemplo de cÃdigo muy bÃsico:"
 
-#: C/image-viewer.cpp.page:44(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="
-"\"guitar-tuner.cpp\">Guitar-Tuner</link> tutorial if you want to learn how "
-"to use the interface builder."
-msgstr ""
-"AsegÃrese de que <gui>Usar GtkBuilder para la interfaz del usuario</gui> "
-"està desactivado, ya que, en este tutorial, la IU se crearà manualmente. "
-"Revise el tutorial del <link xref=\"guitar-tuner.cpp\">afinador de guitarra</"
-"link> si quiere aprender a usar el constructor de interfaces."
+#~ msgid "A first Gtk application"
+#~ msgstr "Una primera aplicaciÃn en GTK"
 
-#: C/image-viewer.cpp.page:49(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> "
-"tabs. You should see some code which starts with the lines:"
-msgstr ""
-"Pulse <gui>Aplicar</gui> y se crearaÌ el proyecto. Abra <file>src/main.cc</"
-"file> desde las pestanÌas <gui>Proyecto</gui> o <gui>Archivo</gui>. DeberiÌa "
-"ver algo de coÌdigo que comience con las liÌneas:"
+#~ msgid "Let's see what a very basic Gtk application looks like in Python:"
+#~ msgstr "Vea como queda una aplicacioÌn GTK+ muy baÌsica en Python:"
 
-#: C/image-viewer.cpp.page:61(p) C/guitar-tuner.cpp.page:64(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:"
-msgstr ""
-"Esto es una configuraciÃn de cÃdigo C++ usando GTKmm. Se ofrecen mÃs "
-"detalles a continuaciÃn; omita esta lista si entiende los conceptos bÃsicos:"
+#~ msgid "Let's take a look at what's happening:"
+#~ msgstr "Eche un vistazo a lo que està pasando:"
 
-#: C/image-viewer.cpp.page:64(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) "
-"and <code>iostream</code> (C++-STL) libraries. Functions from these "
-"libraries are used in the rest of the code."
-msgstr ""
-"Las tres lÃneas <code>#include</code> en la parte superior incluyen las "
-"bibliotecas <code>config</code> (definiciones Ãtiles para construcciÃn con "
-"autoconf), <code>gtkmm</code> (interfaz de usuario) <code>iostream</code> (C+"
-"+-STL). Las funciones de estas bibliotecas se usan en el resto del cÃdigo."
+#~ msgid ""
+#~ "The first line imports the Gtk namespace (that is, it includes the Gtk "
+#~ "library). The libraries are provided by GObject Introspection (gi), which "
+#~ "provides language bindings for many GNOME libraries."
+#~ msgstr ""
+#~ "La primera lÃnea importa el espacio de nombres de GTK+ (es decir, incluye "
+#~ "la biblioteca GTK+). Las bibliotecas las proporciona ÂGObject "
+#~ "Introspection (gi)Â, que implementa asociaciones de lenguajes para la "
+#~ "mayorÃa de las bilbiotecas de GNOME."
 
-#: C/image-viewer.cpp.page:67(p)
-msgid ""
-"The <code>main</code> function creates a new (empty) window and sets the "
-"window title."
-msgstr ""
-"La funciÃn <code>main</code> crea una ventana (vacÃa) nueva y establece el "
-"tÃtulo de la ventana."
+#~ 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 to quit the application once the window is closed. That's pretty "
+#~ "simple overall, more on signals later."
+#~ msgstr ""
+#~ "En el mÃtodo <code>__init__</code> de la clase <code>GUI</code> se crea "
+#~ "un <code>Gtk.Window</code> (vacÃa), establece su tÃtulo y despuÃs conecta "
+#~ "una seÃal para salir de la aplicaciÃn una vez que se cierra la ventana. "
+#~ "Es bastante simple, mÃs acerca de seÃales en adelante."
 
-#: C/image-viewer.cpp.page:70(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 "
-"presses). As we give the window as an argument to that function, the "
-"application will automatically exit when that window is closed."
-msgstr ""
-"La llamada <code>kit::run()</code> inicia el bucle principal de GTKmm, que "
-"ejecuta la interfaz de usuario y empieza a escuchar eventos (como "
-"pulsaciones del ratÃn y del teclado). Como se ha pasado la ventana como "
-"argumento a esta funciÃn, la aplicaciÃn se cerrarà automÃticamente cuando se "
-"cierre la ventana."
-
-#: C/image-viewer.cpp.page:77(p) C/image-viewer.c.page:78(p)
-#: C/guitar-tuner.cpp.page:79(p) C/guitar-tuner.c.page:83(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."
-msgstr ""
-"Pulse <gui>Ejecutar</gui> en la siguiente ventana que aparece para "
-"configurar una construcciÃn de depuraciÃn. Esto sÃlo necesita hacer una vez "
-"para la primera construcciÃn."
+#~ msgid ""
+#~ "Next, <code>destroy</code> is defined which just quits the application. "
+#~ "It is called by the <code>destroy</code> signal connected above."
+#~ msgstr ""
+#~ "DespuÃs se define <code>destroy</code> que simplemente sale de la "
+#~ "aplicaciÃn. Se le llama a travÃs de la seÃal <code>destroy</code> "
+#~ "conectada anteriormente."
 
-#: C/image-viewer.cpp.page:82(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 "
-"and even other containers. Here we will use the simplest available "
-"container, a <code>Gtk::Box</code>:"
-msgstr ""
-"Ahora se darà vida a la ventana vacÃa. GTKmm organiza la interfaz de usuario "
-"con varios <code>Gtk::Container</code> que pueden contener otros widgets e "
-"incluso otros contenedores. Aquà se usarà el contenedor mÃs sencillo "
-"disponible, una <code>Gtk::Box</code>:"
+#~ msgid ""
+#~ "The rest of the file does initialisation for Gtk and displays the GUI."
+#~ msgstr ""
+#~ "El resto del archivo realiza la inicializaciÃn de GTK+ y muestra la IGU."
 
-#: C/image-viewer.cpp.page:115(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 "
-"container."
-msgstr ""
-"La primera lÃnea crea los widgets que se quieren usar: un botÃn para abrir "
-"una imagen, el widget del visor de imÃgenes en sà y la caja que se usarà "
-"como contenedor."
+#~ 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."
+#~ msgstr ""
+#~ "Este cÃdigo està listo para usarse, por lo que puede probarlo usando "
+#~ "<guiseq><gui>Ejecutar</gui><gui>Ejecutar</gui></guiseq>. DeberÃa mostrar "
+#~ "una ventana vacÃa."
 
-#: C/image-viewer.cpp.page:118(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 "
-"the button will just be as big as needed. You will notice that we don't set "
-"explicit sizes on the widgets. In GTKmm this is usually not needed as it "
-"makes it much easier to have a layout that looks good in different window "
-"sizes. Next, the box is added to the window."
-msgstr ""
-"Las llamadas a <code>pack_start</code> aÃaden los dos widgets a la caja y "
-"definen su comportamiento. La imagen se expandirà en cualquier espacio "
-"disponible, mientras que el botÃn serà tan grande como se necesite. Se darà "
-"cuenta de que no se establecen tamaÃos explÃcitos de los widgets. "
-"Generalmente, en GTKmm no se necesita ya que hace que sea mucho mÃs sencillo "
-"tener una distribuciÃn que se ve bien con diferentes tamaÃos de la ventana. "
-"A continuaciÃn, se aÃade la caja a la ventana."
-
-#: C/image-viewer.cpp.page:124(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 "
-"the <em>clicked</em> signal, which we can connect to some action. This is "
-"done using the <code>signal_clicked().connect</code> method which tells "
-"GTKmm to call the <code>on_open_image</code> function when the button is "
-"clicked. We will define the <em>callback</em> in the next section."
-msgstr ""
-"Se debe definir quà sucede cuando el usuario pulsa el botÃn. GTKmm usa el "
-"concepto de <em>seÃales</em>. Cuando se pulsa el botÃn, emite la seÃal "
-"<em>clicked</em>, que se puede conectar a alguna acciÃn. Esto se ha hecho "
-"usando el mÃtodo <code>signal_clicked().connect</code>, que indica a GTKmm "
-"que llame a la funciÃn <code>on_open_image</code> cuando se pulsa el botÃn y "
-"que pase la imagen como un argumento adicional a la funciÃn. El <em>retorno "
-"de la llamada</em> se definirà en la siguiente secciÃn."
-
-#: C/image-viewer.cpp.page:128(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"
-"()</code> method on all our child widgets."
-msgstr ""
-"El Ãltimo paso es mostrar todos los widgets en la ventana usando "
-"<code>show_all_children()</code>. Esto es equivalente a usar el mÃtodo "
-"<code>show()</code> en cada uno de los widgets."
+#~ msgid "Signals"
+#~ msgstr "SeÃales"
 
-#: C/image-viewer.cpp.page:137(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> "
-"method."
-msgstr ""
-"Ahora se definirà el manejador de la seÃal <em>clicked</em> para el botÃn "
-"mencionado anteriormente. AÃada este cÃdigo antes del mÃtodo <code>main</"
-"code>."
+#~ 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 clicked it gives off the <code>clicked</code> signal. If you "
+#~ "want your program to do something when that event occurs, you must "
+#~ "connect a function (a \"signal handler\") to that signal. Here's an "
+#~ "example:"
+#~ msgstr ""
+#~ "Las seÃales son un concepto clave en la programaciÃn en GTK. Cuando pasa "
+#~ "algo en un objeto, emite una seÃal; por ejemplo, cuando se pulsa un "
+#~ "botÃn, emite la seÃal <code>clicked</code>. Si quiere que su programa "
+#~ "haga algo cuando ocurre ese evento, debe conectar una funciÃn (un "
+#~ "Âmanejador de la seÃalÂ) a esa seÃal. Aquà hay un ejemplo:"
 
-#: C/image-viewer.cpp.page:174(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 "
-"dialog. In our case, it is an <em>Open</em> dialog."
-msgstr ""
-"El diÃlogo para elegir el archivo se crea usando el constructor de "
-"<code>Gtk::FileChooserDialog</code>. La funciÃn toma el tÃtulo y el tipo del "
-"diÃlogo. En este caso, es un diÃlogo de tipo <em>Open</em>."
+#~ 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</"
+#~ "code> function, which is defined above. Every time the button is clicked, "
+#~ "the code in the <code>button_clicked</code> function will be executed. It "
+#~ "just prints a message here."
+#~ msgstr ""
+#~ "Las dos Ãltimas lÃneas crean un <code>Gtk.Button</code> llamado <code>b</"
+#~ "code> y conectan su seÃal <code>clicked</code> con la funciÃn "
+#~ "<code>button_clicked</code> que se ha definido anteriormente. Cada vez "
+#~ "que se pulsa un botÃn, se ejecuta el cÃdigo de la funciÃn "
+#~ "<code>button_clicked</code>. Esto sÃlo imprime un mensaje aquÃ."
 
-#: C/image-viewer.cpp.page:173(list)
-msgid ""
-"<placeholder-1/> The next two lines add an Open and a Close button to the "
-"dialog. Notice that we are using stock button names from Gtk, instead of "
-"manually typing \"Cancel\" or \"Open\". The advantage of using stock names "
-"is that the button labels will already be translated into the user's "
-"language. The second argument to the add_button() method is a value to "
-"identify the clicked button. We use predefined values provided by GTKmm "
-"here, too. The next two lines restrict the Open dialog to only display files "
-"which can be opened by Gtk::Image. A filter object is created first; we then "
-"add all kinds of files supported by Gdk::Pixbuf (which includes most image "
-"formats like PNG and JPEG) to the filter. Finally, we set this filter to be "
-"the Open dialog's filter. Glib::RefPtr is a smart pointer used here, that "
-"makes sure that the filter is destroyed when there is no reference to it "
-"anymore. dialog.run displays the Open dialog. The dialog will wait for the "
-"user to choose an image; when they do, dialog.run will return the value Gtk::"
-"RESPONSE_ACCEPT (it would return Gtk::RESPONSE_CANCEL if the user clicked "
-"Cancel). The switch statement tests for this. We hide the Open 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 destroyed (and therefore hidden) when "
-"the scope ends. Assuming that the user did click Open, the next line loads "
-"the file into the Gtk::Image so that it is displayed."
-msgstr ""
-"<placeholder-1/> Las dos lÃneas siguientes aÃaden los botones ÂAbrir y "
-"ÂCerrar al diÃlogo. Tenga en cuenta que se estÃn usando nombres de botones "
-"del almacÃn de GTK+, en vez de escribir manualmente ÂCancelar o ÂAbrirÂ. La "
-"ventaja de usar nombres del almacÃn es que las etiquetas de los botones ya "
-"estÃn traducidas al idioma del usuario. El segundo argumento del mÃtodo "
-"Âadd_button() es un valor para identificar el botÃn pulsado. Aquà tambiÃn se "
-"usan valores predefinidos, proporcionados por GTKmm. Las dos lÃneas "
-"siguientes restringen el diÃlogo ÂAbrir para que sÃlo muestre los archivos "
-"que se pueden abrir con ÂGtk::imageÂ. Primero se crea un filtro de objetos; "
-"luego se aÃaden al filtro todos los tipos de archivos soportados por Gdk::"
-"Pixbuf (que incluye la mayorÃa de formatos de imagen como PNG y JPG). Por "
-"Ãltimo, se asocia este filtro con el diÃlogo ÂAbrirÂ. Glib::RefPtr es un "
-"puntero inteligente usado aquà para asegurarse de que el filtro se destruye "
-"cuando ya no se hace referencia a Ãl. Âdialog.run muestra el diÃlogo ÂAbrirÂ. "
-"El diÃlogo esperarà a que el usuario elija una imagen; cuando lo haga, "
-"Âdialog.run devolverà el valor Gtk::RESPONSE_ACCEPT (devolverÃa Gtk::"
-"RESPONSE_CANCEL si el usuario pulsara ÂCancelarÂ). La sentencia Âswitch "
-"comprueba esto. Se oculta el diÃlogo ÂAbrir ya que no se necesita mÃs. El "
-"diÃlogo se ocultarÃa de todos modos, ya que sÃlo es una variable local, y se "
-"destruye (y, por lo tanto, se oculta) cuando termina su objetivo. Asumiendo "
-"que el usuario pulsà ÂAbrirÂ, la siguiente lÃnea carga el archivo en la Gtk::"
-"Image y se muestra."
-
-#: C/image-viewer.c.page:26(p)
-msgid "Some basic concepts of C/GObject programming"
-msgstr "Algunos conceptos bÃsicos de programaciÃn en C/GObject"
-
-#: C/image-viewer.c.page:27(p)
-msgid "How to write a Gtk application in C"
-msgstr "CoÌmo escribir una aplicacioÌn GTK en C"
-
-#: C/image-viewer.c.page:41(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."
-msgstr ""
-"Seleccione <gui>Gtk+ (simple)</gui> en la pestaÃa <gui>C</gui>, pulse "
-"<gui>Continuar</gui>, y rellene los detalles en las siguientes pÃginas. Use "
-"<file>visor-imagenes</file> como nombre del proyecto y de la carpeta."
+#~ msgid "Containers: Laying-out the user interface"
+#~ msgstr "Contenedores: diseÃar la interfaz de usuario"
 
-#: C/image-viewer.c.page:44(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="
-"\"guitar-tuner.c\">Guitar-Tuner</link> tutorial if you want to learn how to "
-"use the interface builder."
-msgstr ""
-"AsegÃrese de que <gui>Usar GtkBuilder para la interfaz del usuario</gui> "
-"està desactivado, ya que, en este tutorial, la IU se crearà manualmente. "
-"Revise el tutorial del <link xref=\"guitar-tuner.c\">afinador de guitarra</"
-"link> si quiere aprender a usar el constructor de interfaces."
+#~ 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 different types of containers, like boxes and grids."
+#~ msgstr ""
+#~ "Los widgets (controles, como botones y etiquetas) se pueden organizar en "
+#~ "la ventana usando <em>contenedores</em>. Puede organizar el diseÃo "
+#~ "mezclando diferentes tipos de contenedores, como cajas y rejillas."
 
-#: C/image-viewer.c.page:59(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 "
-"and shows it. More details are given below; skip this list if you understand "
-"the basics:"
-msgstr ""
-"C es un lenguaje mÃs detallado, por lo que no se sorprenda de que el archivo "
-"contiene un gran cantidad de cÃdigo. La mayor parte es cÃdigo de plantilla. "
-"Carga una ventana (vacÃa) y se muestra. A continuaciÃn se ofrecen mÃs "
-"detalles; omita esta lista si entiende los conceptos bÃsicos:"
+#~ 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 and a button, so we must put a \"higher-capacity\" container inside "
+#~ "the window to hold the other widgets. A number of <link href=\"http://";
+#~ "library.gnome.org/devel/gtk/stable/GtkContainer.html\">container types</"
+#~ "link> are available, but we will use a <code>Gtk.Box</code> here. A "
+#~ "<code>Gtk.Box</code> can hold several widgets, organized horizontally or "
+#~ "vertically. You can do more complicated layouts by putting several boxes "
+#~ "inside another box and so on."
+#~ msgstr ""
+#~ "Una <code>Gtk.Window</code> es en sà misma un tipo de contenedor, pero "
+#~ "sÃlo puede poner un widget directamente en ella. Se quieren poner dos "
+#~ "widgets, una imagen y un botÃn, por lo que se necesita poner un "
+#~ "contenedor Âde mayor capacidad dentro de la ventana para que contenga "
+#~ "otros widgets. Hay varios <link href=\"http://library.gnome.org/devel/gtk/";
+#~ "stable/GtkContainer.html\">tipos de contenedores</link> disponibles, pero "
+#~ "aquà se usarà una <code>Gtk.Box</code>. Una <code>Gtk.Box</code> puede "
+#~ "contener varios widgets, organizados horizontal o verticalmente. Se "
+#~ "pueden hacer diseÃos mÃs complejos poniendo varias cajas dentro de otras, "
+#~ "y asà sucesivamente."
 
-#: C/image-viewer.c.page:63(p) C/guitar-tuner.c.page:68(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 "
-"<code>gi18n</code> (internationalization) libraries. Functions from these "
-"libraries are used in the rest of the code."
-msgstr ""
-"Las tres lÃneas <code>#include</code> en la parte superior incluyen las "
-"bibliotecas <code>config</code> (Ãtil para definiciones de construcciÃn de "
-"autoconf), <code>gtk</code> (interfaz de usuario) y <code>gi18n</code> "
-"(internacionalizaciÃn). Las funciones de estas bibliotecas se usan en el "
-"resto del cÃdigo."
+#~ 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 simple example, however, we will code everything manually."
+#~ msgstr ""
+#~ "Hay un diseÃador de interfaces grÃficas llamado <app>Glade</app> "
+#~ "integrado en <app>Anjuta</app> que hace que el diseÃo de IU sea realmente "
+#~ "fÃcil. Sin embargo, para este ejemplo, se va a codificar todo manualmente."
 
-#: C/image-viewer.c.page:66(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."
-msgstr ""
-"La funciÃn <code>create_window</code> crea una ventana (vacÃa) nueva y "
-"conecta una seÃal para salir de la aplicaciÃn cuando se cierra esa ventana."
+#~ 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."
+#~ "connect_after</code> line:"
+#~ msgstr ""
+#~ "AÃada la caja y los widgets a la ventana. Inserte el siguiente cÃdigo en "
+#~ "el mÃtodo <code>__init__</code>, justo debajo de la lÃnea <code>window."
+#~ "connect_after</code>:"
 
-#: C/image-viewer.c.page:70(p) C/guitar-tuner.c.page:75(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 "
-"application. The <code>gtk_main</code> function starts the GTK main loop, "
-"which runs the user interface and starts listening for events (like clicks "
-"and key presses)."
-msgstr ""
-"La funciÃn <code>main</code> se ejecuta de manera predeterminada cuando "
-"inicia una aplicaciÃn en C. Llama a unas pocas funciones que configuran y "
-"ejecutan la aplicaciÃn. La funciÃn <code>gtk_main</code> inicia el bucle "
-"principal de GTK+, que ejecuta la interfaz de usuario y comienza a escuchar "
-"eventos (como pulsaciones del ratÃn y del teclado)."
+#~ 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> is set to vertical (so the widgets are arranged in a column), and "
+#~ "the <code>spacing</code> between the widgets is set to 5 pixels. The next "
+#~ "line then adds the newly-created <code>Gtk.Box</code> to the window."
+#~ msgstr ""
+#~ "La primera lÃnea crea una <code>Gtk.Box</code> llamada <code>box</code> y "
+#~ "las siguientes lÃneas establecen dos de sus propiedades: la orientaciÃn "
+#~ "(<code>orientation</code>) se establece a Âvertical (por lo que los "
+#~ "widgets se colocan en columna), y el espaciado (<code>spacing</code>) "
+#~ "entre los widgets se establece a 5 pÃxeles. La siguiente lÃnea aÃade la "
+#~ "<code>Gtk.Box</code> reciÃn creada a la ventana."
 
-#: C/image-viewer.c.page:73(p) C/guitar-tuner.c.page:78(p)
-msgid ""
-"The <code>ENABLE_NLS</code> conditional definition sets up <code>gettext</"
-"code>, which is a framework for translating applications. These functions "
-"specify how translation tools should handle your app when you run them."
-msgstr ""
-"La definiciÃn condicional <code>ENABLE_NLS</code> configura <code>gettext</"
-"code>, que es un entorno de trabajo para traducir aplicaciones. Estas "
-"funciones especifican cÃmo deben manejar su aplicaciÃn las herramientas de "
-"traducciÃn cuando las ejecuta."
+#~ 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> is a transparent container, so you can't see that it's there)."
+#~ msgstr ""
+#~ "De momento, la ventana sÃlo contiene una <code>Gtk.Box</code> vacÃa, y si "
+#~ "ejecuta el programa ahora no verà ningÃn cambio (la <code>Gtk.Box</code> "
+#~ "es un contenedor transparente, por lo que no puede que està ahÃ)."
 
-#: C/image-viewer.c.page:83(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 "
-"even other containers. Here we will use the simplest available container, a "
-"<code>GtkBox</code>:"
-msgstr ""
-"Ahora se darà vida a la ventana vacÃa. GTK+ organiza la interfaz de usuario "
-"con varios <code>GtkContainer</code> que pueden contener otros widgets e "
-"incluso otros contenedores. Aquà se usarà el contenedor mÃs sencillo "
-"disponible, una <code>GtkBox</code>:"
+#~ msgid "Packing: Adding widgets to the container"
+#~ msgstr "Empaquetado: aÃadir widgets al contenedor"
 
-#: C/image-viewer.c.page:121(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 "
-"container. The macros like <code>GTK_BOX</code> are used for dynamic type "
-"checking and casting which is needed as C doesn't support object-orientation "
-"out-of-the-box."
-msgstr ""
-"La primera lÃnea crea los widgets que se quieren usar: un botÃn para abrir "
-"una imagen, el widget para ver la imagen y la caja que se usarà como "
-"contenedor. Las macros como <code>GTK_BOX</code> se usan para comprobaciones "
-"de tipos dinÃmicos y conversiones de tipos necesarias, ya que C no soporta "
-"orientaciÃn a objetos."
-
-#: C/image-viewer.c.page:126(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 "
-"while the button will just be as big as needed. You will notice that we "
-"don't set explicit sizes on the widgets. In GTK this is usually not needed "
-"as it makes it much easier to have a layout that looks good in different "
-"window sizes. Next, the box is added to the window."
-msgstr ""
-"Las llamadas a <code>gtk_box_pack_start</code> aÃaden los dos widgets a la "
-"caja y definen su comportamiento. La imagen se expandirà en cualquier "
-"espacio disponible, mientras que el botÃn serà tan grande como se necesite. "
-"Se darà cuenta de que no se establecen tamaÃos explÃcitos de los widgets. "
-"Generalmente, en GTK+ no se necesita ya que hace que sea mucho mÃs sencillo "
-"tener una distribuciÃn que se ve bien con diferentes tamaÃos de la ventana. "
-"A continuaciÃn, se aÃade la caja a la ventana."
-
-#: C/image-viewer.c.page:132(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 "
-"<em>clicked</em> signal, which we can connect to some action. This is done "
-"using the <code>g_signal_connect</code> function which tells GTK to call the "
-"<code>on_image_open</code> function when the button is clicked and to pass "
-"the image as an additional argument to that function. We will define the "
-"<em>callback</em> in the next section."
-msgstr ""
-"Se debe definir queÌ sucede cuando el usuario pulsa el botoÌn. GTK+ usa el "
-"concepto de <em>senÌales</em>. Cuando se pulsa el botoÌn, emite la senÌal "
-"<em>clicked</em>, que se puede conectar a alguna accioÌn. Esto se ha hecho "
-"usando el meÌtodo <code>g_signal_connect</code>, que indica a GTK+ que llame "
-"a la funcioÌn <code>on_image_open</code> cuando se pulsa el botoÌn y que pase "
-"la imagen como un argumento adicional a la funcioÌn. El <em>retorno de la "
-"llamada</em> se definiraÌ en la siguiente seccioÌn."
-
-#: C/image-viewer.c.page:137(p)
-msgid ""
-"The last <code>g_signal_connect()</code> makes sure that the application "
-"exits when the window is closed."
-msgstr ""
-"La Ãltima <code>g_signal_connect()</code> se asegura de que la aplicaciÃn "
-"finaliza al cerrar la ventana."
+#~ msgid ""
+#~ "To add some widgets to the <code>Gtk.Box</code>, insert the following "
+#~ "code directly below the <code>window.add (box)</code> line:"
+#~ msgstr ""
+#~ "Para aÃadir algunos widgets a la <code>Gtk.Box</code>, inserte el "
+#~ "siguiente cÃdigo justo debajo de la lÃnea <code>window.add (box)</code>:"
 
-#: C/image-viewer.c.page:140(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 "
-"show the window and all the widgets it contains."
-msgstr ""
-"Como Ãltimo paso, asegÃrese de reemplazar la llamada <code>gtk_widget_show</"
-"code>, en la funciÃn <code>main()</code>, por <code>gtk_widget_show_all()</"
-"code>, para mostrar todos los widgets que contiene la ventana."
+#~ 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 in the signal handler, we will define it as a class-wide variable. You "
+#~ "need to add <code>image = 0</code> to the beginning of the <code>GUI</"
+#~ "code> class. Then, the image widget is added (<em>packed</em>) into the "
+#~ "<code>box</code> container using GtkBox's <link href=\"http://library.";
+#~ "gnome.org/devel/gtk/stable/GtkBox.html#gtk-box-pack-start"
+#~ "\"><code>pack_start</code></link> method."
+#~ msgstr ""
+#~ "La primera lÃnea crea una <code>Gtk.Image</code> llamada <code>image</"
+#~ "code>, que se usarà para mostrar un archivo de imagen. Como se necesitarà "
+#~ "mÃs tarde en el manejador de la seÃal, se definirà como variable a nivel "
+#~ "de clase. Deberà aÃadir <code>image = 0</code> al principio de la clase "
+#~ "<code>GUI</code>. Entonces se aÃade el widget de imagen (<em>packed</em>) "
+#~ "en el contenedor <code>box</code> usando el mÃtodo <link href=\"http://";
+#~ "library.gnome.org/devel/gtk/stable/GtkBox.html#gtk-box-pack-start"
+#~ "\"><code>pack_start</code></link> de GtkBox."
 
-#: C/image-viewer.c.page:148(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()</"
-"code> method."
-msgstr ""
-"Ahora se definirà el manejador de la seÃal para la seÃal <em>clicked</em> en "
-"el botÃn mencionado anteriormente. AÃada este cÃdigo antes del mÃtodo "
-"<code>create_window()</code>."
+#~ 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 grow larger when the new widget is added (<code>expand</code>); "
+#~ "whether the new widget should take up all of the extra space created if "
+#~ "the <code>Gtk.Box</code> gets bigger (<code>fill</code>); and how much "
+#~ "space there should be, in pixels, between the widget and its neighbors "
+#~ "inside the <code>Gtk.Box</code> (<code>padding</code>)."
+#~ msgstr ""
+#~ "<code>pack_start</code> toma 4 argumentos: el widget que aÃadir a la "
+#~ "GtkBox (<code>child</code>); si la <code>Gtk.Box</code> debe crecer "
+#~ "cuando aÃada el widget nuevo (<code>expand</code>); si el widget nuevo "
+#~ "debe tomar todo el espacio adicional creado si la <code>Gtk.Box</code> "
+#~ "crece (<code>fill</code>); y cuÃnto espacio debe haber, en pÃxeles, entre "
+#~ "el widget y sus vecinos dentro de la <code>Gtk.Box</code> (<code>padding</"
+#~ "code>)."
 
-#: C/image-viewer.c.page:186(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 "
-"<em>clicked</em> doesn't have any. Next is the <code>user_data</code> "
-"argument which is a pointer to the data we passed when connecting the "
-"signal. In this case it is our <code>GtkImage</code> object."
-msgstr ""
-"El primer argumento de la seÃal es siempre el widget que envÃa la seÃal. "
-"Algunas veces se aÃaden otros argumentos relativos a la seÃal, pero "
-"<em>clicked</em> no tiene ninguno. Lo siguiente es el argumento "
-"<code>user_data</code>, que es un puntero a los datos que se han pasado al "
-"conectar la seÃal. En este caso, es el objeto <code>GtkImage</code>."
+#~ 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-coordinate location in the window; rather, they are "
+#~ "positioned relative to one another. This makes handling window resizing "
+#~ "much easier, and widgets should automatically take a sensible size in "
+#~ "most situations."
+#~ msgstr ""
+#~ "Los contenedores (y los widgets) de GTK+ se expanden dinÃmicamente, si "
+#~ "les deja, para rellenar el espacio disponible. No posicione widgets "
+#~ "indicando unas coordenadas x-y precisas en la ventana; en lugar de eso, "
+#~ "se posicionan relativos a otro. Esto hace que el manejo de la redimensiÃn "
+#~ "de las ventanas sea mÃs fÃcil, y que los widgets tengan un tamaÃo "
+#~ "sensible automÃtica en la mayorÃa de las situaciones."
 
-#: C/image-viewer.c.page:192(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 "
-"the title of the dialog, the parent window of the dialog and several options "
-"like the number of buttons and their corresponding values."
-msgstr ""
-"La siguiente lÃnea interesante es en la que se crea el diÃlogo para elegir "
-"el archivo usando <code>gtk_file_chooser_dialog_new</code>. La funciÃn toma "
-"el tÃtulo del diÃlogo, la ventana padre del diÃlogo y varias opciones como "
-"el nÃmero de botones y sus valores correspondientes."
+#~ 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</em> of the <code>Gtk.Box</code>. This allows you to treat all "
+#~ "of the children of a widget as a group; for example, you could hide the "
+#~ "<code>Gtk.Box</code>, which would also hide all of its children at the "
+#~ "same time."
+#~ msgstr ""
+#~ "TambiÃn tenga en cuenta cÃmo se organizan los widgets de manera "
+#~ "jerÃrquica. Una vez empaquetados en la <code>Gtk.Box</code>, la <code>Gtk."
+#~ "Image</code> se considera un <em>hijo</em> de la <code>Gtk.Box</code>. "
+#~ "Esto le permite tratar a todos los hijos de un widget como un grupo; por "
+#~ "ejemplo, puede ocultar la <code>Gtk.Box</code>, lo que harÃa que tambiÃn "
+#~ "se ocultaran todos sus hijos a la vez."
+
+#~ msgid "Now insert these two lines, below the two you just added:"
+#~ msgstr ""
+#~ "Ahora inserte estas dos lÃneas, justo debajo de las dos que acaba de "
+#~ "aÃadir."
 
-#: C/image-viewer.c.page:199(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 "
-"add all kinds of files supported by <code>GdkPixbuf</code> (which includes "
-"most image formats like PNG and JPEG) to the filter. Finally, we set this "
-"filter to be the <gui>Open</gui> dialog's filter."
-msgstr ""
-"Las dos liÌneas siguientes restringen el diaÌlogo <gui>Abrir</gui> para que "
-"soÌlo muestre archivos que se puedan abrir con ÂGtkImageÂ. Primero se crea un "
-"objeto de filtro; luego se anÌaden los tipos de archivos soportados por el "
-"<code>GdkPixbuf</code> (que incluye la mayoriÌa de los formatos de imagen "
-"como PNG y JPEG) al filtro. Por uÌltimo, se establece que este filtro sea el "
-"filtro del diaÌlogo <gui>Abrir</gui>."
-
-#: C/image-viewer.c.page:202(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, "
-"<code>gtk_dialog_run</code> will return the value <code>GTK_RESPONSE_ACCEPT</"
-"code> (it would return <code>GTK_RESPONSE_CANCEL</code> if the user clicked "
-"<gui>Cancel</gui>). The <code>switch</code> statement tests for this."
-msgstr ""
-"<code>gtk_dialog_run</code> muestra el diÃlogo <gui>Abrir</gui>. El diÃlogo "
-"esperarà a que el usuario elija una imagen; cuando lo haga, "
-"<code>gtk_dialog_run</code> devolverà el valor <code>GTK_RESPONSE_ACCEPT</"
-"code> (devolverÃa <code>GTK_RESPONSE_CANCEL</code> si el usuario pulsara "
-"<gui>Cancelar</gui>). La sentencia <code>switch</code> comprueba esto."
+#~ 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 setting the <code>expand</code> argument (the second one) to "
+#~ "<code>False</code> here, whereas it was set to <code>True</code> for the "
+#~ "<code>Gtk.Image</code>. This will cause the image to take up all "
+#~ "available space and the button to take only the space it needs. When you "
+#~ "maximize the window, the button size will remain the same, but the image "
+#~ "size will increase, taking up all of the rest of the window."
+#~ msgstr ""
+#~ "Estas liÌneas son similares a las dos primeras, pero esta vez crean un "
+#~ "<code>Gtk.Button</code> y lo anÌaden a la <code>box</code>. Tenga en "
+#~ "cuenta que se estaÌ estableciendo el argumento <code>expand</code> (el "
+#~ "segundo) a <code>False</code>, mientras que para la <code>Gtk.Image</"
+#~ "code> se establecià a <code>True</code>. Esto haraÌ que la imagen tome "
+#~ "todo el espacio disponible y que el botoÌn tome soÌlo el espacio que "
+#~ "necesite. Cuando se maximiza la ventana, el tamanÌo del botoÌn seraÌ el "
+#~ "mismo, pero el tamanÌo de la imagen aumentaraÌ junto con el resto de la "
+#~ "ventana."
 
-#: C/image-viewer.c.page:204(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 "
-"selected by the user. The GtkImage will then load and display the chosen "
-"image."
-msgstr ""
-"Asumiendo que el usuario pulsà <gui>Abrir</gui>, la siguiente lÃnea "
-"establece la propiedad <code>file</code> de la ÂGtkImage con el nombre del "
-"archivo de imagen seleccionado por el usuario. La ÂGtkImage cargarà y "
-"mostrarà la imagen elegida."
+#~ msgid ""
+#~ "Loading the image: Connecting to the button's <code>clicked</code> signal"
+#~ msgstr ""
+#~ "Cargar la imagen: conectar con la seÃal <code>clicked</code> del botÃn"
 
-#: C/image-viewer.c.page:207(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."
-msgstr ""
-"Al final de la lÃnea de este mÃtodo, se destruye el diÃlogo <gui>Abrir</gui> "
-"porque ya no se necesita mÃs. El diÃlogo se oculta automÃticamente al "
-"destruirlo."
+#~ 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 should be loaded and shown in the image widget."
+#~ msgstr ""
+#~ "Cuando el usuario pulse sobre el botÃn <gui>Abrir imagen...</gui>, "
+#~ "deberÃa aparece un diÃlogo en el que el usuario pueda elegir una imagen. "
+#~ "una vez elegida, la imagen deberÃa cargarse y mostrarse en el widget de "
+#~ "imagen."
 
-#: C/image-viewer.c.page:216(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> "
-"and enjoy!"
-msgstr ""
-"Si todavÃa no lo ha hecho, elija la aplicaciÃn <file>Debug/src/visor-"
-"imagenes</file> en el diÃlogo que aparece. Finalmente, pulse <gui>Ejecutar</"
-"gui> y disfrute."
+#~ 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>. Put this code immediately after the <code>button = Gtk.Button()</"
+#~ "code> line where the button was created:"
+#~ msgstr ""
+#~ "El primer paso es conectar la seÃal <code>clicked</code> del botÃn a una "
+#~ "funciÃn manejadora de la seÃal, llamada <code>on_open_clicked</code>. "
+#~ "Ponga este cÃdigo inmediatamente despuÃs de la lÃnea <code>button = Gtk."
+#~ "Button()</code> en la que se creà el botÃn:"
 
-#: C/image-viewer.c.page:221(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>."
-msgstr ""
-"Si tiene problemas con este tutorial, compare su coÌdigo con este <link href="
-"\"image-viewer/image-viewer.c\">coÌdigo de referencia</link>."
+#~ msgid ""
+#~ "This will connect the <code>clicked</code> signal to "
+#~ "<code>on_open_clicked</code> method that we will define below."
+#~ msgstr ""
+#~ "Esto conectarà la seÃal <code>clicked</code> al mÃtodo "
+#~ "<code>on_open_clicked</code> que se definirà mÃs adelante."
 
-#. When image changes, this message will be marked fuzzy or untranslated for you.
-#. It doesn't matter what you translate it to: it's not used at all.
-#: C/helloWorld.js.page:31(None)
-msgid "@@image: 'media/helloWorldJs.png'; md5=4c88a27211dfd1b33e504c9f78602f2d"
-msgstr ""
-"@@image: 'media/helloWorldJs.png'; md5=4c88a27211dfd1b33e504c9f78602f2d"
+#~ msgid "Loading the image: Writing the signal's callback"
+#~ msgstr "Cargar la imagen: escribir la llamada de retorno de la seÃal"
 
-#: C/helloWorld.js.page:14(desc)
-msgid "Tutorial for a hello world application"
-msgstr "Tutorial para una aplicaciÃn ÂHola mundoÂ"
+#~ 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 "
+#~ "<code>__init__</code> method:"
+#~ msgstr ""
+#~ "Ahora se puede crear el mÃtodo <code>on_open_clicked</code>. Inserte lo "
+#~ "siguente dentro del bloque de clase <code>GUI</code>, despuÃs del mÃtodo "
+#~ "<code>__init__</code>:"
 
-#: C/helloWorld.js.page:16(title)
-msgid "Hello World"
-msgstr "Hola mundo"
+#~ msgid ""
+#~ "This is a bit more complicated than anything we've attempted so far, so "
+#~ "let's break it down:"
+#~ msgstr ""
+#~ "Esto es un poco mÃs complicado que todo lo que se ha intentado hasta "
+#~ "ahora, asà que se puede desglosar:"
 
-#: C/helloWorld.js.page:19(p)
-msgid ""
-"In this tutorial we'll construct a small application, Hello World, using "
-"JavaScript and GTK+. To do and run all the code examples yourself, you need "
-"an editor to write code in, Terminal and GNOME 3 or higher installed into "
-"your computer. In this tutorial we'll go through the following parts:"
-msgstr ""
-"En este tutorial se construirà una pequeÃa aplicaciÃn, ÂHola mundoÂ, usando "
-"JavaScript y GTK+. Para escribirla y poder ejecutar el cÃdigo, necesitarà un "
-"editor en el que escribir el cÃdigo, una terminal y GNOME 3 o superior "
-"instalado en su equipo."
+#~ 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 title of the dialog; the action (type) of the dialog (it's an \"open"
+#~ "\" dialog, but we could have used <code>SAVE</code> if the intention was "
+#~ "to save a file; and <code>transient_for</code>, which sets the parent "
+#~ "window of the dialog."
+#~ msgstr ""
+#~ "La lÃnea que empieza por <code>dialog</code> crea un diÃlogo <gui>Abrir</"
+#~ "gui>, que el usuario puede utilizar para abrir archivos. Se establecen "
+#~ "tres propiedades: el tÃtulo del diÃlogo; la acciÃn (tipo) del diÃlogo (es "
+#~ "un diÃlogo ÂopenÂ, pero se podrÃa haber usado <code>SAVE</code> si se "
+#~ "quisiese guardar un archivo; y <code>transient_for</code>, que establecer "
+#~ "la ventana padre del diÃlogo."
 
-#: C/helloWorld.js.page:24(link) C/helloWorld.js.page:65(title)
-msgid "Label for the window"
-msgstr "Etiqueta para la ventana"
+#~ 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 (integer) value that is returned when the button is pressed: 0 for "
+#~ "<gui>Cancel</gui> and 1 for <gui>Open</gui>."
+#~ msgstr ""
+#~ "Las dos siguientes lÃneas aÃaden los botones <gui>Cancelar</gui> y "
+#~ "<gui>Abrir</gui> al diÃlogo. el segundo argumento del mÃtodo "
+#~ "<code>add_button</code> es el valor (entero) que se devuelve cuando se "
+#~ "pulsa el botÃn: 0 para <gui>Cancelar</gui> y 1 para <gui>Abrir</gui>."
 
-#: C/helloWorld.js.page:25(link) C/helloWorld.js.page:73(title)
-msgid "helloWorld.js"
-msgstr "helloWorld.js"
+#~ 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 is that the button labels will already be translated into the "
+#~ "user's language."
+#~ msgstr ""
+#~ "Note que se està usando nombres de botones del <em>almacÃn</em> de GTK, "
+#~ "en lugar de escribir manualmente ÂCancelar o ÂAbrirÂ. La ventaja de usar "
+#~ "nombres del almacÃn es que las etiquetas de los botones ya estarÃn "
+#~ "traducidas en el idioma del usuario."
 
-#: C/helloWorld.js.page:26(link) C/helloWorld.js.page:97(title)
-#: C/guitar.js.page:30(link) C/guitar.js.page:227(title)
-msgid "Running the application form Terminal"
-msgstr "Ejecutar la aplicaciÃn desde la terminal"
+#~ 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 our case, we are using the <gui>Open</gui> button as default (which "
+#~ "has the value 1)."
+#~ msgstr ""
+#~ "<code>set_default_response</code> determina quà botÃn se activarà si el "
+#~ "usuario hace una doble pulsaciÃn o presiona <key>Intro</key>. En este "
+#~ "caso, se usa el botÃn <gui>Abrir</gui> como predeterminado (que tiene el "
+#~ "valor Â1Â)."
 
-#: C/helloWorld.js.page:36(p) C/guitar.js.page:48(p)
-msgid ""
-"This line tells how to run the script. It needs to be the first line of the "
-"code and it needs to be executable. To get the execution rights go to "
-"terminal and run in right folder: chmod +x scriptname. Or you can use the "
-"graphical filemanager. Just go to the right folder where your code is, right "
-"click you code file, choose properties, click the permissions tab and check "
-"the box for allow executing file as a program"
-msgstr ""
-"Esta lÃnea indica cÃmo ejecutar el script. Debe ser la primera lÃnea del "
-"cÃdigo y debe ser ejecutable. Para obtener permisos de ejecuciÃn vaya a la "
-"terminal y ejecute lo siguiente en la carpeta adecuada: chmod +x "
-"nombrescript. TambiÃn puede usar el gestor de archivo. Simplemente vaya a la "
-"carpeta donde està el cÃdigo, pulse con el botÃn derecho sobre el archivo de "
-"cÃdigo y elija ÂPropiedadesÂ, pulse en la pestaÃa ÂPermisos y marque la "
-"casilla para permitir ejecutar el archivo como un programa."
-
-#: C/helloWorld.js.page:44(p)
-msgid ""
-"In order to have a working program we need to import a GObject Introspection "
-"-library to our use. For working UI, we need Gtk. Gtk is imported in the "
-"beginning so we have it in our use everywhere."
-msgstr ""
-"Para que el programa funcione se debe importar una biblioteca de "
-"introspecciÃn de GObject. Para que funcione la IU se necesita GTK+, que se "
-"importa al inicio, por lo que està en uso en todos los sitios."
+#~ msgid ""
+#~ "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 "
+#~ "created first; we then add all kinds of files supported by <code>Gdk."
+#~ "Pixbuf</code> (which includes most image formats like PNG and JPEG) to "
+#~ "the filter. Finally, we set this filter to be the <gui>Open</gui> "
+#~ "dialog's filter."
+#~ msgstr ""
+#~ "Las tres lÃneas siguientes restringen el diÃlogo <gui>Abrir</gui> para "
+#~ "que sÃlo muestre archivos que se puedan abrir con <code>Gtk.Image</code>. "
+#~ "Primero se crea un objeto de filtro; luego se aÃaden los tipos de "
+#~ "archivos soportados por el <code>Gdk.Pixbuf</code> (que incluye la "
+#~ "mayorÃa de los formatos de imagen como PNG y JPEG) al filtro. Por Ãltimo, "
+#~ "se establece que este filtro sea el filtro del diÃlogo <gui>Abrir</gui>."
 
-#: C/helloWorld.js.page:61(p)
-msgid ""
-"After importing Gtk, we need to initialize it. After initializing Gtk we can "
-"start building our first window. We do this by creating a variable mywindow "
-"and assign it a new Gtk.Window of type TOPLEVEL."
-msgstr ""
-"DespuÃs de importar GTK+, se debe inicializar. DespuÃs de inicializar GTK+ "
-"se puede empezar a construir la primera ventana. Esto se hace creando una "
-"variable llamada Âmywindow y asignÃndole una  ÂGtk.Window de tipo ÂTOPLEVELÂ."
+#~ 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> will return the value <output>1</output> (it would return "
+#~ "<output>0</output> if the user clicked <gui>Cancel</gui>). The <code>if</"
+#~ "code> statement tests for this."
+#~ msgstr ""
+#~ "<code>dialog.run</code> muestra el diÃlogo <gui>Abrir</gui>. El diÃlogo "
+#~ "esperarà a que el usuario elija una imagen; cuando lo haga, <code>dialog."
+#~ "run</code> devolverà el valor <output>1</output> (devolverÃa <output>0</"
+#~ "output> si el usuario pulsara <gui>Cancelar</gui>). La sentencia "
+#~ "<code>if</code> comprueba esto."
 
-#: C/helloWorld.js.page:61(p)
-msgid ""
-"After setting up our first window we'll give the window a property called "
-"title. Title can be any string you want it to be, to be on the safe side it "
-"is good to stick to UTF-8 encoding."
-msgstr ""
-"DespuÃs de configurar la primera ventana, se le asignarà una propiedad "
-"llamada ÂtitleÂ. El tÃtulo puede ser la cadena que quiera pero, para estar "
-"seguro, es conveniente que tenga una codificaciÃn UTF-8."
+#~ 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 the image selected by the user. The <code>Gtk.Image</code> will then "
+#~ "load and display the chosen image."
+#~ msgstr ""
+#~ "Asumiendo que el usuario pulsà <gui>Abrir</gui>, la siguiente lÃnea "
+#~ "establece la propiedad <code>file</code> de la <code>Gtk.Image</code> al "
+#~ "nombre del archivo de imagen seleccionada por el usuario. La <code>Gtk."
+#~ "Image</code> cargarà y mostrarà la imagen elegida."
 
-#: C/helloWorld.js.page:61(p)
-msgid ""
-"The next major improvement to our application is connecting the "
-"automatically with the window generated close button with a functionality. "
-"The close button has only one reasonable function and that is to close the "
-"window. The connecting happens with the method connect. The signal the "
-"window is listening to is \"destroy\", so when the close button is pressed "
-"it gives out the signal \"destroy\". Just listening the signal is not "
-"enough, it needs to launch an action. in this case we want it to close the "
-"window, so quit he main loop should do the trick. So after \"destroy\", "
-"we'll ad function(){Gtk.main_quit()} to do the actual closing."
-msgstr ""
+#~ 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 of Python and Gtk) in not much time at all!"
+#~ msgstr ""
+#~ "Todo el cÃdigo que necesita debe estar en su lugar, asà que trate de "
+#~ "ejecutar el cÃdigo. Esto deberÃa ser todo; un visor de imÃgenes "
+#~ "completamente funcional (y un completo tour sobre Python y GTK+) en poco "
+#~ "tiempo."
 
-#: C/helloWorld.js.page:61(p)
-msgid ""
-"Now we have a window that has a title and a functionality of closing the "
-"window. If we would run th application at this stage it wouldnt show "
-"anything, so we need to tell our window to show itself with the method show"
-"() and we need to also run the whole application in order for anything to "
-"happen."
-msgstr ""
+#~ msgid ""
+#~ "If you run into problems with the tutorial, compare your code with this "
+#~ "<link href=\"image-viewer/image-viewer.py\">reference code</link>."
+#~ msgstr ""
+#~ "Si tiene problemas con este tutorial, compare su coÌdigo con este <link "
+#~ "href=\"image-viewer/image-viewer.py\">coÌdigo de referencia</link>."
 
-#: C/helloWorld.js.page:70(p)
-msgid ""
-"Now all the hard parts are done. The only thing we need now is to put "
-"something inside our window. A label telling what this is about is the "
-"easiest thing to do, so we create a new variable called label and assign it "
-"a new Gtk.Lablel. With the label we're using a different method of giving it "
-"properties, we are giving the properties inside curly braces {}. The label "
-"has to be added to the window in order for the method show() applying also "
-"to it. For the future it is good to know that Gtk.Window can only contain "
-"one widget at the time. To be able to construct more elaborate programs you "
-"need to create a holder widget (Gtk.Box, Gtk.Grid, Gtk.Application and so "
-"on) of some kind under the window and then adding all the other widgets to "
-"that."
-msgstr ""
+#~ msgid ""
+#~ "A little bit more than a simple \"Hello world\" application - write an "
+#~ "image viewer in GTK. Includes an introduction to the JavaScript language."
+#~ msgstr ""
+#~ "Algo mÃs que una sencilla aplicaciÃn ÂHola mundoÂ; escribir un visor de "
+#~ "imÃgenes en GTK. Incluye una introducciÃn al lenguaje JavaScript."
 
-#: C/helloWorld.js.page:74(p)
-msgid "This is what the whole program looks like."
-msgstr "El programa completo se parece a esto."
+#~ msgid "Write a basic GTK user interface in JavaScript"
+#~ msgstr "Escribir una interfaz GTK+ de usuario bÃsica usando JavaScript"
 
-#: C/helloWorld.js.page:98(p) C/guitar.js.page:228(p)
-msgid ""
-"To run this application open Terminal, go to the folder where your "
-"application is stored and then run"
-msgstr ""
-"Para ejecutar esta aplicaciÃn ,abra una terminal, vaya a la carpeta donde "
-"està la aplicaciÃn y ejecute"
+#~ msgid "An installed copy of the <em>gjs</em> interpreter"
+#~ msgstr "Una copia instalada del intÃrprete <em>gjs</em>"
 
-#: C/helloWorld.js.page:98(input)
-msgid "GJS_PATH=`pwd` gjs helloWorld.js"
-msgstr "GJS_PATH=`pwd` gjs helloWorld.js"
+#~ msgid "Basic knowledge of any object-orientated programming language"
+#~ msgstr ""
+#~ "Conocimiento bÃsico de cualquier lenguaje de programaciÃn orientado a "
+#~ "objetos"
 
-#. When image changes, this message will be marked fuzzy or untranslated for you.
-#. It doesn't matter what you translate it to: it's not used at all.
-#: C/guitar-tuner.vala.page:41(None) C/guitar-tuner.py.page:37(None)
-#: C/guitar-tuner.cpp.page:37(None) C/guitar-tuner.c.page:37(None)
-msgid "@@image: 'media/guitar-tuner.png'; md5=f0b7ed4cdc2729d2d0f4d38b829db61e"
-msgstr ""
-"@@image: 'media/guitar-tuner.png'; md5=f0b7ed4cdc2729d2d0f4d38b829db61e"
+#~ 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 "
+#~ "<file>image-viewer</file> as project name and directory."
+#~ msgstr ""
+#~ "Elija <gui>Javascript genÃrico</gui> de la pestaÃa <gui>JS</gui>, pulse "
+#~ "<gui>Adelante</gui> y rellene los detalles en las siguientes pÃginas. Use "
+#~ "<file>visor-imÃgenes</file> como nombre de proyecto y de carpeta."
 
-#. When image changes, this message will be marked fuzzy or untranslated for you.
-#. It doesn't matter what you translate it to: it's not used at all.
-#: C/guitar-tuner.vala.page:94(None) C/guitar-tuner.py.page:88(None)
-#: C/guitar-tuner.cpp.page:88(None) C/guitar-tuner.c.page:92(None)
-msgid ""
-"@@image: 'media/guitar-tuner-glade.png'; md5=f6606525443ab2160f53a87a454364d0"
-msgstr ""
-"@@image: 'media/guitar-tuner-glade.png'; md5=f6606525443ab2160f53a87a454364d0"
+#~ 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> "
+#~ "tabs. It contains very basic example code."
+#~ msgstr ""
+#~ "Pulse <gui>Aplicar</gui> y se crearaÌ el proyecto. Abra <file>src/main.js</"
+#~ "file> desde las pestanÌas <gui>Proyecto</gui> o <gui>Archivo</gui>. "
+#~ "Contiene un ejemplo de cÃdigo muy bÃsico:"
 
-#. When image changes, this message will be marked fuzzy or untranslated for you.
-#. It doesn't matter what you translate it to: it's not used at all.
-#: C/guitar-tuner.vala.page:128(None) C/guitar-tuner.py.page:131(None)
-#: C/guitar.js.page:40(None) C/guitar-tuner.cpp.page:117(None)
-#: C/guitar-tuner.c.page:137(None)
-msgid ""
-"@@image: 'media/guitar-tuner-pipeline.png'; "
-"md5=5adc952909d92af5dae6954781b4ad5f"
-msgstr ""
-"@@image: 'media/guitar-tuner-pipeline.png'; "
-"md5=5adc952909d92af5dae6954781b4ad5f"
+#~ msgid "JavaScript basics: Hello World"
+#~ msgstr "JavaScript bÃsico: hola mundo"
 
-#: C/guitar-tuner.vala.page:8(desc)
-msgid ""
-"Use <link href=\"http://developer.gnome.org/platform-overview/stable/gtk";
-"\">Gtk+</link> and <link href=\"http://developer.gnome.org/platform-overview/";
-"stable/gstreamer\">GStreamer</link> to build a simple guitar tuner "
-"application for GNOME. Shows off how to use the interface designer."
-msgstr ""
-"Usar <link href=\"http://developer.gnome.org/platform-overview/stable/gtk";
-"\">GTK+</link> y <link href=\"http://developer.gnome.org/platform-overview/";
-"stable/gstreamer\">GStreamer</link> para construir un sencillo afinador de "
-"guitarra para GNOME. Muestra cÃmo usar el diseÃador de interfaces."
+#~ 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 programming language should be the Hello World program which can "
+#~ "already be found in <file>main.js</file>:"
+#~ msgstr ""
+#~ "Antes de empezar a escribir el visor de imÃgenes, averigÃe algo mÃs sobre "
+#~ "cÃmo se usa JavaScript en GNOME. Por supuesto que su primer contacto con "
+#~ "un lenguaje de programaciÃn debe ser el programa ÂHola mundoÂ, que se "
+#~ "puede encontrar en el archivo <file>main.js</file>:"
 
-#: C/guitar-tuner.vala.page:25(title) C/guitar.js.page:17(title)
-msgid "2 Guitar Tuner"
-msgstr "2. Afinador de guitarra"
+#~ msgid "print (\"Hello world!\");"
+#~ msgstr "print (\"ÂHola mundo!\");"
 
-#: C/guitar-tuner.vala.page:28(p)
-msgid ""
-"In this tutorial you will create an application which plays tones that you "
-"can use to tune a guitar. You will learn how to:"
-msgstr ""
-"En este tutorial se va a hacer un programa que reproduce tonos que puede "
-"usar para afinar su guitarra. Aprenderà a:"
+#~ 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 "
+#~ "argument <code>\"Hello world!\"</code>, which will be printed on the "
+#~ "screen. Note that each line of code ends with a semicolon."
+#~ msgstr ""
+#~ "Esto deberÃa resultarle natural si està familiarizado con la mayorÃa del "
+#~ "resto de lenguajes de programaciÃn. La funciÃn <code>print</code> se "
+#~ "llama con el argumento <code>\"ÂHola mundo!\"</code>, que se mostrarà en "
+#~ "la pantalla. Tenga en cuenta que cada lÃnea de cÃdigo termina en Â;Â."
 
-#: C/guitar-tuner.vala.page:30(p)
-msgid ""
-"Set up a basic project using the <link xref=\"getting-ready\">Anjuta IDE</"
-"link>."
-msgstr ""
-"Configurar un proyecto bÃsico usando el <link xref=\"getting-ready\">EID "
-"Anjuta</link>."
+#~ msgid "Classes in JavaScript"
+#~ msgstr "Clases en JavaScript"
 
-#: C/guitar-tuner.vala.page:31(p)
-msgid "Create a simple GUI with <app>Anjuta</app>'s UI designer."
-msgstr "Crear una IGU sencilla con el diseÃador de IU de <app>Anjuta</app>."
+#~ msgid "This is the standard way to define a class in JavaScript:"
+#~ msgstr "Esta es la manera estÃndar de definir una clase en JavaScript:"
 
-#: C/guitar-tuner.vala.page:32(p)
-msgid ""
-"Use the <link href=\"http://developer.gnome.org/platform-overview/stable/";
-"gstreamer\">GStreamer</link> library to play sounds."
-msgstr ""
-"Usar la biblioteca <link href=\"http://developer.gnome.org/platform-overview/";
-"stable/gstreamer\">GStreamer</link> para reproducir sonidos."
+#~ msgid ""
+#~ "This defines a class called <code>MyClass</code>. Let's go through each "
+#~ "part of the class definition:"
+#~ msgstr ""
+#~ "Esto define una clase llamada <code>MyClass</code>. Vea cada una de las "
+#~ "partes de la definiciÃn de la clase:"
 
-#: C/guitar-tuner.vala.page:44(title)
-msgid "Create a project in <app>Anjuta</app>"
-msgstr "Crear un proyecto en <app>Anjuta</app>"
+#~ 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 the <code>this</code> object; here, the constructor calls the "
+#~ "class's <code>_init</code> method."
+#~ msgstr ""
+#~ "<code>function MyClass</code> es el constructor de la clase; su nombre "
+#~ "debe coincidir con el de la clase. Puede acceder a cualquier miembro de "
+#~ "la clase usando el objeto <code>this</code>; aquÃ, el constructor llama "
+#~ "al mÃtodo <code>_init</code> de la clase."
 
-#: C/guitar-tuner.vala.page:51(p)
-msgid ""
-"Click on the <gui>Vala</gui> tab and select <gui>Gtk+ (Simple)</gui>. Click "
-"<gui>Continue</gui>, and fill out your details on the next few pages. Use "
-"<file>guitar-tuner</file> as project name and directory."
-msgstr ""
-"Pulse en la pestaÃa <gui>Vala</gui> y seleccione <gui>GTK+ (simple)</gui>. "
-"Pulse <gui>Continuar</gui>, y rellene los detalles en las siguientes "
-"pÃginas. Use <file>afinador-guitarra</file> como nombre del proyecto y de la "
-"carpeta."
+#~ 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 "
+#~ "(functions) and fields (variables); there are three methods and two "
+#~ "fields in this example."
+#~ msgstr ""
+#~ "El bloque <code>MyClass.prototype</code> es donde define la "
+#~ "<em>estructura</em> de la clase. Cada clase se compone de mÃtodos "
+#~ "(funciones) y campos (variables); en este ejemplo, hay tres mÃtodos y dos "
+#~ "campos."
 
-#: C/guitar-tuner.vala.page:54(p)
-msgid ""
-"Make sure that <gui>Configure external packages</gui> is switched <gui>ON</"
-"gui>. On the next page, select <link href=\"http://valadoc.org/gstreamer-";
-"0.10/index.htm\"><em>gstreamer-0.10</em></link> from the list to include the "
-"GStreamer library in your project. Click <gui>Continue</gui>"
-msgstr ""
-"AsegÃrese de que <gui>Configurar paquetes externos</gui> està <gui>activada</"
-"gui>. En la siguiente pÃgina, seleccione <link href=\"http://valadoc.org/";
-"gstreamer-0.10/index.htm\"><em>gstreamer-0.10</em></link> de la lista para "
-"incluir la biblioteca GStreamer en su proyecto. Pulse <gui>Continuar</gui>"
+#~ msgid ""
+#~ "The first method defined here is called <code>_init</code>, and we "
+#~ "specify that it is a function with no arguments:"
+#~ msgstr ""
+#~ "El primer mÃtodo definido se llama <code>_init</code>, y se especifica "
+#~ "que es una funciÃn sin argumentos:"
 
-#: C/guitar-tuner.vala.page:58(p)
-msgid ""
-"Click <gui>Apply</gui> and the project will be created for you. From the "
-"<gui>Project</gui> or <gui>Files</gui> tab, open <file>src/guitar_tuner."
-"vala</file> by double-clicking on it. You should see some code which starts "
-"with the lines:"
-msgstr ""
-"Pulse <gui>Aplicar</gui> y se crearà el proyecto. Abra <file>src/"
-"guitar_tuner.vala</file> desde las pestaÃas <gui>Proyecto</gui> o "
-"<gui>Archivo</gui> pulsando dos veces sobre Ãl. DeberÃa ver algo de cÃdigo "
-"que comience con las lÃneas:"
+#~ msgid "_init: function ()"
+#~ msgstr "_init: function ()"
 
-#: C/guitar-tuner.vala.page:68(p)
-msgid ""
-"The code loads an (empty) window from the user interface description file "
-"and displays it. More details are given below; you may choose to skip this "
-"list if you understand the basics:"
-msgstr ""
-"El cÃdigo carga una ventana (vacÃa) desde el archivo de descripciÃn de "
-"interfaz de usuario y la muestra. Se ofrecen mÃs detalles a continuaciÃn; "
-"omita esta lista si entiende los conceptos bÃsicos:"
+#~ 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 string and the second is set to an integer (10). The function "
+#~ "doesn't return any value."
+#~ msgstr ""
+#~ "Se escribe la funciÃn entre corchetes. Aquà se definen dos campos, "
+#~ "<code>propertyA</code> y <code>propertyB</code>. La primera se establece "
+#~ "como una cadena, y la segunda se establece como un entero (10). La "
+#~ "funciÃn no retorna ningÃn valor."
 
-#: C/guitar-tuner.vala.page:75(p)
-msgid ""
-"The constructor of the <code>Main</code> class creates a new window by "
-"opening a GtkBuilder file (<file>src/guitar-tuner.ui</file>, defined a few "
-"lines above), connecting its signals and then displaying it in a window. "
-"This GtkBuilder file contains a description of a user interface and all of "
-"its elements. You can use Anjuta's editor to design GtkBuilder user "
-"interfaces."
-msgstr ""
-"El constructor de la clase <code>Main</code> crea una ventana nueva abriendo "
-"un archivo de GtkBuilder (<file>src/guitar-tuner.ui</file>, definido unas "
-"pocas lÃneas mÃs arriba), conectando sus seÃales y mostrÃndolo en una "
-"ventana. El archivo de GtkBuilder contiene una descripciÃn de una interfaz "
-"de usuario y de todos sus elementos. Puede usar el editor Anjuta para "
-"diseÃar interfaces de usuario con GtkBuilder."
-
-#: C/guitar-tuner.vala.page:77(p)
-msgid ""
-"Connecting signals is how you define what happens when you push a button, or "
-"when some other event happens. Here, the <code>on_destroy</code> function is "
-"called (and quits the app) when you close the window."
-msgstr ""
-"Conectar seÃales es como se define lo que pasa cuando pulsa un botÃn, o "
-"cuando ocurre algÃn otro evento. AquÃ, se llama a la funciÃn "
-"<code>on_destroy</code> (y se sale de la aplicaciÃn) cuando cierra la "
-"ventana."
+#~ 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</code>, and prints the fields <code>propertyA</code> "
+#~ "and <code>propertyB</code>."
+#~ msgstr ""
+#~ "El siguiente mÃtodo se llama <code>aMethod</code> y tiene dos argumentos "
+#~ "que imprime cuando se invoca. El Ãltimo mÃtodo es <code>dumpProperties</"
+#~ "code>, que imprime los campos <code>propertyA</code> y <code>propertyB</"
+#~ "code>."
 
-#: C/guitar-tuner.vala.page:81(p)
-msgid ""
-"The static <code>main</code> function is run by default when you start a "
-"Vala application. It calls a few functions which create the Main class, set "
-"up and then run the application. The <code>Gtk.main</code> function starts "
-"the GTK main loop, which runs the user interface and starts listening for "
-"events (like clicks and key presses)."
-msgstr ""
-"La funciÃn estÃtica <code>main</code> se ejecuta de manera predeterminada "
-"cuando inicia una aplicaciÃn en Vala. Llama a algunas funciones que crean la "
-"clase ÂMain y configuran y ejecutan la aplicaciÃn. La funciÃn <code>Gtk."
-"main</code> inicia el bucle principal de GTK+, que ejecuta la interfaz de "
-"usuario y empieza a escuchar eventos (como pulsaciones del ratÃn y del "
-"teclado)."
-
-#: C/guitar-tuner.vala.page:85(p)
-msgid ""
-"This code is ready to be used, so you can compile it by clicking "
-"<guiseq><gui>Build</gui><gui>Build Project</gui></guiseq> (or press "
-"<keyseq><key>Shift</key><key>F7</key></keyseq>). When you do this, a dialog "
-"will appear. Change the <gui>Configuration</gui> to <gui>Default</gui> and "
-"then click <gui>Execute</gui> to configure the build directory. You only "
-"need to do this once, for the first build."
-msgstr ""
-"Este cÃdigo està listo para usarse, por lo que puede compilarlo pulsando "
-"<guiseq><gui>Construir</gui><gui>Construir proyecto</gui></guiseq> (o "
-"pulsando <keyseq><key>MayÃs</key><key>F7</key></keyseq>). Cuando lo haga, "
-"aparecerà un diÃlogo. Cambie la <gui>ConfiguraciÃn</gui> a "
-"<gui>Predeterminada</gui> y pulse <gui>Ejecutar</gui> para configurar la "
-"carpeta de construcciÃn. SÃlo tendrà que hacer esto una vez, para la primera "
-"construcciÃn."
-
-#: C/guitar-tuner.vala.page:89(title) C/guitar-tuner.py.page:83(title)
-#: C/guitar-tuner.cpp.page:83(title) C/guitar-tuner.c.page:87(title)
-msgid "Create the user interface"
-msgstr "Crear la interfaz de usuario"
-
-#: C/guitar-tuner.vala.page:90(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 "
-"the user interface, open <file>src/guitar_tuner.ui</file> by double-clicking "
-"on it in the <gui>Project</gui> or <gui>Files</gui> section. This will "
-"switch to the interface designer. The design window is in the center; "
-"<gui>Widgets</gui> and the widget properties are on the right, and the "
-"<gui>Palette</gui> of available widgets is on the left."
-msgstr ""
-"El archivo de GtkBuilder <file>src/guitar_tuner.ui</file> contiene una "
-"descripciÃn de la interfaz de usuario (IU), definida en la parte superior de "
-"la clase. Para editar la interfaz de usuario, abra <file>src/guitar_tuner."
-"ui</file> pulsando dos veces sobre el archivo en las secciones "
-"<gui>Proyecto</gui> or <gui>Archivos</gui>. Esto cambiarà al diseÃador de "
-"interfaces. La ventana de diseÃo està en el centro; los <gui>Widgets</gui> y "
-"sus propiedades estÃn a la izquierda, y la <gui>Paleta</gui> de los widgets "
-"disponibles està a la derecha."
-
-#: C/guitar-tuner.vala.page:92(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 "
-"the six guitar strings."
-msgstr ""
-"La distribuciÃn de cualquier IU en GTK+ se organiza usando cajas y tablas. "
-"Aquà se usarà una GtkButtonBox vertical para asignar seis GtkButtons, uno "
-"para cada una de las cuerdas de la guitarra."
+#~ msgid ""
+#~ "Note how the class definition (prototype) is arranged; each function "
+#~ "definition is separated by a comma."
+#~ msgstr ""
+#~ "Tenga en cuenta cÃmo se ordena la definiciÃn de la clase (prototipo); "
+#~ "cada definiciÃn de funciÃn se separa con una coma."
 
-#: C/guitar-tuner.vala.page:98(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 "
-"click on the design window in the center to place it into the window. A "
-"dialog will display where you can set the <gui>Number of items</gui> to "
-"<input>6</input>. Then click <gui>Create</gui>."
-msgstr ""
-"En la pestaÃa <gui>Paleta</gui>, en la secciÃn <gui>Contenedores</gui>, "
-"seleccione una <gui>Caja de botones</gui> (GtkButtonBox) pulsando sobre el "
-"icono. Pulse en el centro del diseÃo de la ventana para colocarla en la "
-"ventana. Se mostrarà un diÃlogo donde puede establecer el <gui>NÃmero de "
-"elementos</gui> a <input>6</input>. Luego pulse en <gui>Crear</gui>."
+#~ msgid "Now that MyClass has been defined, we can play with it:"
+#~ msgstr "Ahora que ÂMyClass se ha definido, se puede jugar con ella:"
 
-#: C/guitar-tuner.vala.page:99(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."
-msgstr ""
-"TambiÃn puede cambiar el <gui>NÃmero de elementos</gui> y la "
-"<gui>OrientaciÃn</gui> en la pestaÃa <gui>General</gui> a la derecha."
+#~ 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, and then calls <code>dumpProperties</code> (which outputs the "
+#~ "fields)."
+#~ msgstr ""
+#~ "Este cÃdigo crear una instancia nueva de la clase llamada <code>o</code>, "
+#~ "ejecuta <code>aMethod</code>, cambia <code>propertyA</code> a una cadena "
+#~ "diferente y entonces llama a <code>dumpProperties</code> (que muestra los "
+#~ "campos)."
 
-#: C/guitar-tuner.vala.page:103(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 "
-"the first section of the GtkButtonBox by clicking in the first section."
-msgstr ""
-"Ahora, desde la secciÃn <gui>Controlar y mostrar</gui> de la <gui>Paleta</"
-"gui> elija un <gui>BotÃn</gui> (GtkButton) pulsando sobre Ãl. SitÃelo en la "
-"primera secciÃn de la GtkButtonBox pulsando sobre ella."
+#~ 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 toolbar."
+#~ msgstr ""
+#~ "Guarde el cÃdigo en el archivo <file>main.js</file> y ejecÃtelo usando "
+#~ "<guiseq><gui>Ejecutar</gui><gui>Ejecutar</gui></guiseq> desde el menà o "
+#~ "usando la barra de herramientas."
 
-#: C/guitar-tuner.vala.page:106(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</"
-"gui>. This will be the low E guitar string."
-msgstr ""
-"Mientras el botÃn està seleccionado, cambie la propiedad <gui>Etiqueta</gui> "
-"en la pestaÃa <gui>General</gui> a <gui>E</gui>. Esta serà la cuerda Mi "
-"grave de la guitarra."
+#~ msgid ""
+#~ "Let's see what a very basic Gtk application looks like in JavaScript:"
+#~ msgstr "Vea como queda una aplicaciÃn GTK+ muy bÃsica en JavaScript:"
 
-#: C/guitar-tuner.vala.page:107(p)
-msgid ""
-"The <gui>General</gui> tab is located in the <gui>Widgets</gui> section on "
-"the right."
-msgstr ""
-"La pestaÃa <gui>General</gui> se encuentra en la secciÃn <gui>Widgets</gui> "
-"de la derecha."
+#~ msgid ""
+#~ "<code>Gtk.init</code> initializes the Gtk library; this statement is "
+#~ "mandatory for all Gtk programs."
+#~ msgstr ""
+#~ "<code>Gtk.init</code> inicializa la biblioteca GTK; esta sentencia es "
+#~ "obligatoria para todos los programas GTK."
 
-#: C/guitar-tuner.vala.page:112(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 "
-"use this to connect a signal handler that will be called when the button is "
-"clicked by the user. To do this, click on the signal and type "
-"<code>main_on_button_clicked</code> in the <gui>Handler</gui> column and "
-"press the <key>Enter</key>."
-msgstr ""
-"Cambie a la pestaÃa <gui>SeÃales</gui> dentro de la secciÃn <gui>Widgets</"
-"gui> a la derecha y busque la seÃal <code>clicked</code> del botÃn. Puede "
-"usar esto para conectar un manejador de seÃal al que se llamarà cuando el "
-"usuario pulse el botÃn. Para hacer esto, pulse sobre la seÃal, escriba "
-"<code>main_on_button_clicked</code> en la columna <gui>Manejador</gui> y "
-"pulse <key>Intro</key>."
-
-#: C/guitar-tuner.vala.page:115(p) C/guitar-tuner.py.page:105(p)
-#: C/guitar-tuner.c.page:109(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>."
-msgstr ""
-"Repita los pasos anteriores para el resto de botones, aÃadiendo las 5 "
-"cuerdas restantes con los nombres <em>A</em>, <em>D</em>, <em>G</em>, <em>B</"
-"em>, y <em>e</em>."
+#~ 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 using the syntax <code>{property: value, property: value, ...}</code>. "
+#~ "In this case we are setting the title of the window."
+#~ msgstr ""
+#~ "La siguiente lÃnea crea la ventana principal creando un objeto <code>Gtk."
+#~ "Window</code>. Puede pasar varias propiedades al constructor de la "
+#~ "ventana usando la sintaxis <code>{property: value, property: value, ...}</"
+#~ "code>. En este caso, se està estableciendo el tÃtulo de la ventana."
 
-#: C/guitar-tuner.vala.page:118(p) C/guitar-tuner.py.page:108(p)
-#: C/guitar-tuner.c.page:112(p)
-msgid ""
-"Save the UI design (by clicking <guiseq><gui>File</gui><gui>Save</gui></"
-"guiseq>) and keep it open."
-msgstr ""
-"Guarde el diseÃo de la IU (pulsando <guiseq><gui>Archivo</gui><gui>Guardar</"
-"gui></guiseq>) y dÃjelo abierto."
+#~ msgid ""
+#~ "The next line explicitly shows the window. In Gtk, every widget is hidden "
+#~ "by default."
+#~ msgstr ""
+#~ "La siguiente lÃnea muestra explÃcitamente la ventana. En GTK+, cada "
+#~ "widget està oculto de manera predeterminada."
 
-#: C/guitar-tuner.vala.page:124(title) C/guitar-tuner.py.page:127(title)
-#: C/guitar.js.page:22(link) C/guitar.js.page:36(title)
-#: C/guitar-tuner.cpp.page:112(title) C/guitar-tuner.c.page:133(title)
-msgid "GStreamer pipelines"
-msgstr "TuberÃas de Gstreamer"
+#~ 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 "
+#~ "user interface and then calls a signal handler which will do something "
+#~ "useful. We'll learn more about signals shortly."
+#~ msgstr ""
+#~ "Finalmente, <code>Gtk.main</code> ejecuta el bucle principal; en otras "
+#~ "palabras, ejecuta el programa. El bucle principal escucha los eventos "
+#~ "(seÃales) de la interfaz del usuario y llama a un manejador de la seÃal "
+#~ "que harà algo Ãtil. En breve aprenderà mÃs cosas sobre las seÃales."
 
-#: C/guitar-tuner.vala.page:125(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";
-"\">GStreamer</link> is GNOME's multimedia framework â you can use it for "
-"playing, recording, and processing video, audio, webcam streams and the "
-"like. Here, we'll be using it to produce single-frequency tones."
-msgstr ""
-"En esta secciÃn se mostrarà cÃmo crear el cÃdigo para generar sonidos. <link "
-"href=\"http://developer.gnome.org/platform-overview/stable/gstreamer";
-"\">GStreamer</link> es el entorno multimedia de trabajo de GNOME: puede "
-"usarlo para reproducir, grabar y procesar vÃdeo, sonido, flujos de la cÃmara "
-"web y similares. En este caso, se usarà para generar tonos de frecuencia "
-"Ãnica."
-
-#: C/guitar-tuner.vala.page:126(p)
-msgid ""
-"Conceptually, GStreamer works as follows: You create a <link href=\"http://";
-"gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/section-intro-"
-"basics-bins.html\"><em>pipeline</em></link> containing several processing "
-"elements going from the <em>source</em> to the <em>sink</em> (output). The "
-"source can be an image file, a video, or a music file, for example, and the "
-"output could be a widget or the soundcard."
-msgstr ""
-"Conceptualmente. GStreamer funciona de la siguiente manera: puede crear una "
-"<link href=\"http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/";
-"html/section-intro-basics-bins.html\"><em>tuberÃa</em></link> que contenga "
-"varios elementos de procesado que van desde la <em>fuente</em> hasta el "
-"<em>sumidero</em> (salida). La fuente puede ser, por ejemplo, un archivo de "
-"imagen, un vÃdeo o un archivo de mÃsica, y la salida puede ser un widget o "
-"la tarjeta de sonido."
-
-#: C/guitar-tuner.vala.page:127(p) C/guitar-tuner.py.page:130(p)
-#: C/guitar.js.page:39(p) C/guitar-tuner.cpp.page:116(p)
-#: C/guitar-tuner.c.page:136(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 "
-"has properties which can be used to change its behaviour."
-msgstr ""
-"Entre la fuente y el sumidero, puede aplicar varios filtros y conversores "
-"para manejar efectos, conversiones de formato, etc. Cada elemento de la "
-"tuberÃa tiene propiedades que se pueden usar para cambiar este "
-"comportamiento."
-
-#: C/guitar-tuner.vala.page:129(p) C/guitar-tuner.py.page:132(p)
-#: C/guitar.js.page:41(p) C/guitar-tuner.cpp.page:118(p)
-#: C/guitar-tuner.c.page:138(p)
-msgid "An example GStreamer pipeline."
-msgstr "Un ejemplo de tuberÃa de GStreamer."
-
-#: C/guitar-tuner.vala.page:134(title) C/guitar-tuner.py.page:137(title)
-#: C/guitar-tuner.c.page:143(title)
-msgid "Set up the pipeline"
-msgstr "Configurar la tuberÃa"
-
-#: C/guitar-tuner.vala.page:135(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 "
-"device, <code>autoaudiosink</code>. We only need to configure the frequency "
-"of the tone generator; this is accessible through the <code>freq</code> "
-"property of <code>audiotestsrc</code>."
-msgstr ""
-"En este ejemplo se usarà un generador de tonos llamado <code>audiotestsrc</"
-"code> y se enviarà la salida al dispositivo de sonido predeterminado del "
-"sistema, <code>autoaudiosink</code>. SÃlo es necesario configurar la "
-"frecuencia del generador de tonos; esto es accesible a travÃs de la "
-"propiedad <code>freq</code> de <code>audiotestsrc</code>."
+#~ 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 haven't set up a signal handler to deal with the window's "
+#~ "<code>destroy</code> (close) signal yet. We'll do this shortly, but for "
+#~ "now you can just hit <keyseq><key>Ctrl</key><key>C</key></keyseq> in the "
+#~ "terminal window to quit the program."
+#~ msgstr ""
+#~ "Guarde el cÃdigo en <file>main.js</file> y ejecÃtelo. Notarà que la "
+#~ "aplicaciÃn no termina cuando cierra la ventana. Esto es porque todavÃa no "
+#~ "se ha configurado un manejador de seÃal para gestionar la seÃal "
+#~ "<code>destroy</code> (cerrar) de la ventana. Esto se harà en breve, pero "
+#~ "por el momento puede pulsar <keyseq><key>Ctrl</key><key>C</key></keyseq> "
+#~ "en la ventana de la terminal para salir del programa."
 
-#: C/guitar-tuner.vala.page:137(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:"
-msgstr ""
-"Se debe aÃadir una lÃnea para inicializar GStreamer; ponga el siguiente "
-"cÃdigo encima de la llamada a <code>Gtk.init</code>, en la funciÃn "
-"<code>main</code>:"
+#~ msgid "Adding classes"
+#~ msgstr "AÃadir clases"
 
-#: C/guitar-tuner.vala.page:139(p)
-msgid ""
-"Then, copy the following function into <file>guitar_tuner.vala</file> inside "
-"our <code>Main</code> class:"
-msgstr ""
-"DespuÃs, copie la siguiente funciÃn en <file>guitar_tuner.vala</file> dentro "
-"de la clase <code>Main</code>:"
+#~ msgid ""
+#~ "The proper way of doing Gtk programming is by using classes. Let's "
+#~ "rewrite the simple code you just wrote using classes:"
+#~ msgstr ""
+#~ "La manera correcta de programar en GTK+ es usando clases. Reescriba el "
+#~ "cÃdigo que acaba de escribir usando clases:"
 
-#: C/guitar-tuner.vala.page:174(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</"
-"code></link>), and a <link href=\"http://valadoc.org/gstreamer-0.10/Gst.";
-"Pipeline.html\">pipeline element</link> (which will be used as a container "
-"for the other two elements). Those are class variables so they are defined "
-"outside the method. The pipeline is given the name \"note\"; the source is "
-"named \"source\" and is set to the <code>audiotestsrc</code> source; and the "
-"sink is named \"output\" and set to the <code>autoaudiosink</code> sink "
-"(default sound card output)."
-msgstr ""
-"Las cinco primeras lÃneas crean los elementos Âfuente y Âsumidero de "
-"GStreamer (<link href=\"http://valadoc.org/gstreamer-0.10/Gst.Element.html";
-"\"><code>Gst.Element</code></link>), y un <link href=\"http://valadoc.org/";
-"gstreamer-0.10/Gst.Pipeline.html\">elemento de tuberÃa</link> (que se usarà "
-"como contenedor de los otros dos elementos). Son variables de clase, por lo "
-"que se definen fuera del mÃtodo. A la tuberÃa se le asigna el nombre ÂnoteÂ; "
-"la fuente se llama Âsource y se asocia a la fuente <code>audiotestsrc</code> "
-"y el sumidero se llama Âoutput y se asocia con el sumidero "
-"<code>autoaudiosink</code> (la salida de la tarjeta de sonido "
-"predeterminada)."
-
-#: C/guitar-tuner.vala.page:177(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 "
-"source element to <code>frequency</code>, which is passed in as an argument "
-"to the <code>play_sound</code> function. This is just the frequency of the "
-"note in Hertz; some useful frequencies will be defined later on."
-msgstr ""
-"La llamada a <link href=\"http://valadoc.org/gobject-2.0/GLib.Object.set.html";
-"\"><code>source.set</code></link> establece la propiedad <code>freq</code> "
-"del elemento fuente a <code>frequency</code>, que se pasa como argumento a "
-"la funcioÌn <code>play_sound</code>. Esto soÌlo es la frecuencia de la nota en "
-"Hercios; maÌs adelante se definiraÌn algunas frecuencias uÌtiles."
+#~ 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 <code>_init</code> method, which creates and shows the window. "
+#~ "We then create an instance of the class before running the main loop "
+#~ "(<code>Gtk.main</code>)."
+#~ msgstr ""
+#~ "Tenga en cuenta que el programa es el mismo; simplemente se ha movido el "
+#~ "cÃdigo de creaciÃn de la ventana a la clase <code>ImageViewer</code>. El "
+#~ "constructor de la clase llama al mÃtodo <code>_init</code>, que crea y "
+#~ "muestra la ventana. Se crea entonces una instancia de la clase antes de "
+#~ "ejecutar el bucle principal (<code>Gtk.main</code>)."
 
-#: C/guitar-tuner.vala.page:180(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 "
-"pipeline. The pipeline is a <link href=\"http://valadoc.org/gstreamer-0.10/";
-"Gst.Bin.html\"><code>Gst.Bin</code></link>, which is just an element that "
-"can contain multiple other GStreamer elements. In general, you can add as "
-"many elements as you like to the pipeline by adding more calls to "
-"<code>pipeline.add</code>."
-msgstr ""
-"<link href=\"http://valadoc.org/gstreamer-0.10/Gst.Bin.add.html";
-"\"><code>pipeline.add</code></link> aÃade la fuente y el sumidero a la "
-"tuberÃa. La tuberÃa es un <link href=\"http://valadoc.org/gstreamer-0.10/Gst.";
-"Bin.html\"><code>Gst.Bin</code></link>, que es un elemento que puede "
-"contener otros muchos elementos de GStreamer. En general, puede aÃadir "
-"tantos elementos como quiera a una tuberÃa aÃadiendo mÃs argumentos a "
-"<code>pipeline.add</code>."
-
-#: C/guitar-tuner.vala.page:183(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, "
-"so the output of source (a tone) goes into the input of sink (which is then "
-"output to the sound card). <link href=\"http://www.valadoc.org/gstreamer-";
-"0.10/Gst.Element.set_state.html\"><code>pipeline.set_state</code></link> is "
-"then used to start playback, by setting the <link href=\"http://www.valadoc.";
-"org/gstreamer-0.10/Gst.State.html\">state of the pipeline</link> to playing "
-"(<code>Gst.State.PLAYING</code>)."
-msgstr ""
-"Ahora, el cÃdigo <link href=\"http://valadoc.org/gstreamer-0.10/Gst.Element.";
-"link.html\"><code>sink.link</code></link> se usa para conectar los elementos "
-"entre sÃ, por lo que la salida de la fuente (un tono) va a la entrada del "
-"sumidero (y entonces sale por la tarjeta de sonido). <link href=\"http://www.";
-"valadoc.org/gstreamer-0.10/Gst.Element.set_state.html\"><code>pipeline."
-"set_state</code></link> se usa para iniciar la reproducciÃn estableciendo el "
-"<link href=\"http://www.valadoc.org/gstreamer-0.10/Gst.State.html\";>estado "
-"de la tuberÃa</link> a Âplaying (<code>Gst.State.PLAYING</code>)."
-
-#: C/guitar-tuner.vala.page:186(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/";
-"glib-2.0/GLib.TimeoutSource.html\"><code>TimeoutSource</code></link>. This "
-"sets a timeout for stopping the sound; it waits for 200 milliseconds before "
-"calling a signal handler defined inline that stops and destroys the "
-"pipeline. It returns <code>false</code> to remove itself from the timeout, "
-"otherwise it would continue to be called every 200 ms."
-msgstr ""
-"No se quiere reproducir un tono molesto para siempre, por lo que lo Ãltimo "
-"que <code>play_sound</code> hace es aÃadir un <link href=\"http://www.";
-"valadoc.org/glib-2.0/GLib.TimeoutSource.html\"><code>TimeoutSource</code></"
-"link>. Esto establece un tiempo de expiraciÃn para detener el sonido; espera "
-"200 milisegundos antes de llamar a un manejador de la seÃal definido en "
-"lÃnea y destruye la tuberÃa. Devuelve<code>false</code> para quitarse a sà "
-"mismo del tiempo de expiraciÃn, ya que de otro modo, seguirÃa llamÃndose "
-"cada 200ms,"
-
-#: C/guitar-tuner.vala.page:196(title) C/guitar-tuner.c.page:118(title)
-msgid "Creating the signal handler"
-msgstr "Crear el manejador de seÃales"
-
-#: C/guitar-tuner.vala.page:197(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 "
-"we type <gui>main_on_button_clicked</gui> which tells the UI designer that "
-"this method is part of our <code>Main</code>. We need to add that function "
-"in the source file."
-msgstr ""
-"El el diseÃador de interfaces se hizo que todos los botones llamaran a la "
-"misma funciÃn, <gui>on_button_clicked</gui> cuando se pulsasen. Ahora se "
-"escribe <gui>main_on_button_clicked</gui>, lo que indica al diseÃador de "
-"interfaces que este mÃtodo es parte de la funciÃn <code>Main</code>. Se debe "
-"aÃadir esta funciÃn al archivo de cÃdigo fuente."
+#~ msgid ""
+#~ "This code is modular and can be split into multiple files easily. This "
+#~ "makes it cleaner and easier to read."
+#~ msgstr ""
+#~ "El cÃdigo es modular y se puede dividir el varios archivos fÃcilmente. "
+#~ "Esto hace que sea mÃs limpio y fÃcil de leer."
 
-#: C/guitar-tuner.vala.page:198(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 "
-"clicking on the tab in the center). Switch to the <gui>Signals</gui> tab on "
-"the right, which you used to set the signal name. Now take the row where you "
-"set the <gui>clicked</gui> signal and drag and drop it into to the source "
-"file at the beginning of the class. The following code will be added to your "
-"source file:"
-msgstr ""
-"Para hacer esto, en el archivo de interfaz del usuario (guitar_tuner.ui), "
-"seleccione uno de los botones pulsando sobre Ãl, abra <file>guitar_tuner."
-"vala</file> (pulsando en la pestaÃa en el centro). Cambie a la pestaÃa "
-"<gui>SeÃales</gui> de la derecha, que ya ha usado para establecer el nombre "
-"de la seÃal. Ahora vaya a la fila en la que establecià la seÃal "
-"<gui>clicked</gui> y arrÃstrela al archivo de cÃdigo fuente, al principio de "
-"la clase. Se aÃadirà el siguiente cÃdigo a su archivo de cÃdigo fuente:"
-
-#: C/guitar-tuner.vala.page:205(p)
-msgid ""
-"You can also just type the code at the beginning of the class instead of "
-"using the drag and drop."
-msgstr ""
-"TambiÃn puede escribir simplemente el texto al principio de la clase en vez "
-"de arrastrar y soltar."
+#~ msgid "The syntax for connecting any signal to a function is:"
+#~ msgstr "La sintaxis para conectar cualquier seÃal a una funciÃn es:"
 
-#: C/guitar-tuner.vala.page:206(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 "
-"the function (in our case, always a <link href=\"http://valadoc.org/gtk+-3.0/";
-"Gtk.Button.html\"><code>Gtk.Button</code></link>)."
-msgstr ""
-"El manejador de la seÃal sÃlo tiene un argumento: el <link href=\"http://";
-"valadoc.org/gtk+-3.0/Gtk.Widget.html\"><code>Gtk.Widget</code></link> que "
-"llama a la funciÃn (en este caso, siempre es un <link href=\"http://valadoc.";
-"org/gtk+-3.0/Gtk.Button.html\"><code>Gtk.Button</code></link>)."
+#~ 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>."
+#~ msgstr ""
+#~ "Puede encontrar definiciones de seÃales para cualquier objeto en la <link "
+#~ "href=\"http://library.gnome.org/devel/gtk/stable/ch01.html\";>referencia "
+#~ "de clases de GTK+</link>."
 
-#: C/guitar-tuner.vala.page:212(title)
-msgid "Define the signal handler"
-msgstr "Definir el manejador de senÌales"
+#~ msgid ""
+#~ "You can simplify the code by making use of an inline function definition:"
+#~ msgstr ""
+#~ "Puede simplificar el cÃdigo usando una definiciÃn de funciÃn en lÃnea:"
 
-#: C/guitar-tuner.vala.page:213(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, "
-"<code>on_button_clicked</code>. We could have connected every button to a "
-"different signal handler, but that would lead to a lot of code duplication. "
-"Instead, we can use the label of the button to figure out which button was "
-"clicked:"
-msgstr ""
-"Se quiere reproducir el sonido correcto cuando el usuario pulsa un botÃn. "
-"Para esto, se profundiza en el manejador de la seÃal definido anteriormente, "
-"<code>on_button_clicked</code>. Se podrÃa haber conectado cada botÃn a un "
-"manejador de la seÃal diferente, pero esto habÃa supuesto duplicar mucho "
-"cÃdigo. En su lugar, se puede usar la etiqueta del botÃn para saber cuÃl de "
-"ellos se ha pulsado:"
-
-#: C/guitar-tuner.vala.page:241(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 "
-"label of that button by using <code>get_child</code>, and then get the text "
-"from that label using <code>get_label</code>."
-msgstr ""
-"El <code>Gtk.Button</code> que se ha pulsado se pasa como argumento "
-"(<code>sender</code>) a <code>on_button_clicked</code>. Se puede obtener la "
-"etiqueta de ese botÃn usando <code>get_child</code>, y entonces obtener el "
-"texto de esa etiqueta usando <code>get_label</code>."
+#~ msgid "Closing the window"
+#~ msgstr "Cerrar la ventana"
 
-#: C/guitar-tuner.vala.page:242(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 "
-"that note. This plays the tone; we have a working guitar tuner!"
-msgstr ""
-"La sentencia Âswitch compara la etiqueta de texto con las notas que se "
-"pueden reproducir, y se llama a <code>play_sound</code> con la frecuencia "
-"correspondiente a esa nota. Esto reproduce el tono; el afinador de guitarra "
-"ya està funcionando."
+#~ 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 if they really want to close the window, for example)."
+#~ msgstr ""
+#~ "Cuando cierra una ventana de GTK, realmente no se cierra, se oculta. Esto "
+#~ "le permite mantener la ventana (lo que es Ãtil si quiere preguntar al "
+#~ "usuario si realmente quiere cerrar la ventana, por ejemplo)."
 
-#: C/guitar-tuner.vala.page:248(p) C/guitar-tuner.cpp.page:251(p)
-#: C/guitar-tuner.c.page:251(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> "
-"and enjoy!"
-msgstr ""
-"Si todavÃa no lo ha hecho, elija la aplicaciÃn <file>Debug/src/afinador-"
-"guitarra</file> en el diÃlogo que aparece. Finalmente, pulse <gui>Ejecutar</"
-"gui> y disfrute."
+#~ 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 object to a function that closes the application. Go back to "
+#~ "the <file>image-viewer.js</file> file and add the following code to the "
+#~ "<code>_init</code> method, on the line above <code>this.window.show</"
+#~ "code>:"
+#~ msgstr ""
+#~ "En este caso, simplemente se quiere cerrar la ventana. La manera mÃs "
+#~ "sencilla de hacerlo es conectar la seÃal <code>hide</code> del objeto "
+#~ "GtkWindow a una funciÃn que cierra la aplicaciÃn. Vuelva al archivo "
+#~ "<file>image-viewer.js</file> y aÃada el siguiente cÃdigo al mÃtodo "
+#~ "<code>_init</code>, en la lÃnea anterior a <code>this.window.show</code>:"
 
-#: C/guitar-tuner.vala.page:253(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>."
-msgstr ""
-"Si tiene problemas con este tutorial, compare su coÌdigo con este <link href="
-"\"guitar-tuner/guitar-tuner.vala\">coÌdigo de referencia</link>."
+#~ msgid "this.window.connect (\"hide\", Gtk.main_quit);"
+#~ msgstr "this.window.connect (\"hide\", Gtk.main_quit);"
 
-#: C/guitar-tuner.vala.page:258(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</"
-"link> and the <link href=\"http://valadoc.org/\";>Vala API Documentation</"
-"link>"
-msgstr ""
-"Para obtener mÃs informaciÃn sobre el lenguaje de programaciÃn Vala, puede "
-"querer revisar el <link href=\"http://live.gnome.org/Vala/Tutorial";
-"\">Tutorial de Vala</link> y la <link href=\"http://valadoc.org/";
-"\">documentaciÃn de la API de Vala</link>"
-
-#: C/guitar-tuner.vala.page:267(p) C/guitar-tuner.py.page:236(p)
-#: C/guitar-tuner.cpp.page:272(p) C/guitar-tuner.c.page:264(p)
-msgid "Have the program automatically cycle through the notes."
-msgstr "Hacer que el programa recorra las notas automÃticamente."
-
-#: C/guitar-tuner.vala.page:270(p) C/guitar-tuner.py.page:239(p)
-#: C/guitar-tuner.cpp.page:275(p) C/guitar-tuner.c.page:267(p)
-msgid "Make the program play recordings of real guitar strings being plucked."
-msgstr ""
-"Hacer que el programa reproduzca grabaciones de cuerdas de guitarras que se "
-"estÃn afinando."
+#~ 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 "
+#~ "loop. Once the main loop finishes, the function <code>Gtk.main</code> "
+#~ "returns. Our program would continue to run any code written after the "
+#~ "<code>Gtk.main ();</code> line, but since we don't have any code after "
+#~ "that point, the program just ends."
+#~ msgstr ""
+#~ "Esto conecta la seÃal <code>hide</code> de la ventana con la funciÃn "
+#~ "<code>main_quit</code> de GTK, que termina la ejecuciÃn del bucle "
+#~ "principal de GTK. Una vez que el bucle principal termina, la funciÃn "
+#~ "<code>Gtk.main</code> retorna. El programa puede continuar ejecutando "
+#~ "cualquier cÃdigo que haya despuÃs de la lÃnea <code>Gtk.main ();</code>, "
+#~ "pero como no hay ningÃn cÃdigo despuÃs de ese punto, el programa "
+#~ "simplemente termina."
 
-#: C/guitar-tuner.vala.page:271(p) C/guitar-tuner.py.page:240(p)
-#: C/guitar-tuner.cpp.page:276(p) C/guitar-tuner.c.page:268(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 "
-"<link href=\"http://gstreamer.freedesktop.org/documentation/plugins.html";
-"\">decoder and demuxer</link> GStreamer elements based on the file format of "
-"your recorded sounds â MP3s use different elements to Ogg Vorbis files, for "
-"example."
-msgstr ""
-"PAra hacer esto, debe configurar una tuberÃa de GStreamer mÃs complicada, "
-"que le permite cargar y reproducir archivos de mÃsica. Deberà elegir un los "
-"elementos <link href=\"http://gstreamer.freedesktop.org/documentation/";
-"plugins.html\">decodificador y demultiplexor</link> de GStreamer basÃndose "
-"en el formato del archivo de sus sonidos grabados; los MP3 usan elementos "
-"diferentes de los de los archivos Ogg Vorbis, por ejemplo."
-
-#: C/guitar-tuner.vala.page:272(p) C/guitar-tuner.py.page:241(p)
-#: C/guitar-tuner.cpp.page:277(p) C/guitar-tuner.c.page:269(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/";
-"gstreamer/head/manual/html/chapter-intro-basics.html\">GStreamer concepts</"
-"link> that we didn't cover in this tutorial, such as <link href=\"http://";
-"gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/section-intro-"
-"basics-pads.html\">pads</link>. You may also find the <cmd>gst-inspect</cmd> "
-"command useful."
-msgstr ""
-"Puede querer conectar los elementos de maneras mÃs complicadas. Esto puede "
-"implicar usar <link href=\"http://gstreamer.freedesktop.org/data/doc/";
-"gstreamer/head/manual/html/chapter-intro-basics.html\">conceptos de "
-"GStreamer</link> que no se han comentado en este tutorial, tales como <link "
-"href=\"http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/";
-"section-intro-basics-pads.html\">interfaces</link>. Es posible que encuentre "
-"Ãtil el comando <cmd>gst-inspect</cmd>."
-
-#: C/guitar-tuner.vala.page:275(p) C/guitar-tuner.py.page:244(p)
-#: C/guitar-tuner.cpp.page:280(p) C/guitar-tuner.c.page:272(p)
-msgid "Automatically analyze notes that the user plays."
-msgstr "Analizar automÃticamente las notas que toca el mÃsico."
-
-#: C/guitar-tuner.vala.page:276(p) C/guitar-tuner.py.page:245(p)
-#: C/guitar-tuner.cpp.page:281(p) C/guitar-tuner.c.page:273(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-";
-"plugins/html/gst-plugins-good-plugins-autoaudiosrc.html\">input source</"
-"link>. Perhaps some form of <link href=\"http://gstreamer.freedesktop.org/";
-"data/doc/gstreamer/head/gst-plugins-good-plugins/html/gst-plugins-good-"
-"plugins-plugin-spectrum.html\">spectrum analysis</link> would allow you to "
-"figure out what notes are being played?"
-msgstr ""
-"Puede conectar un micrÃfono y grabar sonidos con Ãl usando una <link href="
-"\"http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good-";
-"plugins/html/gst-plugins-good-plugins-autoaudiosrc.html\">fuente de entrada</"
-"link>. ÂEs posible que algÃn tipo de <link href=\"http://gstreamer.";
-"freedesktop.org/data/doc/gstreamer/head/gst-plugins-good-plugins/html/gst-"
-"plugins-good-plugins-plugin-spectrum.html\">anÃlisis de espectro</link> le "
-"permita saber quà notas se estÃn reproduciendo?"
-
-#: C/guitar-tuner.py.page:8(desc) C/guitar-tuner.c.page:8(desc)
-msgid ""
-"Use Gtk+ and GStreamer to build a simple guitar tuner application for GNOME. "
-"Shows off how to use the interface designer."
-msgstr ""
-"Usar GTK+ y GStreamer para construir un sencillo afinador de guitarra para "
-"GNOME. Muestra cÃmo usar el diseÃador de interfaces."
+#~ 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</code> line:"
+#~ msgstr ""
+#~ "AÃada la caja y los widgets a la ventana. Inserte el siguiente cÃdigo en "
+#~ "el mÃtodo <code>_init</code>, justo debajo de la lÃnea <code>this.window."
+#~ "show</code>:"
+
+#~ 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 vertical (so widgets are arranged in a column), and the <code>spacing</"
+#~ "code> between the widgets is set to 0 pixels. The next line then adds the "
+#~ "newly-created <code>Gtk.Box</code> to the window."
+#~ msgstr ""
+#~ "La primera lÃnea crea una <code>Gtk.Box</code> llamada <code>main_box</"
+#~ "code> y establece dos de sus propiedades: la <code>orientation</code> se "
+#~ "establece a Âvertical (por lo que los widgets se ordenan en columna), y "
+#~ "el <code>spacing</code> entre los widgets, que se establece a 0 pÃxeles. "
+#~ "La siguiente lÃnea aÃade la <code>Gtk.Box</code> reciÃn creada a la "
+#~ "ventana."
+
+#~ 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:"
+#~ msgstr ""
+#~ "Para aÃadir algunos widgets a la <code>Gtk.Box</code>, inserte el "
+#~ "siguiente cÃdigo justo debajo de la lÃnea <code>this.window.add (main_box)"
+#~ "</code>:"
+
+#~ 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 is added (<em>packed</em>) into the <code>main_box</code> "
+#~ "container using <code>Gtk.Box</code>'s <link href=\"http://library.gnome.";
+#~ "org/devel/gtk/stable/GtkBox.html#gtk-box-pack-start\"><code>pack_start</"
+#~ "code></link> method."
+#~ msgstr ""
+#~ "La primera lÃnea crea una <code>Gtk.Image</code> nueva llamada "
+#~ "<code>image</code>, que se usarà para mostrar un archivo de imagen. "
+#~ "Entonces, se aÃade el widget de imagen (<em>packed</em>) al contenedor "
+#~ "<code>main_box</code> usando el mÃtodo <link href=\"http://library.gnome.";
+#~ "org/devel/gtk/stable/GtkBox.html#gtk-box-pack-start\"><code>pack_start</"
+#~ "code></link> de <code>Gtk.Box</code>."
+
+#~ 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</code> should grow larger when the new widget is added (<code>expand</"
+#~ "code>); whether the new widget should take up all of the extra space "
+#~ "created if the <code>Gtk.Box</code> gets bigger (<code>fill</code>); and "
+#~ "how much space there should be, in pixels, between the widget and its "
+#~ "neighbors inside the <code>Gtk.Box</code> (<code>padding</code>)."
+#~ msgstr ""
+#~ "<code>pack_start</code> toma 4 argumentos: el widget que aÃadir a la "
+#~ "<code>Gtk.Box</code> (<code>child</code>); indica si la <code>Gtk.Box</"
+#~ "code> debe crecer a lo largo cuando se aÃade el widget nuevo "
+#~ "(<code>expand</code>); indica si el widget nuevo debe tomar todo el "
+#~ "espacio adicional creado si la <code>Gtk.Box</code> se hace mÃs grande "
+#~ "(<code>fill</code>); y cuÃnto espacio debe haber, en pÃxeles, entre el "
+#~ "widget y los demÃs widgets dentro de la <code>Gtk.Box</code> "
+#~ "(<code>padding</code>)."
+
+#~ 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 are setting the <code>expand</code> argument (the second one) to "
+#~ "<code>false</code> here, whereas it was set to <code>true</code> for the "
+#~ "<code>Gtk.Image</code>. This will cause the image to take up all "
+#~ "available space and the button to take only the space it needs. When you "
+#~ "maximize the window, the button size will remain the same, but the image "
+#~ "size will increase, taking up all of the rest of the window."
+#~ msgstr ""
+#~ "Estas lÃneas son similares a las dos primeras, pero esta vez crean un "
+#~ "<code>Gtk.Button</code> y lo aÃaden a la <code>main_box</code>. Tenga en "
+#~ "cuenta que aquà se està estableciendo el argumento <code>expand</code> "
+#~ "(el segundo) a <code>false</code>, mientras que para la <code>Gtk.Image</"
+#~ "code> se establecià a <code>true</code>. Esto harà que la imagen tome "
+#~ "todo el espacio disponible y que el botÃn tome sÃlo el espacio que "
+#~ "necesite. Cuando se maximiza la ventana, el tamaÃo del botÃn serà el "
+#~ "mismo, pero el tamaÃo de la imagen aumentarà junto con el resto de la "
+#~ "ventana."
+
+#~ msgid ""
+#~ "Finally, we must change the <code>this.window.show ();</code> line to "
+#~ "read:"
+#~ msgstr ""
+#~ "Finalmente, se debe cambiar la lÃnea <code>this.window.show ();</code> "
+#~ "para leer:"
+
+#~ msgid "this.window.show_all ();"
+#~ msgstr "this.window.show_all ();"
+
+#~ 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 default.)"
+#~ msgstr ""
+#~ "Esto mostrarà el hijo de la ventana de GTK, y todos sus hijos, y los "
+#~ "hijos de sus hijos, etcÃtera. (Recuerde que los widgets de GTK estÃn "
+#~ "ocultos de manera predeterminada.)"
+
+#~ 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 loaded and shown in the image widget."
+#~ msgstr ""
+#~ "Cuando el usuario pulse en el botÃn <gui>Abrir</gui>, debe aparecer un "
+#~ "diÃlogo en el que el usuario pueda elegir una imagen. una vez elegida, la "
+#~ "imagen se debe cargar y mostrar en el widget de imagen."
+
+#~ 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 this code immediately after the <code>var open_button = new "
+#~ "Gtk.Button</code> line where the button was created:"
+#~ msgstr ""
+#~ "El primer paso es conectar la seÃal <code>clicked</code> del botÃn a una "
+#~ "funciÃn manejadora de la seÃal, llamada <code>_openClicked</code>. Ponga "
+#~ "este cÃdigo inmediatamente despuÃs de la lÃnea <code>var open_button = "
+#~ "new Gtk.Button</code> en la que se creà el botÃn:"
+
+#~ 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 (without a class) which we had used before for the window's "
+#~ "<code>hide</code> signal. Don't worry about this for now, it's just a "
+#~ "technical detail. For it to work, you also need to put the following line "
+#~ "at the top of the file:"
+#~ msgstr ""
+#~ "Aquà se està usando el JavaScript auxiliar <em>Lang</em>. Permite "
+#~ "conectar un <em>mÃtodo de clase</em> a la seÃal, en vez de una funciÃn "
+#~ "normal (sin clase) que se haya usado anteriormente para seÃal <code>hide</"
+#~ "code> de la ventana. No se preocupe por esto ahora, es sÃlo un detalle "
+#~ "tÃcnico. Para que funcione, debe poner tambiÃn la siguiente lÃnea en la "
+#~ "parte superior del archivo:"
+
+#~ msgid "const Lang = imports.lang;"
+#~ msgstr "const Lang = imports.lang;"
+
+#~ msgid ""
+#~ "Now we can create the <code>_openClicked()</code> method. Insert the "
+#~ "following into the <code>ImageViewer.prototype</code> code block, after "
+#~ "the <code>_init</code> method (and not forgetting the comma):"
+#~ msgstr ""
+#~ "Ahora se puede crear el mÃtodo <code>_openClicked()</code>. Inserte el "
+#~ "siguiente cÃdigo en el bloque de cÃdigo de <code>ImageViewer.prototype</"
+#~ "code>, despuÃs del mÃtodo <code>_init</code> (y no olvide la coma):"
+
+#~ 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 title of the dialog; the action (type) of the dialog "
+#~ "(it's an \"open\" dialog, but we could have used <code>SAVE</code> if the "
+#~ "intention was to save a file; <code>transient_for</code>, which sets the "
+#~ "parent window of the dialog; and <code>modal</code> which, if set to "
+#~ "<code>true</code>, prevents the user from clicking on another area of the "
+#~ "application until the dialog is closed."
+#~ msgstr ""
+#~ "La lÃnea que comienza por <code>var chooser</code> crear un diÃlogo "
+#~ "<gui>Abrir</gui>, que el usuario puede utilizar para elegir archivos. Se "
+#~ "establecen cuatro propiedades: el tÃtulo del diÃlogo, la acciÃn (tipo) "
+#~ "del diÃlogo (es un diÃlogo ÂopenÂ, pero se podrÃa haber usado <code>SAVE</"
+#~ "code> si la intenciÃn hubiese sido guardar un archivo; "
+#~ "<code>transient_for</code>, que establece la ventana padre del diÃlogo; y "
+#~ "<code>modal</code>, que si se establecer a <code>true</code> evita que el "
+#~ "usuario pueda pulsar en otra Ãrea de la aplicaciÃn hasta que no se cierre "
+#~ "el diÃlogo."
+
+#~ 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</code> will return the value <output>1</output> (it would return "
+#~ "<output>0</output> if the user clicked <gui>Cancel</gui>). The <code>if</"
+#~ "code> statement tests for this."
+#~ msgstr ""
+#~ "<code>chooser.run</code> muestra el diÃlogo <gui>Abrir</gui>. El diÃlogo "
+#~ "esperarà a que el usuario elija una imagen; cuando lo haga, <code>chooser."
+#~ "run</code> devolverà el valor <output>1</output> (devolverÃa <output>0</"
+#~ "output> si el usuario pulsara <gui>Cancelar</gui>). La sentencia "
+#~ "<code>if</code> comprueba esto."
+
+#~ 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 of JavaScript and Gtk) in not much time at all!"
+#~ msgstr ""
+#~ "Todo el cÃdigo que necesita debe estar en su lugar, asà que trate de "
+#~ "ejecutar el cÃdigo. Esto deberÃa ser todo; un visor de imÃgenes "
+#~ "completamente funcional (y un completo tour sobre JavaScript y GTK+) en "
+#~ "poco tiempo."
+
+#~ msgid ""
+#~ "If you run into problems with the tutorial, compare your code with this "
+#~ "<link href=\"image-viewer/image-viewer.js\">reference code</link>."
+#~ msgstr ""
+#~ "Si tiene problemas con este tutorial, compare su coÌdigo con este <link "
+#~ "href=\"image-viewer/image-viewer.js\">coÌdigo de referencia</link>."
+
+#~ msgid "A little bit more than a simple \"Hello world\" GTKmm application."
+#~ msgstr "Algo mÃs que una sencilla aplicaciÃn ÂHola mundo en GTKmm."
+
+#~ msgid "Some basic concepts of C++/GObject programming"
+#~ msgstr "Algunos conceptos baÌsicos de programacioÌn en C++/GObject"
+
+#~ msgid "How to write a Gtk application in C++"
+#~ msgstr "CÃmo escribir una aplicaciÃn GTK en C++"
+
+#~ 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 "
+#~ "<file>image-viewer</file> as project name and directory."
+#~ msgstr ""
+#~ "Elija <gui>GTKmm (simple)</gui> de la pestaÃa <gui>C++</gui>, pulse "
+#~ "<gui>Adelante</gui> y rellene los detalles en las siguientes pÃginas. Use "
+#~ "<file>visor-imagenes</file> como nombre de proyecto y de carpeta."
+
+#~ 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="
+#~ "\"guitar-tuner.cpp\">Guitar-Tuner</link> tutorial if you want to learn "
+#~ "how to use the interface builder."
+#~ msgstr ""
+#~ "AsegÃrese de que <gui>Usar GtkBuilder para la interfaz del usuario</gui> "
+#~ "està desactivado, ya que, en este tutorial, la IU se crearà manualmente. "
+#~ "Revise el tutorial del <link xref=\"guitar-tuner.cpp\">afinador de "
+#~ "guitarra</link> si quiere aprender a usar el constructor de interfaces."
+
+#~ 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> "
+#~ "tabs. You should see some code which starts with the lines:"
+#~ msgstr ""
+#~ "Pulse <gui>Aplicar</gui> y se crearaÌ el proyecto. Abra <file>src/main.cc</"
+#~ "file> desde las pestanÌas <gui>Proyecto</gui> o <gui>Archivo</gui>. "
+#~ "DeberiÌa ver algo de coÌdigo que comience con las liÌneas:"
+
+#~ msgid ""
+#~ "This is a very basic C++ code setting up GTKmm. More details are given "
+#~ "below; skip this list if you understand the basics:"
+#~ msgstr ""
+#~ "Esto es una configuraciÃn de cÃdigo C++ usando GTKmm. Se ofrecen mÃs "
+#~ "detalles a continuaciÃn; omita esta lista si entiende los conceptos "
+#~ "bÃsicos:"
+
+#~ msgid ""
+#~ "The three <code>#include</code> lines at the top include the "
+#~ "<code>config</code> (useful autoconf build defines), <code>gtkmm</code> "
+#~ "(user interface) and <code>iostream</code> (C++-STL) libraries. Functions "
+#~ "from these libraries are used in the rest of the code."
+#~ msgstr ""
+#~ "Las tres lÃneas <code>#include</code> en la parte superior incluyen las "
+#~ "bibliotecas <code>config</code> (definiciones Ãtiles para construcciÃn "
+#~ "con autoconf), <code>gtkmm</code> (interfaz de usuario) <code>iostream</"
+#~ "code> (C++-STL). Las funciones de estas bibliotecas se usan en el resto "
+#~ "del cÃdigo."
+
+#~ msgid ""
+#~ "The <code>main</code> function creates a new (empty) window and sets the "
+#~ "window title."
+#~ msgstr ""
+#~ "La funciÃn <code>main</code> crea una ventana (vacÃa) nueva y establece "
+#~ "el tÃtulo de la ventana."
+
+#~ 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 "
+#~ "presses). As we give the window as an argument to that function, the "
+#~ "application will automatically exit when that window is closed."
+#~ msgstr ""
+#~ "La llamada <code>kit::run()</code> inicia el bucle principal de GTKmm, "
+#~ "que ejecuta la interfaz de usuario y empieza a escuchar eventos (como "
+#~ "pulsaciones del ratÃn y del teclado). Como se ha pasado la ventana como "
+#~ "argumento a esta funciÃn, la aplicaciÃn se cerrarà automÃticamente cuando "
+#~ "se cierre la ventana."
+
+#~ 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."
+#~ msgstr ""
+#~ "Pulse <gui>Ejecutar</gui> en la siguiente ventana que aparece para "
+#~ "configurar una construcciÃn de depuraciÃn. Esto sÃlo necesita hacer una "
+#~ "vez para la primera construcciÃn."
+
+#~ 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 and even other containers. Here we will use the simplest "
+#~ "available container, a <code>Gtk::Box</code>:"
+#~ msgstr ""
+#~ "Ahora se darà vida a la ventana vacÃa. GTKmm organiza la interfaz de "
+#~ "usuario con varios <code>Gtk::Container</code> que pueden contener otros "
+#~ "widgets e incluso otros contenedores. Aquà se usarà el contenedor mÃs "
+#~ "sencillo disponible, una <code>Gtk::Box</code>:"
+
+#~ 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 "
+#~ "container."
+#~ msgstr ""
+#~ "La primera lÃnea crea los widgets que se quieren usar: un botÃn para "
+#~ "abrir una imagen, el widget del visor de imÃgenes en sà y la caja que se "
+#~ "usarà como contenedor."
+
+#~ 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 the button will just be as big as needed. You will notice that we "
+#~ "don't set explicit sizes on the widgets. In GTKmm this is usually not "
+#~ "needed as it makes it much easier to have a layout that looks good in "
+#~ "different window sizes. Next, the box is added to the window."
+#~ msgstr ""
+#~ "Las llamadas a <code>pack_start</code> aÃaden los dos widgets a la caja y "
+#~ "definen su comportamiento. La imagen se expandirà en cualquier espacio "
+#~ "disponible, mientras que el botÃn serà tan grande como se necesite. Se "
+#~ "darà cuenta de que no se establecen tamaÃos explÃcitos de los widgets. "
+#~ "Generalmente, en GTKmm no se necesita ya que hace que sea mucho mÃs "
+#~ "sencillo tener una distribuciÃn que se ve bien con diferentes tamaÃos de "
+#~ "la ventana. A continuaciÃn, se aÃade la caja a la ventana."
+
+#~ 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 the <em>clicked</em> signal, which we can connect to some action. "
+#~ "This is done using the <code>signal_clicked().connect</code> method which "
+#~ "tells GTKmm to call the <code>on_open_image</code> function when the "
+#~ "button is clicked. We will define the <em>callback</em> in the next "
+#~ "section."
+#~ msgstr ""
+#~ "Se debe definir quà sucede cuando el usuario pulsa el botÃn. GTKmm usa el "
+#~ "concepto de <em>seÃales</em>. Cuando se pulsa el botÃn, emite la seÃal "
+#~ "<em>clicked</em>, que se puede conectar a alguna acciÃn. Esto se ha hecho "
+#~ "usando el mÃtodo <code>signal_clicked().connect</code>, que indica a "
+#~ "GTKmm que llame a la funciÃn <code>on_open_image</code> cuando se pulsa "
+#~ "el botÃn y que pase la imagen como un argumento adicional a la funciÃn. "
+#~ "El <em>retorno de la llamada</em> se definirà en la siguiente secciÃn."
+
+#~ 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()</code> method on all our child widgets."
+#~ msgstr ""
+#~ "El Ãltimo paso es mostrar todos los widgets en la ventana usando "
+#~ "<code>show_all_children()</code>. Esto es equivalente a usar el mÃtodo "
+#~ "<code>show()</code> en cada uno de los widgets."
+
+#~ 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> method."
+#~ msgstr ""
+#~ "Ahora se definirà el manejador de la seÃal <em>clicked</em> para el botÃn "
+#~ "mencionado anteriormente. AÃada este cÃdigo antes del mÃtodo <code>main</"
+#~ "code>."
+
+#~ msgid ""
+#~ "The dialog for choosing the file is created using the <code>Gtk::"
+#~ "FileChooserDialog</code> constructor. This takes the title and type of "
+#~ "the dialog. In our case, it is an <em>Open</em> dialog."
+#~ msgstr ""
+#~ "El diÃlogo para elegir el archivo se crea usando el constructor de "
+#~ "<code>Gtk::FileChooserDialog</code>. La funciÃn toma el tÃtulo y el tipo "
+#~ "del diÃlogo. En este caso, es un diÃlogo de tipo <em>Open</em>."
+
+#~ msgid ""
+#~ "<placeholder-1/> The next two lines add an Open and a Close button to the "
+#~ "dialog. Notice that we are using stock button names from Gtk, instead of "
+#~ "manually typing \"Cancel\" or \"Open\". The advantage of using stock "
+#~ "names is that the button labels will already be translated into the "
+#~ "user's language. The second argument to the add_button() method is a "
+#~ "value to identify the clicked button. We use predefined values provided "
+#~ "by GTKmm here, too. The next two lines restrict the Open dialog to only "
+#~ "display files which can be opened by Gtk::Image. A filter object is "
+#~ "created first; we then add all kinds of files supported by Gdk::Pixbuf "
+#~ "(which includes most image formats like PNG and JPEG) to the filter. "
+#~ "Finally, we set this filter to be the Open dialog's filter. Glib::RefPtr "
+#~ "is a smart pointer used here, that makes sure that the filter is "
+#~ "destroyed when there is no reference to it anymore. dialog.run displays "
+#~ "the Open dialog. The dialog will wait for the user to choose an image; "
+#~ "when they do, dialog.run will return the value Gtk::RESPONSE_ACCEPT (it "
+#~ "would return Gtk::RESPONSE_CANCEL if the user clicked Cancel). The switch "
+#~ "statement tests for this. We hide the Open 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 destroyed (and therefore hidden) when the scope "
+#~ "ends. Assuming that the user did click Open, the next line loads the file "
+#~ "into the Gtk::Image so that it is displayed."
+#~ msgstr ""
+#~ "<placeholder-1/> Las dos lÃneas siguientes aÃaden los botones ÂAbrir y "
+#~ "ÂCerrar al diÃlogo. Tenga en cuenta que se estÃn usando nombres de "
+#~ "botones del almacÃn de GTK+, en vez de escribir manualmente ÂCancelar o "
+#~ "ÂAbrirÂ. La ventaja de usar nombres del almacÃn es que las etiquetas de "
+#~ "los botones ya estÃn traducidas al idioma del usuario. El segundo "
+#~ "argumento del mÃtodo Âadd_button()Â es un valor para identificar el botÃn "
+#~ "pulsado. Aquà tambiÃn se usan valores predefinidos, proporcionados por "
+#~ "GTKmm. Las dos lÃneas siguientes restringen el diÃlogo ÂAbrir para que "
+#~ "sÃlo muestre los archivos que se pueden abrir con ÂGtk::imageÂ. Primero "
+#~ "se crea un filtro de objetos; luego se aÃaden al filtro todos los tipos "
+#~ "de archivos soportados por Gdk::Pixbuf (que incluye la mayorÃa de "
+#~ "formatos de imagen como PNG y JPG). Por Ãltimo, se asocia este filtro con "
+#~ "el diÃlogo ÂAbrirÂ. Glib::RefPtr es un puntero inteligente usado aquà "
+#~ "para asegurarse de que el filtro se destruye cuando ya no se hace "
+#~ "referencia a Ãl. Âdialog.run muestra el diÃlogo ÂAbrirÂ. El diÃlogo "
+#~ "esperarà a que el usuario elija una imagen; cuando lo haga, Âdialog.run "
+#~ "devolverà el valor Gtk::RESPONSE_ACCEPT (devolverÃa Gtk::RESPONSE_CANCEL "
+#~ "si el usuario pulsara ÂCancelarÂ). La sentencia Âswitch comprueba esto. "
+#~ "Se oculta el diÃlogo ÂAbrir ya que no se necesita mÃs. El diÃlogo se "
+#~ "ocultarÃa de todos modos, ya que sÃlo es una variable local, y se "
+#~ "destruye (y, por lo tanto, se oculta) cuando termina su objetivo. "
+#~ "Asumiendo que el usuario pulsà ÂAbrirÂ, la siguiente lÃnea carga el "
+#~ "archivo en la Gtk::Image y se muestra."
+
+#~ msgid "Some basic concepts of C/GObject programming"
+#~ msgstr "Algunos conceptos bÃsicos de programaciÃn en C/GObject"
+
+#~ msgid "How to write a Gtk application in C"
+#~ msgstr "CoÌmo escribir una aplicacioÌn GTK en C"
+
+#~ 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."
+#~ msgstr ""
+#~ "Seleccione <gui>Gtk+ (simple)</gui> en la pestaÃa <gui>C</gui>, pulse "
+#~ "<gui>Continuar</gui>, y rellene los detalles en las siguientes pÃginas. "
+#~ "Use <file>visor-imagenes</file> como nombre del proyecto y de la carpeta."
+
+#~ 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="
+#~ "\"guitar-tuner.c\">Guitar-Tuner</link> tutorial if you want to learn how "
+#~ "to use the interface builder."
+#~ msgstr ""
+#~ "AsegÃrese de que <gui>Usar GtkBuilder para la interfaz del usuario</gui> "
+#~ "està desactivado, ya que, en este tutorial, la IU se crearà manualmente. "
+#~ "Revise el tutorial del <link xref=\"guitar-tuner.c\">afinador de "
+#~ "guitarra</link> si quiere aprender a usar el constructor de interfaces."
+
+#~ 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 and shows it. More details are given below; skip this list "
+#~ "if you understand the basics:"
+#~ msgstr ""
+#~ "C es un lenguaje mÃs detallado, por lo que no se sorprenda de que el "
+#~ "archivo contiene un gran cantidad de cÃdigo. La mayor parte es cÃdigo de "
+#~ "plantilla. Carga una ventana (vacÃa) y se muestra. A continuaciÃn se "
+#~ "ofrecen mÃs detalles; omita esta lista si entiende los conceptos bÃsicos:"
+
+#~ 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 <code>gi18n</code> (internationalization) libraries. "
+#~ "Functions from these libraries are used in the rest of the code."
+#~ msgstr ""
+#~ "Las tres lÃneas <code>#include</code> en la parte superior incluyen las "
+#~ "bibliotecas <code>config</code> (Ãtil para definiciones de construcciÃn "
+#~ "de autoconf), <code>gtk</code> (interfaz de usuario) y <code>gi18n</code> "
+#~ "(internacionalizaciÃn). Las funciones de estas bibliotecas se usan en el "
+#~ "resto del cÃdigo."
+
+#~ 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."
+#~ msgstr ""
+#~ "La funciÃn <code>create_window</code> crea una ventana (vacÃa) nueva y "
+#~ "conecta una seÃal para salir de la aplicaciÃn cuando se cierra esa "
+#~ "ventana."
+
+#~ 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 "
+#~ "application. The <code>gtk_main</code> function starts the GTK main loop, "
+#~ "which runs the user interface and starts listening for events (like "
+#~ "clicks and key presses)."
+#~ msgstr ""
+#~ "La funciÃn <code>main</code> se ejecuta de manera predeterminada cuando "
+#~ "inicia una aplicaciÃn en C. Llama a unas pocas funciones que configuran y "
+#~ "ejecutan la aplicaciÃn. La funciÃn <code>gtk_main</code> inicia el bucle "
+#~ "principal de GTK+, que ejecuta la interfaz de usuario y comienza a "
+#~ "escuchar eventos (como pulsaciones del ratÃn y del teclado)."
+
+#~ msgid ""
+#~ "The <code>ENABLE_NLS</code> conditional definition sets up <code>gettext</"
+#~ "code>, which is a framework for translating applications. These functions "
+#~ "specify how translation tools should handle your app when you run them."
+#~ msgstr ""
+#~ "La definiciÃn condicional <code>ENABLE_NLS</code> configura "
+#~ "<code>gettext</code>, que es un entorno de trabajo para traducir "
+#~ "aplicaciones. Estas funciones especifican cÃmo deben manejar su "
+#~ "aplicaciÃn las herramientas de traducciÃn cuando las ejecuta."
+
+#~ 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 even other containers. Here we will use the simplest available "
+#~ "container, a <code>GtkBox</code>:"
+#~ msgstr ""
+#~ "Ahora se darà vida a la ventana vacÃa. GTK+ organiza la interfaz de "
+#~ "usuario con varios <code>GtkContainer</code> que pueden contener otros "
+#~ "widgets e incluso otros contenedores. Aquà se usarà el contenedor mÃs "
+#~ "sencillo disponible, una <code>GtkBox</code>:"
+
+#~ 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 "
+#~ "container. The macros like <code>GTK_BOX</code> are used for dynamic type "
+#~ "checking and casting which is needed as C doesn't support object-"
+#~ "orientation out-of-the-box."
+#~ msgstr ""
+#~ "La primera lÃnea crea los widgets que se quieren usar: un botÃn para "
+#~ "abrir una imagen, el widget para ver la imagen y la caja que se usarà "
+#~ "como contenedor. Las macros como <code>GTK_BOX</code> se usan para "
+#~ "comprobaciones de tipos dinÃmicos y conversiones de tipos necesarias, ya "
+#~ "que C no soporta orientaciÃn a objetos."
+
+#~ 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 while the button will just be as big as needed. You will notice "
+#~ "that we don't set explicit sizes on the widgets. In GTK this is usually "
+#~ "not needed as it makes it much easier to have a layout that looks good in "
+#~ "different window sizes. Next, the box is added to the window."
+#~ msgstr ""
+#~ "Las llamadas a <code>gtk_box_pack_start</code> aÃaden los dos widgets a "
+#~ "la caja y definen su comportamiento. La imagen se expandirà en cualquier "
+#~ "espacio disponible, mientras que el botÃn serà tan grande como se "
+#~ "necesite. Se darà cuenta de que no se establecen tamaÃos explÃcitos de "
+#~ "los widgets. Generalmente, en GTK+ no se necesita ya que hace que sea "
+#~ "mucho mÃs sencillo tener una distribuciÃn que se ve bien con diferentes "
+#~ "tamaÃos de la ventana. A continuaciÃn, se aÃade la caja a la ventana."
+
+#~ 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 <em>clicked</em> signal, which we can connect to some action. "
+#~ "This is done using the <code>g_signal_connect</code> function which tells "
+#~ "GTK to call the <code>on_image_open</code> function when the button is "
+#~ "clicked and to pass the image as an additional argument to that function. "
+#~ "We will define the <em>callback</em> in the next section."
+#~ msgstr ""
+#~ "Se debe definir queÌ sucede cuando el usuario pulsa el botoÌn. GTK+ usa el "
+#~ "concepto de <em>senÌales</em>. Cuando se pulsa el botoÌn, emite la senÌal "
+#~ "<em>clicked</em>, que se puede conectar a alguna accioÌn. Esto se ha hecho "
+#~ "usando el meÌtodo <code>g_signal_connect</code>, que indica a GTK+ que "
+#~ "llame a la funcioÌn <code>on_image_open</code> cuando se pulsa el botoÌn y "
+#~ "que pase la imagen como un argumento adicional a la funcioÌn. El "
+#~ "<em>retorno de la llamada</em> se definiraÌ en la siguiente seccioÌn."
+
+#~ msgid ""
+#~ "The last <code>g_signal_connect()</code> makes sure that the application "
+#~ "exits when the window is closed."
+#~ msgstr ""
+#~ "La Ãltima <code>g_signal_connect()</code> se asegura de que la aplicaciÃn "
+#~ "finaliza al cerrar la ventana."
+
+#~ 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 show the window and all the widgets it contains."
+#~ msgstr ""
+#~ "Como Ãltimo paso, asegÃrese de reemplazar la llamada "
+#~ "<code>gtk_widget_show</code>, en la funciÃn <code>main()</code>, por "
+#~ "<code>gtk_widget_show_all()</code>, para mostrar todos los widgets que "
+#~ "contiene la ventana."
+
+#~ 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()</code> method."
+#~ msgstr ""
+#~ "Ahora se definirà el manejador de la seÃal para la seÃal <em>clicked</em> "
+#~ "en el botÃn mencionado anteriormente. AÃada este cÃdigo antes del mÃtodo "
+#~ "<code>create_window()</code>."
+
+#~ 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 <em>clicked</em> doesn't have any. Next is the <code>user_data</code> "
+#~ "argument which is a pointer to the data we passed when connecting the "
+#~ "signal. In this case it is our <code>GtkImage</code> object."
+#~ msgstr ""
+#~ "El primer argumento de la seÃal es siempre el widget que envÃa la seÃal. "
+#~ "Algunas veces se aÃaden otros argumentos relativos a la seÃal, pero "
+#~ "<em>clicked</em> no tiene ninguno. Lo siguiente es el argumento "
+#~ "<code>user_data</code>, que es un puntero a los datos que se han pasado "
+#~ "al conectar la seÃal. En este caso, es el objeto <code>GtkImage</code>."
+
+#~ 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 the title of the dialog, the parent window of the dialog and "
+#~ "several options like the number of buttons and their corresponding values."
+#~ msgstr ""
+#~ "La siguiente lÃnea interesante es en la que se crea el diÃlogo para "
+#~ "elegir el archivo usando <code>gtk_file_chooser_dialog_new</code>. La "
+#~ "funciÃn toma el tÃtulo del diÃlogo, la ventana padre del diÃlogo y varias "
+#~ "opciones como el nÃmero de botones y sus valores correspondientes."
+
+#~ 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 add all kinds of files supported by <code>GdkPixbuf</code> (which "
+#~ "includes most image formats like PNG and JPEG) to the filter. Finally, we "
+#~ "set this filter to be the <gui>Open</gui> dialog's filter."
+#~ msgstr ""
+#~ "Las dos liÌneas siguientes restringen el diaÌlogo <gui>Abrir</gui> para que "
+#~ "soÌlo muestre archivos que se puedan abrir con ÂGtkImageÂ. Primero se crea "
+#~ "un objeto de filtro; luego se anÌaden los tipos de archivos soportados por "
+#~ "el <code>GdkPixbuf</code> (que incluye la mayoriÌa de los formatos de "
+#~ "imagen como PNG y JPEG) al filtro. Por uÌltimo, se establece que este "
+#~ "filtro sea el filtro del diaÌlogo <gui>Abrir</gui>."
+
+#~ 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, "
+#~ "<code>gtk_dialog_run</code> will return the value "
+#~ "<code>GTK_RESPONSE_ACCEPT</code> (it would return "
+#~ "<code>GTK_RESPONSE_CANCEL</code> if the user clicked <gui>Cancel</gui>). "
+#~ "The <code>switch</code> statement tests for this."
+#~ msgstr ""
+#~ "<code>gtk_dialog_run</code> muestra el diÃlogo <gui>Abrir</gui>. El "
+#~ "diÃlogo esperarà a que el usuario elija una imagen; cuando lo haga, "
+#~ "<code>gtk_dialog_run</code> devolverà el valor <code>GTK_RESPONSE_ACCEPT</"
+#~ "code> (devolverÃa <code>GTK_RESPONSE_CANCEL</code> si el usuario pulsara "
+#~ "<gui>Cancelar</gui>). La sentencia <code>switch</code> comprueba esto."
+
+#~ 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 "
+#~ "selected by the user. The GtkImage will then load and display the chosen "
+#~ "image."
+#~ msgstr ""
+#~ "Asumiendo que el usuario pulsà <gui>Abrir</gui>, la siguiente lÃnea "
+#~ "establece la propiedad <code>file</code> de la ÂGtkImage con el nombre "
+#~ "del archivo de imagen seleccionado por el usuario. La ÂGtkImage cargarà "
+#~ "y mostrarà la imagen elegida."
+
+#~ 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."
+#~ msgstr ""
+#~ "Al final de la lÃnea de este mÃtodo, se destruye el diÃlogo <gui>Abrir</"
+#~ "gui> porque ya no se necesita mÃs. El diÃlogo se oculta automÃticamente "
+#~ "al destruirlo."
+
+#~ 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> "
+#~ "and enjoy!"
+#~ msgstr ""
+#~ "Si todavÃa no lo ha hecho, elija la aplicaciÃn <file>Debug/src/visor-"
+#~ "imagenes</file> en el diÃlogo que aparece. Finalmente, pulse "
+#~ "<gui>Ejecutar</gui> y disfrute."
+
+#~ msgid ""
+#~ "If you run into problems with the tutorial, compare your code with this "
+#~ "<link href=\"image-viewer/image-viewer.c\">reference code</link>."
+#~ msgstr ""
+#~ "Si tiene problemas con este tutorial, compare su coÌdigo con este <link "
+#~ "href=\"image-viewer/image-viewer.c\">coÌdigo de referencia</link>."
+
+#~ msgid ""
+#~ "@@image: 'media/helloWorldJs.png'; md5=4c88a27211dfd1b33e504c9f78602f2d"
+#~ msgstr ""
+#~ "@@image: 'media/helloWorldJs.png'; md5=4c88a27211dfd1b33e504c9f78602f2d"
+
+#~ msgid "Tutorial for a hello world application"
+#~ msgstr "Tutorial para una aplicaciÃn ÂHola mundoÂ"
+
+#~ msgid "Hello World"
+#~ msgstr "Hola mundo"
+
+#~ msgid ""
+#~ "In this tutorial we'll construct a small application, Hello World, using "
+#~ "JavaScript and GTK+. To do and run all the code examples yourself, you "
+#~ "need an editor to write code in, Terminal and GNOME 3 or higher installed "
+#~ "into your computer. In this tutorial we'll go through the following parts:"
+#~ msgstr ""
+#~ "En este tutorial se construirà una pequeÃa aplicaciÃn, ÂHola mundoÂ, "
+#~ "usando JavaScript y GTK+. Para escribirla y poder ejecutar el cÃdigo, "
+#~ "necesitarà un editor en el que escribir el cÃdigo, una terminal y GNOME 3 "
+#~ "o superior instalado en su equipo."
+
+#~ msgid "Label for the window"
+#~ msgstr "Etiqueta para la ventana"
+
+#~ msgid "helloWorld.js"
+#~ msgstr "helloWorld.js"
+
+#~ msgid "Running the application form Terminal"
+#~ msgstr "Ejecutar la aplicaciÃn desde la terminal"
+
+#~ msgid ""
+#~ "This line tells how to run the script. It needs to be the first line of "
+#~ "the code and it needs to be executable. To get the execution rights go to "
+#~ "terminal and run in right folder: chmod +x scriptname. Or you can use the "
+#~ "graphical filemanager. Just go to the right folder where your code is, "
+#~ "right click you code file, choose properties, click the permissions tab "
+#~ "and check the box for allow executing file as a program"
+#~ msgstr ""
+#~ "Esta lÃnea indica cÃmo ejecutar el script. Debe ser la primera lÃnea del "
+#~ "cÃdigo y debe ser ejecutable. Para obtener permisos de ejecuciÃn vaya a "
+#~ "la terminal y ejecute lo siguiente en la carpeta adecuada: chmod +x "
+#~ "nombrescript. TambiÃn puede usar el gestor de archivo. Simplemente vaya a "
+#~ "la carpeta donde està el cÃdigo, pulse con el botÃn derecho sobre el "
+#~ "archivo de cÃdigo y elija ÂPropiedadesÂ, pulse en la pestaÃa ÂPermisos y "
+#~ "marque la casilla para permitir ejecutar el archivo como un programa."
+
+#~ msgid ""
+#~ "In order to have a working program we need to import a GObject "
+#~ "Introspection -library to our use. For working UI, we need Gtk. Gtk is "
+#~ "imported in the beginning so we have it in our use everywhere."
+#~ msgstr ""
+#~ "Para que el programa funcione se debe importar una biblioteca de "
+#~ "introspecciÃn de GObject. Para que funcione la IU se necesita GTK+, que "
+#~ "se importa al inicio, por lo que està en uso en todos los sitios."
+
+#~ msgid ""
+#~ "After importing Gtk, we need to initialize it. After initializing Gtk we "
+#~ "can start building our first window. We do this by creating a variable "
+#~ "mywindow and assign it a new Gtk.Window of type TOPLEVEL."
+#~ msgstr ""
+#~ "DespuÃs de importar GTK+, se debe inicializar. DespuÃs de inicializar GTK"
+#~ "+ se puede empezar a construir la primera ventana. Esto se hace creando "
+#~ "una variable llamada Âmywindow y asignÃndole una  ÂGtk.Window de tipo "
+#~ "ÂTOPLEVELÂ."
+
+#~ msgid ""
+#~ "After setting up our first window we'll give the window a property called "
+#~ "title. Title can be any string you want it to be, to be on the safe side "
+#~ "it is good to stick to UTF-8 encoding."
+#~ msgstr ""
+#~ "DespuÃs de configurar la primera ventana, se le asignarà una propiedad "
+#~ "llamada ÂtitleÂ. El tÃtulo puede ser la cadena que quiera pero, para "
+#~ "estar seguro, es conveniente que tenga una codificaciÃn UTF-8."
+
+#~ msgid "This is what the whole program looks like."
+#~ msgstr "El programa completo se parece a esto."
+
+#~ msgid ""
+#~ "To run this application open Terminal, go to the folder where your "
+#~ "application is stored and then run"
+#~ msgstr ""
+#~ "Para ejecutar esta aplicaciÃn ,abra una terminal, vaya a la carpeta donde "
+#~ "està la aplicaciÃn y ejecute"
+
+#~ msgid "GJS_PATH=`pwd` gjs helloWorld.js"
+#~ msgstr "GJS_PATH=`pwd` gjs helloWorld.js"
+
+#~ msgid ""
+#~ "@@image: 'media/guitar-tuner.png'; md5=f0b7ed4cdc2729d2d0f4d38b829db61e"
+#~ msgstr ""
+#~ "@@image: 'media/guitar-tuner.png'; md5=f0b7ed4cdc2729d2d0f4d38b829db61e"
+
+#~ msgid ""
+#~ "@@image: 'media/guitar-tuner-glade.png'; "
+#~ "md5=f6606525443ab2160f53a87a454364d0"
+#~ msgstr ""
+#~ "@@image: 'media/guitar-tuner-glade.png'; "
+#~ "md5=f6606525443ab2160f53a87a454364d0"
+
+#~ msgid ""
+#~ "@@image: 'media/guitar-tuner-pipeline.png'; "
+#~ "md5=5adc952909d92af5dae6954781b4ad5f"
+#~ msgstr ""
+#~ "@@image: 'media/guitar-tuner-pipeline.png'; "
+#~ "md5=5adc952909d92af5dae6954781b4ad5f"
+
+#~ msgid ""
+#~ "Use <link href=\"http://developer.gnome.org/platform-overview/stable/gtk";
+#~ "\">Gtk+</link> and <link href=\"http://developer.gnome.org/platform-";
+#~ "overview/stable/gstreamer\">GStreamer</link> to build a simple guitar "
+#~ "tuner application for GNOME. Shows off how to use the interface designer."
+#~ msgstr ""
+#~ "Usar <link href=\"http://developer.gnome.org/platform-overview/stable/gtk";
+#~ "\">GTK+</link> y <link href=\"http://developer.gnome.org/platform-";
+#~ "overview/stable/gstreamer\">GStreamer</link> para construir un sencillo "
+#~ "afinador de guitarra para GNOME. Muestra cÃmo usar el diseÃador de "
+#~ "interfaces."
+
+#~ msgid "2 Guitar Tuner"
+#~ msgstr "2. Afinador de guitarra"
+
+#~ msgid ""
+#~ "In this tutorial you will create an application which plays tones that "
+#~ "you can use to tune a guitar. You will learn how to:"
+#~ msgstr ""
+#~ "En este tutorial se va a hacer un programa que reproduce tonos que puede "
+#~ "usar para afinar su guitarra. Aprenderà a:"
+
+#~ msgid ""
+#~ "Set up a basic project using the <link xref=\"getting-ready\">Anjuta IDE</"
+#~ "link>."
+#~ msgstr ""
+#~ "Configurar un proyecto bÃsico usando el <link xref=\"getting-ready\">EID "
+#~ "Anjuta</link>."
+
+#~ msgid "Create a simple GUI with <app>Anjuta</app>'s UI designer."
+#~ msgstr "Crear una IGU sencilla con el diseÃador de IU de <app>Anjuta</app>."
 
-#: C/guitar-tuner.py.page:21(title) C/guitar-tuner.cpp.page:21(title)
-#: C/guitar-tuner.c.page:21(title)
-msgid "Guitar Tuner"
-msgstr "Afinador de guitarra"
+#~ msgid ""
+#~ "Use the <link href=\"http://developer.gnome.org/platform-overview/stable/";
+#~ "gstreamer\">GStreamer</link> library to play sounds."
+#~ msgstr ""
+#~ "Usar la biblioteca <link href=\"http://developer.gnome.org/platform-";
+#~ "overview/stable/gstreamer\">GStreamer</link> para reproducir sonidos."
 
-#: C/guitar-tuner.py.page:24(p) C/guitar-tuner.cpp.page:24(p)
-#: C/guitar-tuner.c.page:24(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:"
-msgstr ""
-"En este tutorial se va a hacer un programa que reproduce tonos que puede "
-"usar para afinar su guitarra. Aprenderà a:"
+#~ msgid "Create a project in <app>Anjuta</app>"
+#~ msgstr "Crear un proyecto en <app>Anjuta</app>"
 
-#: C/guitar-tuner.py.page:26(p) C/guitar-tuner.cpp.page:26(p)
-#: C/guitar-tuner.c.page:26(p)
-msgid "Set up a basic project in Anjuta"
-msgstr "Configurar un proyecto bÃsico en Anjuta"
+#~ msgid ""
+#~ "Click on the <gui>Vala</gui> tab and select <gui>Gtk+ (Simple)</gui>. "
+#~ "Click <gui>Continue</gui>, and fill out your details on the next few "
+#~ "pages. Use <file>guitar-tuner</file> as project name and directory."
+#~ msgstr ""
+#~ "Pulse en la pestaÃa <gui>Vala</gui> y seleccione <gui>GTK+ (simple)</"
+#~ "gui>. Pulse <gui>Continuar</gui>, y rellene los detalles en las "
+#~ "siguientes pÃginas. Use <file>afinador-guitarra</file> como nombre del "
+#~ "proyecto y de la carpeta."
 
-#: C/guitar-tuner.py.page:27(p) C/guitar-tuner.cpp.page:27(p)
-#: C/guitar-tuner.c.page:27(p)
-msgid "Create a simple GUI with Anjuta's UI designer"
-msgstr "Crear una IGU sencilla con el diseÃador IU de Anjuta"
+#~ msgid ""
+#~ "Make sure that <gui>Configure external packages</gui> is switched "
+#~ "<gui>ON</gui>. On the next page, select <link href=\"http://valadoc.org/";
+#~ "gstreamer-0.10/index.htm\"><em>gstreamer-0.10</em></link> from the list "
+#~ "to include the GStreamer library in your project. Click <gui>Continue</"
+#~ "gui>"
+#~ msgstr ""
+#~ "AsegÃrese de que <gui>Configurar paquetes externos</gui> està "
+#~ "<gui>activada</gui>. En la siguiente pÃgina, seleccione <link href="
+#~ "\"http://valadoc.org/gstreamer-0.10/index.htm\";><em>gstreamer-0.10</em></"
+#~ "link> de la lista para incluir la biblioteca GStreamer en su proyecto. "
+#~ "Pulse <gui>Continuar</gui>"
 
-#: C/guitar-tuner.py.page:28(p) C/guitar-tuner.cpp.page:28(p)
-#: C/guitar-tuner.c.page:28(p)
-msgid "Use GStreamer to play sounds"
-msgstr "Usar GStreamer para reproducir sonidos"
+#~ msgid ""
+#~ "Click <gui>Apply</gui> and the project will be created for you. From the "
+#~ "<gui>Project</gui> or <gui>Files</gui> tab, open <file>src/guitar_tuner."
+#~ "vala</file> by double-clicking on it. You should see some code which "
+#~ "starts with the lines:"
+#~ msgstr ""
+#~ "Pulse <gui>Aplicar</gui> y se crearà el proyecto. Abra <file>src/"
+#~ "guitar_tuner.vala</file> desde las pestaÃas <gui>Proyecto</gui> o "
+#~ "<gui>Archivo</gui> pulsando dos veces sobre Ãl. DeberÃa ver algo de "
+#~ "cÃdigo que comience con las lÃneas:"
 
-#: C/guitar-tuner.py.page:33(p)
-msgid "Basic knowledge of the Python programming language"
-msgstr "Conocimiento baÌsico del lenguaje de programacioÌn Python"
+#~ msgid ""
+#~ "The code loads an (empty) window from the user interface description file "
+#~ "and displays it. More details are given below; you may choose to skip "
+#~ "this list if you understand the basics:"
+#~ msgstr ""
+#~ "El cÃdigo carga una ventana (vacÃa) desde el archivo de descripciÃn de "
+#~ "interfaz de usuario y la muestra. Se ofrecen mÃs detalles a continuaciÃn; "
+#~ "omita esta lista si entiende los conceptos bÃsicos:"
 
-#: C/guitar-tuner.py.page:47(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 "
-"<file>guitar-tuner</file> as project name and directory."
-msgstr ""
-"Seleccione <gui>PyGTK (automake)</gui> en la pestaÃa <gui>Python</gui>, "
-"pulse <gui>Continuar</gui>, y rellene los detalles en las siguientes "
-"pÃginas. Use <file>afinador-guiterra</file> como nombre del proyecto y de la "
-"carpeta."
+#~ msgid ""
+#~ "The constructor of the <code>Main</code> class creates a new window by "
+#~ "opening a GtkBuilder file (<file>src/guitar-tuner.ui</file>, defined a "
+#~ "few lines above), connecting its signals and then displaying it in a "
+#~ "window. This GtkBuilder file contains a description of a user interface "
+#~ "and all of its elements. You can use Anjuta's editor to design GtkBuilder "
+#~ "user interfaces."
+#~ msgstr ""
+#~ "El constructor de la clase <code>Main</code> crea una ventana nueva "
+#~ "abriendo un archivo de GtkBuilder (<file>src/guitar-tuner.ui</file>, "
+#~ "definido unas pocas lÃneas mÃs arriba), conectando sus seÃales y "
+#~ "mostrÃndolo en una ventana. El archivo de GtkBuilder contiene una "
+#~ "descripciÃn de una interfaz de usuario y de todos sus elementos. Puede "
+#~ "usar el editor Anjuta para diseÃar interfaces de usuario con GtkBuilder."
 
-#: C/guitar-tuner.py.page:50(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</"
-"gui> tabs. You should see some code which starts with the lines:"
-msgstr ""
-"Pulse <gui>Aplicar</gui> y se crearaÌ el proyecto. Abra <file>src/afinador-"
-"guitarra.py</file> desde las pestanÌas <gui>Proyecto</gui> o <gui>Archivo</"
-"gui>. DeberiÌa ver algo de coÌdigo que comience con las liÌneas:"
+#~ msgid ""
+#~ "Connecting signals is how you define what happens when you push a button, "
+#~ "or when some other event happens. Here, the <code>on_destroy</code> "
+#~ "function is called (and quits the app) when you close the window."
+#~ msgstr ""
+#~ "Conectar seÃales es como se define lo que pasa cuando pulsa un botÃn, o "
+#~ "cuando ocurre algÃn otro evento. AquÃ, se llama a la funciÃn "
+#~ "<code>on_destroy</code> (y se sale de la aplicaciÃn) cuando cierra la "
+#~ "ventana."
 
-#: C/guitar-tuner.py.page:59(title)
-msgid "Run the code for the first time"
-msgstr "Ejecutar el cÃdigo por primera vez"
+#~ msgid ""
+#~ "The static <code>main</code> function is run by default when you start a "
+#~ "Vala application. It calls a few functions which create the Main class, "
+#~ "set up and then run the application. The <code>Gtk.main</code> function "
+#~ "starts the GTK main loop, which runs the user interface and starts "
+#~ "listening for events (like clicks and key presses)."
+#~ msgstr ""
+#~ "La funciÃn estÃtica <code>main</code> se ejecuta de manera predeterminada "
+#~ "cuando inicia una aplicaciÃn en Vala. Llama a algunas funciones que crean "
+#~ "la clase ÂMain y configuran y ejecutan la aplicaciÃn. La funciÃn "
+#~ "<code>Gtk.main</code> inicia el bucle principal de GTK+, que ejecuta la "
+#~ "interfaz de usuario y empieza a escuchar eventos (como pulsaciones del "
+#~ "ratÃn y del teclado)."
 
-#: C/guitar-tuner.py.page:60(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 "
-"given below; skip this list if you understand the basics:"
-msgstr ""
-"La mayor parte del cÃdigo del archivo se usa como plantilla. Carga una "
-"ventana (vacÃa) desde el archivo de descripciÃn de interfaz de usuario y la "
-"muestra. Se ofrecen mÃs detalles a continuaciÃn; omita esta lista si "
-"entiende los conceptos bÃsicos:"
+#~ msgid ""
+#~ "This code is ready to be used, so you can compile it by clicking "
+#~ "<guiseq><gui>Build</gui><gui>Build Project</gui></guiseq> (or press "
+#~ "<keyseq><key>Shift</key><key>F7</key></keyseq>). When you do this, a "
+#~ "dialog will appear. Change the <gui>Configuration</gui> to <gui>Default</"
+#~ "gui> and then click <gui>Execute</gui> to configure the build directory. "
+#~ "You only need to do this once, for the first build."
+#~ msgstr ""
+#~ "Este cÃdigo està listo para usarse, por lo que puede compilarlo pulsando "
+#~ "<guiseq><gui>Construir</gui><gui>Construir proyecto</gui></guiseq> (o "
+#~ "pulsando <keyseq><key>MayÃs</key><key>F7</key></keyseq>). Cuando lo haga, "
+#~ "aparecerà un diÃlogo. Cambie la <gui>ConfiguraciÃn</gui> a "
+#~ "<gui>Predeterminada</gui> y pulse <gui>Ejecutar</gui> para configurar la "
+#~ "carpeta de construcciÃn. SÃlo tendrà que hacer esto una vez, para la "
+#~ "primera construcciÃn."
 
-#: C/guitar-tuner.py.page:64(p)
-msgid ""
-"The <code>import</code> lines at the top include the tell Python to load the "
-"user interface and system libraries needed."
-msgstr ""
-"Las lÃneas <code>import</code> en la parte superior indican a Python que "
-"cargue la interfaz de usuario y las bibliotecas del sistema necesarias."
+#~ msgid "Create the user interface"
+#~ msgstr "Crear la interfaz de usuario"
 
-#: C/guitar-tuner.py.page:68(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 "
-"file (<file>src/guitar-tuner.ui</file>) and the signals are connected."
-msgstr ""
-"Se declara una clase que estarà en la clase principal de la aplicaciÃn. En "
-"el mÃtodo <code>__init__</code> se carga la ventana principal desde el "
-"archivo de GtkBuilder (<file>src/guitar-tuner.ui</file>) y se conectan las "
-"seÃales."
+#~ 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 the user interface, open <file>src/guitar_tuner.ui</file> by double-"
+#~ "clicking on it in the <gui>Project</gui> or <gui>Files</gui> section. "
+#~ "This will switch to the interface designer. The design window is in the "
+#~ "center; <gui>Widgets</gui> and the widget properties are on the right, "
+#~ "and the <gui>Palette</gui> of available widgets is on the left."
+#~ msgstr ""
+#~ "El archivo de GtkBuilder <file>src/guitar_tuner.ui</file> contiene una "
+#~ "descripciÃn de la interfaz de usuario (IU), definida en la parte superior "
+#~ "de la clase. Para editar la interfaz de usuario, abra <file>src/"
+#~ "guitar_tuner.ui</file> pulsando dos veces sobre el archivo en las "
+#~ "secciones <gui>Proyecto</gui> or <gui>Archivos</gui>. Esto cambiarà al "
+#~ "diseÃador de interfaces. La ventana de diseÃo està en el centro; los "
+#~ "<gui>Widgets</gui> y sus propiedades estÃn a la izquierda, y la "
+#~ "<gui>Paleta</gui> de los widgets disponibles està a la derecha."
 
-#: C/guitar-tuner.py.page:71(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 "
-"called (and quits the app) when you close the window."
-msgstr ""
-"Conectar seÃales es como se define lo que pasa cuando pulsa un botÃn, o "
-"cuando ocurre algÃn otro evento. AquÃ, se llama al mÃtodo <code>destroy</"
-"code> (y se sale de la aplicaciÃn) cuando cierra la ventana."
+#~ 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 the six guitar strings."
+#~ msgstr ""
+#~ "La distribuciÃn de cualquier IU en GTK+ se organiza usando cajas y "
+#~ "tablas. Aquà se usarà una GtkButtonBox vertical para asignar seis "
+#~ "GtkButtons, uno para cada una de las cuerdas de la guitarra."
 
-#: C/guitar-tuner.py.page:74(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 "
-"main loop to bring up the window."
-msgstr ""
-"La funciÃn <code>main</code> se ejecuta de manera predeterminada cuando "
-"inicia una aplicaciÃn Python. Simplemente crea una instancia de la clase "
-"principal e inicia el bucle principal para mostrar la ventana."
+#~ 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 click on the design window in the center to place it into the "
+#~ "window. A dialog will display where you can set the <gui>Number of items</"
+#~ "gui> to <input>6</input>. Then click <gui>Create</gui>."
+#~ msgstr ""
+#~ "En la pestaÃa <gui>Paleta</gui>, en la secciÃn <gui>Contenedores</gui>, "
+#~ "seleccione una <gui>Caja de botones</gui> (GtkButtonBox) pulsando sobre "
+#~ "el icono. Pulse en el centro del diseÃo de la ventana para colocarla en "
+#~ "la ventana. Se mostrarà un diÃlogo donde puede establecer el <gui>NÃmero "
+#~ "de elementos</gui> a <input>6</input>. Luego pulse en <gui>Crear</gui>."
 
-#: C/guitar-tuner.py.page:79(p)
-msgid ""
-"This code is ready to be used, so you can run it by clicking "
-"<guiseq><gui>Run</gui><gui>Execute</gui></guiseq>."
-msgstr ""
-"Este cÃdigo està listo para usarse, por lo que puede ejecutarlo pulsando "
-"<guiseq><gui>Ejecutar</gui><gui>Ejecutar</gui></guiseq>."
+#~ 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."
+#~ msgstr ""
+#~ "TambiÃn puede cambiar el <gui>NÃmero de elementos</gui> y la "
+#~ "<gui>OrientaciÃn</gui> en la pestaÃa <gui>General</gui> a la derecha."
 
-#: C/guitar-tuner.py.page:84(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>. "
-"This will switch to the interface designer. The design window is in the "
-"center; widgets and widgets' properties are on the right, and the palette of "
-"available widgets is on the left."
-msgstr ""
-"El archivo de GtkBuilder contiene una descripciÃn de la interfaz de usuario "
-"(IU). Para editar la interfaz de usuario, abra <file>src/guitar_tuner.ui</"
-"file>. Esto cambiarà al diseÃador de interfaces. La ventana de diseÃo està "
-"en el centro; los widgets y sus propiedades estÃn a la derecha, y la paleta "
-"de los widgets disponibles està a la izquierda."
-
-#: C/guitar-tuner.py.page:86(p) C/guitar-tuner.cpp.page:86(p)
-#: C/guitar-tuner.c.page:90(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</"
-"gui>, one for each of the six guitar strings."
-msgstr ""
-"La distribuciÃn de cualquier IU en GTK+ se organiza usando cajas y tablas. "
-"Aquà se usarà una <gui>GtkButtonBox</gui> vertical para asignar seis "
-"<gui>GtkButtons</gui>, uno para cada una de las cuerdas de la guitarra."
+#~ 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 the first section of the GtkButtonBox by clicking in the first "
+#~ "section."
+#~ msgstr ""
+#~ "Ahora, desde la secciÃn <gui>Controlar y mostrar</gui> de la <gui>Paleta</"
+#~ "gui> elija un <gui>BotÃn</gui> (GtkButton) pulsando sobre Ãl. SitÃelo en "
+#~ "la primera secciÃn de la GtkButtonBox pulsando sobre ella."
 
-#: C/guitar-tuner.py.page:92(p) C/guitar-tuner.cpp.page:92(p)
-#: C/guitar-tuner.c.page:96(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 "
-"<gui>Properties</gui> pane, set the number of elements to 6 (for the six "
-"strings) and the orientation to vertical."
-msgstr ""
-"Seleccione una <gui>GtkButtonBox</gui> de la secciÃn <gui>Contenedor</gui> "
-"de la <gui>Paleta</gui> de la derecha y pÃngalo en la ventana. En el panel "
-"de <gui>Propiedades</gui>, establezca el nÃmero de elementos a Â6Â (para las "
-"seis cuerdas) y la orientaciÃn a ÂverticalÂ."
+#~ 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</gui>. This will be the low E guitar string."
+#~ msgstr ""
+#~ "Mientras el botÃn està seleccionado, cambie la propiedad <gui>Etiqueta</"
+#~ "gui> en la pestaÃa <gui>General</gui> a <gui>E</gui>. Esta serà la cuerda "
+#~ "Mi grave de la guitarra."
 
-#: C/guitar-tuner.py.page:96(p) C/guitar-tuner.cpp.page:96(p)
-#: C/guitar-tuner.c.page:100(p)
-msgid ""
-"Now, choose a <gui>GtkButton</gui> from the palette and put it into the "
-"first part of the box."
-msgstr ""
-"Ahora, elija un <gui>GtkButton</gui> de la paleta y pÃngalo en la primera "
-"parte de la caja."
+#~ msgid ""
+#~ "The <gui>General</gui> tab is located in the <gui>Widgets</gui> section "
+#~ "on the right."
+#~ msgstr ""
+#~ "La pestaÃa <gui>General</gui> se encuentra en la secciÃn <gui>Widgets</"
+#~ "gui> de la derecha."
 
-#: C/guitar-tuner.py.page:99(p) C/guitar-tuner.c.page:103(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."
-msgstr ""
-"Mientras el botÃn està seleccionado, cambie la propiedad <gui>Etiqueta</gui> "
-"en la pestaÃa <gui>Widgets</gui> a <gui>E</gui>. Esta serà la cuerda Mi "
-"grave."
+#~ 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 use this to connect a signal handler that will be called when the "
+#~ "button is clicked by the user. To do this, click on the signal and type "
+#~ "<code>main_on_button_clicked</code> in the <gui>Handler</gui> column and "
+#~ "press the <key>Enter</key>."
+#~ msgstr ""
+#~ "Cambie a la pestaÃa <gui>SeÃales</gui> dentro de la secciÃn <gui>Widgets</"
+#~ "gui> a la derecha y busque la seÃal <code>clicked</code> del botÃn. Puede "
+#~ "usar esto para conectar un manejador de seÃal al que se llamarà cuando el "
+#~ "usuario pulse el botÃn. Para hacer esto, pulse sobre la seÃal, escriba "
+#~ "<code>main_on_button_clicked</code> en la columna <gui>Manejador</gui> y "
+#~ "pulse <key>Intro</key>."
 
-#: C/guitar-tuner.py.page:102(p) C/guitar-tuner.c.page:106(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 "
-"connect a signal handler that will be called when the button is clicked by "
-"the user. To do this, click on the signal and type <code>on_button_clicked</"
-"code> in the <gui>Handler</gui> column and press <key>Return</key>."
-msgstr ""
-"Cambie a la pestanÌa <gui>SenÌales</gui> (dentro de la pestanÌa <gui>Widgets</"
-"gui>) y busque la senÌal <code>clicked</code> del botoÌn. Puede usar esto para "
-"conectar un manejador de senÌal al que se llamaraÌ cuando el usuario pulse el "
-"botoÌn. Para hacer esto, pulse sobre la senÌal, escriba "
-"<code>on_button_clicked</code> en la columna <gui>Manejador</gui> y pulse "
-"<key>Intro</key>."
-
-#: C/guitar-tuner.py.page:114(title)
-msgid "Write the signal handler"
-msgstr "Escribir el manejador de senÌales"
-
-#: C/guitar-tuner.py.page:115(p) C/guitar-tuner.c.page:119(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 "
-"to add that function in the source file."
-msgstr ""
-"El el diseÃador de interfaces, se ha hecho que todos los botones llamen a la "
-"misma funciÃn, <gui>on_button_clicked</gui>, cuando se pulsan. Se debe "
-"aÃadir esta funciÃn al archivo de cÃdigo fuente."
+#~ 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>."
+#~ msgstr ""
+#~ "Repita los pasos anteriores para el resto de botones, aÃadiendo las 5 "
+#~ "cuerdas restantes con los nombres <em>A</em>, <em>D</em>, <em>G</em>, "
+#~ "<em>B</em>, y <em>e</em>."
 
-#: C/guitar-tuner.py.page:116(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 "
-"to set the signal name. Now take the row where you set the <gui>clicked</"
-"gui> signal and drag it into to the source file inside the class. The "
-"following code will be added to your source file:"
-msgstr ""
-"Para hacer esto, abra <file>guitar_tuner.py</file> mientras el archivo de la "
-"interfaz de usuario està abierto. Cambie a la pestaÃa <gui>SeÃales</gui>, "
-"que ya ha usado para establecer el nombre de la seÃal. Ahora vaya a la fila "
-"en la que establecià la seÃal <gui>clicked</gui> y arrÃstrela al archivo de "
-"cÃdigo fuente, dentro de la clase principal. Se aÃadirà el siguiente cÃdigo "
-"a su archivo de cÃdigo fuente:"
-
-#: C/guitar-tuner.py.page:122(p)
-msgid ""
-"This signal handler has two arguments: the usual Python class pointer, and "
-"the <code>Gtk.Button</code> that called the function."
-msgstr ""
-"Este manejador de la seÃal tiene dos argumentos: el puntero de clase Python "
-"habitual y el <code>Gtk.Button</code> que llamà a la funciÃn."
+#~ msgid ""
+#~ "Save the UI design (by clicking <guiseq><gui>File</gui><gui>Save</gui></"
+#~ "guiseq>) and keep it open."
+#~ msgstr ""
+#~ "Guarde el diseÃo de la IU (pulsando <guiseq><gui>Archivo</"
+#~ "gui><gui>Guardar</gui></guiseq>) y dÃjelo abierto."
 
-#: C/guitar-tuner.py.page:123(p) C/guitar-tuner.c.page:129(p)
-msgid ""
-"For now, we'll leave the signal handler empty while we work on writing the "
-"code to produce sounds."
-msgstr ""
-"Por ahora, se dejarà el manejador de la seÃal vacÃo mientras se escribe el "
-"cÃdigo para producir sonidos."
+#~ msgid "GStreamer pipelines"
+#~ msgstr "TuberÃas de Gstreamer"
 
-#: C/guitar-tuner.py.page:128(p) C/guitar.js.page:37(p)
-#: C/guitar-tuner.c.page:134(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, "
-"we'll be using it to produce single-frequency tones."
-msgstr ""
-"GStreamer es el entorno multimedia de trabajo de GNOME: puede usarlo para "
-"reproducir, grabar y procesar vÃdeo, sonido, flujos de la cÃmara web y "
-"similares. En este caso, se usarà para generar tonos de frecuencia Ãnica."
+#~ msgid ""
+#~ "This section will show you how to create the code to produce sounds. "
+#~ "<link href=\"http://developer.gnome.org/platform-overview/stable/gstreamer";
+#~ "\">GStreamer</link> is GNOME's multimedia framework â you can use it for "
+#~ "playing, recording, and processing video, audio, webcam streams and the "
+#~ "like. Here, we'll be using it to produce single-frequency tones."
+#~ msgstr ""
+#~ "En esta secciÃn se mostrarà cÃmo crear el cÃdigo para generar sonidos. "
+#~ "<link href=\"http://developer.gnome.org/platform-overview/stable/gstreamer";
+#~ "\">GStreamer</link> es el entorno multimedia de trabajo de GNOME: puede "
+#~ "usarlo para reproducir, grabar y procesar vÃdeo, sonido, flujos de la "
+#~ "cÃmara web y similares. En este caso, se usarà para generar tonos de "
+#~ "frecuencia Ãnica."
 
-#: C/guitar-tuner.py.page:129(p) C/guitar.js.page:38(p)
-#: C/guitar-tuner.cpp.page:115(p) C/guitar-tuner.c.page:135(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 "
-"<em>sink</em> (output). The source can be an image file, a video, or a music "
-"file, for example, and the output could be a widget or the soundcard."
-msgstr ""
-"Conceptualmente. GStreamer funciona de la siguiente manera: puede crear una "
-"<em>tuberÃa</em> que contenga varios elementos de procesado que van desde la "
-"<em>fuente</em> hasta el <em>sumidero</em> (salida). La fuente puede ser, "
-"por ejemplo, un archivo de imagen, un vÃdeo o un archivo de mÃsica, y la "
-"salida puede ser un widget o la tarjeta de sonido."
-
-#: C/guitar-tuner.py.page:138(p) C/guitar-tuner.cpp.page:129(p)
-#: C/guitar-tuner.c.page:144(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 "
-"device, <code>autoaudiosink</code>. We only need to configure the frequency "
-"of the tone generator; this is accessible through the <code>freq</code> "
-"property of <code>audiotestsrc</code>."
-msgstr ""
-"En este sencillo ejemplo se usarà un generador de tonos llamado "
-"<code>audiotestsrc</code> y se enviarà la salida al dispositivo de sonido "
-"predeterminado del sistema, <code>autoaudiosink</code>. SÃlo es necesario "
-"configurar la frecuencia del generador de tonos; esto es accesible a travÃs "
-"de la propiedad <code>freq</code> de <code>audiotestsrc</code>."
+#~ msgid ""
+#~ "Conceptually, GStreamer works as follows: You create a <link href="
+#~ "\"http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/";
+#~ "section-intro-basics-bins.html\"><em>pipeline</em></link> containing "
+#~ "several processing elements going from the <em>source</em> to the "
+#~ "<em>sink</em> (output). The source can be an image file, a video, or a "
+#~ "music file, for example, and the output could be a widget or the "
+#~ "soundcard."
+#~ msgstr ""
+#~ "Conceptualmente. GStreamer funciona de la siguiente manera: puede crear "
+#~ "una <link href=\"http://gstreamer.freedesktop.org/data/doc/gstreamer/head/";
+#~ "manual/html/section-intro-basics-bins.html\"><em>tuberÃa</em></link> que "
+#~ "contenga varios elementos de procesado que van desde la <em>fuente</em> "
+#~ "hasta el <em>sumidero</em> (salida). La fuente puede ser, por ejemplo, un "
+#~ "archivo de imagen, un vÃdeo o un archivo de mÃsica, y la salida puede ser "
+#~ "un widget o la tarjeta de sonido."
 
-#: C/guitar-tuner.py.page:140(p)
-msgid ""
-"Change the import line in <file>guitar_tuner.py</file>, just at the "
-"beginning to :"
-msgstr ""
-"Cambie la lÃnea de importaciÃn en <file>afinador_guitarra.py</file>, justo "
-"al principio, por:"
+#~ 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 has properties which can be used to change its behaviour."
+#~ msgstr ""
+#~ "Entre la fuente y el sumidero, puede aplicar varios filtros y conversores "
+#~ "para manejar efectos, conversiones de formato, etc. Cada elemento de la "
+#~ "tuberÃa tiene propiedades que se pueden usar para cambiar este "
+#~ "comportamiento."
 
-#: C/guitar-tuner.py.page:142(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> "
-"method with this call added above the <code>app = GUI()</code> line:"
-msgstr ""
-"El <code>Gst</code> incluye la biblioteca GStreamer. TambiÃn debe debe "
-"inicializar GStreamer correctamente, lo que se ha hecho en el mÃtodo "
-"<code>main()</code> con esta llamada aÃadida encima de la lÃnea <code>app = "
-"GUI()</code>:"
+#~ msgid "An example GStreamer pipeline."
+#~ msgstr "Un ejemplo de tuberÃa de GStreamer."
 
-#: C/guitar-tuner.py.page:146(p)
-msgid ""
-"Then, copy the following function into the class in <file>guitar_tuner.py</"
-"file> somewhere:"
-msgstr ""
-"DespuÃs, copie la siguiente funciÃn en la de <file>guitar_tuner.py</file>, "
-"en cualquier sitio:"
+#~ msgid "Set up the pipeline"
+#~ msgstr "Configurar la tuberÃa"
 
-#: C/guitar-tuner.py.page:162(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 "
-"elements). The pipeline is given the name \"note\"; the source is named "
-"\"source\" and is set to the <code>audiotestsrc</code> source; and the sink "
-"is named \"output\" and set to the <code>autoaudiosink</code> sink (default "
-"sound card output)."
-msgstr ""
-"Las tres primeras liÌneas crean los elementos Âfuente y Âsumidero de "
-"GStreamer y un elemento de tuberiÌa (que se usaraÌ como contenedor de los "
-"otros dos elementos). A la tuberiÌa se le asigna el nombre ÂnoteÂ; la fuente "
-"se llama Âsource y se asocia a la fuente <code>audiotestsrc</code> y el "
-"sumidero se llama Âoutput y se asocia con el sumidero <code>autoaudiosink</"
-"code> (la salida de la tarjeta de sonido predeterminada)."
-
-#: C/guitar-tuner.py.page:165(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 "
-"as an argument to the <code>play_sound</code> function. This is just the "
-"frequency of the note in Hertz; some useful frequencies will be defined "
-"later on."
-msgstr ""
-"La llamada a <code>source.set_property</code> establece la propiedad "
-"<code>freq</code> del elemento fuente a <code>frequency</code>, que se pasa "
-"como argumento a la funcioÌn <code>play_sound</code>. Esto soÌlo es la "
-"frecuencia de la nota en Hercios; maÌs adelante se definiraÌn algunas "
-"frecuencias uÌtiles."
+#~ msgid ""
+#~ "In this example we will use a tone generator source called "
+#~ "<code>audiotestsrc</code> and send the output to the default system sound "
+#~ "device, <code>autoaudiosink</code>. We only need to configure the "
+#~ "frequency of the tone generator; this is accessible through the "
+#~ "<code>freq</code> property of <code>audiotestsrc</code>."
+#~ msgstr ""
+#~ "En este ejemplo se usarà un generador de tonos llamado "
+#~ "<code>audiotestsrc</code> y se enviarà la salida al dispositivo de sonido "
+#~ "predeterminado del sistema, <code>autoaudiosink</code>. SÃlo es necesario "
+#~ "configurar la frecuencia del generador de tonos; esto es accesible a "
+#~ "travÃs de la propiedad <code>freq</code> de <code>audiotestsrc</code>."
 
-#: C/guitar-tuner.py.page:168(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 "
-"elements. In general, you can add as many elements as you like to the "
-"pipeline by calling its <code>add</code> method repeatedly."
-msgstr ""
-"Las dos siguientes lÃneas llaman a <code>pipeline.add</code>, poniendo la "
-"fuente y el sumidero en la tuberÃa. La tuberÃa puede contener muchos otros "
-"elementos de GStreamer. En general, puede aÃadir tantos elementos como "
-"quiera a una tuberÃa llamando al mÃtodo <code>add</code> repetidamente."
+#~ 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:"
+#~ msgstr ""
+#~ "Se debe aÃadir una lÃnea para inicializar GStreamer; ponga el siguiente "
+#~ "cÃdigo encima de la llamada a <code>Gtk.init</code>, en la funciÃn "
+#~ "<code>main</code>:"
 
-#: C/guitar-tuner.py.page:171(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>)."
-msgstr ""
-"El siguiente <code>pipeline.set_state</code> se usar para iniciar la "
-"reproducciÃn, estableciendo el estado de la tuberÃa a Âplaying (<code>Gst."
-"State.PLAYING</code>)."
+#~ msgid ""
+#~ "Then, copy the following function into <file>guitar_tuner.vala</file> "
+#~ "inside our <code>Main</code> class:"
+#~ msgstr ""
+#~ "DespuÃs, copie la siguiente funciÃn en <file>guitar_tuner.vala</file> "
+#~ "dentro de la clase <code>Main</code>:"
 
-#: C/guitar-tuner.py.page:178(title) C/guitar-tuner.c.page:193(title)
-msgid "Stopping playback"
-msgstr "Detener la reproduccioÌn"
+#~ 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</code></link>), and a <link href=\"http://valadoc.org/";
+#~ "gstreamer-0.10/Gst.Pipeline.html\">pipeline element</link> (which will be "
+#~ "used as a container for the other two elements). Those are class "
+#~ "variables so they are defined outside the method. The pipeline is given "
+#~ "the name \"note\"; the source is named \"source\" and is set to the "
+#~ "<code>audiotestsrc</code> source; and the sink is named \"output\" and "
+#~ "set to the <code>autoaudiosink</code> sink (default sound card output)."
+#~ msgstr ""
+#~ "Las cinco primeras lÃneas crean los elementos Âfuente y Âsumidero de "
+#~ "GStreamer (<link href=\"http://valadoc.org/gstreamer-0.10/Gst.Element.html";
+#~ "\"><code>Gst.Element</code></link>), y un <link href=\"http://valadoc.org/";
+#~ "gstreamer-0.10/Gst.Pipeline.html\">elemento de tuberÃa</link> (que se "
+#~ "usarà como contenedor de los otros dos elementos). Son variables de "
+#~ "clase, por lo que se definen fuera del mÃtodo. A la tuberÃa se le asigna "
+#~ "el nombre ÂnoteÂ; la fuente se llama Âsource y se asocia a la fuente "
+#~ "<code>audiotestsrc</code> y el sumidero se llama Âoutput y se asocia con "
+#~ "el sumidero <code>autoaudiosink</code> (la salida de la tarjeta de sonido "
+#~ "predeterminada)."
 
-#: C/guitar-tuner.py.page:179(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>. "
-"This sets a timeout for stopping the sound; it waits for <code>LENGTH</code> "
-"milliseconds before calling the function <code>pipeline_stop</code>, and "
-"will keep calling it until <code>pipeline_stop</code> returns <code>False</"
-"code>."
-msgstr ""
-"No se quiere reproducir un tono molesto para siempre, por lo que lo Ãltimo "
-"que <code>play_sound</code> hace es llamar a <code>GObject.timeout_add</"
-"code>. Esto establece un tiempo de expiraciÃn para detener el sonido; espera "
-"<code>LENGTH</code> milisegundos antes de llamar a la funciÃn "
-"<code>pipeline_stop</code>, y se queda llamando a <code>pipeline_stop</code> "
-"hasta que devuelve <code>False</code>."
-
-#: C/guitar-tuner.py.page:180(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> "
-"the <code>play_sound</code> function:"
-msgstr ""
-"Ahora se escribirà el coÌdigo de la funcioÌn <code>pipeline_stop</code>, "
-"llamada por <code>GObject.timeout_add</code>. Inserte el coÌdigo siguiente "
-"<em>encima</em> de la funcioÌn <code>play_sound</code>:"
+#~ 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 source element to <code>frequency</code>, which is passed in as an "
+#~ "argument to the <code>play_sound</code> function. This is just the "
+#~ "frequency of the note in Hertz; some useful frequencies will be defined "
+#~ "later on."
+#~ msgstr ""
+#~ "La llamada a <link href=\"http://valadoc.org/gobject-2.0/GLib.Object.set.";
+#~ "html\"><code>source.set</code></link> establece la propiedad <code>freq</"
+#~ "code> del elemento fuente a <code>frequency</code>, que se pasa como "
+#~ "argumento a la funcioÌn <code>play_sound</code>. Esto soÌlo es la "
+#~ "frecuencia de la nota en Hercios; maÌs adelante se definiraÌn algunas "
+#~ "frecuencias uÌtiles."
 
-#: C/guitar-tuner.py.page:186(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:"
-msgstr ""
-"Necesita definir la constante <code>LENGTH</code> dentro de la clase, por lo "
-"que debe aÃadir este cÃdigo al principio de la clase principal:"
+#~ 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 "
+#~ "pipeline. The pipeline is a <link href=\"http://valadoc.org/";
+#~ "gstreamer-0.10/Gst.Bin.html\"><code>Gst.Bin</code></link>, which is just "
+#~ "an element that can contain multiple other GStreamer elements. In "
+#~ "general, you can add as many elements as you like to the pipeline by "
+#~ "adding more calls to <code>pipeline.add</code>."
+#~ msgstr ""
+#~ "<link href=\"http://valadoc.org/gstreamer-0.10/Gst.Bin.add.html";
+#~ "\"><code>pipeline.add</code></link> aÃade la fuente y el sumidero a la "
+#~ "tuberÃa. La tuberÃa es un <link href=\"http://valadoc.org/gstreamer-0.10/";
+#~ "Gst.Bin.html\"><code>Gst.Bin</code></link>, que es un elemento que puede "
+#~ "contener otros muchos elementos de GStreamer. En general, puede aÃadir "
+#~ "tantos elementos como quiera a una tuberÃa aÃadiendo mÃs argumentos a "
+#~ "<code>pipeline.add</code>."
 
-#: C/guitar-tuner.py.page:191(p)
-msgid ""
-"The call to <code>pipeline.set_state</code> pauses the playback of the "
-"pipeline."
-msgstr ""
-"La llamada a <code>pipeline.set_state</code> pausa la reproducciÃn de la "
-"tuberÃa"
+#~ msgid ""
+#~ "Next, <link href=\"http://valadoc.org/gstreamer-0.10/Gst.Element.link.html";
+#~ "\"><code>sink.link</code></link> is used to connect the elements "
+#~ "together, so the output of source (a tone) goes into the input of sink "
+#~ "(which is then output to the sound card). <link href=\"http://www.valadoc.";
+#~ "org/gstreamer-0.10/Gst.Element.set_state.html\"><code>pipeline.set_state</"
+#~ "code></link> is then used to start playback, by setting the <link href="
+#~ "\"http://www.valadoc.org/gstreamer-0.10/Gst.State.html\";>state of the "
+#~ "pipeline</link> to playing (<code>Gst.State.PLAYING</code>)."
+#~ msgstr ""
+#~ "Ahora, el cÃdigo <link href=\"http://valadoc.org/gstreamer-0.10/Gst.";
+#~ "Element.link.html\"><code>sink.link</code></link> se usa para conectar "
+#~ "los elementos entre sÃ, por lo que la salida de la fuente (un tono) va a "
+#~ "la entrada del sumidero (y entonces sale por la tarjeta de sonido). <link "
+#~ "href=\"http://www.valadoc.org/gstreamer-0.10/Gst.Element.set_state.html";
+#~ "\"><code>pipeline.set_state</code></link> se usa para iniciar la "
+#~ "reproducciÃn estableciendo el <link href=\"http://www.valadoc.org/";
+#~ "gstreamer-0.10/Gst.State.html\">estado de la tuberÃa</link> a "
+#~ "Âplaying (<code>Gst.State.PLAYING</code>)."
 
-#: C/guitar-tuner.py.page:195(title) C/guitar-tuner.c.page:211(title)
-msgid "Define the tones"
-msgstr "Definir los tonos"
+#~ 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/glib-2.0/GLib.TimeoutSource.html\"><code>TimeoutSource</code></link>. "
+#~ "This sets a timeout for stopping the sound; it waits for 200 milliseconds "
+#~ "before calling a signal handler defined inline that stops and destroys "
+#~ "the pipeline. It returns <code>false</code> to remove itself from the "
+#~ "timeout, otherwise it would continue to be called every 200 ms."
+#~ msgstr ""
+#~ "No se quiere reproducir un tono molesto para siempre, por lo que lo "
+#~ "Ãltimo que <code>play_sound</code> hace es aÃadir un <link href=\"http://";
+#~ "www.valadoc.org/glib-2.0/GLib.TimeoutSource.html\"><code>TimeoutSource</"
+#~ "code></link>. Esto establece un tiempo de expiraciÃn para detener el "
+#~ "sonido; espera 200 milisegundos antes de llamar a un manejador de la "
+#~ "seÃal definido en lÃnea y destruye la tuberÃa. Devuelve<code>false</code> "
+#~ "para quitarse a sà mismo del tiempo de expiraciÃn, ya que de otro modo, "
+#~ "seguirÃa llamÃndose cada 200ms,"
+
+#~ msgid "Creating the signal handler"
+#~ msgstr "Crear el manejador de seÃales"
 
-#: C/guitar-tuner.py.page:196(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 "
-"defined (at the beginning of the main class) inside a dictionary so we can "
-"easily map them to the names of the strings:"
-msgstr ""
-"Se quiere reproducir el sonido correcto cuando un usuario pulsa un botÃn. En "
-"primer lugar, se necesita conocer las frecuencias de las seis cuerdas de la "
-"guitarra, que estÃn definidas (al principio de la clase principal) dentro de "
-"un diccionario, por lo que se pueden mapear fÃcilmente con los nombres de "
-"las cuerdas:"
+#~ 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 we type <gui>main_on_button_clicked</gui> which tells the UI "
+#~ "designer that this method is part of our <code>Main</code>. We need to "
+#~ "add that function in the source file."
+#~ msgstr ""
+#~ "El el diseÃador de interfaces se hizo que todos los botones llamaran a la "
+#~ "misma funciÃn, <gui>on_button_clicked</gui> cuando se pulsasen. Ahora se "
+#~ "escribe <gui>main_on_button_clicked</gui>, lo que indica al diseÃador de "
+#~ "interfaces que este mÃtodo es parte de la funciÃn <code>Main</code>. Se "
+#~ "debe aÃadir esta funciÃn al archivo de cÃdigo fuente."
 
-#: C/guitar-tuner.py.page:209(p) C/guitar-tuner.c.page:221(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 "
-"different signal handler, but that would lead to a lot of code duplication. "
-"Instead, we can use the label of the button to figure out which button was "
-"clicked:"
-msgstr ""
-"Ahora se se profundiza en el manejador de la seÃal definido anteriormente, "
-"<code>on_button_clicked</code>. Se podrÃa haber conectado cada botÃn a un "
-"manejador de la seÃal diferente, pero esto habÃa supuesto duplicar mucho "
-"cÃdigo. En su lugar, se puede usar la etiqueta del botÃn para saber cuÃl de "
-"ellos se ha pulsado:"
+#~ 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 clicking on the tab in the center). Switch to the <gui>Signals</gui> "
+#~ "tab on the right, which you used to set the signal name. Now take the row "
+#~ "where you set the <gui>clicked</gui> signal and drag and drop it into to "
+#~ "the source file at the beginning of the class. The following code will be "
+#~ "added to your source file:"
+#~ msgstr ""
+#~ "Para hacer esto, en el archivo de interfaz del usuario (guitar_tuner.ui), "
+#~ "seleccione uno de los botones pulsando sobre Ãl, abra <file>guitar_tuner."
+#~ "vala</file> (pulsando en la pestaÃa en el centro). Cambie a la pestaÃa "
+#~ "<gui>SeÃales</gui> de la derecha, que ya ha usado para establecer el "
+#~ "nombre de la seÃal. Ahora vaya a la fila en la que establecià la seÃal "
+#~ "<gui>clicked</gui> y arrÃstrela al archivo de cÃdigo fuente, al principio "
+#~ "de la clase. Se aÃadirà el siguiente cÃdigo a su archivo de cÃdigo fuente:"
 
-#: C/guitar-tuner.py.page:217(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 "
-"using <code>button.get_child</code>, and then get the text from that label "
-"using <code>label.get_label</code>."
-msgstr ""
-"El botÃn que se ha pulsado se pasa como argumento (<code>button</code>) a "
-"<code>on_button_clicked</code>. Se puede obtener la etiqueta de ese botÃn "
-"usando <code>button.get_child</code>, y obteniendo entonces el texto de esa "
-"etiqueta usando <code>label.get_label</code>."
+#~ msgid ""
+#~ "You can also just type the code at the beginning of the class instead of "
+#~ "using the drag and drop."
+#~ msgstr ""
+#~ "TambiÃn puede escribir simplemente el texto al principio de la clase en "
+#~ "vez de arrastrar y soltar."
 
-#: C/guitar-tuner.py.page:218(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 "
-"note. This plays the tone; we have a working guitar tuner!"
-msgstr ""
-"La etiqueta de texto se usa como clave para el diccionario, y se llama a "
-"<code>play_sound</code> con la frecuencia correspondiente a esa nota. Esto "
-"reproduce el tono; el afinador de guitarra ya està funcionando."
+#~ 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 the function (in our case, always a <link href=\"http://";
+#~ "valadoc.org/gtk+-3.0/Gtk.Button.html\"><code>Gtk.Button</code></link>)."
+#~ msgstr ""
+#~ "El manejador de la seÃal sÃlo tiene un argumento: el <link href=\"http://";
+#~ "valadoc.org/gtk+-3.0/Gtk.Widget.html\"><code>Gtk.Widget</code></link> que "
+#~ "llama a la funciÃn (en este caso, siempre es un <link href=\"http://";
+#~ "valadoc.org/gtk+-3.0/Gtk.Button.html\"><code>Gtk.Button</code></link>)."
 
-#: C/guitar-tuner.py.page:223(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!"
-msgstr ""
-"Todo el cÃdigo deberÃa estar listo para ejecutarse. Pulse "
-"<guiseq><gui>Ejecutar</gui><gui>Ejecutar</gui></guiseq> para iniciar la "
-"aplicaciÃn y disfrute."
+#~ msgid "Define the signal handler"
+#~ msgstr "Definir el manejador de senÌales"
+
+#~ 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, "
+#~ "<code>on_button_clicked</code>. We could have connected every button to a "
+#~ "different signal handler, but that would lead to a lot of code "
+#~ "duplication. Instead, we can use the label of the button to figure out "
+#~ "which button was clicked:"
+#~ msgstr ""
+#~ "Se quiere reproducir el sonido correcto cuando el usuario pulsa un botÃn. "
+#~ "Para esto, se profundiza en el manejador de la seÃal definido "
+#~ "anteriormente, <code>on_button_clicked</code>. Se podrÃa haber conectado "
+#~ "cada botÃn a un manejador de la seÃal diferente, pero esto habÃa supuesto "
+#~ "duplicar mucho cÃdigo. En su lugar, se puede usar la etiqueta del botÃn "
+#~ "para saber cuÃl de ellos se ha pulsado:"
+
+#~ 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 "
+#~ "label of that button by using <code>get_child</code>, and then get the "
+#~ "text from that label using <code>get_label</code>."
+#~ msgstr ""
+#~ "El <code>Gtk.Button</code> que se ha pulsado se pasa como argumento "
+#~ "(<code>sender</code>) a <code>on_button_clicked</code>. Se puede obtener "
+#~ "la etiqueta de ese botÃn usando <code>get_child</code>, y entonces "
+#~ "obtener el texto de esa etiqueta usando <code>get_label</code>."
+
+#~ 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 that note. This plays the tone; we have a working guitar "
+#~ "tuner!"
+#~ msgstr ""
+#~ "La sentencia Âswitch compara la etiqueta de texto con las notas que se "
+#~ "pueden reproducir, y se llama a <code>play_sound</code> con la frecuencia "
+#~ "correspondiente a esa nota. Esto reproduce el tono; el afinador de "
+#~ "guitarra ya està funcionando."
+
+#~ 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> "
+#~ "and enjoy!"
+#~ msgstr ""
+#~ "Si todavÃa no lo ha hecho, elija la aplicaciÃn <file>Debug/src/afinador-"
+#~ "guitarra</file> en el diÃlogo que aparece. Finalmente, pulse "
+#~ "<gui>Ejecutar</gui> y disfrute."
+
+#~ msgid ""
+#~ "If you run into problems with the tutorial, compare your code with this "
+#~ "<link href=\"guitar-tuner/guitar-tuner.vala\">reference code</link>."
+#~ msgstr ""
+#~ "Si tiene problemas con este tutorial, compare su coÌdigo con este <link "
+#~ "href=\"guitar-tuner/guitar-tuner.vala\">coÌdigo de referencia</link>."
+
+#~ 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</link> and the <link href=\"http://valadoc.org/\";>Vala API "
+#~ "Documentation</link>"
+#~ msgstr ""
+#~ "Para obtener mÃs informaciÃn sobre el lenguaje de programaciÃn Vala, "
+#~ "puede querer revisar el <link href=\"http://live.gnome.org/Vala/Tutorial";
+#~ "\">Tutorial de Vala</link> y la <link href=\"http://valadoc.org/";
+#~ "\">documentaciÃn de la API de Vala</link>"
+
+#~ msgid "Have the program automatically cycle through the notes."
+#~ msgstr "Hacer que el programa recorra las notas automÃticamente."
+
+#~ msgid ""
+#~ "Make the program play recordings of real guitar strings being plucked."
+#~ msgstr ""
+#~ "Hacer que el programa reproduzca grabaciones de cuerdas de guitarras que "
+#~ "se estÃn afinando."
+
+#~ 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 <link href=\"http://gstreamer.freedesktop.org/documentation/";
+#~ "plugins.html\">decoder and demuxer</link> GStreamer elements based on the "
+#~ "file format of your recorded sounds â MP3s use different elements to Ogg "
+#~ "Vorbis files, for example."
+#~ msgstr ""
+#~ "PAra hacer esto, debe configurar una tuberÃa de GStreamer mÃs complicada, "
+#~ "que le permite cargar y reproducir archivos de mÃsica. Deberà elegir un "
+#~ "los elementos <link href=\"http://gstreamer.freedesktop.org/documentation/";
+#~ "plugins.html\">decodificador y demultiplexor</link> de GStreamer "
+#~ "basÃndose en el formato del archivo de sus sonidos grabados; los MP3 usan "
+#~ "elementos diferentes de los de los archivos Ogg Vorbis, por ejemplo."
+
+#~ 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/gstreamer/head/manual/html/chapter-intro-basics.html\">GStreamer "
+#~ "concepts</link> that we didn't cover in this tutorial, such as <link href="
+#~ "\"http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/";
+#~ "section-intro-basics-pads.html\">pads</link>. You may also find the "
+#~ "<cmd>gst-inspect</cmd> command useful."
+#~ msgstr ""
+#~ "Puede querer conectar los elementos de maneras mÃs complicadas. Esto "
+#~ "puede implicar usar <link href=\"http://gstreamer.freedesktop.org/data/";
+#~ "doc/gstreamer/head/manual/html/chapter-intro-basics.html\">conceptos de "
+#~ "GStreamer</link> que no se han comentado en este tutorial, tales como "
+#~ "<link href=\"http://gstreamer.freedesktop.org/data/doc/gstreamer/head/";
+#~ "manual/html/section-intro-basics-pads.html\">interfaces</link>. Es "
+#~ "posible que encuentre Ãtil el comando <cmd>gst-inspect</cmd>."
+
+#~ msgid "Automatically analyze notes that the user plays."
+#~ msgstr "Analizar automÃticamente las notas que toca el mÃsico."
+
+#~ 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-plugins/html/gst-plugins-good-plugins-autoaudiosrc.html"
+#~ "\">input source</link>. Perhaps some form of <link href=\"http://";
+#~ "gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good-"
+#~ "plugins/html/gst-plugins-good-plugins-plugin-spectrum.html\">spectrum "
+#~ "analysis</link> would allow you to figure out what notes are being played?"
+#~ msgstr ""
+#~ "Puede conectar un micrÃfono y grabar sonidos con Ãl usando una <link href="
+#~ "\"http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-";
+#~ "good-plugins/html/gst-plugins-good-plugins-autoaudiosrc.html\">fuente de "
+#~ "entrada</link>. ÂEs posible que algÃn tipo de <link href=\"http://";
+#~ "gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good-"
+#~ "plugins/html/gst-plugins-good-plugins-plugin-spectrum.html\">anÃlisis de "
+#~ "espectro</link> le permita saber quà notas se estÃn reproduciendo?"
+
+#~ msgid ""
+#~ "Use Gtk+ and GStreamer to build a simple guitar tuner application for "
+#~ "GNOME. Shows off how to use the interface designer."
+#~ msgstr ""
+#~ "Usar GTK+ y GStreamer para construir un sencillo afinador de guitarra "
+#~ "para GNOME. Muestra cÃmo usar el diseÃador de interfaces."
+
+#~ msgid "Guitar Tuner"
+#~ msgstr "Afinador de guitarra"
+
+#~ 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:"
+#~ msgstr ""
+#~ "En este tutorial se va a hacer un programa que reproduce tonos que puede "
+#~ "usar para afinar su guitarra. Aprenderà a:"
+
+#~ msgid "Set up a basic project in Anjuta"
+#~ msgstr "Configurar un proyecto bÃsico en Anjuta"
+
+#~ msgid "Create a simple GUI with Anjuta's UI designer"
+#~ msgstr "Crear una IGU sencilla con el diseÃador IU de Anjuta"
+
+#~ msgid "Use GStreamer to play sounds"
+#~ msgstr "Usar GStreamer para reproducir sonidos"
+
+#~ msgid "Basic knowledge of the Python programming language"
+#~ msgstr "Conocimiento baÌsico del lenguaje de programacioÌn Python"
+
+#~ 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 "
+#~ "<file>guitar-tuner</file> as project name and directory."
+#~ msgstr ""
+#~ "Seleccione <gui>PyGTK (automake)</gui> en la pestaÃa <gui>Python</gui>, "
+#~ "pulse <gui>Continuar</gui>, y rellene los detalles en las siguientes "
+#~ "pÃginas. Use <file>afinador-guiterra</file> como nombre del proyecto y de "
+#~ "la carpeta."
+
+#~ 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</gui> tabs. You should see some code which starts with the "
+#~ "lines:"
+#~ msgstr ""
+#~ "Pulse <gui>Aplicar</gui> y se crearaÌ el proyecto. Abra <file>src/afinador-"
+#~ "guitarra.py</file> desde las pestanÌas <gui>Proyecto</gui> o <gui>Archivo</"
+#~ "gui>. DeberiÌa ver algo de coÌdigo que comience con las liÌneas:"
+
+#~ msgid "Run the code for the first time"
+#~ msgstr "Ejecutar el cÃdigo por primera vez"
+
+#~ 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 "
+#~ "given below; skip this list if you understand the basics:"
+#~ msgstr ""
+#~ "La mayor parte del cÃdigo del archivo se usa como plantilla. Carga una "
+#~ "ventana (vacÃa) desde el archivo de descripciÃn de interfaz de usuario y "
+#~ "la muestra. Se ofrecen mÃs detalles a continuaciÃn; omita esta lista si "
+#~ "entiende los conceptos bÃsicos:"
+
+#~ msgid ""
+#~ "The <code>import</code> lines at the top include the tell Python to load "
+#~ "the user interface and system libraries needed."
+#~ msgstr ""
+#~ "Las lÃneas <code>import</code> en la parte superior indican a Python que "
+#~ "cargue la interfaz de usuario y las bibliotecas del sistema necesarias."
+
+#~ 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 file (<file>src/guitar-tuner.ui</file>) and the signals are "
+#~ "connected."
+#~ msgstr ""
+#~ "Se declara una clase que estarà en la clase principal de la aplicaciÃn. "
+#~ "En el mÃtodo <code>__init__</code> se carga la ventana principal desde el "
+#~ "archivo de GtkBuilder (<file>src/guitar-tuner.ui</file>) y se conectan "
+#~ "las seÃales."
+
+#~ 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 called (and quits the app) when you close the window."
+#~ msgstr ""
+#~ "Conectar seÃales es como se define lo que pasa cuando pulsa un botÃn, o "
+#~ "cuando ocurre algÃn otro evento. AquÃ, se llama al mÃtodo <code>destroy</"
+#~ "code> (y se sale de la aplicaciÃn) cuando cierra la ventana."
+
+#~ 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 "
+#~ "main loop to bring up the window."
+#~ msgstr ""
+#~ "La funciÃn <code>main</code> se ejecuta de manera predeterminada cuando "
+#~ "inicia una aplicaciÃn Python. Simplemente crea una instancia de la clase "
+#~ "principal e inicia el bucle principal para mostrar la ventana."
+
+#~ msgid ""
+#~ "This code is ready to be used, so you can run it by clicking "
+#~ "<guiseq><gui>Run</gui><gui>Execute</gui></guiseq>."
+#~ msgstr ""
+#~ "Este cÃdigo està listo para usarse, por lo que puede ejecutarlo pulsando "
+#~ "<guiseq><gui>Ejecutar</gui><gui>Ejecutar</gui></guiseq>."
+
+#~ 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>. "
+#~ "This will switch to the interface designer. The design window is in the "
+#~ "center; widgets and widgets' properties are on the right, and the palette "
+#~ "of available widgets is on the left."
+#~ msgstr ""
+#~ "El archivo de GtkBuilder contiene una descripciÃn de la interfaz de "
+#~ "usuario (IU). Para editar la interfaz de usuario, abra <file>src/"
+#~ "guitar_tuner.ui</file>. Esto cambiarà al diseÃador de interfaces. La "
+#~ "ventana de diseÃo està en el centro; los widgets y sus propiedades estÃn "
+#~ "a la derecha, y la paleta de los widgets disponibles està a la izquierda."
+
+#~ 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</gui>, one for each of the six guitar strings."
+#~ msgstr ""
+#~ "La distribuciÃn de cualquier IU en GTK+ se organiza usando cajas y "
+#~ "tablas. Aquà se usarà una <gui>GtkButtonBox</gui> vertical para asignar "
+#~ "seis <gui>GtkButtons</gui>, uno para cada una de las cuerdas de la "
+#~ "guitarra."
+
+#~ 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 "
+#~ "<gui>Properties</gui> pane, set the number of elements to 6 (for the six "
+#~ "strings) and the orientation to vertical."
+#~ msgstr ""
+#~ "Seleccione una <gui>GtkButtonBox</gui> de la secciÃn <gui>Contenedor</"
+#~ "gui> de la <gui>Paleta</gui> de la derecha y pÃngalo en la ventana. En el "
+#~ "panel de <gui>Propiedades</gui>, establezca el nÃmero de elementos a "
+#~ "Â6Â (para las seis cuerdas) y la orientaciÃn a ÂverticalÂ."
+
+#~ msgid ""
+#~ "Now, choose a <gui>GtkButton</gui> from the palette and put it into the "
+#~ "first part of the box."
+#~ msgstr ""
+#~ "Ahora, elija un <gui>GtkButton</gui> de la paleta y pÃngalo en la primera "
+#~ "parte de la caja."
+
+#~ 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."
+#~ msgstr ""
+#~ "Mientras el botÃn està seleccionado, cambie la propiedad <gui>Etiqueta</"
+#~ "gui> en la pestaÃa <gui>Widgets</gui> a <gui>E</gui>. Esta serà la cuerda "
+#~ "Mi grave."
+
+#~ 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 connect a signal handler that will be called when the button is "
+#~ "clicked by the user. To do this, click on the signal and type "
+#~ "<code>on_button_clicked</code> in the <gui>Handler</gui> column and press "
+#~ "<key>Return</key>."
+#~ msgstr ""
+#~ "Cambie a la pestanÌa <gui>SenÌales</gui> (dentro de la pestanÌa "
+#~ "<gui>Widgets</gui>) y busque la senÌal <code>clicked</code> del botoÌn. "
+#~ "Puede usar esto para conectar un manejador de senÌal al que se llamaraÌ "
+#~ "cuando el usuario pulse el botoÌn. Para hacer esto, pulse sobre la senÌal, "
+#~ "escriba <code>on_button_clicked</code> en la columna <gui>Manejador</gui> "
+#~ "y pulse <key>Intro</key>."
+
+#~ msgid "Write the signal handler"
+#~ msgstr "Escribir el manejador de senÌales"
+
+#~ 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 to add that function in the source file."
+#~ msgstr ""
+#~ "El el diseÃador de interfaces, se ha hecho que todos los botones llamen a "
+#~ "la misma funciÃn, <gui>on_button_clicked</gui>, cuando se pulsan. Se debe "
+#~ "aÃadir esta funciÃn al archivo de cÃdigo fuente."
+
+#~ 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 to set the signal name. Now take the row where you set the "
+#~ "<gui>clicked</gui> signal and drag it into to the source file inside the "
+#~ "class. The following code will be added to your source file:"
+#~ msgstr ""
+#~ "Para hacer esto, abra <file>guitar_tuner.py</file> mientras el archivo de "
+#~ "la interfaz de usuario està abierto. Cambie a la pestaÃa <gui>SeÃales</"
+#~ "gui>, que ya ha usado para establecer el nombre de la seÃal. Ahora vaya a "
+#~ "la fila en la que establecià la seÃal <gui>clicked</gui> y arrÃstrela al "
+#~ "archivo de cÃdigo fuente, dentro de la clase principal. Se aÃadirà el "
+#~ "siguiente cÃdigo a su archivo de cÃdigo fuente:"
+
+#~ msgid ""
+#~ "This signal handler has two arguments: the usual Python class pointer, "
+#~ "and the <code>Gtk.Button</code> that called the function."
+#~ msgstr ""
+#~ "Este manejador de la seÃal tiene dos argumentos: el puntero de clase "
+#~ "Python habitual y el <code>Gtk.Button</code> que llamà a la funciÃn."
+
+#~ msgid ""
+#~ "For now, we'll leave the signal handler empty while we work on writing "
+#~ "the code to produce sounds."
+#~ msgstr ""
+#~ "Por ahora, se dejarà el manejador de la seÃal vacÃo mientras se escribe "
+#~ "el cÃdigo para producir sonidos."
+
+#~ msgid ""
+#~ "GStreamer is GNOME's multimedia framework â you can use it for playing, "
+#~ "recording, and processing video, audio, webcam streams and the like. "
+#~ "Here, we'll be using it to produce single-frequency tones."
+#~ msgstr ""
+#~ "GStreamer es el entorno multimedia de trabajo de GNOME: puede usarlo para "
+#~ "reproducir, grabar y procesar vÃdeo, sonido, flujos de la cÃmara web y "
+#~ "similares. En este caso, se usarà para generar tonos de frecuencia Ãnica."
+
+#~ msgid ""
+#~ "Conceptually, GStreamer works as follows: You create a <em>pipeline</em> "
+#~ "containing several processing elements going from the <em>source</em> to "
+#~ "the <em>sink</em> (output). The source can be an image file, a video, or "
+#~ "a music file, for example, and the output could be a widget or the "
+#~ "soundcard."
+#~ msgstr ""
+#~ "Conceptualmente. GStreamer funciona de la siguiente manera: puede crear "
+#~ "una <em>tuberÃa</em> que contenga varios elementos de procesado que van "
+#~ "desde la <em>fuente</em> hasta el <em>sumidero</em> (salida). La fuente "
+#~ "puede ser, por ejemplo, un archivo de imagen, un vÃdeo o un archivo de "
+#~ "mÃsica, y la salida puede ser un widget o la tarjeta de sonido."
+
+#~ 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 "
+#~ "device, <code>autoaudiosink</code>. We only need to configure the "
+#~ "frequency of the tone generator; this is accessible through the "
+#~ "<code>freq</code> property of <code>audiotestsrc</code>."
+#~ msgstr ""
+#~ "En este sencillo ejemplo se usarà un generador de tonos llamado "
+#~ "<code>audiotestsrc</code> y se enviarà la salida al dispositivo de sonido "
+#~ "predeterminado del sistema, <code>autoaudiosink</code>. SÃlo es necesario "
+#~ "configurar la frecuencia del generador de tonos; esto es accesible a "
+#~ "travÃs de la propiedad <code>freq</code> de <code>audiotestsrc</code>."
 
-#: C/guitar-tuner.py.page:228(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>."
-msgstr ""
-"Si tiene problemas con este tutorial, compare su coÌdigo con este <link href="
-"\"guitar-tuner/guitar-tuner.py\">coÌdigo de referencia</link>."
+#~ msgid ""
+#~ "Change the import line in <file>guitar_tuner.py</file>, just at the "
+#~ "beginning to :"
+#~ msgstr ""
+#~ "Cambie la lÃnea de importaciÃn en <file>afinador_guitarra.py</file>, "
+#~ "justo al principio, por:"
 
-#. When image changes, this message will be marked fuzzy or untranslated for you.
-#. It doesn't matter what you translate it to: it's not used at all.
-#: C/guitar.js.page:34(None)
-msgid "@@image: 'media/guitarJs.png'; md5=35e615e0f5e293671d00c5c414ac2f6b"
-msgstr "@@image: 'media/guitarJs.png'; md5=35e615e0f5e293671d00c5c414ac2f6b"
+#~ msgid ""
+#~ "The <code>Gst</code> includes the GStreamer library. You also need to "
+#~ "initialise GStreamer properly which is done in the <code>main()</code> "
+#~ "method with this call added above the <code>app = GUI()</code> line:"
+#~ msgstr ""
+#~ "El <code>Gst</code> incluye la biblioteca GStreamer. TambiÃn debe debe "
+#~ "inicializar GStreamer correctamente, lo que se ha hecho en el mÃtodo "
+#~ "<code>main()</code> con esta llamada aÃadida encima de la lÃnea <code>app "
+#~ "= GUI()</code>:"
 
-#: C/guitar.js.page:14(desc)
-msgid ""
-"Use Gtk+ and GStreamer to build a simple guitar tuner application for GNOME."
-msgstr ""
-"Usar GTK+ y GStreamer para construir un sencillo afinador de guitarra para "
-"GNOME."
+#~ msgid ""
+#~ "Then, copy the following function into the class in <file>guitar_tuner."
+#~ "py</file> somewhere:"
+#~ msgstr ""
+#~ "DespuÃs, copie la siguiente funciÃn en la de <file>guitar_tuner.py</"
+#~ "file>, en cualquier sitio:"
 
-#: C/guitar.js.page:20(p)
-msgid ""
-"In this tutorial we'll construct a small application, Guitar Tuner, using "
-"JavaScript and GTK+ and GStreamer. To do and run all the code examples "
-"yourself, you need an editor to write code in, terminal and GNOME 3. or "
-"higher installed into your computer."
-msgstr ""
-"En este tutorial se construirà una pequeÃa aplicaciÃn, ÂAfinador de "
-"guitarraÂ, usando JavaScript, GTK+ y GStreamer. Para escribirla y poder "
-"ejecutar los ejemplos, necesitarà un editor en el que escribir el cÃdigo, "
-"una terminal y GNOME 3 o superior instalado en su equipo."
+#~ 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 "
+#~ "elements). The pipeline is given the name \"note\"; the source is named "
+#~ "\"source\" and is set to the <code>audiotestsrc</code> source; and the "
+#~ "sink is named \"output\" and set to the <code>autoaudiosink</code> sink "
+#~ "(default sound card output)."
+#~ msgstr ""
+#~ "Las tres primeras liÌneas crean los elementos Âfuente y Âsumidero de "
+#~ "GStreamer y un elemento de tuberiÌa (que se usaraÌ como contenedor de los "
+#~ "otros dos elementos). A la tuberiÌa se le asigna el nombre ÂnoteÂ; la "
+#~ "fuente se llama Âsource y se asocia a la fuente <code>audiotestsrc</"
+#~ "code> y el sumidero se llama Âoutput y se asocia con el sumidero "
+#~ "<code>autoaudiosink</code> (la salida de la tarjeta de sonido "
+#~ "predeterminada)."
 
-#: C/guitar.js.page:26(link) C/guitar.js.page:75(title)
-msgid "Buttons for the tunes"
-msgstr "Botones para los tonos"
+#~ 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 as an argument to the <code>play_sound</code> function. This is "
+#~ "just the frequency of the note in Hertz; some useful frequencies will be "
+#~ "defined later on."
+#~ msgstr ""
+#~ "La llamada a <code>source.set_property</code> establece la propiedad "
+#~ "<code>freq</code> del elemento fuente a <code>frequency</code>, que se "
+#~ "pasa como argumento a la funcioÌn <code>play_sound</code>. Esto soÌlo es la "
+#~ "frecuencia de la nota en Hercios; maÌs adelante se definiraÌn algunas "
+#~ "frecuencias uÌtiles."
 
-#: C/guitar.js.page:27(link) C/guitar.js.page:100(title)
-msgid "Making the sounds with GStreamer"
-msgstr "Crear sonidos con GStreamer"
+#~ 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 "
+#~ "elements. In general, you can add as many elements as you like to the "
+#~ "pipeline by calling its <code>add</code> method repeatedly."
+#~ msgstr ""
+#~ "Las dos siguientes lÃneas llaman a <code>pipeline.add</code>, poniendo la "
+#~ "fuente y el sumidero en la tuberÃa. La tuberÃa puede contener muchos "
+#~ "otros elementos de GStreamer. En general, puede aÃadir tantos elementos "
+#~ "como quiera a una tuberÃa llamando al mÃtodo <code>add</code> "
+#~ "repetidamente."
 
-#: C/guitar.js.page:28(link) C/guitar.js.page:124(title)
-msgid "Connecting buttons to playSound"
-msgstr "Conectar los botones a playSound"
+#~ 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>)."
+#~ msgstr ""
+#~ "El siguiente <code>pipeline.set_state</code> se usar para iniciar la "
+#~ "reproducciÃn, estableciendo el estado de la tuberÃa a "
+#~ "Âplaying (<code>Gst.State.PLAYING</code>)."
 
-#: C/guitar.js.page:29(link) C/guitar.js.page:147(title)
-msgid "The whole program"
-msgstr "El programa completo"
+#~ msgid "Stopping playback"
+#~ msgstr "Detener la reproduccioÌn"
 
-#: C/guitar.js.page:58(p)
-msgid ""
-"In order to have a working program we need to import a few GObject "
-"Introspection -libraries to our use. For working UI, we need Gtk and for "
-"Gstreamer to work we need Gst. These are imported in the beginning so we "
-"have them at use everywhere. Also in the beginning we import a construct "
-"Mainloop to handle the timeout to be used with the tuning sounds."
-msgstr ""
-"Para que el programa funcione se debe importar una biblioteca de "
-"introspecciÃn de GObject. Para que funcione la IU se necesita GTK+ y, para "
-"que funcione GStreamer se necesita GST. Estas bibliotecas se importan al "
-"inicio, por lo que estÃn en uso en todos los sitios. TambiÃn, al principio, "
-"se importa el constructor Mainloop para gestionar el tiempo de espera que "
-"usar para los tonos de afinaciÃn."
-
-#: C/guitar.js.page:72(p)
-msgid ""
-"Importing Gtk and Gst is not enough, we need to initialize them in order to "
-"get them working. When Gtk and Gst are up and running we need to create the "
-"window for the application. Later we are going to put all the buttons for "
-"making sounds inside this window. In order to get the window showing, we "
-"need to tell it to show and we need also to run the code with the Gtk.main()"
-msgstr ""
+#~ 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>. "
+#~ "This sets a timeout for stopping the sound; it waits for <code>LENGTH</"
+#~ "code> milliseconds before calling the function <code>pipeline_stop</"
+#~ "code>, and will keep calling it until <code>pipeline_stop</code> returns "
+#~ "<code>False</code>."
+#~ msgstr ""
+#~ "No se quiere reproducir un tono molesto para siempre, por lo que lo "
+#~ "Ãltimo que <code>play_sound</code> hace es llamar a <code>GObject."
+#~ "timeout_add</code>. Esto establece un tiempo de expiraciÃn para detener "
+#~ "el sonido; espera <code>LENGTH</code> milisegundos antes de llamar a la "
+#~ "funciÃn <code>pipeline_stop</code>, y se queda llamando a "
+#~ "<code>pipeline_stop</code> hasta que devuelve <code>False</code>."
 
-#: C/guitar.js.page:96(p)
-msgid ""
-"Because Gtk.Window can only contain a single widget, we need to create "
-"something under it to be able to add all the necessary buttons inside it. In "
-"this example we use Buttonbox. After creating the Buttonbox we create "
-"buttons with necessary labels. After we have the buttons we need to add them "
-"to the Buttonbox and the Buttonbox must be added to the Gtk.Window and "
-"everything in the Buttonbox must be shown."
-msgstr ""
+#~ 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> the <code>play_sound</code> function:"
+#~ msgstr ""
+#~ "Ahora se escribirà el coÌdigo de la funcioÌn <code>pipeline_stop</code>, "
+#~ "llamada por <code>GObject.timeout_add</code>. Inserte el coÌdigo siguiente "
+#~ "<em>encima</em> de la funcioÌn <code>play_sound</code>:"
 
-#: C/guitar.js.page:97(p)
-msgid ""
-"After this stage you should have a window appearing to your screen showing 6 "
-"buttons. Right now the buttons don't do anything and we shall address that "
-"issue later. Before we can connect the button signals to something we need "
-"to code that something first."
-msgstr ""
+#~ msgid ""
+#~ "You need to define the <code>LENGTH</code> constant inside the class, so "
+#~ "add this code at the beginning of the main class:"
+#~ msgstr ""
+#~ "Necesita definir la constante <code>LENGTH</code> dentro de la clase, por "
+#~ "lo que debe aÃadir este cÃdigo al principio de la clase principal:"
 
-#: C/guitar.js.page:120(p)
-msgid ""
-"The first thing we need to do is decide what tunes we want to make when we "
-"push a button. The frequencies list takes care of that. After that we get to "
-"actually making the sounds with the function playSound. For function "
-"playSound we give as an input a frequency (that we just defined in the "
-"frequencies variable). First thing we need to construct is a pipeline, a "
-"source and a sink. For the source we set the frequency. To the pipeline we "
-"add both the source and the sink and then we tell it to keep playing. As a "
-"last thing we use the const Mainloop to get the pipeline to pause after a "
-"500ms."
-msgstr ""
+#~ msgid ""
+#~ "The call to <code>pipeline.set_state</code> pauses the playback of the "
+#~ "pipeline."
+#~ msgstr ""
+#~ "La llamada a <code>pipeline.set_state</code> pausa la reproducciÃn de la "
+#~ "tuberÃa"
 
-#: C/guitar.js.page:121(p)
-msgid ""
-"Now we have the method of playing a tune when clicking a button. Next well "
-"make the conncetions between pushing a button and playing the correct sound "
-"from that button."
-msgstr ""
+#~ msgid "Define the tones"
+#~ msgstr "Definir los tonos"
 
-#: C/guitar.js.page:144(p)
-msgid ""
-"The method of connecting button clicks to playSound with the correct tune is "
-"by using the connect method of the button widget. So we yelp-check validate "
-"*pagechoose a button to be connected and type E.connect(\"clicked\", function"
-"(){playSound(frequencies.E);}); The connect tells that when pushing E, "
-"something should happen. The \"clicked\" tells the type of something "
-"happening to E and then in the function(){}; we the playSound happen with "
-"the correct tune that should be associated to the button."
-msgstr ""
+#~ 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 defined (at the beginning of the main class) inside a dictionary so "
+#~ "we can easily map them to the names of the strings:"
+#~ msgstr ""
+#~ "Se quiere reproducir el sonido correcto cuando un usuario pulsa un botÃn. "
+#~ "En primer lugar, se necesita conocer las frecuencias de las seis cuerdas "
+#~ "de la guitarra, que estÃn definidas (al principio de la clase principal) "
+#~ "dentro de un diccionario, por lo que se pueden mapear fÃcilmente con los "
+#~ "nombres de las cuerdas:"
 
-#: C/guitar.js.page:148(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 "
-"speakers)."
-msgstr ""
+#~ 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 "
+#~ "different signal handler, but that would lead to a lot of code "
+#~ "duplication. Instead, we can use the label of the button to figure out "
+#~ "which button was clicked:"
+#~ msgstr ""
+#~ "Ahora se se profundiza en el manejador de la seÃal definido "
+#~ "anteriormente, <code>on_button_clicked</code>. Se podrÃa haber conectado "
+#~ "cada botÃn a un manejador de la seÃal diferente, pero esto habÃa supuesto "
+#~ "duplicar mucho cÃdigo. En su lugar, se puede usar la etiqueta del botÃn "
+#~ "para saber cuÃl de ellos se ha pulsado:"
 
-#: C/guitar.js.page:228(input)
-msgid "GJS_PATH=`pwd` gjs guitarTuner.js"
-msgstr "GJS_PATH=`pwd` gjs guitarTuner.js"
+#~ 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 using <code>button.get_child</code>, and then get the text from "
+#~ "that label using <code>label.get_label</code>."
+#~ msgstr ""
+#~ "El botÃn que se ha pulsado se pasa como argumento (<code>button</code>) a "
+#~ "<code>on_button_clicked</code>. Se puede obtener la etiqueta de ese botÃn "
+#~ "usando <code>button.get_child</code>, y obteniendo entonces el texto de "
+#~ "esa etiqueta usando <code>label.get_label</code>."
 
-#: C/guitar-tuner.cpp.page:8(desc)
-msgid ""
-"Use GTKmm and GStreamermm to build a simple guitar tuner application for "
-"GNOME. Shows off how to use the interface designer."
-msgstr ""
-"Usar GTKmm y GStreamermm para construir un sencillo afinador de guitarra "
-"para GNOME. Muestra coÌmo usar el disenÌador de interfaces."
+#~ 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 "
+#~ "note. This plays the tone; we have a working guitar tuner!"
+#~ msgstr ""
+#~ "La etiqueta de texto se usa como clave para el diccionario, y se llama a "
+#~ "<code>play_sound</code> con la frecuencia correspondiente a esa nota. "
+#~ "Esto reproduce el tono; el afinador de guitarra ya està funcionando."
 
-#: C/guitar-tuner.cpp.page:33(p)
-msgid "Basic knowledge of the C++ programming language"
-msgstr "Conocimiento baÌsico del lenguaje de programacioÌn C++"
+#~ 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!"
+#~ msgstr ""
+#~ "Todo el cÃdigo deberÃa estar listo para ejecutarse. Pulse "
+#~ "<guiseq><gui>Ejecutar</gui><gui>Ejecutar</gui></guiseq> para iniciar la "
+#~ "aplicaciÃn y disfrute."
 
-#: C/guitar-tuner.cpp.page:47(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 "
-"<file>guitar-tuner</file> as project name and directory."
-msgstr ""
-"Elija <gui>GTKmm (simple)</gui> de la pestaÃa <gui>C++</gui>, pulse "
-"<gui>Adelante</gui> y rellene los detalles en las siguientes pÃginas. Use "
-"<file>afinador-guitarra</file> como nombre de proyecto y de carpeta."
+#~ msgid ""
+#~ "If you run into problems with the tutorial, compare your code with this "
+#~ "<link href=\"guitar-tuner/guitar-tuner.py\">reference code</link>."
+#~ msgstr ""
+#~ "Si tiene problemas con este tutorial, compare su coÌdigo con este <link "
+#~ "href=\"guitar-tuner/guitar-tuner.py\">coÌdigo de referencia</link>."
 
-#: C/guitar-tuner.cpp.page:50(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 "
-"GStreamermm library in your project."
-msgstr ""
-"AsegÃrese de que <gui>Configurar paquetes externos</gui> està seleccionada. "
-"En la siguiente pÃgina, seleccione <em>gstreamermm-0.10</em> de la lista "
-"para incluir la biblioteca GStreamermm en su proyecto."
+#~ msgid "@@image: 'media/guitarJs.png'; md5=35e615e0f5e293671d00c5c414ac2f6b"
+#~ msgstr "@@image: 'media/guitarJs.png'; md5=35e615e0f5e293671d00c5c414ac2f6b"
 
-#: C/guitar-tuner.cpp.page:54(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> "
-"tabs. You should see some code which starts with the lines:"
-msgstr ""
-"Pulse <gui>Terminado</gui> y se crearaÌ el proyecto. Abra <file>src/main.c</"
-"file> desde las pestanÌas <gui>Proyecto</gui> o <gui>Archivo</gui>. DeberiÌa "
-"ver algo de coÌdigo que comience con las liÌneas:"
+#~ msgid ""
+#~ "Use Gtk+ and GStreamer to build a simple guitar tuner application for "
+#~ "GNOME."
+#~ msgstr ""
+#~ "Usar GTK+ y GStreamer para construir un sencillo afinador de guitarra "
+#~ "para GNOME."
 
-#: C/guitar-tuner.cpp.page:68(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) "
-"and <code>iostream</code> (STL). Functions from these libraries are used in "
-"the rest of the code."
-msgstr ""
-"Las tres liÌneas <code>#include</code> en la parte superior incluyen las "
-"bibliotecas <code>config</code> (definiciones uÌltiles para construccioÌn con "
-"autoconf), <code>gtkmm</code> (interfaz de usuario) <code>iostream</code> "
-"(STL). Las funciones de estas bibliotecas se usan en el resto del coÌdigo."
+#~ msgid ""
+#~ "In this tutorial we'll construct a small application, Guitar Tuner, using "
+#~ "JavaScript and GTK+ and GStreamer. To do and run all the code examples "
+#~ "yourself, you need an editor to write code in, terminal and GNOME 3. or "
+#~ "higher installed into your computer."
+#~ msgstr ""
+#~ "En este tutorial se construirà una pequeÃa aplicaciÃn, ÂAfinador de "
+#~ "guitarraÂ, usando JavaScript, GTK+ y GStreamer. Para escribirla y poder "
+#~ "ejecutar los ejemplos, necesitarà un editor en el que escribir el cÃdigo, "
+#~ "una terminal y GNOME 3 o superior instalado en su equipo."
 
-#: C/guitar-tuner.cpp.page:71(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 "
-"displaying it in a window. The GtkBuilder file contains a description of a "
-"user interface and all of its elements. You can use Anjuta's editor to "
-"design GtkBuilder user interfaces."
-msgstr ""
-"La funciÃn <code>main</code> crea una ventana nueva abriendo un archivo de "
-"GtkBuilder (<file>src/guitar-tuner.ui</file>, definido unas pocas lÃneas mÃs "
-"arriba) y mostrÃndolo en una ventana. El archivo de GtkBuilder contiene una "
-"descripciÃn de la interfaz de usuario y de todos sus elementos. Puede usar "
-"el editor Anjuta para diseÃar interfaces de usuario con GtkBuilder."
+#~ msgid "Buttons for the tunes"
+#~ msgstr "Botones para los tonos"
 
-#: C/guitar-tuner.cpp.page:74(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, "
-"which runs the user interface and starts listening for events (like clicks "
-"and key presses)."
-msgstr ""
-"DespuÃs llama a algunas funciones que configuran y despuÃs ejecutan la "
-"aplicaciÃn. La funciÃn <code>kit.run</code> inicia el bucle principal de "
-"GTKmm, que ejecuta la interfaz de usuario y empieza a escuchar eventos (como "
-"pulsaciones del ratÃn y del teclado)."
+#~ msgid "Making the sounds with GStreamer"
+#~ msgstr "Crear sonidos con GStreamer"
 
-#: C/guitar-tuner.cpp.page:84(p) C/guitar-tuner.c.page:88(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>. "
-"This will switch to the interface designer. The design window is in the "
-"center; widgets and widgets' properties are on the left, and the palette of "
-"available widgets is on the right."
-msgstr ""
-"El archivo de GtkBuilder contiene una descripciÃn de la interfaz de usuario "
-"(IU). Para editar la interfaz de usuario, abra <file>src/guitar_tuner.ui</"
-"file>. Esto cambiarà al diseÃador de interfaces. La ventana de diseÃo està "
-"en el centro; los widgets y sus propiedades estÃn a la izquierda, y la "
-"paleta de los widgets disponibles està a la derecha."
+#~ msgid "Connecting buttons to playSound"
+#~ msgstr "Conectar los botones a playSound"
 
-#: C/guitar-tuner.cpp.page:99(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. "
-"Also change the <gui>Name</gui> property to <gui>button_E</gui>. This is the "
-"name we will refer to the widget later in code."
-msgstr ""
-"Mientras el botÃn està seleccionado, cambie la propiedad <gui>Etiqueta</gui> "
-"en la pestaÃa <gui>Widgets</gui> a <gui>E</gui>. Esta serà la cuerda Mi "
-"grave. Cambie tambiÃn la propiedad <gui>Nombre</gui> a <gui>button_E</gui>. "
-"Este es el nombre al que se harà referencia mÃs tarde en el cÃdigo."
+#~ msgid "The whole program"
+#~ msgstr "El programa completo"
 
-#: C/guitar-tuner.cpp.page:103(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> "
-"and the names <em>button_A</em>, etc."
-msgstr ""
-"Repita los pasos anteriores para el resto de botones, aÃadiendo las 5 "
-"cuerdas restantes con las etiquetas <em>A</em>, <em>D</em>, <em>G</em>, "
-"<em>B</em>, y <em>e</em> y los nombres <em>boton_A</em>, etc."
+#~ msgid ""
+#~ "In order to have a working program we need to import a few GObject "
+#~ "Introspection -libraries to our use. For working UI, we need Gtk and for "
+#~ "Gstreamer to work we need Gst. These are imported in the beginning so we "
+#~ "have them at use everywhere. Also in the beginning we import a construct "
+#~ "Mainloop to handle the timeout to be used with the tuning sounds."
+#~ msgstr ""
+#~ "Para que el programa funcione se debe importar una biblioteca de "
+#~ "introspecciÃn de GObject. Para que funcione la IU se necesita GTK+ y, "
+#~ "para que funcione GStreamer se necesita GST. Estas bibliotecas se "
+#~ "importan al inicio, por lo que estÃn en uso en todos los sitios. TambiÃn, "
+#~ "al principio, se importa el constructor Mainloop para gestionar el tiempo "
+#~ "de espera que usar para los tonos de afinaciÃn."
 
-#: C/guitar-tuner.cpp.page:106(p)
-msgid ""
-"Save the UI design (by clicking <guiseq><gui>File</gui><gui>Save</gui></"
-"guiseq>) and close the file."
-msgstr ""
-"Guarde el diseÃo de la IU (pulsando <guiseq><gui>Archivo</gui><gui>Guardar</"
-"gui></guiseq>) y cierre el archivo."
+#~ msgid "GJS_PATH=`pwd` gjs guitarTuner.js"
+#~ msgstr "GJS_PATH=`pwd` gjs guitarTuner.js"
 
-#: C/guitar-tuner.cpp.page:113(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, "
-"we'll be using it to produce single-frequency tones. GStreamermm is the C++ "
-"binding to GStreamer which we will use here."
-msgstr ""
-"GStreamer es el entorno multimedia de trabajo de GNOME: puede usarlo para "
-"reproducir, grabar y procesar vÃdeo, sonido, flujos de la cÃmara web y "
-"similares. En este caso, se usarà para generar tonos de frecuencia Ãnica. "
-"GStreamermm es la implementaciÃn de GStreamer en C++ que se usarà aquÃ."
+#~ msgid ""
+#~ "Use GTKmm and GStreamermm to build a simple guitar tuner application for "
+#~ "GNOME. Shows off how to use the interface designer."
+#~ msgstr ""
+#~ "Usar GTKmm y GStreamermm para construir un sencillo afinador de guitarra "
+#~ "para GNOME. Muestra coÌmo usar el disenÌador de interfaces."
 
-#: C/guitar-tuner.cpp.page:123(title)
-msgid "Using GStreamermm"
-msgstr "Usar GStreamermm"
+#~ msgid "Basic knowledge of the C++ programming language"
+#~ msgstr "Conocimiento baÌsico del lenguaje de programacioÌn C++"
 
-#: C/guitar-tuner.cpp.page:124(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> "
-"line in <file>main.cc</file>:"
-msgstr ""
-"Para usar GStreamermm, se debe inicializar. Esto se hace aÃadiendo la "
-"siguiente lÃnea de cÃdigo junto a la lÃnea <code>Gtk::Main kit(argc, argv);</"
-"code> en <file>main.cc</file>:"
+#~ 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 "
+#~ "<file>guitar-tuner</file> as project name and directory."
+#~ msgstr ""
+#~ "Elija <gui>GTKmm (simple)</gui> de la pestaÃa <gui>C++</gui>, pulse "
+#~ "<gui>Adelante</gui> y rellene los detalles en las siguientes pÃginas. Use "
+#~ "<file>afinador-guitarra</file> como nombre de proyecto y de carpeta."
 
-#: C/guitar-tuner.cpp.page:126(code)
-#, no-wrap
-msgid "\tGst::init (argc, argv);"
-msgstr "\tGst::init (argc, argv);"
+#~ 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 "
+#~ "GStreamermm library in your project."
+#~ msgstr ""
+#~ "AsegÃrese de que <gui>Configurar paquetes externos</gui> està "
+#~ "seleccionada. En la siguiente pÃgina, seleccione <em>gstreamermm-0.10</"
+#~ "em> de la lista para incluir la biblioteca GStreamermm en su proyecto."
 
-#: C/guitar-tuner.cpp.page:127(p)
-msgid ""
-"While we are on it, also make sure that the <file>gstreamermm.h</file> is "
-"included in <file>main.cc</file> properly."
-msgstr ""
-"Mientras està con esto, asegÃrese de que <file>gstreamermm.h</file> se "
-"incluye correctamente en <file>main.cc</file>."
+#~ 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> "
+#~ "tabs. You should see some code which starts with the lines:"
+#~ msgstr ""
+#~ "Pulse <gui>Terminado</gui> y se crearaÌ el proyecto. Abra <file>src/main."
+#~ "c</file> desde las pestanÌas <gui>Proyecto</gui> o <gui>Archivo</gui>. "
+#~ "DeberiÌa ver algo de coÌdigo que comience con las liÌneas:"
 
-#: C/guitar-tuner.cpp.page:131(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 "
-"example simple, whereas you might usually want to use a separate file:"
-msgstr ""
-"Para simplificar el manejo de la tuberÃa, se definirà una clase <code>Sound</"
-"code> auxiliar. Esto se hace en <file>main.cc</file> para mantener la "
-"sencillez de este ejemplo, pero puede querer usar un archivo aparte."
+#~ msgid ""
+#~ "The three <code>#include</code> lines at the top include the "
+#~ "<code>config</code> (useful autoconf build defines), <code>gtkmm</code> "
+#~ "(user interface) and <code>iostream</code> (STL). Functions from these "
+#~ "libraries are used in the rest of the code."
+#~ msgstr ""
+#~ "Las tres liÌneas <code>#include</code> en la parte superior incluyen las "
+#~ "bibliotecas <code>config</code> (definiciones uÌltiles para construccioÌn "
+#~ "con autoconf), <code>gtkmm</code> (interfaz de usuario) <code>iostream</"
+#~ "code> (STL). Las funciones de estas bibliotecas se usan en el resto del "
+#~ "coÌdigo."
 
-#: C/guitar-tuner.cpp.page:178(p)
-msgid "The code has the following purpose:"
-msgstr "El cÃdigo tiene el propÃsito siguiente:"
+#~ 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 displaying it in a window. The GtkBuilder file contains a "
+#~ "description of a user interface and all of its elements. You can use "
+#~ "Anjuta's editor to design GtkBuilder user interfaces."
+#~ msgstr ""
+#~ "La funciÃn <code>main</code> crea una ventana nueva abriendo un archivo "
+#~ "de GtkBuilder (<file>src/guitar-tuner.ui</file>, definido unas pocas "
+#~ "lÃneas mÃs arriba) y mostrÃndolo en una ventana. El archivo de GtkBuilder "
+#~ "contiene una descripciÃn de la interfaz de usuario y de todos sus "
+#~ "elementos. Puede usar el editor Anjuta para diseÃar interfaces de usuario "
+#~ "con GtkBuilder."
 
-#: C/guitar-tuner.cpp.page:181(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 "
-"container for the other two elements). The pipeline is given the name \"note"
-"\"; the source is named \"source\" and is set to the <code>audiotestsrc</"
-"code> source; and the sink is named \"output\" and set to the "
-"<code>autoaudiosink</code> sink (default sound card output). After the "
-"elements have been added to the pipeline and linked together, the pipeline "
-"is ready to run."
-msgstr ""
-"En el constructor se crean los elementos Âfuente y Âsumidero de GStreamer "
-"(<code>GstElement</code>), y un elemento de tuberÃa (que se usarà como "
-"contenedor de los otros dos elementos). A la tuberÃa se le asigna el nombre "
-"ÂnoteÂ; la fuente se llama Âsource y se asocia a la fuente "
-"<code>audiotestsrc</code> y el sumidero se llama Âoutput y se asocia con el "
-"sumidero <code>autoaudiosink</code> (la salida de la tarjeta de sonido "
-"predeterminada). DespuÃs de aÃadir los elementos a la tuberÃa y de "
-"enlazarlos unos con otros, la tuberÃa està lista para ejecutarse."
-
-#: C/guitar-tuner.cpp.page:184(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. "
-"As we don't want to have the annoying sound for ages, a timeout is set up to "
-"stop the pipeline after 200 ms by calling <code>stop_playing</code>."
-msgstr ""
-"<code>start_playing</code> configura el elemento fuente para reproducir una "
-"frecuencia determinada e inicia la tuberÃa, por lo que el sonido empieza a "
-"reproducirse. Como no se quiere reproducir un sonido molesto durante mucho "
-"tiempo, se establece un tiempo de expiraciÃn para detener la tuberÃa despuÃs "
-"de 200 ms, llamando a <code>stop_playing</code>."
+#~ 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, which runs the user interface and starts listening for events (like "
+#~ "clicks and key presses)."
+#~ msgstr ""
+#~ "DespuÃs llama a algunas funciones que configuran y despuÃs ejecutan la "
+#~ "aplicaciÃn. La funciÃn <code>kit.run</code> inicia el bucle principal de "
+#~ "GTKmm, que ejecuta la interfaz de usuario y empieza a escuchar eventos "
+#~ "(como pulsaciones del ratÃn y del teclado)."
 
-#: C/guitar-tuner.cpp.page:189(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 "
-"GStreamermm uses reference counting through the <code>Glib::RefPtr</code> "
-"object, the memory is automatically freed once the <code>Sound</code> class "
-"is destroyed."
-msgstr ""
-"En <code>stop_playing</code> a la que se llama cuando ha transcurrido el "
-"tiempo, se detiene la tuberÃa y como tal, ya no habrà ninguna salida de "
-"sonido. Ya que GStreamermm usa una referencia continua a traves del objeto "
-"<code>Glib::RefPtr</code>, la memoria se libera automÃticamente una vez que "
-"la clase <code>Sound</code> se ha destruido."
+#~ 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>. "
+#~ "This will switch to the interface designer. The design window is in the "
+#~ "center; widgets and widgets' properties are on the left, and the palette "
+#~ "of available widgets is on the right."
+#~ msgstr ""
+#~ "El archivo de GtkBuilder contiene una descripciÃn de la interfaz de "
+#~ "usuario (IU). Para editar la interfaz de usuario, abra <file>src/"
+#~ "guitar_tuner.ui</file>. Esto cambiarà al diseÃador de interfaces. La "
+#~ "ventana de diseÃo està en el centro; los widgets y sus propiedades estÃn "
+#~ "a la izquierda, y la paleta de los widgets disponibles està a la derecha."
 
-#: C/guitar-tuner.cpp.page:197(title)
-msgid "Connecting the signals"
-msgstr "Conectar las seÃales"
+#~ 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. Also change the <gui>Name</gui> property to <gui>button_E</gui>. "
+#~ "This is the name we will refer to the widget later in code."
+#~ msgstr ""
+#~ "Mientras el botÃn està seleccionado, cambie la propiedad <gui>Etiqueta</"
+#~ "gui> en la pestaÃa <gui>Widgets</gui> a <gui>E</gui>. Esta serà la cuerda "
+#~ "Mi grave. Cambie tambiÃn la propiedad <gui>Nombre</gui> a <gui>button_E</"
+#~ "gui>. Este es el nombre al que se harà referencia mÃs tarde en el cÃdigo."
 
-#: C/guitar-tuner.cpp.page:198(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 "
-"button. We also want to provide information to the called function which "
-"tone to play. GTKmm makes that quite easy as we can easily bind information "
-"with the <em>sigc</em> library."
-msgstr ""
-"Se quiere reproducir el sonido correcto cuando el usuario pulsa un botÃn. Lo "
-"que significa que hay que conectar la seÃal disparada cuando el usuario "
-"pulsa el botÃn. TambiÃn se quiere proporcionar informaciÃn a la funciÃn "
-"llamada dependiendo del tono que reproducir. GTKmm hace que esto sea fÃcil "
-"ya que se puede vincular informaciÃn con la biblioteca <em>sigc</em>."
+#~ 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> and the names <em>button_A</em>, etc."
+#~ msgstr ""
+#~ "Repita los pasos anteriores para el resto de botones, aÃadiendo las 5 "
+#~ "cuerdas restantes con las etiquetas <em>A</em>, <em>D</em>, <em>G</em>, "
+#~ "<em>B</em>, y <em>e</em> y los nombres <em>boton_A</em>, etc."
 
-#: C/guitar-tuner.cpp.page:203(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:"
-msgstr ""
-"La funciÃn a la que se llama cuando el usuario pulsa un botÃn puede ser muy "
-"sencilla, ya que todo lo interesante se hace ahora en la clase auxiliar:"
+#~ msgid ""
+#~ "Save the UI design (by clicking <guiseq><gui>File</gui><gui>Save</gui></"
+#~ "guiseq>) and close the file."
+#~ msgstr ""
+#~ "Guarde el diseÃo de la IU (pulsando <guiseq><gui>Archivo</"
+#~ "gui><gui>Guardar</gui></guiseq>) y cierre el archivo."
 
-#: C/guitar-tuner.cpp.page:212(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 "
-"directly connect to the class without using the function but we will leave "
-"that to use as an exercise."
-msgstr ""
-"SÃlo llama a la clase auxiliar definida anteriormente para reproducir las "
-"frecuencias correctas. Con algo de cÃdigo mÃs inteligente, se podrÃa haber "
-"conectado directamente con la clase sin usar la funciÃn, pero esto se dejarà "
-"como ejercicio."
+#~ msgid ""
+#~ "GStreamer is GNOME's multimedia framework â you can use it for playing, "
+#~ "recording, and processing video, audio, webcam streams and the like. "
+#~ "Here, we'll be using it to produce single-frequency tones. GStreamermm is "
+#~ "the C++ binding to GStreamer which we will use here."
+#~ msgstr ""
+#~ "GStreamer es el entorno multimedia de trabajo de GNOME: puede usarlo para "
+#~ "reproducir, grabar y procesar vÃdeo, sonido, flujos de la cÃmara web y "
+#~ "similares. En este caso, se usarà para generar tonos de frecuencia Ãnica. "
+#~ "GStreamermm es la implementaciÃn de GStreamer en C++ que se usarà aquÃ."
 
-#: C/guitar-tuner.cpp.page:216(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\", "
-"main_win);</code> line:"
-msgstr ""
-"El cÃdigo para configurar las seÃales de debe aÃadir a la funciÃn <code>main"
-"()</code>, justo despuÃs de la lÃnea <code>builder-&gt;get_widget"
-"(\"main_window\", main_win);</code>:"
+#~ msgid "Using GStreamermm"
+#~ msgstr "Usar GStreamermm"
 
-#: C/guitar-tuner.cpp.page:228(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."
-msgstr ""
-"En primer lugar, se crea una instancia de la clase auxiliar que se quiere "
-"usar ahora y se declara una variable para el botÃn al que se quiere conectar."
+#~ 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> line in <file>main.cc</file>:"
+#~ msgstr ""
+#~ "Para usar GStreamermm, se debe inicializar. Esto se hace aÃadiendo la "
+#~ "siguiente lÃnea de cÃdigo junto a la lÃnea <code>Gtk::Main kit(argc, "
+#~ "argv);</code> en <file>main.cc</file>:"
 
-#: C/guitar-tuner.cpp.page:232(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 "
-"we gave to the first button."
-msgstr ""
-"DespuÃs se recibe el objeto de botÃn desde la interfaz de usuario que se "
-"creà fuera del archivo de la interfaz de usuario. Recuerde que <em>button_E</"
-"em> es el nombre que se dio al primer botÃn."
+#~ msgid "\tGst::init (argc, argv);"
+#~ msgstr "\tGst::init (argc, argv);"
 
-#: C/guitar-tuner.cpp.page:236(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 "
-"actually want to pass the frequency and our helper class to the signal "
-"handler. <code>sigc::ptr_fun(&amp;on_button_clicked)</code> creates a "
-"<em>slot</em> for the <code>on_button_clicked</code> method we defined "
-"above. With <code>sigc::bind</code> we are able to pass additional arguments "
-"to the slot and in this case we pass the frequency (as double) and our "
-"helper class."
-msgstr ""
-"Por Ãltimo, se conecta la seÃal <em>clicked</em>. Esto no es del todo "
-"sencillo porque se hace de manera completamente segura para el tipo, y "
-"actualmente se quiere pasar la frecuencia y la clase auxiliar al manejador "
-"de la seÃal. <code>sigc::ptr_fun(&amp;on_button_clicked)</code> crea un "
-"<em>slot</em> para el mÃtodo <code>on_button_clicked</code> definido "
-"anteriormente. Con <code>sigc::bind</code> es posible pasar argumentos "
-"adicionales al slot y, en este caso, se pasa la frecuencia (como ÂdoubleÂ) y "
-"la clase auxiliar."
-
-#: C/guitar-tuner.cpp.page:243(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, "
-"783.99 for G, 987.77 for B and 1318.5 for the high E. This is done in the "
-"same way, just passing a different frequency to the handler."
-msgstr ""
-"Ahora que se ha establecido el botÃn <em>E</em>, se debe conectar el resto "
-"de botones de acuerdo con sus frecuencias: 440 para A, 587.33 para D, 783.99 "
-"para G, 987.77 para B y 1318.5 para E agudo. Esto se hace de la misma "
-"manera, pasando simplemente una frecuencia diferente al manejador."
+#~ msgid ""
+#~ "While we are on it, also make sure that the <file>gstreamermm.h</file> is "
+#~ "included in <file>main.cc</file> properly."
+#~ msgstr ""
+#~ "Mientras està con esto, asegÃrese de que <file>gstreamermm.h</file> se "
+#~ "incluye correctamente en <file>main.cc</file>."
 
-#: C/guitar-tuner.cpp.page:250(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 "
-"<guiseq><gui>Run</gui><gui>Run</gui></guiseq> to start the application."
-msgstr ""
-"Todo el cÃdigo deberÃa estar listo para ejecutarse. Pulse "
-"<guiseq><gui>Construir</gui><gui>Construir proyecto</gui></guiseq> para "
-"construir todo otra vez y pulse <guiseq><gui>Ejecutar</gui><gui>Ejecutar</"
-"gui></guiseq> para iniciar la aplicaciÃn."
+#~ 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 example simple, whereas you might usually want to use a separate "
+#~ "file:"
+#~ msgstr ""
+#~ "Para simplificar el manejo de la tuberÃa, se definirà una clase "
+#~ "<code>Sound</code> auxiliar. Esto se hace en <file>main.cc</file> para "
+#~ "mantener la sencillez de este ejemplo, pero puede querer usar un archivo "
+#~ "aparte."
 
-#: C/guitar-tuner.cpp.page:256(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>."
-msgstr ""
-"Si tiene problemas con este tutorial, compare su coÌdigo con este <link href="
-"\"guitar-tuner/guitar-tuner.cc\">coÌdigo de referencia</link>."
+#~ msgid "The code has the following purpose:"
+#~ msgstr "El cÃdigo tiene el propÃsito siguiente:"
 
-#: C/guitar-tuner.cpp.page:260(title)
-msgid "Further Reading"
-msgstr "Lecturas adicionales"
+#~ 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 container for the other two elements). The pipeline is given the "
+#~ "name \"note\"; the source is named \"source\" and is set to the "
+#~ "<code>audiotestsrc</code> source; and the sink is named \"output\" and "
+#~ "set to the <code>autoaudiosink</code> sink (default sound card output). "
+#~ "After the elements have been added to the pipeline and linked together, "
+#~ "the pipeline is ready to run."
+#~ msgstr ""
+#~ "En el constructor se crean los elementos Âfuente y Âsumidero de "
+#~ "GStreamer (<code>GstElement</code>), y un elemento de tuberÃa (que se "
+#~ "usarà como contenedor de los otros dos elementos). A la tuberÃa se le "
+#~ "asigna el nombre ÂnoteÂ; la fuente se llama Âsource y se asocia a la "
+#~ "fuente <code>audiotestsrc</code> y el sumidero se llama Âoutput y se "
+#~ "asocia con el sumidero <code>autoaudiosink</code> (la salida de la "
+#~ "tarjeta de sonido predeterminada). DespuÃs de aÃadir los elementos a la "
+#~ "tuberÃa y de enlazarlos unos con otros, la tuberÃa està lista para "
+#~ "ejecutarse."
 
-#: C/guitar-tuner.cpp.page:261(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> "
-"which also covers a lot more key concept for using the full power of GTKmm. "
-"You might also be interested in the <link href=\"http://library.gnome.org/";
-"devel/gstreamermm/\">GStreamermm reference documentation</link>."
-msgstr ""
-"La mayor parte de lo que se ha visto anteriormente se explica detalladamente "
-"en el <link href=\"http://library.gnome.org/devel/gtkmm-tutorial/stable/";
-"\">libro de GTKmm</link> que tambiÃn cubre muchos mÃs conceptos clave para "
-"usar todo el potencial de GTKmm. Es posible que tambiÃn le interese la <link "
-"href=\"http://library.gnome.org/devel/gstreamermm/\";>documentaciÃn de "
-"referencia de GStreamermm</link>."
-
-#: C/guitar-tuner.c.page:33(p)
-msgid "Basic knowledge of the C programming language"
-msgstr "Conocimiento bÃsico del lenguaje de programaciÃn C"
-
-#: C/guitar-tuner.c.page:47(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."
-msgstr ""
-"Seleccione <gui>Gtk+ (simple)</gui> en la pestaÃa <gui>C</gui>, pulse "
-"<gui>Continuar</gui>, y rellene los detalles en las siguientes pÃginas. Use "
-"<file>afinador-guitarra</file> como nombre del proyecto y de la carpeta."
+#~ 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. As we don't want to have the annoying sound for ages, a timeout "
+#~ "is set up to stop the pipeline after 200 ms by calling "
+#~ "<code>stop_playing</code>."
+#~ msgstr ""
+#~ "<code>start_playing</code> configura el elemento fuente para reproducir "
+#~ "una frecuencia determinada e inicia la tuberÃa, por lo que el sonido "
+#~ "empieza a reproducirse. Como no se quiere reproducir un sonido molesto "
+#~ "durante mucho tiempo, se establece un tiempo de expiraciÃn para detener "
+#~ "la tuberÃa despuÃs de 200 ms, llamando a <code>stop_playing</code>."
 
-#: C/guitar-tuner.c.page:50(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 "
-"include the GStreamer library in your project."
-msgstr ""
-"AsegÃrese de que <gui>Configurar paquetes externos</gui> està <gui>activada</"
-"gui>. En la siguiente pÃgina, seleccione <em>gstreamer-0.10</em> de la lista "
-"para incluir la biblioteca GStreamer en su proyecto."
+#~ 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 GStreamermm uses reference counting through the <code>Glib::"
+#~ "RefPtr</code> object, the memory is automatically freed once the "
+#~ "<code>Sound</code> class is destroyed."
+#~ msgstr ""
+#~ "En <code>stop_playing</code> a la que se llama cuando ha transcurrido el "
+#~ "tiempo, se detiene la tuberÃa y como tal, ya no habrà ninguna salida de "
+#~ "sonido. Ya que GStreamermm usa una referencia continua a traves del "
+#~ "objeto <code>Glib::RefPtr</code>, la memoria se libera automÃticamente "
+#~ "una vez que la clase <code>Sound</code> se ha destruido."
 
-#: C/guitar-tuner.c.page:64(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 "
-"from the user interface description file and shows it. More details are "
-"given below; skip this list if you understand the basics:"
-msgstr ""
-"C es un lenguaje mÃs detallado, por lo que no se sorprenda de que el archivo "
-"contiene un gran cantidad de cÃdigo. La mayor parte es cÃdigo de plantilla. "
-"Carga una ventana (vacÃa) desde el archivo de descripciÃn de la interfaz de "
-"usuario y la muestra. A continuaciÃn se ofrecen mÃs detalles; omita esta "
-"lista si entiende los conceptos bÃsicos:"
+#~ msgid "Connecting the signals"
+#~ msgstr "Conectar las seÃales"
 
-#: C/guitar-tuner.c.page:71(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 "
-"above), connecting its signals and then displaying it in a window. The "
-"GtkBuilder file contains a description of a user interface and all of its "
-"elements. You can use Anjuta's editor to design GtkBuilder user interfaces."
-msgstr ""
-"La funciÃn <code>create_window</code> crea una ventana nueva abriendo un "
-"archivo de GtkBuilder (<file>src/guitar-tuner.ui</file>, definido unas pocas "
-"lÃneas mÃs arriba), conectando sus seÃales y mostrÃndolo en una ventana. El "
-"archivo de GtkBuilder contiene una descripciÃn de una interfaz de usuario y "
-"de todos sus elementos. Puede usar el editor Anjuta para diseÃar interfaces "
-"de usuario con GtkBuilder."
-
-#: C/guitar-tuner.c.page:120(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 "
-"the signal name. Now take the row where you set the <gui>clicked</gui> "
-"signal and drag it into to the source file at a position that is outside any "
-"function. The following code will be added to your source file:"
-msgstr ""
-"Para hacer esto, abra <file>main.c</file> mientras el archivo de la interfaz "
-"de usuario està abierto. Cambie a la pestaÃa <gui>SeÃales</gui>, que ya ha "
-"usado para establecer el nombre de la seÃal. Ahora vaya a la fila en la que "
-"establecià la seÃal <gui>clicked</gui> y arrÃstrela al archivo de cÃdigo "
-"fuente, fuera de cualquier funciÃn. Se aÃadirà el siguiente cÃdigo a su "
-"archivo de cÃdigo fuente:"
-
-#: C/guitar-tuner.c.page:128(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</"
-"code>), and a pointer to some \"user data\" that you can define, but which "
-"we won't be using here. (You can set the user data by calling "
-"<code>gtk_builder_connect_signals</code>; it is normally used to pass a "
-"pointer to a data structure that you might need to access inside the signal "
-"handler.)"
-msgstr ""
-"El manejador de la seÃal tiene dos argumentos. un puntero al "
-"<code>GtkWidget</code> que llamà a la funciÃn (en este caso, siempre es un "
-"<code>GtkButton</code>), y un puntero a ciertos Âdatos de usuario que puede "
-"definir, pero que aquà no se usan. (Puede establecer los datos de usuario "
-"llamando a <code>gtk_builder_connect_signals</code>; normalmente se usa para "
-"pasar un puntero a una estructura de datos a la que puede necesitar acceder "
-"dentro del manejador de la seÃal.)"
-
-#: C/guitar-tuner.c.page:146(p)
-msgid ""
-"Insert the following line into <file>main.c</file>, just below the <code><!"
-"[CDATA[#include <gtk/gtk.h>]]></code> line:"
-msgstr ""
-"Inserte la siguiente lÃnea en <file>main.c</file>, justo a continuaciÃn de "
-"la lÃnea <code><![CDATA[#include <gtk/gtk.h>]]></code>:"
+#~ 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 button. We also want to provide information to the called "
+#~ "function which tone to play. GTKmm makes that quite easy as we can easily "
+#~ "bind information with the <em>sigc</em> library."
+#~ msgstr ""
+#~ "Se quiere reproducir el sonido correcto cuando el usuario pulsa un botÃn. "
+#~ "Lo que significa que hay que conectar la seÃal disparada cuando el "
+#~ "usuario pulsa el botÃn. TambiÃn se quiere proporcionar informaciÃn a la "
+#~ "funciÃn llamada dependiendo del tono que reproducir. GTKmm hace que esto "
+#~ "sea fÃcil ya que se puede vincular informaciÃn con la biblioteca "
+#~ "<em>sigc</em>."
 
-#: C/guitar-tuner.c.page:148(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 "
-"<code>gtk_init</code> call in the <code>main</code> function:"
-msgstr ""
-"Esto incluye la bilbioteca GStreamer. TambiÃn necesita aÃadir una lÃnea para "
-"inicializar GStreamer; ponga la siguiente lÃnea de cÃdigo antes de la "
-"llamada <code>gtk_init</code> en la funciÃn <code>main</code>:"
+#~ 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:"
+#~ msgstr ""
+#~ "La funciÃn a la que se llama cuando el usuario pulsa un botÃn puede ser "
+#~ "muy sencilla, ya que todo lo interesante se hace ahora en la clase "
+#~ "auxiliar:"
 
-#: C/guitar-tuner.c.page:150(p)
-msgid ""
-"Then, copy the following function into <file>main.c</file> above the empty "
-"<code>on_button_clicked</code> function:"
-msgstr ""
-"DespuÃs, copie la siguiente funciÃn en <file>main.c</file> encima de la "
-"funciÃn <code>on_button_clicked</code> vacÃa:"
+#~ 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 "
+#~ "directly connect to the class without using the function but we will "
+#~ "leave that to use as an exercise."
+#~ msgstr ""
+#~ "SÃlo llama a la clase auxiliar definida anteriormente para reproducir las "
+#~ "frecuencias correctas. Con algo de cÃdigo mÃs inteligente, se podrÃa "
+#~ "haber conectado directamente con la clase sin usar la funciÃn, pero esto "
+#~ "se dejarà como ejercicio."
 
-#: C/guitar-tuner.c.page:177(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 "
-"container for the other two elements). The pipeline is given the name \"note"
-"\"; the source is named \"source\" and is set to the <code>audiotestsrc</"
-"code> source; and the sink is named \"output\" and set to the "
-"<code>autoaudiosink</code> sink (default sound card output)."
-msgstr ""
-"Las cinco primeras lÃneas crean los elementos Âfuente y Âsumidero de "
-"GStreamer (<code>GstElement</code>), y un elemento de tuberÃa (que se usarà "
-"como contenedor de los otros dos elementos). A la tuberÃa se le asigna el "
-"nombre ÂnoteÂ; la fuente se llama Âsource y se asocia a la fuente "
-"<code>audiotestsrc</code> y el sumidero se llama Âoutput y se asocia con el "
-"sumidero <code>autoaudiosink</code> (la salida de la tarjeta de sonido "
-"predeterminada)."
-
-#: C/guitar-tuner.c.page:180(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 "
-"to the <code>play_sound</code> function. This is just the frequency of the "
-"note in Hertz; some useful frequencies will be defined later on."
-msgstr ""
-"La llamada a <code>g_object_set</code> establece la propiedad <code>freq</"
-"code> del elemento fuente a <code>frequency</code>, que se pasa como "
-"argumento a la funciÃn <code>play_sound</code>. Esto sÃlo es la frecuencia "
-"de la nota en Hercios; mÃs adelante se definirÃn algunas frecuencias Ãtiles."
+#~ 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\", "
+#~ "main_win);</code> line:"
+#~ msgstr ""
+#~ "El cÃdigo para configurar las seÃales de debe aÃadir a la funciÃn "
+#~ "<code>main()</code>, justo despuÃs de la lÃnea <code>builder-&gt;"
+#~ "get_widget(\"main_window\", main_win);</code>:"
 
-#: C/guitar-tuner.c.page:183(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 "
-"contain multiple other GStreamer elements. In general, you can add as many "
-"elements as you like to the pipeline by adding more arguments to "
-"<code>gst_bin_add_many</code>."
-msgstr ""
-"<code>gst_bin_add_many</code> aÃade la fuente y el sumidero a la tuberÃa. La "
-"tuberÃa es un <code>GstBin</code>, que es un elemento que puede contener "
-"otros muchos elementos de GStreamer. En general, puede aÃadir tantos "
-"elementos como quiera a una tuberÃa aÃadiendo mÃs argumentos a "
-"<code>gst_bin_add_many</code>."
+#~ 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."
+#~ msgstr ""
+#~ "En primer lugar, se crea una instancia de la clase auxiliar que se quiere "
+#~ "usar ahora y se declara una variable para el botÃn al que se quiere "
+#~ "conectar."
 
-#: C/guitar-tuner.c.page:186(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 "
-"of <code>sink</code> (which is then output to the sound card). "
-"<code>gst_element_set_state</code> is then used to start playback, by "
-"setting the state of the pipeline to playing (<code>GST_STATE_PLAYING</"
-"code>)."
-msgstr ""
-"DespuÃs, se usa <code>gst_element_link</code> para conectar los elementos de "
-"forma conjunta, de tal forma que la salida de <code>source</code> (un tono) "
-"va a la entrada de <code>sink</code> (que es despuÃs la salida de la tarjeta "
-"de sonido). <code>gst_element_set_state</code> se usa al iniciar la "
-"reproducciÃn, configurando el estado de la tuberÃa a reproduciendo "
-"(<code>GST_STATE_PLAYING</code>)."
-
-#: C/guitar-tuner.c.page:194(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 "
-"sets a timeout for stopping the sound; it waits for <code>LENGTH</code> "
-"milliseconds before calling the function <code>pipeline_stop</code>, and "
-"will keep calling it until <code>pipeline_stop</code> returns <code>FALSE</"
-"code>."
-msgstr ""
-"No se quiere reproducir un tono molesto para siempre, por lo que lo uÌltimo "
-"que <code>play_sound</code> hace es llamar a <code>g_timeout_add</code>. "
-"Esto establece un tiempo de expiracioÌn para detener el sonido; espera "
-"<code>LENGTH</code> milisegundos antes de llamar a la funcioÌn "
-"<code>pipeline_stop</code>, y se queda llamando a <code>pipeline_stop</code> "
-"hasta que devuelve <code>FALSE</code>."
-
-#: C/guitar-tuner.c.page:195(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 "
-"<code>play_sound</code> function:"
-msgstr ""
-"Ahora, se escribirà el cÃdigo de la funciÃn <code>pipeline_stop</code>, "
-"llamada por <code>g_timeout_add</code>. Inserte el cÃdigo siguiente "
-"<em>encima</em> de la funciÃn <code>play_sound</code>:"
+#~ 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 we gave to the first button."
+#~ msgstr ""
+#~ "DespuÃs se recibe el objeto de botÃn desde la interfaz de usuario que se "
+#~ "creà fuera del archivo de la interfaz de usuario. Recuerde que "
+#~ "<em>button_E</em> es el nombre que se dio al primer botÃn."
 
-#: C/guitar-tuner.c.page:207(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, "
-"destroying it and freeing its memory."
-msgstr ""
-"La llamada a <code>gst_element_set_state</code> pausa la reproducciÃn de la "
-"tuberÃa y <code>g_object_unref</code> desreferencia la tuberÃa, la destruye "
-"y libera su memoria."
+#~ 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 "
+#~ "actually want to pass the frequency and our helper class to the signal "
+#~ "handler. <code>sigc::ptr_fun(&amp;on_button_clicked)</code> creates a "
+#~ "<em>slot</em> for the <code>on_button_clicked</code> method we defined "
+#~ "above. With <code>sigc::bind</code> we are able to pass additional "
+#~ "arguments to the slot and in this case we pass the frequency (as double) "
+#~ "and our helper class."
+#~ msgstr ""
+#~ "Por Ãltimo, se conecta la seÃal <em>clicked</em>. Esto no es del todo "
+#~ "sencillo porque se hace de manera completamente segura para el tipo, y "
+#~ "actualmente se quiere pasar la frecuencia y la clase auxiliar al "
+#~ "manejador de la seÃal. <code>sigc::ptr_fun(&amp;on_button_clicked)</code> "
+#~ "crea un <em>slot</em> para el mÃtodo <code>on_button_clicked</code> "
+#~ "definido anteriormente. Con <code>sigc::bind</code> es posible pasar "
+#~ "argumentos adicionales al slot y, en este caso, se pasa la frecuencia "
+#~ "(como ÂdoubleÂ) y la clase auxiliar."
 
-#: C/guitar-tuner.c.page:212(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 "
-"defined (at the top of <file>main.c</file>) as follows:"
-msgstr ""
-"Se quiere reproducir el sonido correcto cuando un usuario pulsa un botÃn. En "
-"primer lugar, se necesita conocer las frecuencias de las seis cuerdas de la "
-"guitarra, que estÃn definidas (al principio de <file>main.c</file>) de la "
-"siguiente manera:"
+#~ 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, "
+#~ "783.99 for G, 987.77 for B and 1318.5 for the high E. This is done in the "
+#~ "same way, just passing a different frequency to the handler."
+#~ msgstr ""
+#~ "Ahora que se ha establecido el botÃn <em>E</em>, se debe conectar el "
+#~ "resto de botones de acuerdo con sus frecuencias: 440 para A, 587.33 para "
+#~ "D, 783.99 para G, 987.77 para B y 1318.5 para E agudo. Esto se hace de la "
+#~ "misma manera, pasando simplemente una frecuencia diferente al manejador."
 
-#: C/guitar-tuner.c.page:244(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 "
-"the label of that button by using <code>gtk_bin_get_child</code>, and then "
-"get the text from that label using <code>gtk_label_get_label</code>."
-msgstr ""
-"A <code>on_button_clicked</code> se le pasa como argumento (<code>button</"
-"code>) un puntero al <code>GtkButton</code> que se ha pulsado. Se puede "
-"obtener la etiqueta de este botÃn usando <code>gtk_bin_get_child</code> y "
-"obteniendo el texto de la etiqueta usando <code>gtk_label_get_label</code>."
+#~ 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 "
+#~ "<guiseq><gui>Run</gui><gui>Run</gui></guiseq> to start the application."
+#~ msgstr ""
+#~ "Todo el cÃdigo deberÃa estar listo para ejecutarse. Pulse "
+#~ "<guiseq><gui>Construir</gui><gui>Construir proyecto</gui></guiseq> para "
+#~ "construir todo otra vez y pulse <guiseq><gui>Ejecutar</gui><gui>Ejecutar</"
+#~ "gui></guiseq> para iniciar la aplicaciÃn."
 
-#: C/guitar-tuner.c.page:245(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 "
-"frequency appropriate for that note. This plays the tone; we have a working "
-"guitar tuner!"
-msgstr ""
-"La etiqueta de texto se compara con las notas que se tiene usando "
-"<code>g_str_equal</code>, y se llama a <code>play_sound</code> con la "
-"frecuencia correspondiente a cada nota. Esto reproduce el tono; el afinador "
-"de guitarra ya està funcionando."
+#~ msgid ""
+#~ "If you run into problems with the tutorial, compare your code with this "
+#~ "<link href=\"guitar-tuner/guitar-tuner.cc\">reference code</link>."
+#~ msgstr ""
+#~ "Si tiene problemas con este tutorial, compare su coÌdigo con este <link "
+#~ "href=\"guitar-tuner/guitar-tuner.cc\">coÌdigo de referencia</link>."
 
-#: C/guitar-tuner.c.page:256(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>."
-msgstr ""
-"Si tiene problemas con este tutorial, compare su coÌdigo con este <link href="
-"\"guitar-tuner/guitar-tuner.c\">coÌdigo de referencia</link>."
+#~ msgid "Further Reading"
+#~ msgstr "Lecturas adicionales"
 
-#. When image changes, this message will be marked fuzzy or untranslated for you.
-#. It doesn't matter what you translate it to: it's not used at all.
-#: C/getting-ready.page:40(None)
-msgid "@@image: 'media/ubuntu.png'; md5=40845e4a40b335b1958da1403f01c13f"
-msgstr "@@image: 'media/ubuntu.png'; md5=40845e4a40b335b1958da1403f01c13f"
+#~ 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> which also covers a lot more key concept for using the full power "
+#~ "of GTKmm. You might also be interested in the <link href=\"http://library.";
+#~ "gnome.org/devel/gstreamermm/\">GStreamermm reference documentation</link>."
+#~ msgstr ""
+#~ "La mayor parte de lo que se ha visto anteriormente se explica "
+#~ "detalladamente en el <link href=\"http://library.gnome.org/devel/gtkmm-";
+#~ "tutorial/stable/\">libro de GTKmm</link> que tambiÃn cubre muchos mÃs "
+#~ "conceptos clave para usar todo el potencial de GTKmm. Es posible que "
+#~ "tambiÃn le interese la <link href=\"http://library.gnome.org/devel/";
+#~ "gstreamermm/\">documentaciÃn de referencia de GStreamermm</link>."
 
-#. When image changes, this message will be marked fuzzy or untranslated for you.
-#. It doesn't matter what you translate it to: it's not used at all.
-#: C/getting-ready.page:45(None)
-msgid "@@image: 'media/fedora.png'; md5=19add55f4349fd9e90f3a50b344ba626"
-msgstr "@@image: 'media/fedora.png'; md5=19add55f4349fd9e90f3a50b344ba626"
+#~ msgid "Basic knowledge of the C programming language"
+#~ msgstr "Conocimiento bÃsico del lenguaje de programaciÃn C"
 
-#. When image changes, this message will be marked fuzzy or untranslated for you.
-#. It doesn't matter what you translate it to: it's not used at all.
-#: C/getting-ready.page:50(None)
-msgid "@@image: 'media/opensuse.png'; md5=a852a94199328e2f978c7f6a55bf8b54"
-msgstr "@@image: 'media/opensuse.png'; md5=a852a94199328e2f978c7f6a55bf8b54"
+#~ 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."
+#~ msgstr ""
+#~ "Seleccione <gui>Gtk+ (simple)</gui> en la pestaÃa <gui>C</gui>, pulse "
+#~ "<gui>Continuar</gui>, y rellene los detalles en las siguientes pÃginas. "
+#~ "Use <file>afinador-guitarra</file> como nombre del proyecto y de la "
+#~ "carpeta."
 
-#: C/getting-ready.page:8(desc)
-msgid "Install GNOME development tools"
-msgstr "Instalar las herramientas de desarrollo de GNOME"
+#~ 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 include the GStreamer library in your project."
+#~ msgstr ""
+#~ "AsegÃrese de que <gui>Configurar paquetes externos</gui> està "
+#~ "<gui>activada</gui>. En la siguiente pÃgina, seleccione "
+#~ "<em>gstreamer-0.10</em> de la lista para incluir la biblioteca GStreamer "
+#~ "en su proyecto."
 
-#: C/getting-ready.page:17(title)
-msgid "Getting ready for GNOME development"
-msgstr "PrepaÌrese para desarrollar en GNOME"
+#~ 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 from the user interface description file and shows it. "
+#~ "More details are given below; skip this list if you understand the basics:"
+#~ msgstr ""
+#~ "C es un lenguaje mÃs detallado, por lo que no se sorprenda de que el "
+#~ "archivo contiene un gran cantidad de cÃdigo. La mayor parte es cÃdigo de "
+#~ "plantilla. Carga una ventana (vacÃa) desde el archivo de descripciÃn de "
+#~ "la interfaz de usuario y la muestra. A continuaciÃn se ofrecen mÃs "
+#~ "detalles; omita esta lista si entiende los conceptos bÃsicos:"
 
-#: C/getting-ready.page:20(title)
-msgid "Install the required tools"
-msgstr "Instalar las herramientas necesarias"
+#~ 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 "
+#~ "above), connecting its signals and then displaying it in a window. The "
+#~ "GtkBuilder file contains a description of a user interface and all of its "
+#~ "elements. You can use Anjuta's editor to design GtkBuilder user "
+#~ "interfaces."
+#~ msgstr ""
+#~ "La funciÃn <code>create_window</code> crea una ventana nueva abriendo un "
+#~ "archivo de GtkBuilder (<file>src/guitar-tuner.ui</file>, definido unas "
+#~ "pocas lÃneas mÃs arriba), conectando sus seÃales y mostrÃndolo en una "
+#~ "ventana. El archivo de GtkBuilder contiene una descripciÃn de una "
+#~ "interfaz de usuario y de todos sus elementos. Puede usar el editor Anjuta "
+#~ "para diseÃar interfaces de usuario con GtkBuilder."
 
-#: C/getting-ready.page:21(p)
-msgid ""
-"Before you can start coding you will have to install the required tools for "
-"GNOME development on your computer. This shouldn't take you more than ten "
-"minutes."
-msgstr ""
-"Antes de empezar a programar, deberà instalar las herramientas de desarrollo "
-"de GNOME requeridas en su equipo. Esto no deberÃa llevarle mÃs de 10 minutos."
+#~ 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 the signal name. Now take the row where you set the <gui>clicked</"
+#~ "gui> signal and drag it into to the source file at a position that is "
+#~ "outside any function. The following code will be added to your source "
+#~ "file:"
+#~ msgstr ""
+#~ "Para hacer esto, abra <file>main.c</file> mientras el archivo de la "
+#~ "interfaz de usuario està abierto. Cambie a la pestaÃa <gui>SeÃales</gui>, "
+#~ "que ya ha usado para establecer el nombre de la seÃal. Ahora vaya a la "
+#~ "fila en la que establecià la seÃal <gui>clicked</gui> y arrÃstrela al "
+#~ "archivo de cÃdigo fuente, fuera de cualquier funciÃn. Se aÃadirà el "
+#~ "siguiente cÃdigo a su archivo de cÃdigo fuente:"
 
-#: C/getting-ready.page:26(title)
-msgid "Automatic installation"
-msgstr "InstalaciÃn automÃtica"
+#~ 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</"
+#~ "code>), and a pointer to some \"user data\" that you can define, but "
+#~ "which we won't be using here. (You can set the user data by calling "
+#~ "<code>gtk_builder_connect_signals</code>; it is normally used to pass a "
+#~ "pointer to a data structure that you might need to access inside the "
+#~ "signal handler.)"
+#~ msgstr ""
+#~ "El manejador de la seÃal tiene dos argumentos. un puntero al "
+#~ "<code>GtkWidget</code> que llamà a la funciÃn (en este caso, siempre es "
+#~ "un <code>GtkButton</code>), y un puntero a ciertos Âdatos de usuario que "
+#~ "puede definir, pero que aquà no se usan. (Puede establecer los datos de "
+#~ "usuario llamando a <code>gtk_builder_connect_signals</code>; normalmente "
+#~ "se usa para pasar un puntero a una estructura de datos a la que puede "
+#~ "necesitar acceder dentro del manejador de la seÃal.)"
 
-#: C/getting-ready.page:27(p)
-msgid ""
-"On an up-to-date distribution you should be able to simply install the "
-"required packages by clicking on <link href=\"media/gnome-devtools.catalog"
-"\">Install now</link>."
-msgstr ""
-"Un una distribuciÃn actualizada, deberÃa ser capaz de instalar los paquetes "
-"simplemente pulsando en <link href=\"media/gnome-devtools.catalog\">Instalar "
-"ahora</link>."
+#~ msgid ""
+#~ "Insert the following line into <file>main.c</file>, just below the "
+#~ "<code><![CDATA[#include <gtk/gtk.h>]]></code> line:"
+#~ msgstr ""
+#~ "Inserte la siguiente lÃnea en <file>main.c</file>, justo a continuaciÃn "
+#~ "de la lÃnea <code><![CDATA[#include <gtk/gtk.h>]]></code>:"
 
-#: C/getting-ready.page:32(title)
-msgid "Manual installation"
-msgstr "InstalaciÃn manual"
+#~ 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 "
+#~ "<code>gtk_init</code> call in the <code>main</code> function:"
+#~ msgstr ""
+#~ "Esto incluye la bilbioteca GStreamer. TambiÃn necesita aÃadir una lÃnea "
+#~ "para inicializar GStreamer; ponga la siguiente lÃnea de cÃdigo antes de "
+#~ "la llamada <code>gtk_init</code> en la funciÃn <code>main</code>:"
 
-#: C/getting-ready.page:33(p)
-msgid ""
-"If you prefer manual installation you can find the instructions for the "
-"various distributions in the <link href=\"http://live.gnome.org/";
-"DeveloperTools/Installation\">GNOME wiki</link>. Click on the image to go "
-"directly to the installation page for your distribution:"
-msgstr ""
-"Si prefiere la instalaciÃn manual, puede encontrar instrucciones para las "
-"diversas distribuciones en la <link href=\"http://live.gnome.org/";
-"DeveloperTools/Installation\">wiki de GNOME</link>. Pulse sobre la imagen "
-"para ir directamente a la pÃgina de instalaciÃn de su distribuciÃn."
+#~ msgid ""
+#~ "Then, copy the following function into <file>main.c</file> above the "
+#~ "empty <code>on_button_clicked</code> function:"
+#~ msgstr ""
+#~ "DespuÃs, copie la siguiente funciÃn en <file>main.c</file> encima de la "
+#~ "funciÃn <code>on_button_clicked</code> vacÃa:"
 
-#: C/getting-ready.page:40(media)
-msgid "Ubuntu"
-msgstr "Ubuntu"
+#~ msgid ""
+#~ "The first five lines create source and sink GStreamer elements "
+#~ "(<code>GstElement</code>), and a pipeline element (which will be used as "
+#~ "a container for the other two elements). The pipeline is given the name "
+#~ "\"note\"; the source is named \"source\" and is set to the "
+#~ "<code>audiotestsrc</code> source; and the sink is named \"output\" and "
+#~ "set to the <code>autoaudiosink</code> sink (default sound card output)."
+#~ msgstr ""
+#~ "Las cinco primeras lÃneas crean los elementos Âfuente y Âsumidero de "
+#~ "GStreamer (<code>GstElement</code>), y un elemento de tuberÃa (que se "
+#~ "usarà como contenedor de los otros dos elementos). A la tuberÃa se le "
+#~ "asigna el nombre ÂnoteÂ; la fuente se llama Âsource y se asocia a la "
+#~ "fuente <code>audiotestsrc</code> y el sumidero se llama Âoutput y se "
+#~ "asocia con el sumidero <code>autoaudiosink</code> (la salida de la "
+#~ "tarjeta de sonido predeterminada)."
 
-#: C/getting-ready.page:45(media)
-msgid "Fedora"
-msgstr "Fedora"
+#~ 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 to the <code>play_sound</code> function. This is just the "
+#~ "frequency of the note in Hertz; some useful frequencies will be defined "
+#~ "later on."
+#~ msgstr ""
+#~ "La llamada a <code>g_object_set</code> establece la propiedad <code>freq</"
+#~ "code> del elemento fuente a <code>frequency</code>, que se pasa como "
+#~ "argumento a la funciÃn <code>play_sound</code>. Esto sÃlo es la "
+#~ "frecuencia de la nota en Hercios; mÃs adelante se definirÃn algunas "
+#~ "frecuencias Ãtiles."
 
-#: C/getting-ready.page:50(media)
-msgid "OpenSuSE"
-msgstr "OpenSuSE"
+#~ 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 "
+#~ "contain multiple other GStreamer elements. In general, you can add as "
+#~ "many elements as you like to the pipeline by adding more arguments to "
+#~ "<code>gst_bin_add_many</code>."
+#~ msgstr ""
+#~ "<code>gst_bin_add_many</code> aÃade la fuente y el sumidero a la tuberÃa. "
+#~ "La tuberÃa es un <code>GstBin</code>, que es un elemento que puede "
+#~ "contener otros muchos elementos de GStreamer. En general, puede aÃadir "
+#~ "tantos elementos como quiera a una tuberÃa aÃadiendo mÃs argumentos a "
+#~ "<code>gst_bin_add_many</code>."
 
-#: C/getting-ready.page:53(link)
-msgid "Others"
-msgstr "Otras"
+#~ 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 of <code>sink</code> (which is then output to the sound card). "
+#~ "<code>gst_element_set_state</code> is then used to start playback, by "
+#~ "setting the state of the pipeline to playing (<code>GST_STATE_PLAYING</"
+#~ "code>)."
+#~ msgstr ""
+#~ "DespuÃs, se usa <code>gst_element_link</code> para conectar los elementos "
+#~ "de forma conjunta, de tal forma que la salida de <code>source</code> (un "
+#~ "tono) va a la entrada de <code>sink</code> (que es despuÃs la salida de "
+#~ "la tarjeta de sonido). <code>gst_element_set_state</code> se usa al "
+#~ "iniciar la reproducciÃn, configurando el estado de la tuberÃa a "
+#~ "reproduciendo (<code>GST_STATE_PLAYING</code>)."
 
-#: C/getting-ready.page:60(title)
-msgid "Required versions"
-msgstr "Versiones necesarias"
+#~ 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 "
+#~ "sets a timeout for stopping the sound; it waits for <code>LENGTH</code> "
+#~ "milliseconds before calling the function <code>pipeline_stop</code>, and "
+#~ "will keep calling it until <code>pipeline_stop</code> returns "
+#~ "<code>FALSE</code>."
+#~ msgstr ""
+#~ "No se quiere reproducir un tono molesto para siempre, por lo que lo "
+#~ "uÌltimo que <code>play_sound</code> hace es llamar a <code>g_timeout_add</"
+#~ "code>. Esto establece un tiempo de expiracioÌn para detener el sonido; "
+#~ "espera <code>LENGTH</code> milisegundos antes de llamar a la funcioÌn "
+#~ "<code>pipeline_stop</code>, y se queda llamando a <code>pipeline_stop</"
+#~ "code> hasta que devuelve <code>FALSE</code>."
 
-#: C/getting-ready.page:61(p)
-msgid ""
-"The guides assume that you have at least the following versions of the tools "
-"installed:"
-msgstr ""
-"Las guÃas asumen que tiene instaladas, al menos, las siguientes versiones de "
-"las herramientas."
+#~ 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 <code>play_sound</code> function:"
+#~ msgstr ""
+#~ "Ahora, se escribirà el cÃdigo de la funciÃn <code>pipeline_stop</code>, "
+#~ "llamada por <code>g_timeout_add</code>. Inserte el cÃdigo siguiente "
+#~ "<em>encima</em> de la funciÃn <code>play_sound</code>:"
 
-#: C/getting-ready.page:64(p)
-msgid "Anjuta - 3.0"
-msgstr "Anjuta - 3.0"
+#~ 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, "
+#~ "destroying it and freeing its memory."
+#~ msgstr ""
+#~ "La llamada a <code>gst_element_set_state</code> pausa la reproducciÃn de "
+#~ "la tuberÃa y <code>g_object_unref</code> desreferencia la tuberÃa, la "
+#~ "destruye y libera su memoria."
 
-#: C/getting-ready.page:65(p)
-msgid "Devhelp - 3.0"
-msgstr "Devhelp - 3.0"
+#~ 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 defined (at the top of <file>main.c</file>) as follows:"
+#~ msgstr ""
+#~ "Se quiere reproducir el sonido correcto cuando un usuario pulsa un botÃn. "
+#~ "En primer lugar, se necesita conocer las frecuencias de las seis cuerdas "
+#~ "de la guitarra, que estÃn definidas (al principio de <file>main.c</file>) "
+#~ "de la siguiente manera:"
 
-#: C/getting-ready.page:66(p)
-msgid "Glade - 3.10"
-msgstr "Glade - 3.10"
+#~ 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 the label of that button by using <code>gtk_bin_get_child</code>, and "
+#~ "then get the text from that label using <code>gtk_label_get_label</code>."
+#~ msgstr ""
+#~ "A <code>on_button_clicked</code> se le pasa como argumento (<code>button</"
+#~ "code>) un puntero al <code>GtkButton</code> que se ha pulsado. Se puede "
+#~ "obtener la etiqueta de este botÃn usando <code>gtk_bin_get_child</code> y "
+#~ "obteniendo el texto de la etiqueta usando <code>gtk_label_get_label</"
+#~ "code>."
 
-#: C/getting-ready.page:68(p)
-msgid ""
-"Of course, any newer version will also work. Now, we wish you a lot of fun "
-"with the <link xref=\"index\">Demos</link>."
-msgstr ""
-"Por supuesto, cualquier versiÃn mÃs moderna tambiÃn funcionarÃ. Ahora, le "
-"deseamos que disfrute con las <link xref=\"index\">demostraciones</link>."
+#~ 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 "
+#~ "frequency appropriate for that note. This plays the tone; we have a "
+#~ "working guitar tuner!"
+#~ msgstr ""
+#~ "La etiqueta de texto se compara con las notas que se tiene usando "
+#~ "<code>g_str_equal</code>, y se llama a <code>play_sound</code> con la "
+#~ "frecuencia correspondiente a cada nota. Esto reproduce el tono; el "
+#~ "afinador de guitarra ya està funcionando."
 
-#. When image changes, this message will be marked fuzzy or untranslated for you.
-#. It doesn't matter what you translate it to: it's not used at all.
-#: C/entry.js.page:19(None)
-msgid "@@image: 'media/entry.png'; md5=bd828b3f87debd97ff25702d1468dd37"
-msgstr "@@image: 'media/entry.png'; md5=bd828b3f87debd97ff25702d1468dd37"
+#~ msgid ""
+#~ "If you run into problems with the tutorial, compare your code with this "
+#~ "<link href=\"guitar-tuner/guitar-tuner.c\">reference code</link>."
+#~ msgstr ""
+#~ "Si tiene problemas con este tutorial, compare su coÌdigo con este <link "
+#~ "href=\"guitar-tuner/guitar-tuner.c\">coÌdigo de referencia</link>."
 
-#: C/entry.js.page:14(desc)
-msgid "How to make an entry widget and connect its contents to a label"
-msgstr ""
-"CÃmo crear un widget de entrada y conectar su contenido con una etiqueta"
+#~ msgid "@@image: 'media/ubuntu.png'; md5=40845e4a40b335b1958da1403f01c13f"
+#~ msgstr "@@image: 'media/ubuntu.png'; md5=40845e4a40b335b1958da1403f01c13f"
 
-#: C/entry.js.page:17(title)
-msgid "Entry widget"
-msgstr "Widget de entrada"
+#~ msgid "@@image: 'media/fedora.png'; md5=19add55f4349fd9e90f3a50b344ba626"
+#~ msgstr "@@image: 'media/fedora.png'; md5=19add55f4349fd9e90f3a50b344ba626"
 
-#: C/entry.js.page:20(p)
-msgid ""
-"This an entry widget. An entry widget is a container that you can type in to."
-msgstr ""
-"Esto es un widget de entrada. Es un contenedor en el que puede escribir."
+#~ msgid "@@image: 'media/opensuse.png'; md5=a852a94199328e2f978c7f6a55bf8b54"
+#~ msgstr "@@image: 'media/opensuse.png'; md5=a852a94199328e2f978c7f6a55bf8b54"
 
-#: C/entry.js.page:57(p)
-msgid ""
-"In this sample we use the following widgets: <link href=\"http://www.roojs.";
-"com/seed/gir-1.2-gtk-3.0/gjs/Gtk.Window.html\">Gtk.Window</link>, <link href="
-"\"http://www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.Grid.html\";>Gtk.Grid</"
-"link>, <link href=\"\">Gtk.Entry</link>, <link href=\"http://www.roojs.com/";
-"seed/gir-1.2-gtk-3.0/gjs/Gtk.Label.html\">Gtk.Label</link>, <link href="
-"\"http://www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.Button.html\";>Gtk."
-"Button</link>."
-msgstr ""
-"En este ejemplo de usan los siguientes widgets: <link href=\"http://www.";
-"roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.Window.html\">Gtk.Window</link>, "
-"<link href=\"http://www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.Grid.html";
-"\">Gtk.Grid</link>, <link href=\"\">Gtk.Entry</link>, <link href=\"http://";
-"www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.Label.html\">Gtk.Label</link>, "
-"<link href=\"http://www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.Button.html";
-"\">Gtk.Button</link>."
-
-#: C/beginner.js.page:14(desc)
-msgid "A complete beginner's guide to GTK+ programming"
-msgstr "Una guÃa completa de programaciÃn en GTK+ para principiantes"
-
-#: C/beginner.js.page:17(title)
-msgid "0 Beginner's Tutorials and samples"
-msgstr "0. Tutoriales para principiantes y ejemplos"
-
-#: C/beginner.js.page:18(p)
-msgid ""
-"In these tutorials and samples we use JavaScript and GTK+. These tutorials "
-"and samples expect you to be familiar with the syntax of JavaScript, if not, "
-"read <link href=\"http://eloquentjavascript.net/contents.html\";>Eloquent "
-"JavaScript</link> or your preferred guide to JavaScript."
-msgstr ""
-"En estos tutoriales y ejemplos se usa JavaScript y GTK+. Estos tutoriales y "
-"ejemplos dan por supuesto que està familiarizado con la sintaxis de "
-"JavaScript. Si no es asÃ, lea <link href=\"http://eloquentjavascript.net/";
-"contents.html\">Eloquent JavaScript</link> o su manual de JavaScript "
-"preferido."
+#~ msgid "Install GNOME development tools"
+#~ msgstr "Instalar las herramientas de desarrollo de GNOME"
 
-#: C/beginner.js.page:21(title) C/beginner.vala.page:34(title)
-msgid "Tutorials"
-msgstr "Tutoriales"
+#~ msgid "Getting ready for GNOME development"
+#~ msgstr "PrepaÌrese para desarrollar en GNOME"
 
-#: C/beginner.js.page:26(title)
-msgid "Samples"
-msgstr "Ejemplos"
+#~ msgid "Install the required tools"
+#~ msgstr "Instalar las herramientas necesarias"
 
-#: C/desktop.js.page:14(desc)
-msgid "A desktop file for the hello world application"
-msgstr "Un archivo Â.desktop para la aplicaciÃn ÂHola mundoÂ"
+#~ msgid ""
+#~ "Before you can start coding you will have to install the required tools "
+#~ "for GNOME development on your computer. This shouldn't take you more than "
+#~ "ten minutes."
+#~ msgstr ""
+#~ "Antes de empezar a programar, deberà instalar las herramientas de "
+#~ "desarrollo de GNOME requeridas en su equipo. Esto no deberÃa llevarle mÃs "
+#~ "de 10 minutos."
 
-#: C/desktop.js.page:17(title)
-msgid "helloWorld.desktop"
-msgstr "helloWorld.desktop"
+#~ msgid "Automatic installation"
+#~ msgstr "InstalaciÃn automÃtica"
 
-#: C/desktop.js.page:18(p)
-msgid ""
-"Running applications from the Terminal is useful at the beginning of the "
-"application making process. To have a fully working <link href=\"http://";
-"library.gnome.org/admin/system-admin-guide/stable/mimetypes-9.html.en"
-"\">application integration</link> in GNOME 3 requires a desktop launcher. "
-"For this you need to create a <file>.desktop</file> file. The .desktop file "
-"describes the application name, the used icon and various integration bits. "
-"A deeper insight to <file>.desktop</file> file can be found <link href="
-"\"http://developer.gnome.org/desktop-entry-spec/\";>here</link>."
-msgstr ""
-"Ejecutar aplicaciones desde la terminal es Ãtil al principio del proceso de "
-"crear la aplicaciÃn. Para tener una <link href=\"http://library.gnome.org/";
-"admin/system-admin-guide/stable/mimetypes-9.html.en\">integraciÃn con la "
-"aplicaciÃn</link> completa en GNOME 3, se necesita un lanzador en el "
-"escritorio. Para esto, necesita crear un archivo <file>.desktop</file>. El "
-"archivo Â.desktop describe el nombre de la aplicaciÃn, el icono que usa y "
-"varios campos de integraciÃn. Puede encontrar una descripciÃn de los "
-"archivos <file>.desktop</file> <link href=\"http://developer.gnome.org/";
-"desktop-entry-spec/\">aquÃ</link>."
-
-#: C/desktop.js.page:19(p)
-msgid ""
-"The example shows you the minimum requirements for a <code>.desktop</code> "
-"file."
-msgstr ""
-"El ejemplo muestra los requerimientos mÃnimos de un archivo <code>.desktop</"
-"code>."
+#~ msgid ""
+#~ "On an up-to-date distribution you should be able to simply install the "
+#~ "required packages by clicking on <link href=\"media/gnome-devtools.catalog"
+#~ "\">Install now</link>."
+#~ msgstr ""
+#~ "Un una distribuciÃn actualizada, deberÃa ser capaz de instalar los "
+#~ "paquetes simplemente pulsando en <link href=\"media/gnome-devtools.catalog"
+#~ "\">Instalar ahora</link>."
 
-#: C/desktop.js.page:32(p)
-msgid "Now let's go through some parts of the <code>.desktop</code> file."
-msgstr "Ahora se verÃn algunas partes del archivo <code>.desktop</code>."
+#~ msgid "Manual installation"
+#~ msgstr "InstalaciÃn manual"
 
-#: C/desktop.js.page:34(p)
-msgid "Line 4: Name of the application"
-msgstr "LÃnea 4: nombre de la aplicaciÃn"
+#~ msgid ""
+#~ "If you prefer manual installation you can find the instructions for the "
+#~ "various distributions in the <link href=\"http://live.gnome.org/";
+#~ "DeveloperTools/Installation\">GNOME wiki</link>. Click on the image to go "
+#~ "directly to the installation page for your distribution:"
+#~ msgstr ""
+#~ "Si prefiere la instalaciÃn manual, puede encontrar instrucciones para las "
+#~ "diversas distribuciones en la <link href=\"http://live.gnome.org/";
+#~ "DeveloperTools/Installation\">wiki de GNOME</link>. Pulse sobre la imagen "
+#~ "para ir directamente a la pÃgina de instalaciÃn de su distribuciÃn."
 
-#: C/desktop.js.page:35(p)
-msgid "Line 5: Specifies a short description of the item"
-msgstr "LÃnea 5: especifica una breve descripciÃn del elemento"
+#~ msgid "Ubuntu"
+#~ msgstr "Ubuntu"
 
-#: C/desktop.js.page:36(p)
-msgid ""
-"Line 6: Specifies a command to execute when you choose the item from the "
-"menu. In this example exec just tells where to find the <code>helloworld.js</"
-"code> file and the file takes care of the rest."
-msgstr ""
-"LÃnea 6: especifica un comando que ejecutar cuando se elige el elemento en "
-"el menÃ. En este ejemplo, Âexec sÃlo indica dÃnde encontrar el archivo "
-"<code>helloworld.js</code> y el archivo se hace cargo del resto."
+#~ msgid "Fedora"
+#~ msgstr "Fedora"
 
-#: C/desktop.js.page:37(p)
-msgid ""
-"Line 8: Specifies whether the command in the Exec key runs in a terminal "
-"window."
-msgstr ""
-"LÃnea 8: especifica si el comando del campo ÂExec se ejecuta en una ventana "
-"de la terminal."
+#~ msgid "OpenSuSE"
+#~ msgstr "OpenSuSE"
 
-#: C/desktop.js.page:39(p)
-msgid ""
-"If you want your <code>.desktop</code> file to exist as a part of the "
-"system, copy your <code>.desktop</code> file to this directory: ~/.local/"
-"share/applications"
-msgstr ""
-"Si quiere que su archivo <code>.desktop</code> forme parte del sistema, "
-"copie su archivo <code>.desktop</code> a la carpeta ~/.local/share/"
-"applications."
+#~ msgid "Others"
+#~ msgstr "Otras"
 
-#: C/desktop.js.page:40(p)
-msgid ""
-"To put your application to the right category you need to add the necessary "
-"categories to the Categories line. More information on the different "
-"categories can be found in the <link href=\"http://standards.freedesktop.org/";
-"menu-spec/latest/apa.html\">menu spec</link>."
-msgstr ""
-"Para incluir su aplicaciÃn en la categorÃa correcta, debe aÃadir las "
-"categorÃas necesarias a la lÃnea ÂCategoriesÂ. Puede encontrar mÃs "
-"informaciÃn sobre las distintas categorÃas en la <link href=\"http://";
-"standards.freedesktop.org/menu-spec/latest/apa.html\">especificaciÃn del "
-"menÃ</link>."
+#~ msgid "Required versions"
+#~ msgstr "Versiones necesarias"
 
-#: C/desktop.js.page:41(p)
-msgid ""
-"In this example I used an existing icon. For a custom icon you need to have "
-"a .svg file of your icon, store it to /usr/share/icons/hicolor/scalable/"
-"apps. Write the name of your icon file to the .desktop file, on line 7. More "
-"information on icons in: <link href=\"http://library.gnome.org/admin/system-";
-"admin-guide/stable/themes-11.html.en\"> Installing Icons for Themes </link>, "
-"<link href=\"https://live.gnome.org/GnomeGoals/AppIcon\";>Installing Icons "
-"for Themes</link> and <link href=\"http://freedesktop.org/wiki/";
-"Specifications/icon-theme-spec\">on freedesktop.org: Specifications/icon-"
-"theme-spec</link>."
-msgstr ""
-"En este ejemplo se ha usado un icono existente. Para usar un icono "
-"personalizado, necesita un archivo .svg con su icono y guardarlo en /usr/"
-"share/icons/hicolor/scalable/apps. Escriba el nombre del archivo del icono "
-"en el archivo .desktop, en la lÃnea 7. Puede obtener mÃs informaciÃn sobre "
-"los iconos en <link href=\"http://library.gnome.org/admin/system-admin-guide/";
-"stable/themes-11.html.en\">Instalar iconos para temas</link>, <link href="
-"\"https://live.gnome.org/GnomeGoals/AppIcon\";>Instalar iconos para temas</"
-"link> y <link href=\"http://freedesktop.org/wiki/Specifications/icon-theme-";
-"spec\">en freedesktop.org: Specifications/icon-theme-spec</link>."
-
-#: C/desktop.js.page:42(p)
-msgid ""
-"After you have finished writing the .desktop file you must change it's "
-"permissions to allow executing file as program. To do that, go to the folder "
-"containing the .desktop file. Right click the .desktop file, choose "
-"properties and tab permissions and place a check on the box after Execute:"
-msgstr ""
-"Cuando termine de escribir el archivo .desktop, debe cambiarle los permisos "
-"para permitir ejecutar el archivo como un programa. Para hacerlo, vaya a la "
-"carpeta que contiene el archivo .desktop, pulse con el botÃn derecho sobre "
-"el archivo, elija ÂPropiedadesÂ, pestaÃa ÂPermisos y marque la casilla "
-"ÂEjecutarÂ:"
+#~ msgid ""
+#~ "The guides assume that you have at least the following versions of the "
+#~ "tools installed:"
+#~ msgstr ""
+#~ "Las guÃas asumen que tiene instaladas, al menos, las siguientes versiones "
+#~ "de las herramientas."
 
-#: C/documentation.page:19(title)
-msgid "Help develop"
-msgstr "Ayudar al desarrollo"
+#~ msgid "Anjuta - 3.0"
+#~ msgstr "Anjuta - 3.0"
 
-#: C/documentation.page:20(p)
-msgid ""
-"The <app>GNOME Developer Tutorials</app> are developed and maintained by a "
-"volunteer community. You are welcome to participate."
-msgstr ""
-"Los <app>Tutoriales del desarrollador de GNOME</app> los desarrolla y los "
-"mantiene una comunidad de voluntarios. Si quiere participar es bienvenido."
+#~ msgid "Devhelp - 3.0"
+#~ msgstr "Devhelp - 3.0"
 
-#: C/documentation.page:23(p)
-msgid ""
-"If you would like to <link href=\"https://live.gnome.org/";
-"DocumentationProject/Tasks/DeveloperDocs\">help develop <app>GNOME Developer "
-"Tutorials</app></link>, you can get in touch with the developers using <link "
-"href=\"https://cbe005.chat.mibbit.com/?url=irc%3A%2F%2Firc.gnome.org%2Fdocs";
-"\">irc</link>, or via our <link href=\"http://mail.gnome.org/mailman/";
-"listinfo/gnome-doc-devel-list\">mailing list</link>."
-msgstr ""
-"Si quiere <link href=\"https://live.gnome.org/DocumentationProject/Tasks/";
-"DeveloperDocs\">contribuir al desarrollo de los <app>Tutoriales del "
-"desarrollador de GNOME</app></link>, puede ponerse en contacto con los "
-"desarrolladores usando <link href=\"https://cbe005.chat.mibbit.com/?url=irc%";
-"3A%2F%2Firc.gnome.org%2Fdocs\">irc</link>, o mediante la <link href=\"http://";
-"mail.gnome.org/mailman/listinfo/gnome-doc-devel-list\">lista decorreo</link>."
+#~ msgid "Glade - 3.10"
+#~ msgstr "Glade - 3.10"
 
-#. When image changes, this message will be marked fuzzy or untranslated for you.
-#. It doesn't matter what you translate it to: it's not used at all.
-#: C/button.js.page:19(None)
-msgid "@@image: 'media/button.png'; md5=358f87347bc8c9571c591b06fafd6fe0"
-msgstr "@@image: 'media/button.png'; md5=358f87347bc8c9571c591b06fafd6fe0"
+#~ msgid ""
+#~ "Of course, any newer version will also work. Now, we wish you a lot of "
+#~ "fun with the <link xref=\"index\">Demos</link>."
+#~ msgstr ""
+#~ "Por supuesto, cualquier versiÃn mÃs moderna tambiÃn funcionarÃ. Ahora, le "
+#~ "deseamos que disfrute con las <link xref=\"index\">demostraciones</link>."
 
-#: C/button.js.page:14(desc)
-msgid "A button widget which is connected to a progress bar"
-msgstr "Un widget de botÃn que està conectado a la barra de progreso"
+#~ msgid "@@image: 'media/entry.png'; md5=bd828b3f87debd97ff25702d1468dd37"
+#~ msgstr "@@image: 'media/entry.png'; md5=bd828b3f87debd97ff25702d1468dd37"
 
-#: C/button.js.page:17(title)
-msgid "Button widget"
-msgstr "Widget de botÃn"
+#~ msgid "How to make an entry widget and connect its contents to a label"
+#~ msgstr ""
+#~ "CÃmo crear un widget de entrada y conectar su contenido con una etiqueta"
 
-#: C/button.js.page:20(p)
-msgid "A button widget connected to a progress bar."
-msgstr "Un widget de botÃn conectado a una barra de progreso."
+#~ msgid "Entry widget"
+#~ msgstr "Widget de entrada"
 
-#: C/bug-filing.page:11(email)
-msgid "tiffany antopolski com"
-msgstr "tiffany antopolski com"
+#~ msgid ""
+#~ "This an entry widget. An entry widget is a container that you can type in "
+#~ "to."
+#~ msgstr ""
+#~ "Esto es un widget de entrada. Es un contenedor en el que puede escribir."
 
-#: C/bug-filing.page:19(title)
-msgid "Help make <app>GNOME Developer Tutorials</app> better"
-msgstr "Ayudar a mejorar los <app>Tutoriales del desarrollador de GNOME</app>"
+#~ msgid ""
+#~ "In this sample we use the following widgets: <link href=\"http://www.";
+#~ "roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.Window.html\">Gtk.Window</link>, "
+#~ "<link href=\"http://www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.Grid.html";
+#~ "\">Gtk.Grid</link>, <link href=\"\">Gtk.Entry</link>, <link href=\"http://";
+#~ "www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.Label.html\">Gtk.Label</link>, "
+#~ "<link href=\"http://www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.Button.html";
+#~ "\">Gtk.Button</link>."
+#~ msgstr ""
+#~ "En este ejemplo de usan los siguientes widgets: <link href=\"http://www.";
+#~ "roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.Window.html\">Gtk.Window</link>, "
+#~ "<link href=\"http://www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.Grid.html";
+#~ "\">Gtk.Grid</link>, <link href=\"\">Gtk.Entry</link>, <link href=\"http://";
+#~ "www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.Label.html\">Gtk.Label</link>, "
+#~ "<link href=\"http://www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.Button.html";
+#~ "\">Gtk.Button</link>."
 
-#: C/bug-filing.page:22(title)
-msgid "Report a bug or suggest an improvement"
-msgstr "Informar de un error o proponer una mejora"
+#~ msgid "A complete beginner's guide to GTK+ programming"
+#~ msgstr "Una guÃa completa de programaciÃn en GTK+ para principiantes"
 
-#: C/bug-filing.page:23(p)
-msgid ""
-"<app>GNOME Developer Tutorials</app> are maintained by a volunteer "
-"community. You are welcome to participate. If you notice a problem you can "
-"file a <em>bug report</em>. To file a bug, go to <link href=\"https://";
-"bugzilla.gnome.org/\"/>."
-msgstr ""
-"Los <app>Tutoriales del desarrollador de GNOME</app> los mantiene la "
-"comunidad de manera voluntaria. Si quiere participar, es bienvenido. Si "
-"encuentra un error, puede rellenar un <em>informe de error</em>. Para "
-"informar de un error, vaya a <link href=\"https://bugzilla.gnome.org/\"/>."
+#~ msgid "0 Beginner's Tutorials and samples"
+#~ msgstr "0. Tutoriales para principiantes y ejemplos"
 
-#: C/bug-filing.page:26(p)
-msgid ""
-"This is a bug tracking system where users and developers can file details "
-"about bugs, crashes and request enhancements."
-msgstr ""
-"Este es el sistema de seguimiento de errores en el que los usuarios y los "
-"desarrolladores pueden archivar detalles sobre los errores, fallos y "
-"solicitudes de mejoras."
+#~ msgid ""
+#~ "In these tutorials and samples we use JavaScript and GTK+. These "
+#~ "tutorials and samples expect you to be familiar with the syntax of "
+#~ "JavaScript, if not, read <link href=\"http://eloquentjavascript.net/";
+#~ "contents.html\">Eloquent JavaScript</link> or your preferred guide to "
+#~ "JavaScript."
+#~ msgstr ""
+#~ "En estos tutoriales y ejemplos se usa JavaScript y GTK+. Estos tutoriales "
+#~ "y ejemplos dan por supuesto que està familiarizado con la sintaxis de "
+#~ "JavaScript. Si no es asÃ, lea <link href=\"http://eloquentjavascript.net/";
+#~ "contents.html\">Eloquent JavaScript</link> o su manual de JavaScript "
+#~ "preferido."
 
-#: C/bug-filing.page:29(p)
-msgid ""
-"To participate you need an account which will give you the ability to gain "
-"access, file bugs, and make comments. Also, you need to register so you can "
-"receive updates by e-mail about the status of your bug. If you don't already "
-"have an account, just click on the <gui>New Account</gui> link to create one."
-msgstr ""
-"Para participar necesita una cuenta, que le permitirà obtener acceso, "
-"informar de errores y hacer comentarios. TambiÃn debe registrarte para poder "
-"recibir actualizaciones por correo-e sobre el estado de su informe de error. "
-"Si todavÃa no tiene una cuenta, simplemente pulse en el enlace <gui>New "
-"Account</gui> para crear una."
+#~ msgid "Samples"
+#~ msgstr "Ejemplos"
 
-#: C/bug-filing.page:32(p)
-msgid ""
-"Once you have an account, log in, click on <guiseq><gui>File a Bug</"
-"gui><gui>All</gui><gui>gnome-devel-docs</gui></guiseq>. Before reporting a "
-"bug, please read the <link href=\"https://bugzilla.gnome.org/page.cgi?id=bug-";
-"writing.html\">bug writing guidelines</link>, and please <link href="
-"\"https://bugzilla.gnome.org/browse.cgi?product=gnome-games\";>browse</link> "
-"for the bug to see if it already exists."
-msgstr ""
-"Una vez que tenga su cuenta, inicie sesioÌn y pulse en <guiseq><gui>Informar "
-"de un error</gui><gui>Todas</gui><gui>gnome-devel-docs</gui></guiseq>. Antes "
-"de informar de un error, lea las <link href=\"https://bugzilla.gnome.org/";
-"page.cgi?id=bug-writing.html\">guiÌas para informar de un error</link> y "
-"<link href=\"https://bugzilla.gnome.org/browse.cgi?product=evince\";>busque</"
-"link> el error para ver si ya existe."
+#~ msgid "A desktop file for the hello world application"
+#~ msgstr "Un archivo Â.desktop para la aplicaciÃn ÂHola mundoÂ"
 
-#: C/bug-filing.page:36(p)
-msgid ""
-"To file your bug, choose the component <gui>platform-demos</gui> in the "
-"<gui>Component</gui> menu."
-msgstr ""
-"Para informar de un error, elija el componente <gui>platform-demos</gui> en "
-"el menà <gui>Component</gui>."
+#~ msgid "helloWorld.desktop"
+#~ msgstr "helloWorld.desktop"
 
-#: C/bug-filing.page:39(p)
-msgid ""
-"If you are requesting a new feature, choose <gui>enhancement</gui> in the "
-"<gui>Severity</gui> menu. Fill in the Summary and Description sections and "
-"click <gui>Commit</gui>."
-msgstr ""
-"Si quiere solicitar una caracterÃstica nueva, elija <gui>enhancement</gui> "
-"en el menà <gui>Severity</gui>. Rellene las secciones ÂSummary y "
-"ÂDescription y pulse <gui>Commit</gui>."
+#~ msgid ""
+#~ "Running applications from the Terminal is useful at the beginning of the "
+#~ "application making process. To have a fully working <link href=\"http://";
+#~ "library.gnome.org/admin/system-admin-guide/stable/mimetypes-9.html.en"
+#~ "\">application integration</link> in GNOME 3 requires a desktop launcher. "
+#~ "For this you need to create a <file>.desktop</file> file. The .desktop "
+#~ "file describes the application name, the used icon and various "
+#~ "integration bits. A deeper insight to <file>.desktop</file> file can be "
+#~ "found <link href=\"http://developer.gnome.org/desktop-entry-spec/\";>here</"
+#~ "link>."
+#~ msgstr ""
+#~ "Ejecutar aplicaciones desde la terminal es Ãtil al principio del proceso "
+#~ "de crear la aplicaciÃn. Para tener una <link href=\"http://library.gnome.";
+#~ "org/admin/system-admin-guide/stable/mimetypes-9.html.en\">integraciÃn con "
+#~ "la aplicaciÃn</link> completa en GNOME 3, se necesita un lanzador en el "
+#~ "escritorio. Para esto, necesita crear un archivo <file>.desktop</file>. "
+#~ "El archivo Â.desktop describe el nombre de la aplicaciÃn, el icono que "
+#~ "usa y varios campos de integraciÃn. Puede encontrar una descripciÃn de "
+#~ "los archivos <file>.desktop</file> <link href=\"http://developer.gnome.";
+#~ "org/desktop-entry-spec/\">aquÃ</link>."
 
-#: C/bug-filing.page:43(p)
-msgid ""
-"Your report will be given an ID number, and its status will be updated as it "
-"is being dealt with. Thanks for helping make <app>GNOME Developer Tutorials</"
-"app> better!"
-msgstr ""
-"Se le asignaraÌ un nuÌmero de ID a su informe y su estado se actualizaraÌ a "
-"medida que se trate. Gracias por ayudar a mejorar los <app>Tutoriales del "
-"desarrollador de GNOME</app>."
+#~ msgid ""
+#~ "The example shows you the minimum requirements for a <code>.desktop</"
+#~ "code> file."
+#~ msgstr ""
+#~ "El ejemplo muestra los requerimientos mÃnimos de un archivo <code>."
+#~ "desktop</code>."
 
-#: C/beginner.vala.page:8(desc)
-msgid "A beginner's guide to GUI programming using GTK+"
-msgstr ""
-"Una guÃa de programaciÃn de interfaces usuario en GTK+ para principiantes"
+#~ msgid "Now let's go through some parts of the <code>.desktop</code> file."
+#~ msgstr "Ahora se verÃn algunas partes del archivo <code>.desktop</code>."
 
-#: C/beginner.vala.page:16(title)
-msgid "0 Beginner's Tutorials"
-msgstr "0. Tutoriales para principiantes"
+#~ msgid "Line 4: Name of the application"
+#~ msgstr "LÃnea 4: nombre de la aplicaciÃn"
 
-#: C/beginner.vala.page:18(p)
-msgid ""
-"If you have never programmed before, or are not familiar with the concepts "
-"of object oriented programming, you may need to learn a few basics first. "
-"The book <link href=\"http://learnpythonthehardway.org/book/\";>Learn Python "
-"the Hard Way</link> may be a better place for you to start. Once you master "
-"the basics, be sure to come back and check out these tutorials."
-msgstr ""
-"Si nunca antes ha programad, o no està familiarizado con los conceptos de la "
-"programaciÃn orientada a objetos, puede necesitar aprender primero unos "
-"conceptos bÃsicos. El libro <link href=\"http://learnpythonthehardway.org/";
-"book/\">Learn Python the Hard Way</link> puede ser un buen comienzo. Una vez "
-"que domine los conceptos bÃsicos, vuelva y revise estos tutoriales."
+#~ msgid "Line 5: Specifies a short description of the item"
+#~ msgstr "LÃnea 5: especifica una breve descripciÃn del elemento"
 
-#: C/beginner.vala.page:20(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 "
-"familiar with the following concepts:"
-msgstr ""
-"Aunque estos tutoriales estÃn diseÃados para principiantes, no se pueden "
-"cubrir todos los conceptos bÃsicos. Antes de intentar seguir estos "
-"tutoriales, debe estar familiarizado con los siguientes conceptos:"
+#~ msgid ""
+#~ "Line 6: Specifies a command to execute when you choose the item from the "
+#~ "menu. In this example exec just tells where to find the <code>helloworld."
+#~ "js</code> file and the file takes care of the rest."
+#~ msgstr ""
+#~ "LÃnea 6: especifica un comando que ejecutar cuando se elige el elemento "
+#~ "en el menÃ. En este ejemplo, Âexec sÃlo indica dÃnde encontrar el "
+#~ "archivo <code>helloworld.js</code> y el archivo se hace cargo del resto."
 
-#: C/beginner.vala.page:22(p)
-msgid "Object oriented programming"
-msgstr "ProgramaciÃn orientada a objetos"
+#~ msgid ""
+#~ "Line 8: Specifies whether the command in the Exec key runs in a terminal "
+#~ "window."
+#~ msgstr ""
+#~ "LÃnea 8: especifica si el comando del campo ÂExec se ejecuta en una "
+#~ "ventana de la terminal."
 
-#: C/beginner.vala.page:23(p)
-msgid "The Vala programming language:"
-msgstr "El lenguaje de programaciÃn Vala:"
+#~ msgid ""
+#~ "If you want your <code>.desktop</code> file to exist as a part of the "
+#~ "system, copy your <code>.desktop</code> file to this directory: ~/.local/"
+#~ "share/applications"
+#~ msgstr ""
+#~ "Si quiere que su archivo <code>.desktop</code> forme parte del sistema, "
+#~ "copie su archivo <code>.desktop</code> a la carpeta ~/.local/share/"
+#~ "applications."
 
-#: C/beginner.vala.page:25(link)
-msgid "The Vala Tutorial"
-msgstr "El tutorial de Vala"
+#~ msgid ""
+#~ "To put your application to the right category you need to add the "
+#~ "necessary categories to the Categories line. More information on the "
+#~ "different categories can be found in the <link href=\"http://standards.";
+#~ "freedesktop.org/menu-spec/latest/apa.html\">menu spec</link>."
+#~ msgstr ""
+#~ "Para incluir su aplicaciÃn en la categorÃa correcta, debe aÃadir las "
+#~ "categorÃas necesarias a la lÃnea ÂCategoriesÂ. Puede encontrar mÃs "
+#~ "informaciÃn sobre las distintas categorÃas en la <link href=\"http://";
+#~ "standards.freedesktop.org/menu-spec/latest/apa.html\">especificaciÃn del "
+#~ "menÃ</link>."
 
-#: C/beginner.vala.page:26(link)
-msgid "Sample Vala code"
-msgstr "Ejemplo de cÃdigo en Vala"
+#~ msgid ""
+#~ "In this example I used an existing icon. For a custom icon you need to "
+#~ "have a .svg file of your icon, store it to /usr/share/icons/hicolor/"
+#~ "scalable/apps. Write the name of your icon file to the .desktop file, on "
+#~ "line 7. More information on icons in: <link href=\"http://library.gnome.";
+#~ "org/admin/system-admin-guide/stable/themes-11.html.en\"> Installing Icons "
+#~ "for Themes </link>, <link href=\"https://live.gnome.org/GnomeGoals/AppIcon";
+#~ "\">Installing Icons for Themes</link> and <link href=\"http://freedesktop.";
+#~ "org/wiki/Specifications/icon-theme-spec\">on freedesktop.org: "
+#~ "Specifications/icon-theme-spec</link>."
+#~ msgstr ""
+#~ "En este ejemplo se ha usado un icono existente. Para usar un icono "
+#~ "personalizado, necesita un archivo .svg con su icono y guardarlo en /usr/"
+#~ "share/icons/hicolor/scalable/apps. Escriba el nombre del archivo del "
+#~ "icono en el archivo .desktop, en la lÃnea 7. Puede obtener mÃs "
+#~ "informaciÃn sobre los iconos en <link href=\"http://library.gnome.org/";
+#~ "admin/system-admin-guide/stable/themes-11.html.en\">Instalar iconos para "
+#~ "temas</link>, <link href=\"https://live.gnome.org/GnomeGoals/AppIcon";
+#~ "\">Instalar iconos para temas</link> y <link href=\"http://freedesktop.";
+#~ "org/wiki/Specifications/icon-theme-spec\">en freedesktop.org: "
+#~ "Specifications/icon-theme-spec</link>."
 
-#: C/beginner.vala.page:31(p)
-msgid ""
-"By following these tutorials you will learn the basics of GUI programming "
-"using Gtk+."
-msgstr ""
-"Siguiendo estos tutoriales, aprenderà los conceptos bÃsico de la "
-"programaciÃn de interfaces de usuario usando GTK+."
+#~ msgid ""
+#~ "After you have finished writing the .desktop file you must change it's "
+#~ "permissions to allow executing file as program. To do that, go to the "
+#~ "folder containing the .desktop file. Right click the .desktop file, "
+#~ "choose properties and tab permissions and place a check on the box after "
+#~ "Execute:"
+#~ msgstr ""
+#~ "Cuando termine de escribir el archivo .desktop, debe cambiarle los "
+#~ "permisos para permitir ejecutar el archivo como un programa. Para "
+#~ "hacerlo, vaya a la carpeta que contiene el archivo .desktop, pulse con el "
+#~ "botÃn derecho sobre el archivo, elija ÂPropiedadesÂ, pestaÃa ÂPermisos y "
+#~ "marque la casilla ÂEjecutarÂ:"
 
-#: C/audio-player.vala.page:8(desc)
-msgid "Coming soon..."
-msgstr "PrÃximamente..."
+#~ msgid "Help develop"
+#~ msgstr "Ayudar al desarrollo"
 
-#: C/audio-player.vala.page:17(title)
-msgid "3 Audio Player"
-msgstr "3. Reproductor de sonido"
+#~ msgid ""
+#~ "The <app>GNOME Developer Tutorials</app> are developed and maintained by "
+#~ "a volunteer community. You are welcome to participate."
+#~ msgstr ""
+#~ "Los <app>Tutoriales del desarrollador de GNOME</app> los desarrolla y los "
+#~ "mantiene una comunidad de voluntarios. Si quiere participar es bienvenido."
 
-#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2
-#: C/index.page:0(None)
-msgid "translator-credits"
-msgstr ""
-"Daniel Mustieles <daniel mustieles gmail com>, 2011-2012\n"
-"Jorge GonzÃlez <jorgegonz svn gnome org>, 2011"
+#~ msgid ""
+#~ "If you would like to <link href=\"https://live.gnome.org/";
+#~ "DocumentationProject/Tasks/DeveloperDocs\">help develop <app>GNOME "
+#~ "Developer Tutorials</app></link>, you can get in touch with the "
+#~ "developers using <link href=\"https://cbe005.chat.mibbit.com/?url=irc%3A";
+#~ "%2F%2Firc.gnome.org%2Fdocs\">irc</link>, or via our <link href=\"http://";
+#~ "mail.gnome.org/mailman/listinfo/gnome-doc-devel-list\">mailing list</"
+#~ "link>."
+#~ msgstr ""
+#~ "Si quiere <link href=\"https://live.gnome.org/DocumentationProject/Tasks/";
+#~ "DeveloperDocs\">contribuir al desarrollo de los <app>Tutoriales del "
+#~ "desarrollador de GNOME</app></link>, puede ponerse en contacto con los "
+#~ "desarrolladores usando <link href=\"https://cbe005.chat.mibbit.com/?";
+#~ "url=irc%3A%2F%2Firc.gnome.org%2Fdocs\">irc</link>, o mediante la <link "
+#~ "href=\"http://mail.gnome.org/mailman/listinfo/gnome-doc-devel-list";
+#~ "\">lista decorreo</link>."
 
 #~ msgid "This a basic Hello World application done with JavaScript and GTK+."
 #~ msgstr ""



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