[gnome-devel-docs] Updated French doc translation



commit d70f77423e73e4275de8cfd461b0f779ac886d00
Author: Bruno Brouard <annoa b gmail com>
Date:   Sun Feb 12 15:38:38 2012 +0100

    Updated French doc translation

 platform-demos/fr/fr.po | 3056 +++++++++++++++++++++++++++++------------------
 1 files changed, 1898 insertions(+), 1158 deletions(-)
---
diff --git a/platform-demos/fr/fr.po b/platform-demos/fr/fr.po
index 7879ec5..391a087 100644
--- a/platform-demos/fr/fr.po
+++ b/platform-demos/fr/fr.po
@@ -2,16 +2,16 @@
 # Copyright (C) 2011 gnome-devel-docs's COPYRIGHT HOLDER
 # This file is distributed under the same license as the gnome-devel-docs package.
 #
+#
 # Luc Rebert <traduc rebert name>, 2011.
 # Luc Pionchon <pionchon luc gmail com>, 2011.
 # Alain Lojewski <allomervan gmail com>, 2011.
-# Bruno Brouard <annoa b gmail com>, 2011.
-#
+# Bruno Brouard <annoa b gmail com>, 2011, 2012.
 msgid ""
 msgstr ""
 "Project-Id-Version: gnome-devel-docs master\n"
-"POT-Creation-Date: 2011-12-16 16:59+0000\n"
-"PO-Revision-Date: 2011-12-16 21:55+0100 \n"
+"POT-Creation-Date: 2012-02-11 06:10+0000\n"
+"PO-Revision-Date: 2012-02-11 12:24+0100\n"
 "Last-Translator: Bruno Brouard <annoa b gmail com>\n"
 "Language-Team: GNOME French Team <gnomefr traduc org>\n"
 "MIME-Version: 1.0\n"
@@ -19,84 +19,6 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
-#: C/index.page:7(name)
-msgid "GNOME Documentation Team"
-msgstr "Ãquipe de documentation GNOME"
-
-#: C/index.page:8(email) C/record-collection.js.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)
-msgid "gnome-doc-list gnome org"
-msgstr "gnome-doc-list gnome org"
-
-#: C/index.page:9(years)
-msgid "2010, 2011"
-msgstr "2010, 2011"
-
-#: C/index.page:12(name) C/message-board.c.page:13(name)
-msgid "Shaun McCance"
-msgstr "Shaun McCance"
-
-#: C/index.page:13(email) C/message-board.c.page:14(email)
-msgid "shaunm gnome org"
-msgstr "shaunm gnome org"
-
-#: C/index.page:14(years) C/message-board.c.page:15(years)
-msgid "2010"
-msgstr "2010"
-
-#: C/index.page:17(name) C/record-collection.js.page:16(name)
-#: C/photo-wall.c.page:15(name) C/magic-mirror.vala.page:16(name)
-#: C/image-viewer.js.page:17(name) C/image-viewer.py.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"
-
-#: C/index.page:18(email) C/record-collection.js.page:17(email)
-#: C/photo-wall.c.page:16(email) C/magic-mirror.vala.page:17(email)
-#: C/image-viewer.js.page:18(email) C/image-viewer.py.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"
-
-#: C/index.page:19(years)
-msgid "2011"
-msgstr "2011"
-
-#: C/index.page:24(title)
-msgid "GNOME Developer Platform Demos"
-msgstr "Exemples de la plateforme de dÃveloppement GNOME"
-
-#: C/index.page:27(title)
-msgid "Getting Ready"
-msgstr "Premiers pas"
-
-#: C/index.page:31(title)
-msgid "C"
-msgstr "C"
-
-#: C/index.page:35(title)
-msgid "C++"
-msgstr "C++"
-
-#: C/index.page:39(title)
-msgid "JavaScript"
-msgstr "JavaScript"
-
-#: C/index.page:43(title)
-msgid "Python"
-msgstr "Python"
-
-#: C/index.page:47(title)
-msgid "Vala"
-msgstr "Vala"
-
 #. 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)
@@ -109,13 +31,43 @@ msgstr ""
 msgid "Create a small database application for ordering your music collection"
 msgstr "CrÃation d'une petite base de donnÃes pour trier votre discothÃque"
 
-#: C/record-collection.js.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/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 "Projet de Documentation GNOME"
 
+#: 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"
+
+#: 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"
+
+#: 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"
+
 #: C/record-collection.js.page:21(title)
 msgid "Record Collection"
 msgstr "DiscothÃque"
@@ -184,19 +136,19 @@ msgstr ""
 
 #: 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.js.page:44(title) C/image-viewer.py.page:43(title)
-#: C/image-viewer.cpp.page:34(title) C/image-viewer.c.page:34(title)
-#: C/guitar-tuner.vala.page:40(title) C/guitar-tuner.py.page:40(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 "CrÃation d'un projet dans 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.js.page:45(p)
-#: C/image-viewer.py.page:44(p) C/image-viewer.cpp.page:35(p)
-#: C/image-viewer.c.page:35(p) C/guitar-tuner.vala.page:41(p)
-#: C/guitar-tuner.py.page:41(p) C/guitar-tuner.cpp.page:41(p)
-#: C/guitar-tuner.c.page:41(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. "
@@ -208,11 +160,10 @@ msgstr ""
 "tout regrouper en un seul endroit."
 
 #: C/record-collection.js.page:49(p) C/photo-wall.c.page:48(p)
-#: C/magic-mirror.vala.page:46(p) C/image-viewer.js.page:48(p)
-#: C/image-viewer.py.page:47(p) C/image-viewer.cpp.page:38(p)
-#: C/image-viewer.c.page:38(p) C/guitar-tuner.vala.page:44(p)
-#: C/guitar-tuner.py.page:44(p) C/guitar-tuner.cpp.page:44(p)
-#: C/guitar-tuner.c.page:44(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."
@@ -294,7 +245,7 @@ msgstr ""
 
 #: C/record-collection.js.page:97(p)
 msgid "Lines 19â23: Start the application."
-msgstr "Lignes 19â23Â: lancement de l'application"
+msgstr "Lignes 19â23Â: lancement de l'application."
 
 #: C/record-collection.js.page:102(title)
 msgid "Designing the application"
@@ -520,7 +471,7 @@ msgid ""
 msgstr ""
 "La mÃthode <code>get_value_at</code> retourne l'information sur les champs "
 "au format <code>GValue</code> de GLib. Pour convertir ce format en chaÃne de "
-"caractÃres, utilisez  simplement la fonction globale <code>value_stringify</"
+"caractÃres, utilisez simplement la fonction globale <code>value_stringify</"
 "code> de GDA. C'est ce que nous faisons ici puis nous enregistrons les "
 "rÃsultats dans les variables <code>id_field</code> et <code>name_field</"
 "code>."
@@ -686,8 +637,8 @@ msgstr ""
 "\"http://library.gnome.org/devel/libgda/stable/\";>documentation GDA</link> "
 "pour plus d'informations sur les paramÃtres."
 
-#: C/record-collection.js.page:284(title) C/image-viewer.js.page:305(title)
-#: C/image-viewer.py.page:219(title) C/guitar-tuner.py.page:221(title)
+#: 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:221(title)
 msgid "Run the application"
 msgstr "ExÃcution de l'application"
 
@@ -701,11 +652,11 @@ msgstr ""
 "discothÃqueÂ!"
 
 #: C/record-collection.js.page:289(title) C/photo-wall.c.page:377(title)
-#: C/magic-mirror.vala.page:142(title) C/image-viewer.js.page:310(title)
-#: C/image-viewer.py.page:224(title) C/image-viewer.cpp.page:212(title)
-#: C/image-viewer.c.page:220(title) C/guitar-tuner.vala.page:243(title)
-#: C/guitar-tuner.py.page:226(title) C/guitar-tuner.cpp.page:255(title)
-#: C/guitar-tuner.c.page:255(title)
+#: C/magic-mirror.vala.page:142(title) C/image-viewer.vala.page:282(title)
+#: C/image-viewer.py.page:224(title) C/image-viewer.js.page:310(title)
+#: C/image-viewer.cpp.page:212(title) C/image-viewer.c.page:220(title)
+#: C/guitar-tuner.vala.page:253(title) C/guitar-tuner.py.page:226(title)
+#: C/guitar-tuner.cpp.page:255(title) C/guitar-tuner.c.page:255(title)
 msgid "Reference Implementation"
 msgstr "ImplÃmentation de rÃfÃrence"
 
@@ -812,7 +763,7 @@ msgstr ""
 #: C/photo-wall.c.page:51(p)
 msgid ""
 "Choose <gui>Gtk+ (simple)</gui> from the <gui>C</gui> tab, click "
-"<gui>Forward</gui>, and fill out your details on the next few pages. Use "
+"<gui>Continue</gui>, and fill out your details on the next few pages. Use "
 "<file>photo-wall</file> as project name and directory."
 msgstr ""
 "Cliquez sur l'onglet <gui>C</gui>, choisissez <gui>Gtk+ (simple)</gui>, "
@@ -1094,7 +1045,7 @@ msgid ""
 "reenter the loop if another file was found."
 msgstr ""
 "Ligne 14-23Â: la premiÃre ligne rÃcupÃre un nouveau nom de fichier à partir "
-"du  <code>GDir</code> que nous avons ouvert prÃcÃdemment. S'il existe des "
+"du <code>GDir</code> que nous avons ouvert prÃcÃdemment. S'il existe des "
 "fichiers images (ce que nous vÃrifions en examinant son extension, ÂÂ.pngÂÂ "
 "ou ÂÂ.jpgÂÂ) dans le rÃpertoire, nous continuons en ajoutant le chemin du "
 "rÃpertoire de l'image devant le nom de fichier puis en l'ajoutant en tÃte de "
@@ -1390,9 +1341,10 @@ msgstr ""
 "Ligne 7Â: en fonction de la valeur boolÃenne transmise, le "
 "<code>ClutterActor</code> est paramÃtrà pour rÃpondre aux ÃvÃnements ou pas."
 
-#: C/photo-wall.c.page:369(title) C/image-viewer.cpp.page:206(title)
-#: C/image-viewer.c.page:214(title) C/guitar-tuner.vala.page:237(title)
-#: C/guitar-tuner.cpp.page:249(title) C/guitar-tuner.c.page:249(title)
+#: C/photo-wall.c.page:369(title) C/image-viewer.vala.page:274(title)
+#: C/image-viewer.cpp.page:206(title) C/image-viewer.c.page:214(title)
+#: C/guitar-tuner.vala.page:247(title) C/guitar-tuner.cpp.page:249(title)
+#: C/guitar-tuner.c.page:249(title)
 msgid "Build and run the application"
 msgstr "Construction et lancement de l'application"
 
@@ -1461,6 +1413,18 @@ msgstr ""
 msgid "A simple program using WebKitGTK+ and the DOM."
 msgstr "Un programme simple utilisant WebKitGTK+ et DOM."
 
+#: C/message-board.c.page:13(name) C/index.page:12(name)
+msgid "Shaun McCance"
+msgstr "Shaun McCance"
+
+#: C/message-board.c.page:14(email) C/index.page:13(email)
+msgid "shaunm gnome org"
+msgstr "shaunm gnome org"
+
+#: C/message-board.c.page:15(years) C/index.page:14(years)
+msgid "2010"
+msgstr "2010"
+
 #: C/message-board.c.page:20(title)
 msgid "Message Board"
 msgstr "Visionneur de messages"
@@ -1524,7 +1488,7 @@ msgstr ""
 #: C/message-board.c.page:55(p)
 msgid ""
 "Select <gui>GTK+ (simple)</gui> on the <gui>C</gui> tab, and click "
-"<gui>Forward</gui>."
+"<gui>Continue</gui>."
 msgstr ""
 "SÃlectionnez <gui>GTK+ (simple)</gui> dans l'onglet <gui>C</gui> et cliquez "
 "sur <gui>Continuer</gui>."
@@ -1532,7 +1496,7 @@ msgstr ""
 #: 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>Forward</gui>."
+"<input>message-board</input> for the project name. Click <gui>Continue</gui>."
 msgstr ""
 "Renseignez les champs de la page <gui>Informations gÃnÃrales</gui>. Mettez "
 "<input>message-board</input> comme nom de projet et cliquez sur "
@@ -1550,7 +1514,7 @@ msgstr ""
 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>Forward</gui>. On the <gui>Configure external packages</"
+"gui>. Click <gui>Continue</gui>. On the <gui>Configure external packages</"
 "gui> page, check <gui>webkitgtk-3.0</gui>."
 msgstr ""
 "Vous devez indiquer à Anjuta que vous utilisez WebKitGTK+ dans ce projet. "
@@ -1856,7 +1820,7 @@ msgid ""
 "element in the document using CSS selectors. This keeps you from having to "
 "write tedious loops to traverse the document."
 msgstr ""
-"Une fois que vous avez le document, il vous faut obtenir l'ÃlÃment  "
+"Une fois que vous avez le document, il vous faut obtenir l'ÃlÃment "
 "<code>body</code> pour pouvoir y ajouter des ÃlÃments <code>div</code>. La "
 "fonction <code>webkit_dom_document_query_selector</code> vous permet de "
 "trouver un ÃlÃment dans le document en utilisant des sÃlecteurs CSS. Ceci "
@@ -2175,17 +2139,16 @@ msgstr ""
 msgid "Grab photos off your webcam"
 msgstr "rÃcupÃrer des photos de votre webcam,"
 
-#: C/magic-mirror.vala.page:31(p) C/image-viewer.js.page:33(p)
-#: C/image-viewer.py.page:33(p) C/guitar-tuner.vala.page:30(p)
-#: C/guitar-tuner.py.page:30(p) C/guitar-tuner.cpp.page:30(p)
-#: C/guitar-tuner.c.page:30(p)
+#: 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 "Vous avez besoin de ce qui suit pour pouvoir suivre ce tutorielÂ:"
 
-#: C/magic-mirror.vala.page:33(p) C/image-viewer.js.page:35(p)
-#: C/image-viewer.py.page:35(p) C/guitar-tuner.vala.page:32(p)
-#: C/guitar-tuner.py.page:32(p) C/guitar-tuner.cpp.page:32(p)
-#: C/guitar-tuner.c.page:32(p)
+#: 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 ""
 "l'installation du paquet <link xref=\"getting-ready\">Anjuta IDE</link>,"
@@ -2198,6 +2161,7 @@ msgstr "l'installation des paquets GTK, GStreamer et d'un compilateur Vala,"
 msgid "Basic knowledge of an object-oriented programming language"
 msgstr "des connaissances de base d'un langage de programmation d'objets."
 
+# BUG : "magic_mirror" au lieu de "guitar-tuner"
 #: C/magic-mirror.vala.page:49(p)
 msgid ""
 "Choose <gui>Gtk+ (simple)</gui> from the <gui>Vala</gui> tab, click "
@@ -2241,9 +2205,10 @@ msgstr ""
 "<gui>Fichiers</gui>. Vous devez voir apparaÃtre du code commenÃant par les "
 "lignesÂ:"
 
-#: C/magic-mirror.vala.page:70(title) C/image-viewer.cpp.page:60(title)
-#: C/image-viewer.c.page:58(title) C/guitar-tuner.vala.page:63(title)
-#: C/guitar-tuner.cpp.page:63(title) C/guitar-tuner.c.page:63(title)
+#: C/magic-mirror.vala.page:70(title) C/image-viewer.vala.page:106(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 "PremiÃre construction du programme"
 
@@ -2255,7 +2220,7 @@ msgstr ""
 "Le programme charge et affiche une fenÃtre (vide). Vous trouverez plus de "
 "dÃtails ci-dessousÂ; passez cette liste si vous comprenez les basesÂ:"
 
-#: C/magic-mirror.vala.page:74(p) C/guitar-tuner.vala.page:68(p)
+#: 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."
@@ -2289,8 +2254,8 @@ msgstr ""
 "l'interface utilisateur et commence à Ãcouter les ÃvÃnements (comme des "
 "clics de souris ou des appuis sur des touches)."
 
-#: C/magic-mirror.vala.page:85(p) C/image-viewer.cpp.page:76(p)
-#: C/image-viewer.c.page:77(p) C/guitar-tuner.vala.page:79(p)
+#: C/magic-mirror.vala.page:85(p) C/image-viewer.vala.page:126(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 "
@@ -2301,7 +2266,7 @@ msgstr ""
 "cliquant sur <guiseq><gui>Construire</gui><gui>Construire le projet</gui></"
 "guiseq> ou en appuyant sur <keyseq><key>Maj</key><key>F7</key></keyseq>."
 
-#: C/magic-mirror.vala.page:86(p) C/guitar-tuner.vala.page:80(p)
+#: C/magic-mirror.vala.page:86(p) C/image-viewer.vala.page:127(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 "
@@ -2384,11 +2349,11 @@ msgstr ""
 "une fenÃtre standard Gtk, mais qui nÃcessite des techniques avancÃes ainsi "
 "que l'ajout de boutons pour lire/arrÃter l'image."
 
-#: C/magic-mirror.vala.page:149(title) C/guitar-tuner.vala.page:248(title)
+#: C/magic-mirror.vala.page:149(title) C/guitar-tuner.vala.page:258(title)
 msgid "Further reading"
 msgstr "Documentation complÃmentaire"
 
-#: C/magic-mirror.vala.page:150(p) C/guitar-tuner.vala.page:249(p)
+#: 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</"
@@ -2415,460 +2380,815 @@ msgstr ""
 "vous allez pouvoir Ãpater vos amis et collÃgues avec une application gÃniale "
 "faite en 15 minutes."
 
+#: C/index.page:7(name)
+msgid "GNOME Documentation Team"
+msgstr "Ãquipe de documentation GNOME"
+
+#: C/index.page:9(years)
+msgid "2010, 2011"
+msgstr "2010, 2011"
+
+#: C/index.page:19(years)
+msgid "2011"
+msgstr "2011"
+
+#: C/index.page:24(title)
+msgid "GNOME Developer Platform Demos"
+msgstr "Exemples de la plateforme de dÃveloppement GNOME"
+
+#: C/index.page:27(title)
+msgid "Getting Ready"
+msgstr "Premiers pas"
+
+#: C/index.page:31(title)
+msgid "C"
+msgstr "C"
+
+#: C/index.page:35(title)
+msgid "C++"
+msgstr "C++"
+
+#: C/index.page:39(title)
+msgid "JavaScript"
+msgstr "JavaScript"
+
+#: C/index.page:43(title)
+msgid "Python"
+msgstr "Python"
+
+#: C/index.page:47(title)
+msgid "Vala"
+msgstr "Vala"
+
 #. 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.js.page:41(None) C/image-viewer.py.page:40(None)
-#: C/image-viewer.cpp.page:31(None) C/image-viewer.c.page:31(None)
+#: 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"
 
-#: 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 ""
-"Un peu plus qu'une simple application ÂÂHello worldÂÂ - programmer un "
-"visionneur d'images avec GTK. Inclut une introduction au langage JavaScript."
+#: 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 "Un peu plus qu'une simple application Gtk ÂÂHello worldÂÂ."
 
-#: C/image-viewer.js.page:13(name) C/image-viewer.py.page:13(name)
-msgid "Jonh Wendell"
-msgstr "Jonh Wendell"
+#: C/image-viewer.vala.page:20(name)
+msgid "Philip Chimento"
+msgstr "Philip Chimento"
 
-#: C/image-viewer.js.page:14(email) C/image-viewer.py.page:14(email)
-msgid "jwendell gnome org"
-msgstr "jwendell gnome org"
+#: C/image-viewer.vala.page:21(email)
+msgid "philip chimento gmail com"
+msgstr "philip chimento gmail com"
 
-#: C/image-viewer.js.page:23(title) C/image-viewer.py.page:23(title)
-#: C/image-viewer.cpp.page:21(title) C/image-viewer.c.page:21(title)
+#: C/image-viewer.vala.page:24(name) C/guitar-tuner.vala.page:20(name)
+msgid "Tiffany Antopolski"
+msgstr "Tiffany Antopolski"
+
+#: C/image-viewer.vala.page:25(email) C/guitar-tuner.vala.page:21(email)
+msgid "tiffany antopolski gmail com"
+msgstr "tiffany antopolski gmail com"
+
+#: C/image-viewer.vala.page:29(title) C/image-viewer.py.page:23(title)
+#: C/image-viewer.js.page:23(title) C/image-viewer.cpp.page:21(title)
+#: C/image-viewer.c.page:21(title)
 msgid "Image Viewer"
 msgstr "Visionneur d'images"
 
-#: C/image-viewer.js.page:26(p) C/image-viewer.py.page:26(p)
+#: C/image-viewer.vala.page:31(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:"
+"In this tutorial you will create an application which opens and displays an "
+"image file. You will learn:"
 msgstr ""
-"Dans ce tutoriel, nous allons Ãcrire une application GTK trÃs simple qui "
-"charge et affiche un fichier image. Vous allez apprendre commentÂ:"
+"Dans ce tutoriel, nous allons Ãcrire une application qui charge et affiche "
+"un fichier image. Vous allez apprendreÂ:"
 
-#: C/image-viewer.js.page:28(p)
-msgid "Write a basic GTK user interface in JavaScript"
-msgstr "Ãcrire une interface utilisateur GTK de base en JavaScript,"
+#: 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 ""
+"comment paramÃtrer un projet de base en utilisant <link xref=\"getting-ready"
+"\">Anjuta IDE</link>,"
 
-#: C/image-viewer.js.page:29(p) C/image-viewer.py.page:29(p)
-msgid "Deal with events by connecting signals to signal handlers"
+#: 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 ""
-"travailler avec des ÃvÃnements en connectant des signaux à des gestionnaires "
-"de signaux,"
+"comment Ãcrire une <link href=\"http://developer.gnome.org/platform-overview/";
+"stable/gtk\">application Gtk</link> en Vala,"
 
-#: C/image-viewer.js.page:30(p) C/image-viewer.py.page:30(p)
-msgid "Lay out GTK user interfaces using containers"
-msgstr "mettre en forme des interfaces utilisateur GTK avec des conteneurs,"
+#: C/image-viewer.vala.page:35(p)
+msgid ""
+"Some basic concepts of <link href=\"http://developer.gnome.org/gobject/";
+"stable/\">GObject</link> programming"
+msgstr ""
+"quelques concepts de base sur la programmation <link href=\"http://developer.";
+"gnome.org/gobject/stable/\">GObject</link>,"
 
-#: C/image-viewer.js.page:31(p) C/image-viewer.py.page:31(p)
-msgid "Load and display image files"
-msgstr "charger et afficher des fichiers image."
+#: 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 ""
+"les connaissances de base du langage de programmation <link href=\"https://";
+"live.gnome.org/Vala/Tutorial\">Vala</link>."
 
-#: C/image-viewer.js.page:36(p)
-msgid "An installed copy of the <em>gjs</em> interpreter"
-msgstr "une copie installÃe de l'interprÃteur <em>gjs</em>,"
+#: C/image-viewer.vala.page:41(p) C/guitar-tuner.vala.page:37(p)
+msgid "An installed copy of <app>Anjuta</app>."
+msgstr "une copie installÃe de <em>Anjuta</em>."
 
-#: C/image-viewer.js.page:37(p)
-msgid "Basic knowledge of any object-orientated programming language"
-msgstr "des connaissances de base d'un langage de programmation objet."
+#: C/image-viewer.vala.page:42(p)
+msgid ""
+"You may find the <link href=\"http://valadoc.org/gtk+-3.0/\";>gtk+-3.0</link>"
+msgstr ""
+"Il se peut que vous trouviez la documentation API <link href=\"http://";
+"valadoc.org/gtk+-3.0/\">gtk+-3.0</link>"
 
-#: C/image-viewer.js.page:51(p)
+#: C/image-viewer.vala.page:42(item)
 msgid ""
-"Choose <gui>Generic Javascript</gui> from the <gui>JS</gui> tab, click "
+"<placeholder-1/> API Reference useful, although it is not necessary to "
+"follow the tutorial."
+msgstr ""
+"<placeholder-1/> utile, bien qu'il ne soit pas nÃcessaire de suivre le "
+"tutoriel."
+
+#: 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 ""
+"Lancez <app>Anjuta</app> et cliquez sur <gui>CrÃer un nouveau projet</gui> "
+"ou <guiseq><gui>Fichier</gui><gui>Nouveau</gui><gui>Projet</gui></guiseq> "
+"pour ouvrir l'assistant de crÃation de projet."
+
+#: 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 ""
-"SÃlectionnez <gui>JavaScript gÃnÃrique</gui> dans l'onglet <gui>JS</gui>, "
-"cliquez sur <gui>Continuer</gui> et saisissez vos informations sur les pages "
-"suivantes. Mettez <file>visionneur_image</file> comme nom de projet et de "
+"SÃlectionnez <gui>GTK+ (Simple)</gui> dans l'onglet <gui>Vala</gui>, cliquez "
+"sur <gui>Continuer</gui> et saisissez vos informations sur les quelques "
+"pages suivantes. Mettez <file>image-viewer</file> comme nom de projet et de "
 "rÃpertoire."
 
-#: C/image-viewer.js.page:54(p)
+#: C/image-viewer.vala.page:62(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."
+"Make sure that <gui>Use GtkBuilder for user interface</gui> is disabled as "
+"we will create the UI manually in this tutorial."
 msgstr ""
-"Cliquez sur <gui>Appliquer</gui> et le projet est crÃÃ. Ouvrez <file>src/"
-"main.js</file> depuis l'onglet <gui>Projet</gui> ou l'onglet <gui>Fichiers</"
-"gui>. Il contient un exemple de programme trÃs basique."
-
-#: C/image-viewer.js.page:61(title)
-msgid "JavaScript basics: Hello World"
-msgstr "Les bases JavaScriptÂ: Hello World"
+"Assurez-vous d'avoir dÃsactivà <gui>Utiliser GtkBuilder pour l'interface "
+"utilisateur</gui> car nous allons crÃer l'interface utilisateur manuellement "
+"dans cet exemple."
 
-#: C/image-viewer.js.page:62(p)
+#: C/image-viewer.vala.page:63(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>:"
+"You will learn how to use the interface builder in the <link xref=\"guitar-"
+"tuner.vala\">Guitar-Tuner</link> tutorial."
 msgstr ""
-"Avant de commencer à programmer le visionneur d'images, regardons de plus "
-"prÃs la faÃon dont JavaScript est utilisà dans GNOME. Bien sÃr, votre tout "
-"premier contact avec n'importe quel langage de programmation devrait Ãtre le "
-"ÂÂHello WorldÂÂ du fichier <file>main.js</file>Â:"
+"Consultez le tutoriel <link xref=\"guitar-tuner.c\">Accordeur de guitare</"
+"link> si vous souhaitez savoir comment utiliser le constructeur d'interface "
+"GtkBuilder."
 
-# Bruno : with no space between print and (
-#: C/image-viewer.js.page:63(code)
-#, no-wrap
-msgid "print (\"Hello world!\");"
-msgstr "print(\"Hello world!\");"
-
-#: C/image-viewer.js.page:64(p)
+#: C/image-viewer.vala.page:67(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."
+"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 ""
-"Ceci doit vous sembler trÃs normal si vous Ãtes familier avec la plupart des "
-"langages de programmation. La fonction <code>print</code> est appelÃe avec "
-"l'argument <code>\"Hello world!\"</code> qui est imprimà à l'Ãcran. Notez "
-"que chaque ligne du programme se termine par un point-virgule."
-
-#: C/image-viewer.js.page:68(title)
-msgid "Classes in JavaScript"
-msgstr "Les classes en JavaScript"
-
-#: C/image-viewer.js.page:69(p)
-msgid "This is the standard way to define a class in JavaScript:"
-msgstr "Voici la mÃthode standard pour dÃfinir une classe en JavaScriptÂ:"
+"Cliquez sur <gui>Appliquer</gui> et le projet est crÃÃ. Ouvrez <file>src/"
+"main.vala</file> depuis l'onglet <gui>Projet</gui> ou l'onglet "
+"<gui>Fichiers</gui>. Vous verrez apparaÃtre ce codeÂ:"
 
-#: C/image-viewer.js.page:92(p)
+#: C/image-viewer.vala.page:107(p)
 msgid ""
-"This defines a class called <code>MyClass</code>. Let's go through each part "
-"of the class definition:"
+"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 ""
-"Ceci dÃfinit une classe appelÃe <code>MyClass</code>. Passons en revue "
-"chaque partie de la dÃfinition d'une classeÂ:"
+"Ce programme charge une fenÃtre (vide) Ã partir du fichier de description de "
+"l'interface et l'affiche. Vous trouverez plus de dÃtails ci-dessousÂ; passez "
+"cette liste si vous comprenez les basesÂ:"
 
-#: C/image-viewer.js.page:95(p)
+#: C/image-viewer.vala.page:112(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."
+"The two <code>using</code> lines at the top import namespaces so we don't "
+"have to name them explicitly."
 msgstr ""
-"<code>function MyClass</code> est le constructeur de la classe â son nom "
-"doit correspondre au nom de la classe. Vous avez accÃs à n'importe quel "
-"membre de la classe avec l'objet <code>this</code>Â; ici, le gÃnÃrateur "
-"appelle la mÃthode <code>_init</code> de la classe."
+"Les deux lignes <code>using</code> du dÃbut importent des espaces de noms "
+"que nous n'aurons plus à nommer explicitement."
 
-#: C/image-viewer.js.page:98(p)
+#: C/image-viewer.vala.page:115(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."
+"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 ""
-"Le bloc <code>MyClass.prototype</code> est l'endroit oà vous dÃfinissez la "
-"<em>structure</em> de la classe. Chaque classe est constituÃe de mÃthodes "
-"(les fonctions) et de champs (les variables)Â; il y a trois mÃthodes et deux "
-"champs dans cet exemple."
+"Le constructeur de la classe principale <code>Main</code> crÃe une nouvelle "
+"fenÃtre (vide) et connecte un <link href=\"https://live.gnome.org/Vala/";
+"SignalsAndCallbacks\">signal</link> pour quitter l'application quand cette "
+"fenÃtre est fermÃe."
 
-#: C/image-viewer.js.page:101(p)
+#: C/image-viewer.vala.page:116(p) C/image-viewer.c.page:67(p)
+#: C/guitar-tuner.c.page:72(p)
 msgid ""
-"The first method defined here is called <code>_init</code>, and we specify "
-"that it is a function with no arguments:"
+"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 ""
-"La premiÃre mÃthode dÃfinie ici est appelÃe <code>_init</code> et nous "
-"spÃcifions que c'est une fonction sans argumentÂ:"
-
-#: C/image-viewer.js.page:102(code)
-#, no-wrap
-msgid "_init: function ()"
-msgstr "_init: function ()"
+"Connecter des signaux, c'est dÃcider de ce qui doit se passer quand on "
+"appuie sur un bouton ou quand quelque chose d'autre se produit. Ici, la "
+"fonction <code>destroy</code> est appelÃe (et quitte l'application) quand la "
+"fenÃtre est fermÃe."
 
-#: C/image-viewer.js.page:103(p)
+#: C/image-viewer.vala.page:120(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."
+"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 ""
-"Nous Ãcrivons la fonction à l'intÃrieur d'accolades. Deux champs sont "
-"dÃfinis ici, <code>propertyA</code> et <code>propertyB</code>. Le premier "
-"est dÃfini comme une chaÃne et le second comme un nombre entier (10). La "
-"fonction ne retourne aucune valeur."
+"La fonction <code>statique main</code> est exÃcutÃe par dÃfaut quand vous "
+"lancez une application Vala. Elle appelle d'autres fonctions qui crÃent la "
+"classe <code>Main</code>, configurent puis exÃcutent l'application. La "
+"fonction <link href=\"http://valadoc.org/gtk+-3.0/Gtk.main.html\";><code>Gtk."
+"main</code></link> dÃmarre la <link href=\"http://en.wikipedia.org/wiki/";
+"Event_loop\">boucle principale</link> de GTK, qui lance l'interface "
+"utilisateur et commence à Ãcouter les ÃvÃnements (comme des clics de souris "
+"ou des appuis sur des touches)."
 
-#: C/image-viewer.js.page:106(p)
+#: C/image-viewer.vala.page:132(title) C/image-viewer.cpp.page:81(title)
+#: C/image-viewer.c.page:82(title)
+msgid "Creating the user interface"
+msgstr "CrÃation de l'interface utilisateur"
+
+#: C/image-viewer.vala.page:133(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>."
+"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 ""
-"La mÃthode suivante est appelÃe <code>aMethod</code> et possÃde deux "
-"arguments qu'elle imprime quand vous l'appelez. La derniÃre mÃthode est "
-"<code>dumpProperties</code> et elle imprime les champs <code>propertyA</"
-"code> et <code>propertyB</code>."
+"Nous allons maintenant donner vie à la fenÃtre vide. GTK organise "
+"l'interface utilisateur avec des <link href=\"http://www.valadoc.org/gtk+-";
+"2.0/Gtk.Container.html\"><code>Gtk.Container</code></link> qui peuvent "
+"contenir d'autres ÃlÃments graphiques et mÃme d'autres conteneurs. Ici, nous "
+"allons utiliser le plus simple conteneur disponible, une boÃte <link href="
+"\"http://unstable.valadoc.org/gtk+-2.0/Gtk.Box.html\";><code>Gtk.Box</code></"
+"link>Â:"
 
-#: C/image-viewer.js.page:109(p)
-msgid ""
-"Note how the class definition (prototype) is arranged; each function "
-"definition is separated by a comma."
+#: C/image-viewer.vala.page:137(p)
+msgid "Add the following lines to the top of the <code>Main</code> class:"
 msgstr ""
-"Notez comment la dÃfinition de la classe (prototype) est structurÃeÂ; chaque "
-"dÃfinition de fonction est sÃparÃe par une virgule."
+"Ajoutez les lignes suivantes au dessus de la classe <code>Main</code>Â:"
 
-#: C/image-viewer.js.page:113(p)
-msgid "Now that MyClass has been defined, we can play with it:"
-msgstr "Maintenant que MyClass a Ãtà dÃfini, nous pouvons jouer avecÂ:"
+#: C/image-viewer.vala.page:143(p)
+msgid "Now replace the current constructor with the one below:"
+msgstr "Remplacez maintenant le constructeur actuel par celui ci-dessousÂ:"
 
-#: C/image-viewer.js.page:119(p)
+#: C/image-viewer.vala.page:169(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)."
+"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 ""
-"Ce code crÃe une nouvelle version de la classe appelÃe <code>o</code>, "
-"appelle <code>aMethod</code>, modifie <code>propertyA</code> en une chaÃne "
-"diffÃrente et ensuite appelle <code>dumpProperties</code> (qui affiche les "
-"champs)."
+"Les deux premiÃres lignes sont les parties de l'interface graphique "
+"auxquelles nous aurons besoin d'accÃder depuis plus d'une mÃthode. Nous les "
+"dÃclarons avant afin qu'elles soient accessibles depuis la classe plutÃt que "
+"seulement dans la mÃthode oà elles sont crÃes."
 
-#: C/image-viewer.js.page:120(p)
+#: C/image-viewer.vala.page:173(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."
+"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 ""
-"Enregistrez le code dans le fichier <file>main.js</file> et ensuite lancez-"
-"le avec <guiseq><gui>ExÃcuter</gui><gui>ExÃcuter</gui></guiseq> Ã partir du "
-"menu ou de la barre d'outils."
-
-#: C/image-viewer.js.page:125(title) C/image-viewer.py.page:64(title)
-msgid "A first Gtk application"
-msgstr "Une premiÃre application Gtk"
+"Les premiÃres lignes du constructeur crÃent la fenÃtre vide. Les lignes "
+"suivantes crÃent les ÃlÃments graphiques dont nous avons besoinÂ: un bouton "
+"pour ouvrir une image, l'ÃlÃment graphique image lui-mÃme et la boÃte que "
+"nous utilisons comme conteneur."
 
-#: C/image-viewer.js.page:126(p)
-msgid "Let's see what a very basic Gtk application looks like in JavaScript:"
+#: C/image-viewer.vala.page:177(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 ""
-"Voyons à quoi ressemble une application Gtk trÃs basique Ãcrite en "
-"JavaScriptÂ:"
+"Les appels à <link href=\"http://unstable.valadoc.org/gtk+-2.0/Gtk.Box.";
+"pack_start.html\"><code>pack_start</code></link> ajoutent les deux ÃlÃments "
+"graphiques à la boÃte et dÃfinissent leur comportement. L'image va s'Ãtendre "
+"pour occuper tout l'espace disponible alors que le bouton va prendre juste "
+"la taille nÃcessaire. Notez que nous ne dÃfinissons pas explicitement les "
+"dimensions des ÃlÃments graphiques. Avec GTK, ce n'est habituellement pas "
+"nÃcessaire car cela facilite grandement l'obtention d'une bonne disposition "
+"pour diffÃrentes tailles de fenÃtre. La boÃte est ensuite ajoutÃe dans la "
+"fenÃtre."
 
-#: C/image-viewer.js.page:136(p) C/image-viewer.py.page:89(p)
-msgid "Let's take a look at what's happening:"
-msgstr "Regardons ce qui se passeÂ:"
+#: C/image-viewer.vala.page:184(p)
+msgid ""
+"We need to define what happens when the user clicks on the button. GTK uses "
+"the concept of <em>signals</em>."
+msgstr ""
+"Nous devons dÃfinir ce qui se produit lorsque l'utilisateur clique sur le "
+"bouton. GTK utilise le concept de <em>signaux</em>."
+
+#: C/image-viewer.vala.page:185(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 ""
+"Lorsque le <link href=\"http://valadoc.org/gtk+-3.0/Gtk.Button.html";
+"\">bouton</link> est cliquÃ, il Ãmet le signal <link href=\"http://valadoc.";
+"org/gtk+-3.0/Gtk.Button.clicked.html\"><code>clicked</code></link> que nous "
+"pouvons connecter à des actions (dÃfinies dans une <link href=\"https://live.";
+"gnome.org/Vala/SignalsAndCallbacks\">fonction de rappel</link>)."
+
+#: C/image-viewer.vala.page:188(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 ""
+"On le fait en utilisant la mÃthode <code>connect</code> du signal "
+"<code>clicked</code> du bouton qui dans ce cas indique à GTK d'appeler la "
+"fonction de rappel (pas encore dÃfinie) <code>on_image_open</code> lorsque "
+"le bouton est cliquÃ. Nous dÃfinirons la <em>fonction de rappel</em> dans la "
+"prochaine section."
+
+#: C/image-viewer.vala.page:192(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 ""
+"Dans la fonction de rappel, nous avons besoin d'accÃder aux ÃlÃments "
+"graphiques <code>window</code> (fenÃtre) et <code>image</code>, c'est "
+"pourquoi nous les dÃfinissons comme membres privÃs (private) au dÃbut de "
+"notre classe."
+
+#: C/image-viewer.vala.page:196(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 ""
+"Le dernier appel <code>connect</code> permet d'Ãtre sÃr que l'application "
+"quitte lorsque la fenÃtre est fermÃe. Le code gÃnÃrà par Anjuta appelle une "
+"fonction de rappel <code>on_destroy</code> qui appelle <link href=\"http://";
+"www.valadoc.org/gtk+-2.0/Gtk.main_quit.html\"><code>Gtk.main_quit</code></"
+"link> bien qu'il soit plus facile de connecter directement notre signal à "
+"<code>main_quit</code>. Vous pouvez supprimer la mÃthode <code>on_destroy</"
+"code>."
+
+#: C/image-viewer.vala.page:203(title) C/image-viewer.cpp.page:141(title)
+#: C/image-viewer.c.page:147(title)
+msgid "Showing the image"
+msgstr "Affichage de l'image"
 
-#: C/image-viewer.js.page:139(p) C/image-viewer.py.page:92(p)
+#: C/image-viewer.vala.page:204(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."
+"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 ""
-"La premiÃre ligne importe l'espace de nom Gtk (c.-Ã-d. cela inclut la "
-"bibliothÃque Gtk). Les bibliothÃques sont fournies par ÂÂGObject "
-"Introspection (gi) qui fournit les liens de langage à beaucoup de "
-"bibliothÃques GNOME."
+"Nous allons maintenant dÃfinir le gestionnaire de signal pour le signal "
+"<code>clicked</code> du bouton ci-dessus. Ajoutez ce code aprÃs le "
+"constructeurÂ:"
 
-#: C/image-viewer.js.page:142(p)
+#: C/image-viewer.vala.page:231(p)
+msgid "This is a bit complicated, so let's break it down:"
+msgstr ""
+"C'est un peu compliquÃ, donc dÃcortiquons cette partie Ãtape par ÃtapeÂ:"
+
+#: C/image-viewer.vala.page:232(p)
 msgid ""
-"<code>Gtk.init</code> initializes the Gtk library; this statement is "
-"mandatory for all Gtk programs."
+"A signal handler is a type of callback method that is called when a signal "
+"is emitted. Here the terms are used interchangeably."
 msgstr ""
-"<code>Gtk.init</code> initialise la bibliothÃque GtkÂ; cette instruction est "
-"obligatoire pour tous les programmes Gtk."
+"Un gestionnaire de signal est un type de fonction de rappel qui est appelà "
+"lorsqu'un signal est Ãmis. Ici les termes sont utilisÃs indiffÃremment."
 
-#: C/image-viewer.js.page:145(p)
+#: C/image-viewer.vala.page:235(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."
+"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 ""
-"La ligne suivante crÃe la fenÃtre principale en crÃant un nouvel objet "
-"<code>Gtk.Window</code>. Vous pouvez transmettre plusieurs propriÃtÃs au "
-"constructeur de la fenÃtre avec la syntaxe <code>{propriÃtÃ: valeur, "
-"propriÃtÃ: valeur, ...}</code>. Dans ce cas, le titre de la fenÃtre est "
-"dÃfini."
+"Le premier argument de la fonction de rappel est toujours l'ÃlÃment "
+"graphique qui a envoyà le signal. Parfois d'autres arguments apparaissent "
+"derriÃre reliÃs au signal, mais <em>clicked</em> n'en a aucun."
 
-#: C/image-viewer.js.page:146(p)
+#: C/image-viewer.vala.page:237(p)
 msgid ""
-"The next line explicitly shows the window. In Gtk, every widget is hidden by "
-"default."
+"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 ""
-"La ligne suivante affiche explicitement la fenÃtre. Dans Gtk, chaque ÃlÃment "
-"graphique est masquà par dÃfaut."
+"Dans ce cas, le <code>bouton</code> envoie le signal <code>clicked</code> "
+"qui est connectà à la fonction de rappel <code>on_open_image</code>Â:"
 
-#: C/image-viewer.js.page:147(p)
+#: C/image-viewer.vala.page:242(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."
+"The <code>on_open_image</code> method takes the button that emitted the "
+"signal as an argument:"
 msgstr ""
-"Enfin, <code>Gtk.main</code> lance la boucle principale â en d'autres "
-"termes, il exÃcute le programme. La boucle principale Ãcoute les ÃvÃnements "
-"(signaux) en provenance de l'interface utilisateur et appelle un "
-"gestionnaire de signal qui fera quelque chose d'utile. Nous en apprendrons "
-"davantage sur les signaux bientÃt."
+"Le mÃthode <code>on_open_image</code> prend comme paramÃtre le bouton qui a "
+"Ãmis le signalÂ:"
 
-#: C/image-viewer.js.page:150(p)
+#: C/image-viewer.vala.page:248(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."
+"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 ""
-"Enregistrez le code dans le fichier <file>main.js</file> et exÃcutez-le. "
-"Notez que l'application ne quitte pas quand vous fermez la fenÃtre. C'est "
-"parce que nous n'avons pas encore dÃfini de gestionnaire de signal qui prend "
-"en charge le signal <code>destroy</code> de fermeture. Nous le ferons "
-"prochainement, mais en attendant, pressez seulement <keyseq><key>Ctrl</"
-"key><key>C</key></keyseq> dans la fenÃtre du terminal pour quitter le "
-"programme."
+"La prochaine ligne intÃressante est celle oà est crÃÃe la boÃte de dialogue "
+"pour choisir le fichier. Le constructeur de <link href=\"http://www.valadoc.";
+"org/gtk+-3.0/Gtk.FileChooserDialog.html\"><code>FileChooserDialog</code></"
+"link> prend comme argument le titre, la fenÃtre parente de la boÃte de "
+"dialogue et plusieurs options telles que l'Ãtiquette des boutons et les "
+"actions correspondantes."
 
-#: C/image-viewer.js.page:155(title)
-msgid "Adding classes"
-msgstr "Ajout de classes"
+#: C/image-viewer.vala.page:250(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 ""
+"Notez que nous utilisons les noms de bouton de la <link href=\"http://";
+"unstable.valadoc.org/gtk+-3.0/Gtk.Stock.html\"><em>collection</em></link> "
+"(stock) Gtk au lieu de saisir manuellement ÂÂCancelÂÂ ou ÂÂOpenÂÂ. L'avantage "
+"d'utiliser les noms de la collection est que les Ãtiquettes des boutons sont "
+"dÃjà traduites dans la langue de l'utilisateur."
 
-#: C/image-viewer.js.page:156(p)
+#: C/image-viewer.vala.page:254(p)
 msgid ""
-"The proper way of doing Gtk programming is by using classes. Let's rewrite "
-"the simple code you just wrote using classes:"
+"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 ""
-"La bonne mÃthode de programmation avec Gtk est l'utilisation de classes. "
-"RÃcrivons le bout de programme que l'on vient d'Ãcrire en utilisant des "
-"classesÂ:"
+"Les deux lignes suivantes limitent la boÃte de dialogue <gui>Open</gui> Ã "
+"l'affichage des seuls fichiers pouvant Ãtre ouverts par <em>GtkImage</em> "
+"qui est un ÃlÃment graphique qui affiche une image. Un objet filtre est "
+"d'abord crÃÃÂ; ensuite nous ajoutons tous les types de fichiers pris en "
+"charge par <link href=\"http://www.valadoc.org/gdk-pixbuf-2.0/Gdk.Pixbuf.html";
+"\"><code>Gdk.Pixbuf</code></link> (ce qui inclut la plupart des formats "
+"d'image comme PNG ou JPEG) au filtre. Enfin, nous appliquons ce filtre à la "
+"boÃte de dialogue <gui>Open</gui>."
+
+#: C/image-viewer.vala.page:259(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> affiche la boÃte de dialogue <gui>Open</"
+"gui>. La boÃte de dialogue attend que l'utilisateur choisisse une imageÂ; "
+"quand c'est fait, <code>dialog.run</code> retourne la valeur <link href="
+"\"http://www.valadoc.org/gtk+-3.0/Gtk.ResponseType.html\";>ResponseType</"
+"link> <code>ResponseType.ACCEPT</code> (il retourne la valeur "
+"<code>ResponseType.CANCEL</code> si l'utilisateur clique sur <gui>Cancel</"
+"gui>). L'instruction <code>switch</code> teste cette rÃponse."
 
-#. FIXME: Throws an error, "JS ERROR: !!!   Unhandled type int32 releasing GArgument" on Ubuntu 10.10
-#: C/image-viewer.js.page:175(p)
+#: C/image-viewer.vala.page:264(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>)."
+"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 ""
-"Notez que le programme reste le mÃmeÂ; on a juste dÃplacà le code de "
-"crÃation de la fenÃtre dans notre propre classe <code>ImageViewer</code>. Le "
-"constructeur de la classe appelle la mÃthode <code>_init</code> qui crÃe et "
-"affiche la fenÃtre. Ensuite, on crÃe une instance de la classe avant de "
-"lancer la boucle principale (<code>Gtk.main</code>)."
+"Supposons que l'utilisateur a cliquà sur le bouton <gui>Ouvrir</gui>, la "
+"ligne suivante rÃcupÃre le nom de fichier de l'image sÃlectionnÃe par "
+"l'utilisateur et indique à l'ÃlÃment graphique <code>GtkImage</code> de "
+"charger et d'afficher l'image choisie."
 
-#: C/image-viewer.js.page:176(p)
+#: C/image-viewer.vala.page:267(p) C/image-viewer.py.page:212(p)
+#: C/image-viewer.js.page:298(p)
 msgid ""
-"This code is modular and can be split into multiple files easily. This makes "
-"it cleaner and easier to read."
+"In the final line of this method, we destroy the <gui>Open</gui> dialog "
+"because we don't need it any more."
 msgstr ""
-"Ce programme est modulaire et peut Ãtre divisà facilement en plusieurs "
-"fichiers ce qui le rend plus propre et plus facile à lire."
+"La derniÃre ligne de cette mÃthode dÃtruit la boÃte de dialogue <gui>Open</"
+"gui> car nous n'en avons plus besoin."
 
-#: C/image-viewer.js.page:180(title) C/image-viewer.py.page:113(title)
-msgid "Signals"
-msgstr "Les signaux"
+#: C/image-viewer.vala.page:268(p)
+msgid "Destroying automatically hides the dialog."
+msgstr "La destruction masque automatiquement la boÃte de dialogue."
 
-#: C/image-viewer.js.page:181(p) C/image-viewer.py.page:114(p)
+#: C/image-viewer.vala.page:275(p) C/image-viewer.cpp.page:207(p)
+#: C/image-viewer.c.page:215(p) C/guitar-tuner.vala.page:248(p)
+#: C/guitar-tuner.c.page:250(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:"
+"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 ""
-"Les signaux sont un des concepts clà de la programmation Gtk. Chaque fois "
-"que quelque chose arrive à un objet, il Ãmet un signalÂ; par exemple, quand "
-"un bouton est cliquÃ, il renvoie le signal <code>clicked</code>. Si vous "
-"voulez que votre programme rÃagisse en consÃquence, il faut connecter une "
-"fonction (un ÂÂgestionnaire de signalÂÂ) Ã ce signal. Voici un exempleÂ:"
+"Ã ce stade, tout le programme est fonctionnel. Cliquez sur "
+"<guiseq><gui>Construire</gui><gui>Construire le projet</gui></guiseq> pour "
+"tout reconstruire et faites <guiseq><gui>ExÃcuter</gui><gui>ExÃcuter</gui></"
+"guiseq> pour lancer l'application."
 
-#: C/image-viewer.js.page:188(p) C/image-viewer.py.page:121(p)
+#: C/image-viewer.vala.page:277(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."
+"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 ""
-"Les deux derniÃres lignes crÃent un bouton <code>Gtk.Button</code> appelà "
-"<code>b</code> et connectent son signal <code>clicked</code> Ã la fonction "
-"<code>button_clicked</code> dÃfinie au-dessus. Chaque fois que ce bouton est "
-"cliquÃ, le code de la fonction <code>button_clicked</code> est exÃcutÃ. Il "
-"affiche juste un message dans cet exemple."
-
-#: C/image-viewer.js.page:189(p)
-msgid "The syntax for connecting any signal to a function is:"
-msgstr "Voici la syntaxe pour connecter n'importe quel signal à une fonctionÂ:"
+"Si ce n'est pas encore fait, sÃlectionnez l'application <file>src/image-"
+"viewer</file> dans la boÃte de dialogue qui s'affiche et cliquez sur "
+"<gui>ExÃcuter</gui>. Amusez-vous bienÂ!"
 
-#: C/image-viewer.js.page:192(p)
+#: C/image-viewer.vala.page:283(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>."
+"If you run into problems with the tutorial, compare your code with this "
+"<link href=\"image-viewer/image-viewer.vala\">reference code</link>."
 msgstr ""
-"Vous pouvez consulter les dÃfinitions de signal pour n'importe quel objet "
-"dans la <link href=\"http://library.gnome.org/devel/gtk/stable/ch01.html";
-"\">RÃfÃrence des classes GTK</link>."
+"Si vous rencontrez des difficultÃs avec ce tutoriel, comparez votre "
+"programme à ce <link href=\"image-viewer/image-viewer.vala\">programme de "
+"rÃfÃrence</link>."
 
-#: C/image-viewer.js.page:195(p)
+#: C/image-viewer.vala.page:287(title) C/image-viewer.py.page:229(title)
+#: C/image-viewer.js.page:315(title) C/image-viewer.cpp.page:217(title)
+#: C/image-viewer.c.page:225(title) C/guitar-tuner.vala.page:264(title)
+#: C/guitar-tuner.py.page:231(title) C/guitar-tuner.cpp.page:268(title)
+#: C/guitar-tuner.c.page:260(title)
+msgid "Next steps"
+msgstr "Les Ãtapes suivantes"
+
+#: C/image-viewer.vala.page:288(p) C/image-viewer.py.page:230(p)
+#: C/image-viewer.js.page:316(p) C/image-viewer.cpp.page:218(p)
+#: C/image-viewer.c.page:226(p) C/guitar-tuner.vala.page:265(p)
+#: C/guitar-tuner.py.page:232(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 "Voici quelques idÃes sur la maniÃre d'Ãtendre ce simple exempleÂ:"
+
+#: C/image-viewer.vala.page:290(p)
 msgid ""
-"You can simplify the code by making use of an inline function definition:"
+"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 ""
-"Vous pouvez simplifier le code avec une dÃfinition de fonction en ligneÂ:"
-
-#: C/image-viewer.js.page:203(title)
-msgid "Closing the window"
-msgstr "Fermeture de la fenÃtre"
+"ParamÃtre en sorte que lorsque la fenÃtre s'ouvre, elle fasse une taille de "
+"dÃpart spÃcifiÃe, par exemple 200 X 200 pixels."
 
-#: C/image-viewer.js.page:204(p)
+#: C/image-viewer.vala.page:292(p) C/image-viewer.py.page:233(p)
+#: C/image-viewer.js.page:319(p) C/image-viewer.cpp.page:221(p)
+#: C/image-viewer.c.page:229(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)."
+"Have the user select a directory rather than a file, and provide controls to "
+"cycle through all of the images in a directory."
 msgstr ""
-"Quand vous fermez une fenÃtre Gtk, elle n'est pas vraiment fermÃe, mais "
-"masquÃe. Cela permet de la garder accessible (utile si on veut poser la "
-"question à l'utilisateur s'il veut oui ou non fermer la fenÃtre, par "
-"exemple)."
+"Fait que l'utilisateur puisse sÃlectionner un dossier plutÃt qu'un fichier "
+"et fournit les contrÃles pour naviguer parmi toutes les images d'un dossier."
 
-#: C/image-viewer.js.page:205(p)
+#: C/image-viewer.vala.page:295(p) C/image-viewer.py.page:236(p)
+#: C/image-viewer.js.page:322(p) C/image-viewer.cpp.page:224(p)
+#: C/image-viewer.c.page:232(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>:"
+"Apply random filters and effects to the image when it is loaded and allow "
+"the user to save the modified image."
 msgstr ""
-"Dans notre cas, on veut rÃellement fermer la fenÃtre. La faÃon la plus "
-"simple de le faire est de connecter le signal <code>hide</code> de l'objet "
-"fenÃtre ÂÂGtkWindowÂÂ Ã une fonction qui ferme l'application. Retournez au "
-"fichier <file>image-viewer.js</file> et ajoutez le code suivant à la mÃthode "
-"<code>_init</code> dans la ligne au-dessus de <code>this.window.show</code>Â:"
+"Applique au hasard des filtres et des effets à l'image quand elle est "
+"chargÃe et permet à l'utilisateur d'enregistrer l'image modifiÃe."
 
-#: 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.vala.page:296(p) C/image-viewer.py.page:237(p)
+#: C/image-viewer.js.page:323(p) C/image-viewer.cpp.page:225(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> fournit de "
+"puissantes possibilitÃs de manipulation d'image."
 
-#: C/image-viewer.js.page:207(p)
+#: C/image-viewer.vala.page:299(p) C/image-viewer.py.page:240(p)
+#: C/image-viewer.js.page:326(p) C/image-viewer.cpp.page:228(p)
+#: C/image-viewer.c.page:236(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."
+"Allow the user to load images from network shares, scanners, and other more "
+"complicated sources."
 msgstr ""
-"Ceci connecte le signal <code>hide</code> de la fenÃtre à la fonction "
-"<code>main_quit</code> de Gtk, qui met fin à l'exÃcution de la boucle "
-"principale de Gtk. Lorsque cette boucle s'arrÃte, la fonction <code>Gtk."
-"main</code> est quittÃe. Notre programme aurait continuà d'exÃcuter "
-"n'importe quel code Ãcrit aprÃs la ligne <code>Gtk.main ();</code>, mais "
-"comme nous n'avons plus de code aprÃs cela, le programme s'arrÃte."
+"Permet à l'utilisateur de charger des images depuis des sites de partage, "
+"des scanners ou d'autres sources plus sophistiquÃes."
+
+#: C/image-viewer.vala.page:300(p) C/image-viewer.py.page:241(p)
+#: C/image-viewer.js.page:327(p) C/image-viewer.cpp.page:229(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 ""
+"Vous pouvez utiliser <link href=\"http://library.gnome.org/devel/gio/";
+"unstable/\">GIO</link> pour gÃrer des transferts de fichiers en ligne et des "
+"choses du mÃme type et <link href=\"http://library.gnome.org/devel/gnome-";
+"scan/unstable/\">GNOME Scan</link> pour gÃrer les documents scannÃs."
+
+#: 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 ""
+"Un peu plus qu'une simple application ÂÂHello worldÂÂ - Ãcrire un visionneur "
+"d'images en GTK."
+
+#: C/image-viewer.py.page:13(name) C/image-viewer.js.page:13(name)
+msgid "Jonh Wendell"
+msgstr "Jonh Wendell"
+
+#: C/image-viewer.py.page:14(email) C/image-viewer.js.page:14(email)
+msgid "jwendell gnome org"
+msgstr "jwendell gnome org"
+
+#: 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 ""
+"Dans ce tutoriel, nous allons Ãcrire une application GTK trÃs simple qui "
+"charge et affiche un fichier image. Vous allez apprendre commentÂ:"
+
+#: C/image-viewer.py.page:28(p)
+msgid "Write a basic GTK user interface in Python"
+msgstr "Ãcrire une interface graphique GTK en Python,"
+
+#: 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 ""
+"travailler avec des ÃvÃnements en connectant des signaux à des gestionnaires "
+"de signaux,"
+
+#: C/image-viewer.py.page:30(p) C/image-viewer.js.page:30(p)
+msgid "Lay out GTK user interfaces using containers"
+msgstr "mettre en forme des interfaces utilisateur GTK avec des conteneurs,"
+
+#: C/image-viewer.py.page:31(p) C/image-viewer.js.page:31(p)
+msgid "Load and display image files"
+msgstr "charger et afficher des fichiers image."
+
+#: C/image-viewer.py.page:36(p)
+msgid "Basic knowledge of the python programming language"
+msgstr "des connaissances de base du langage de programmation python."
+
+#: C/image-viewer.py.page:50(p)
+msgid ""
+"Choose <gui>PyGTK (automake)</gui> from the <gui>Python</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 ""
+"SÃlectionnez <gui>PyGTK (automake)</gui> dans l'onglet <gui>Python</gui>, "
+"cliquez sur <gui>Continuer</gui> et saisissez vos informations sur les pages "
+"suivantes. Mettez <file>image-viewer</file> comme nom de projet et de "
+"rÃpertoire."
+
+#: 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 ""
+"Assurez-vous d'avoir dÃsactivà <gui>Utiliser GtkBuilder pour l'interface "
+"utilisateur</gui> car nous allons crÃer l'interface utilisateur manuellement "
+"dans cet exemple. Consultez <link xref=\"guitar-tuner.py\">l'exemple Guitar-"
+"Tuner</link> pour un exemple d'utilisation du constructeur d'interfaces."
+
+#: 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 ""
+"Cliquez sur <gui>Appliquer</gui> et le projet est crÃÃ. Ouvrez <file>src/"
+"image_viewer.py</file> depuis l'onglet <gui>Projet</gui> ou l'onglet "
+"<gui>Fichiers</gui>. Il contient quelques lignes de code trÃs basique."
+
+#: C/image-viewer.py.page:64(title) C/image-viewer.js.page:125(title)
+msgid "A first Gtk application"
+msgstr "Une premiÃre application Gtk"
+
+#: C/image-viewer.py.page:65(p)
+msgid "Let's see what a very basic Gtk application looks like in Python:"
+msgstr "Voyons à quoi ressemble une application Gtk basique Ãcrite en PythonÂ:"
+
+#: 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 "Regardons ce qui se passeÂ:"
+
+#: 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 premiÃre ligne importe l'espace de nom Gtk (c.-Ã-d. cela inclut la "
+"bibliothÃque Gtk). Les bibliothÃques sont fournies par ÂÂGObject "
+"Introspection (gi) qui fournit les liens de langage à beaucoup de "
+"bibliothÃques GNOME."
+
+#: 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 ""
+"La mÃthode <code>__init__</code> de la classe <code>GUI</code> crÃe une "
+"fenÃtre <code>Gtk.Window</code> (vide), dÃfinit son titre, puis connecte un "
+"signal pour quitter l'application quand la fenÃtre est fermÃe. C'est "
+"globalement trÃs simple. Nous en verrons un peu plus sur les signaux plus "
+"tard."
+
+#: 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 ""
+"Ensuite est dÃfinie la mÃthode <code>destroy</code> qui quitte juste "
+"l'application. Elle est appelÃe par le signal connectà ci-dessus."
+
+#: C/image-viewer.py.page:104(p)
+msgid "The rest of the file does initialisation for Gtk and displays the GUI."
+msgstr ""
+"Le reste du fichier effectue l'initialisation pour Gtk et affiche "
+"l'interface graphique."
+
+#: 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 ""
+"Ce programme est prÃt à Ãtre utilisÃ, donc essayez-le en utilisant le menu "
+"<guiseq><gui>ExÃcuter</gui><gui>ExÃcuter</gui></guiseq>. Cela devrait vous "
+"afficher une fenÃtre vide."
+
+#: C/image-viewer.py.page:113(title) C/image-viewer.js.page:180(title)
+msgid "Signals"
+msgstr "Les signaux"
+
+#: 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 ""
+"Les signaux sont un des concepts clà de la programmation Gtk. Chaque fois "
+"que quelque chose arrive à un objet, il Ãmet un signalÂ; par exemple, quand "
+"un bouton est cliquÃ, il renvoie le signal <code>clicked</code>. Si vous "
+"voulez que votre programme rÃagisse en consÃquence, il faut connecter une "
+"fonction (un ÂÂgestionnaire de signalÂÂ) Ã ce signal. Voici un exempleÂ:"
+
+#: 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 ""
+"Les deux derniÃres lignes crÃent un bouton <code>Gtk.Button</code> appelà "
+"<code>b</code> et connectent son signal <code>clicked</code> Ã la fonction "
+"<code>button_clicked</code> dÃfinie au-dessus. Chaque fois que ce bouton est "
+"cliquÃ, le code de la fonction <code>button_clicked</code> est exÃcutÃ. Il "
+"affiche juste un message dans cet exemple."
 
-#: C/image-viewer.js.page:211(title) C/image-viewer.py.page:125(title)
+#: C/image-viewer.py.page:125(title) C/image-viewer.js.page:211(title)
 msgid "Containers: Laying-out the user interface"
 msgstr "Les conteneursÂ: agencement de l'interface utilisateur"
 
-#: C/image-viewer.js.page:212(p) C/image-viewer.py.page:126(p)
+#: 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 "
@@ -2879,7 +3199,7 @@ msgstr ""
 "pouvez organiser l'agencement en mÃlangeant diffÃrents types de conteneurs, "
 "comme des boÃtes ou des grilles."
 
-#: C/image-viewer.js.page:213(p) C/image-viewer.py.page:127(p)
+#: 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 "
@@ -2902,7 +3222,7 @@ msgstr ""
 "horizontalement ou verticalement. On pourrait crÃer des agencements plus "
 "complexes en mettant plusieurs boÃtes dans une autre et ainsi de suite."
 
-#: C/image-viewer.js.page:215(p) C/image-viewer.py.page:129(p)
+#: 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 "
@@ -2913,32 +3233,32 @@ msgstr ""
 "utilisateur vraiment facile. Dans cet exemple simple, cependant, nous allons "
 "tout programmer à la main."
 
-#: C/image-viewer.js.page:217(p)
+#: 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 above the <code>this.window.show</"
-"code> line:"
+"the <code>__init__</code> method, immediately after the <code>window."
+"connect_after</code> line:"
 msgstr ""
 "Ajoutons la boÃte et les ÃlÃments graphiques à la fenÃtre. InsÃrez le code "
-"suivant dans la mÃthode <code>_init</code> immÃdiatement au-dessus de la "
-"ligne <code>this.window.show</code>Â:"
+"suivant dans la mÃthode <code>__init__</code>, juste aprÃs la ligne "
+"<code>window.connect_after</code>Â:"
 
-#: C/image-viewer.js.page:221(p)
+#: C/image-viewer.py.page:139(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."
+"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 premiÃre ligne crÃe une boÃte <code>Gtk.Box</code> appelÃe "
-"<code>main_box</code> et dÃfinit deux de ses propriÃtÃsÂ: "
-"l'<code>orientation</code> est fixÃe à verticale (donc les ÃlÃments "
-"graphiques sont disposÃs en colonne) et l'espacement <code>spacing</code> "
-"entre les ÃlÃments graphiques est fixà à 0 pixel. La ligne suivante ajoute "
-"cette nouvelle boÃte <code>Gtk.Box</code> Ã la fenÃtre."
+"La premiÃre ligne crÃe une <code>Gtk.Box</code> nommÃe <code>box</code> et "
+"les lignes suivantes dÃfinissent deux de ses propriÃtÃsÂ: "
+"l'<code>orientation</code> est verticale (donc les ÃlÃments graphiques sont "
+"disposÃs en colonne) et l'espacement entre les ÃlÃments graphiques est fixà "
+"Ã 5 pixels. La ligne suivante ajoute ensuite cette nouvelle <code>Gtk.Box</"
+"code> Ã la fenÃtre."
 
-#: C/image-viewer.js.page:222(p) C/image-viewer.py.page:140(p)
+#: 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> "
@@ -2949,44 +3269,48 @@ msgstr ""
 "changement (la boÃte <code>Gtk.Box</code> est un conteneur transparent et "
 "vous ne le voyez donc pas)."
 
-#: C/image-viewer.js.page:226(title) C/image-viewer.py.page:144(title)
+#: C/image-viewer.py.page:144(title) C/image-viewer.js.page:226(title)
 msgid "Packing: Adding widgets to the container"
 msgstr "PlacementÂ: ajout d'ÃlÃments graphiques au conteneur"
 
-#: C/image-viewer.js.page:227(p)
+#: 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>this.window.add (main_box)</code> line:"
+"directly below the <code>window.add (box)</code> line:"
 msgstr ""
-"Pour ajouter des ÃlÃments graphiques à la boÃte <code>Gtk.Box</code>, "
-"insÃrez le code suivant juste en dessous de la ligne <code>this.window.add "
-"(main_box)</code>Â:"
+"Pour ajouter d'autres ÃlÃments graphiques à la fenÃtre, insÃrez ce code "
+"juste dessous la ligne <code>window.add (box)</code>Â:"
 
-#: C/image-viewer.js.page:231(p)
+#: 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. 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> "
+"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 premiÃre ligne crÃe une nouvelle <code>Gtk.Image</code> appelÃe "
-"<code>image</code> qui servira à afficher un fichier image. Puis, l'ÃlÃment "
-"graphique image est ajoutà (<em>placÃ</em>) dans le conteneur "
-"<code>main_box</code> par la mÃthode <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> ."
+"La premiÃre ligne crÃe une nouvelle image <code>Gtk.Image</code> nommÃe "
+"<code>image</code> qui sera utilisÃe pour afficher un fichier image. Comme "
+"nous en avons besoin plus tard dans la fonction de gestion de signal, nous "
+"la dÃfinissons comme Ãtant un attribut de classe. Vous devez ajouter "
+"<code>image = 0</code> au dÃbut de la classe <code>GUI</code>. Puis, "
+"l'ÃlÃment graphique image est ajoutà (<em>placÃ</em>) dans le conteneur "
+"<code>box</code> Ã l'aide de la mÃthode <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.js.page:232(p)
+#: C/image-viewer.py.page:151(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>)."
+"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> prend 4 argumentsÂ: l'ÃlÃment graphique enfant "
 "(<code>child</code>) qui doit Ãtre ajoutà à la boÃte <code>Gtk.Box</code>Â; "
@@ -2997,7 +3321,7 @@ msgstr ""
 "(<code>padding</code>), en pixels, il doit y avoir entre l'ÃlÃment graphique "
 "et ses voisins à l'intÃrieur de la <code>Gtk.Box</code>."
 
-#: C/image-viewer.js.page:233(p) C/image-viewer.py.page:152(p)
+#: 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-"
@@ -3013,7 +3337,7 @@ msgstr ""
 "ÃlÃments graphiques devraient automatiquement prendre une taille raisonnable "
 "dans la plupart des cas."
 
-#: C/image-viewer.js.page:234(p) C/image-viewer.py.page:153(p)
+#: 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</"
@@ -3029,119 +3353,84 @@ msgstr ""
 "boÃte <code>Gtk.Box</code> qui du coup, masque tous ses enfants en mÃme "
 "temps."
 
-#: C/image-viewer.js.page:235(p) C/image-viewer.py.page:154(p)
+#: 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 ""
 "InsÃrez maintenant ces deux lignes en dessous des deux que vous venez "
 "d'ajouterÂ:"
 
-#: C/image-viewer.js.page:239(p)
+#: 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>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."
+"<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 ""
 "Ces lignes ressemblent aux deux premiÃres, mais cette fois elles crÃent un "
-"bouton <code>Gtk.Button</code> et l'ajoute à la <code>main_box</code>. Notez "
-"que nous paramÃtrons ici l'argument <code>expand</code> (le second) sur "
-"<code>false</code>, alors qu'il Ãtait sur <code>true</code> pour l'image "
+"bouton <code>Gtk.Button</code> et l'ajoute à la <code>box</code>. Notez que "
+"nous paramÃtrons ici l'argument <code>expand</code> (le second) sur "
+"<code>False</code>, alors qu'il Ãtait sur <code>True</code> pour l'image "
 "<code>Gtk.Image</code>. Ceci va conduire à ce que l'image prenne tout "
 "l'espace disponible et le bouton seulement l'espace nÃcessaire. Lors d'un "
 "redimensionnement de la fenÃtre, la taille du bouton reste identique, alors "
 "que la taille de l'image va augmenter pour occuper le reste de la fenÃtre."
 
-#: C/image-viewer.js.page:240(p)
-msgid ""
-"Finally, we must change the <code>this.window.show ();</code> line to read:"
-msgstr ""
-"Finalement, nous devons modifier la ligne <code>this.window.show ();</code> "
-"pour devenirÂ:"
-
-#: C/image-viewer.js.page:241(code)
-#, no-wrap
-msgid "this.window.show_all ();"
-msgstr "this.window.show_all ();"
-
-#: 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 ""
-"Ceci affiche l'enfant de la fenÃtre Gtk et tous ses enfants, enfants de ses "
-"enfants et ainsi de suite (souvenez-vous que les ÃlÃments graphiques Gtk "
-"sont tous masquÃs par dÃfaut)."
-
-#: C/image-viewer.js.page:246(title) C/image-viewer.py.page:163(title)
+#: 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 ""
 "Chargement de l'imageÂ: connexion au signal <code>clicked</code> du bouton"
 
-#: C/image-viewer.js.page:247(p)
+#: C/image-viewer.py.page:164(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."
+"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 ""
-"Quand l'utilisateur clique sur le bouton <gui>Open a picture</gui>, une "
-"boÃte de dialogue devrait apparaÃtre pour permettre le choix d'une image. "
-"Une fois ce choix effectuÃ, la photo est chargÃe et affichÃe dans l'ÃlÃment "
+"Quand l'utilisateur clique sur le bouton <gui>Open a picture...</gui>, une "
+"boÃte de dialogue s'affiche pour lui permettre de choisir une image. Une "
+"fois ce choix effectuÃ, la photo est chargÃe et affichÃe dans l'ÃlÃment "
 "graphique image."
 
-#: C/image-viewer.js.page:248(p)
+#: 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>_openClicked</code>. Put "
-"this code immediately after the <code>var open_button = new Gtk.Button</"
-"code> line where the button was created:"
+"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 ""
 "Connectez d'abord le signal <code>clicked</code> du bouton à une fonction de "
-"gestion de signal que vous appelez <code>_openClicked</code>. Mettez ce code "
-"immÃdiatement aprÃs la ligne <code>var open_button = new Gtk.Button</code> "
-"oà le bouton a Ãtà crÃÃÂ:"
+"gestion de signal que vous appelez <code>on_open_clicked</code>. Mettez ce "
+"code immÃdiatement aprÃs la ligne <code>button = Gtk.Button()</code> oà le "
+"bouton a Ãtà crÃÃÂ:"
 
-#: C/image-viewer.js.page:251(p)
+#: C/image-viewer.py.page:169(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:"
+"This will connect the <code>clicked</code> signal to <code>on_open_clicked</"
+"code> method that we will define below."
 msgstr ""
-"Ici, nous utilisons l'assistant JavaScript <em>Lang</em>. Il nous permet de "
-"connecter une <em>class method</em> au signal plutÃt qu'Ã une simple "
-"fonction (sans classe) que nous avions utilisÃe avant pour le signal de "
-"masquage <code>hide</code>. Ne vous prÃoccupez pas de cela pour le moment, "
-"ce n'est qu'un dÃtail technique. Pour que cela fonctionne, vous devez aussi "
-"ajouter cette ligne en haut du fichierÂ:"
-
-#: C/image-viewer.js.page:252(code)
-#, no-wrap
-msgid "const Lang = imports.lang;"
-msgstr "const Lang = imports.lang;"
+"Cela connecte le signal <code>clicked</code> Ã la mÃthode "
+"<code>on_open_clicked</code> que nous dÃfinirons ci-dessous."
 
-#: C/image-viewer.js.page:256(title) C/image-viewer.py.page:174(title)
+#: C/image-viewer.py.page:174(title) C/image-viewer.js.page:256(title)
 msgid "Loading the image: Writing the signal's callback"
 msgstr "Chargement de l'imageÂ: Ãcriture de la fonction de rappel du signal"
 
-#: C/image-viewer.js.page:257(p)
+#: C/image-viewer.py.page:175(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):"
+"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 ""
-"Nous pouvons maintenant crÃer la mÃthode <code>_openClicked()</code>. "
-"InsÃrez ce qui suit dans le bloc de code <code>ImageViewer.prototype</code>, "
-"aprÃs la mÃthode <code>_init</code> (et sans oublier la virgule)Â:"
+"On peut maintenant crÃer la mÃthode <code>on_open_clicked</code>. InsÃrez ce "
+"qui suit dans le bloc de code de la classe <code>GUI</code>, aprÃs la "
+"mÃthode <code>__init__</code>Â:"
 
-#: C/image-viewer.js.page:277(p) C/image-viewer.py.page:191(p)
+#: 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 "
@@ -3150,29 +3439,24 @@ msgstr ""
 "C'est un peu plus compliquà que tout ce que nous avons essayà jusqu'à "
 "prÃsent, donc dÃcortiquons cette partie Ãtape par ÃtapeÂ:"
 
-#: C/image-viewer.js.page:280(p)
+#: C/image-viewer.py.page:194(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 "
+"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; <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."
+"save a file; and <code>transient_for</code>, which sets the parent window of "
+"the dialog."
 msgstr ""
-"La ligne commenÃant par <code>var chooser</code> crÃe une boÃte de dialogue "
-"<gui>Ouvrir</gui> qui permet à l'utilisateur de choisir des fichiers. Nous "
-"paramÃtrons quatre propriÃtÃsÂ: le titre de la boÃte de dialogueÂ; la "
+"La ligne commenÃant par <code>dialog</code> crÃe une boÃte de dialogue "
+"<gui>Open</gui> qui permet à l'utilisateur de choisir des fichiers. Nous "
+"paramÃtrons trois propriÃtÃsÂ: le titre de la boÃte de dialogueÂ; la "
 "fonction (le type) de la boÃte de dialogue (c'est une boÃte de dialogue "
 "ÂÂOPENÂÂ, mais on aurait pu utiliser (<code>SAVE</code>) (enregistrer) si "
-"notre intention avait Ãtà d'enregistrer un fichier)Â; <code>transient_for</"
-"code>, qui dÃfinit la fenÃtre parent de la boÃte de dialogueÂ; et "
-"<code>modal</code> qui, s'il est fixà à <code>true</code> empÃche "
-"l'utilisateur de cliquer sur un autre emplacement de l'application jusqu'Ã "
-"ce que la boÃte de dialogue soit fermÃe."
+"notre intention avait Ãtà d'enregistrer un fichier) et <code>transient_for</"
+"code>, qui dÃfinit la fenÃtre parent de la boÃte de dialogue."
 
-#: C/image-viewer.js.page:283(p) C/image-viewer.py.page:197(p)
+#: 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 "
@@ -3185,7 +3469,7 @@ msgstr ""
 "retournÃe lorsque le bouton est cliquÃÂ: 0 pour <gui>Annuler</gui> et 1 pour "
 "<gui>Ouvrir</gui>."
 
-#: C/image-viewer.js.page:284(p) C/image-viewer.py.page:198(p)
+#: C/image-viewer.py.page:198(p) C/image-viewer.js.page:284(p)
 #: C/image-viewer.cpp.page:182(p) C/image-viewer.c.page:196(p)
 msgid ""
 "Notice that we are using <em>stock</em> button names from Gtk, instead of "
@@ -3198,7 +3482,7 @@ msgstr ""
 "d'utiliser les noms de la collection est que les Ãtiquettes des boutons "
 "seront dÃjà traduites dans la langue de l'utilisateur."
 
-#: C/image-viewer.js.page:287(p) C/image-viewer.py.page:201(p)
+#: 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 "
@@ -3210,7 +3494,7 @@ msgstr ""
 "<key>EntrÃe</key>. Ici, nous utilisons le bouton <gui>Open</gui> (qui a la "
 "valeur 1)."
 
-#: C/image-viewer.js.page:290(p) C/image-viewer.py.page:204(p)
+#: 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 "
@@ -3225,21 +3509,21 @@ msgstr ""
 "la plupart des formats d'image comme PNG ou JPEG) au filtre. Enfin, nous "
 "appliquons ce filtre à la boÃte de dialogue <gui>Open</gui>."
 
-#: C/image-viewer.js.page:293(p)
+#: C/image-viewer.py.page:207(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."
+"<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>chooser.run</code> affiche la boÃte de dialogue <gui>Open</gui>. La "
+"<code>dialog.run</code> affiche la boÃte de dialogue <gui>Open</gui>. La "
 "boÃte de dialogue attend que l'utilisateur choisisse une imageÂ; quand c'est "
-"fait, <code>chooser.run</code> retourne la valeur <output>1</output> (il "
+"fait, <code>dialog.run</code> retourne la valeur <output>1</output> (il "
 "retourne la valeur <output>0</output> si l'utilisateur clique sur "
 "<gui>Annuler</gui>). L'instruction <code>if</code> teste cette rÃponse."
 
-#: C/image-viewer.js.page:295(p) C/image-viewer.py.page:209(p)
+#: 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 "
@@ -3251,249 +3535,439 @@ msgstr ""
 "code> au nom de fichier image sÃlectionnÃ. <code>Gtk.Image</code> charge "
 "alors l'image choisie et l'affiche."
 
-#: C/image-viewer.js.page:298(p) C/image-viewer.py.page:212(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 ""
-"La derniÃre ligne de cette mÃthode dÃtruit la boÃte de dialogue <gui>Open</"
-"gui> car nous n'en avons plus besoin."
-
-#: C/image-viewer.js.page:306(p)
+#: 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 JavaScript and Gtk) in not much time at all!"
+"of Python and Gtk) in not much time at all!"
 msgstr ""
 "Tout le programme nÃcessaire est maintenant en place, donc essayez de "
 "l'exÃcuter. Cela devrait fonctionnerÂ; un visionneur d'images totalement "
-"fonctionnel (et une visite Ãclair de JavaScript et de Gtk) en trÃs peu de "
-"tempsÂ!"
+"fonctionnel (et une visite Ãclair de Python et de Gtk) en trÃs peu de tempsÂ!"
 
-#: C/image-viewer.js.page:311(p)
+#: 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.js\">reference code</link>."
+"<link href=\"image-viewer/image-viewer.py\">reference code</link>."
 msgstr ""
 "Si vous rencontrez des difficultÃs avec ce tutoriel, comparez votre "
-"programme à ce <link href=\"image-viewer/image-viewer.js\">programme de "
+"programme à ce <link href=\"image-viewer/image-viewer.py\">programme de "
 "rÃfÃrence</link>."
 
-#: C/image-viewer.js.page:315(title) C/image-viewer.py.page:229(title)
-#: C/image-viewer.cpp.page:217(title) C/image-viewer.c.page:225(title)
-#: C/guitar-tuner.vala.page:254(title) C/guitar-tuner.py.page:231(title)
-#: C/guitar-tuner.cpp.page:268(title) C/guitar-tuner.c.page:260(title)
-msgid "Next steps"
-msgstr "Les Ãtapes suivantes"
-
-#: C/image-viewer.js.page:316(p) C/image-viewer.py.page:230(p)
-#: C/image-viewer.cpp.page:218(p) C/image-viewer.c.page:226(p)
-#: C/guitar-tuner.vala.page:255(p) C/guitar-tuner.py.page:232(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 "Voici quelques idÃes sur la maniÃre d'Ãtendre ce simple exempleÂ:"
-
-#: C/image-viewer.js.page:319(p) C/image-viewer.py.page:233(p)
-#: C/image-viewer.cpp.page:221(p) C/image-viewer.c.page:229(p)
+#: C/image-viewer.js.page:9(desc)
 msgid ""
-"Have the user select a directory rather than a file, and provide controls to "
-"cycle through all of the images in a directory."
+"A little bit more than a simple \"Hello world\" application - write an image "
+"viewer in GTK. Includes an introduction to the JavaScript language."
 msgstr ""
-"Fait que l'utilisateur puisse sÃlectionner un dossier plutÃt qu'un fichier "
-"et fournit les contrÃles pour naviguer parmi toutes les images du dossier."
+"Un peu plus qu'une simple application ÂÂHello worldÂÂ - programmer un "
+"visionneur d'images avec GTK. Inclut une introduction au langage JavaScript."
 
-#: C/image-viewer.js.page:322(p) C/image-viewer.py.page:236(p)
-#: C/image-viewer.cpp.page:224(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 ""
-"Applique au hasard des filtres et des effets à l'image quand elle est "
-"chargÃe et permet à l'utilisateur d'enregistrer l'image modifiÃe."
+#: C/image-viewer.js.page:28(p)
+msgid "Write a basic GTK user interface in JavaScript"
+msgstr "Ãcrire une interface utilisateur GTK de base en JavaScript,"
 
-#: C/image-viewer.js.page:323(p) C/image-viewer.py.page:237(p)
-#: C/image-viewer.cpp.page:225(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> fournit de "
-"puissantes possibilitÃs de manipulation d'image."
+#: C/image-viewer.js.page:36(p)
+msgid "An installed copy of the <em>gjs</em> interpreter"
+msgstr "une copie installÃe de l'interprÃteur <em>gjs</em>,"
 
-#: C/image-viewer.js.page:326(p) C/image-viewer.py.page:240(p)
-#: C/image-viewer.cpp.page:228(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 ""
-"Permet à l'utilisateur de charger des images depuis des sites de partage, "
-"des scanners ou d'autres sources plus sophistiquÃes."
+#: C/image-viewer.js.page:37(p)
+msgid "Basic knowledge of any object-orientated programming language"
+msgstr "des connaissances de base d'un langage de programmation objet."
 
-#: C/image-viewer.js.page:327(p) C/image-viewer.py.page:241(p)
-#: C/image-viewer.cpp.page:229(p) C/image-viewer.c.page:237(p)
+#: C/image-viewer.js.page:51(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."
+"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 ""
-"Vous pouvez utiliser <link href=\"http://library.gnome.org/devel/gio/";
-"unstable/\">GIO</link> pour gÃrer des transferts de fichiers en ligne et des "
-"choses du mÃme type et <link href=\"http://library.gnome.org/devel/gnome-";
-"scan/unstable/\">GNOME Scan</link> pour gÃrer les documents scannÃs."
+"SÃlectionnez <gui>JavaScript gÃnÃrique</gui> dans l'onglet <gui>JS</gui>, "
+"cliquez sur <gui>Continuer</gui> et saisissez vos informations sur les pages "
+"suivantes. Mettez <file>visionneur_image</file> comme nom de projet et de "
+"rÃpertoire."
 
-#: C/image-viewer.py.page:9(desc)
+#: C/image-viewer.js.page:54(p)
 msgid ""
-"A little bit more than a simple \"Hello world\" application - write an image "
-"viewer in GTK."
+"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 ""
-"Un peu plus qu'une simple application ÂÂHello worldÂÂ - Ãcrire un visionneur "
-"d'images en GTK."
+"Cliquez sur <gui>Appliquer</gui> et le projet est crÃÃ. Ouvrez <file>src/"
+"main.js</file> depuis l'onglet <gui>Projet</gui> ou l'onglet <gui>Fichiers</"
+"gui>. Il contient un exemple de programme trÃs basique."
 
-#: C/image-viewer.py.page:28(p)
-msgid "Write a basic GTK user interface in Python"
-msgstr "Ãcrire une interface graphique GTK en Python,"
+#: C/image-viewer.js.page:61(title)
+msgid "JavaScript basics: Hello World"
+msgstr "Les bases JavaScriptÂ: Hello World"
 
-#: C/image-viewer.py.page:36(p)
-msgid "Basic knowledge of the python programming language"
-msgstr "des connaissances de base du langage de programmation python."
+#: 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 ""
+"Avant de commencer à programmer le visionneur d'images, regardons de plus "
+"prÃs la faÃon dont JavaScript est utilisà dans GNOME. Bien sÃr, votre tout "
+"premier contact avec n'importe quel langage de programmation devrait Ãtre le "
+"ÂÂHello WorldÂÂ du fichier <file>main.js</file>Â:"
 
-#: C/image-viewer.py.page:50(p)
+# Bruno : with no space between print and (
+#: C/image-viewer.js.page:63(code)
+#, no-wrap
+msgid "print (\"Hello world!\");"
+msgstr "print(\"Hello world!\");"
+
+#: C/image-viewer.js.page:64(p)
 msgid ""
-"Choose <gui>PyGTK (automake)</gui> from the <gui>Python</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."
+"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 ""
-"SÃlectionnez <gui>PyGTK (automake)</gui> dans l'onglet <gui>Python</gui>, "
-"cliquez sur <gui>Continuer</gui> et saisissez vos informations sur les pages "
-"suivantes. Mettez <file>image-viewer</file> comme nom de projet et de "
-"rÃpertoire."
+"Ceci doit vous sembler trÃs normal si vous Ãtes familier avec la plupart des "
+"langages de programmation. La fonction <code>print</code> est appelÃe avec "
+"l'argument <code>\"Hello world!\"</code> qui est imprimà à l'Ãcran. Notez "
+"que chaque ligne du programme se termine par un point-virgule."
 
-#: C/image-viewer.py.page:53(p)
+#: C/image-viewer.js.page:68(title)
+msgid "Classes in JavaScript"
+msgstr "Les classes en JavaScript"
+
+#: C/image-viewer.js.page:69(p)
+msgid "This is the standard way to define a class in JavaScript:"
+msgstr "Voici la mÃthode standard pour dÃfinir une classe en JavaScriptÂ:"
+
+#: C/image-viewer.js.page:92(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>."
+"This defines a class called <code>MyClass</code>. Let's go through each part "
+"of the class definition:"
 msgstr ""
-"Assurez-vous d'avoir dÃsactivà <gui>Utiliser GtkBuilder pour l'interface "
-"utilisateur</gui> car nous allons crÃer l'interface utilisateur manuellement "
-"dans cet exemple. Consultez <link xref=\"guitar-tuner.py\">l'exemple Guitar-"
-"Tuner</link> pour un exemple d'utilisation du constructeur d'interfaces."
+"Ceci dÃfinit une classe appelÃe <code>MyClass</code>. Passons en revue "
+"chaque partie de la dÃfinition d'une classeÂ:"
 
-#: C/image-viewer.py.page:58(p)
+#: C/image-viewer.js.page:95(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."
+"<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 ""
-"Cliquez sur <gui>Appliquer</gui> et le projet est crÃÃ. Ouvrez <file>src/"
-"image_viewer.py</file> depuis l'onglet <gui>Projet</gui> ou l'onglet "
-"<gui>Fichiers</gui>. Il contient quelques lignes de code trÃs basique."
+"<code>function MyClass</code> est le constructeur de la classe â son nom "
+"doit correspondre au nom de la classe. Vous avez accÃs à n'importe quel "
+"membre de la classe avec l'objet <code>this</code>Â; ici, le gÃnÃrateur "
+"appelle la mÃthode <code>_init</code> de la classe."
 
-#: C/image-viewer.py.page:65(p)
-msgid "Let's see what a very basic Gtk application looks like in Python:"
-msgstr "Voyons à quoi ressemble une application Gtk basique Ãcrite en PythonÂ:"
+#: 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 ""
+"Le bloc <code>MyClass.prototype</code> est l'endroit oà vous dÃfinissez la "
+"<em>structure</em> de la classe. Chaque classe est constituÃe de mÃthodes "
+"(les fonctions) et de champs (les variables)Â; il y a trois mÃthodes et deux "
+"champs dans cet exemple."
 
-#: C/image-viewer.py.page:95(p)
+#: C/image-viewer.js.page:101(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."
+"The first method defined here is called <code>_init</code>, and we specify "
+"that it is a function with no arguments:"
 msgstr ""
-"La mÃthode <code>__init__</code> de la classe <code>GUI</code> crÃe une "
-"fenÃtre <code>Gtk.Window</code> (vide), dÃfinit son titre, puis connecte un "
-"signal pour quitter l'application quand la fenÃtre est fermÃe. C'est "
-"globalement trÃs simple. Nous en verrons un peu plus sur les signaux plus "
-"tard."
+"La premiÃre mÃthode dÃfinie ici est appelÃe <code>_init</code> et nous "
+"spÃcifions que c'est une fonction sans argumentÂ:"
 
-#: C/image-viewer.py.page:100(p)
+#: C/image-viewer.js.page:102(code)
+#, no-wrap
+msgid "_init: function ()"
+msgstr "_init: function ()"
+
+#: C/image-viewer.js.page:103(p)
 msgid ""
-"Next, <code>destroy</code> is defined which just quits the application. It "
-"is called by the <code>destroy</code> signal connected above."
+"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 ""
-"Ensuite est dÃfinie la mÃthode <code>destroy</code> qui quitte juste "
-"l'application. Elle est appelÃe par le signal connectà ci-dessus."
+"Nous Ãcrivons la fonction à l'intÃrieur d'accolades. Deux champs sont "
+"dÃfinis ici, <code>propertyA</code> et <code>propertyB</code>. Le premier "
+"est dÃfini comme une chaÃne et le second comme un nombre entier (10). La "
+"fonction ne retourne aucune valeur."
 
-#: C/image-viewer.py.page:104(p)
-msgid "The rest of the file does initialisation for Gtk and displays the GUI."
+#: 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 ""
-"Le reste du fichier effectue l'initialisation pour Gtk et affiche "
-"l'interface graphique."
+"La mÃthode suivante est appelÃe <code>aMethod</code> et possÃde deux "
+"arguments qu'elle imprime quand vous l'appelez. La derniÃre mÃthode est "
+"<code>dumpProperties</code> et elle imprime les champs <code>propertyA</"
+"code> et <code>propertyB</code>."
 
-#: C/image-viewer.py.page:108(p)
+#: C/image-viewer.js.page:109(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."
+"Note how the class definition (prototype) is arranged; each function "
+"definition is separated by a comma."
 msgstr ""
-"Ce programme est prÃt à Ãtre utilisÃ, donc essayez-le en utilisant le menu "
-"<guiseq><gui>ExÃcuter</gui><gui>ExÃcuter</gui></guiseq>. Cela devrait vous "
-"afficher une fenÃtre vide."
+"Notez comment la dÃfinition de la classe (prototype) est structurÃeÂ; chaque "
+"dÃfinition de fonction est sÃparÃe par une virgule."
 
-#: C/image-viewer.py.page:131(p)
+#: C/image-viewer.js.page:113(p)
+msgid "Now that MyClass has been defined, we can play with it:"
+msgstr "Maintenant que MyClass a Ãtà dÃfini, nous pouvons jouer avecÂ:"
+
+#: 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 ""
+"Ce code crÃe une nouvelle version de la classe appelÃe <code>o</code>, "
+"appelle <code>aMethod</code>, modifie <code>propertyA</code> en une chaÃne "
+"diffÃrente et ensuite appelle <code>dumpProperties</code> (qui affiche les "
+"champs)."
+
+#: 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 ""
+"Enregistrez le code dans le fichier <file>main.js</file> et ensuite lancez-"
+"le avec <guiseq><gui>ExÃcuter</gui><gui>ExÃcuter</gui></guiseq> Ã partir du "
+"menu ou de la barre d'outils."
+
+#: C/image-viewer.js.page:126(p)
+msgid "Let's see what a very basic Gtk application looks like in JavaScript:"
+msgstr ""
+"Voyons à quoi ressemble une application Gtk trÃs basique Ãcrite en "
+"JavaScriptÂ:"
+
+#: 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> initialise la bibliothÃque GtkÂ; cette instruction est "
+"obligatoire pour tous les programmes Gtk."
+
+#: 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 ligne suivante crÃe la fenÃtre principale en crÃant un nouvel objet "
+"<code>Gtk.Window</code>. Vous pouvez transmettre plusieurs propriÃtÃs au "
+"constructeur de la fenÃtre avec la syntaxe <code>{propriÃtÃ: valeur, "
+"propriÃtÃ: valeur, ...}</code>. Dans ce cas, le titre de la fenÃtre est "
+"dÃfini."
+
+#: 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 ligne suivante affiche explicitement la fenÃtre. Dans Gtk, chaque ÃlÃment "
+"graphique est masquà par dÃfaut."
+
+#: 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 ""
+"Enfin, <code>Gtk.main</code> lance la boucle principale â en d'autres "
+"termes, il exÃcute le programme. La boucle principale Ãcoute les ÃvÃnements "
+"(signaux) en provenance de l'interface utilisateur et appelle un "
+"gestionnaire de signal qui fera quelque chose d'utile. Nous en apprendrons "
+"davantage sur les signaux bientÃt."
+
+#: 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 ""
+"Enregistrez le code dans le fichier <file>main.js</file> et exÃcutez-le. "
+"Notez que l'application ne quitte pas quand vous fermez la fenÃtre. C'est "
+"parce que nous n'avons pas encore dÃfini de gestionnaire de signal qui prend "
+"en charge le signal <code>destroy</code> de fermeture. Nous le ferons "
+"prochainement, mais en attendant, pressez seulement <keyseq><key>Ctrl</"
+"key><key>C</key></keyseq> dans la fenÃtre du terminal pour quitter le "
+"programme."
+
+#: C/image-viewer.js.page:155(title)
+msgid "Adding classes"
+msgstr "Ajout de classes"
+
+#: 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 bonne mÃthode de programmation avec Gtk est l'utilisation de classes. "
+"RÃcrivons le bout de programme que l'on vient d'Ãcrire en utilisant des "
+"classesÂ:"
+
+#. 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 ""
+"Notez que le programme reste le mÃmeÂ; on a juste dÃplacà le code de "
+"crÃation de la fenÃtre dans notre propre classe <code>ImageViewer</code>. Le "
+"constructeur de la classe appelle la mÃthode <code>_init</code> qui crÃe et "
+"affiche la fenÃtre. Ensuite, on crÃe une instance de la classe avant de "
+"lancer la boucle principale (<code>Gtk.main</code>)."
+
+#: 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 ""
+"Ce programme est modulaire et peut Ãtre divisà facilement en plusieurs "
+"fichiers ce qui le rend plus propre et plus facile à lire."
+
+#: C/image-viewer.js.page:189(p)
+msgid "The syntax for connecting any signal to a function is:"
+msgstr "Voici la syntaxe pour connecter n'importe quel signal à une fonctionÂ:"
+
+#: 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 ""
+"Vous pouvez consulter les dÃfinitions de signal pour n'importe quel objet "
+"dans la <link href=\"http://library.gnome.org/devel/gtk/stable/ch01.html";
+"\">RÃfÃrence des classes GTK</link>."
+
+#: C/image-viewer.js.page:195(p)
+msgid ""
+"You can simplify the code by making use of an inline function definition:"
+msgstr ""
+"Vous pouvez simplifier le code avec une dÃfinition de fonction en ligneÂ:"
+
+#: C/image-viewer.js.page:203(title)
+msgid "Closing the window"
+msgstr "Fermeture de la fenÃtre"
+
+#: 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 ""
+"Quand vous fermez une fenÃtre Gtk, elle n'est pas vraiment fermÃe, mais "
+"masquÃe. Cela permet de la garder accessible (utile si on veut poser la "
+"question à l'utilisateur s'il veut oui ou non fermer la fenÃtre, par "
+"exemple)."
+
+#: 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 ""
+"Dans notre cas, on veut rÃellement fermer la fenÃtre. La faÃon la plus "
+"simple de le faire est de connecter le signal <code>hide</code> de l'objet "
+"fenÃtre ÂÂGtkWindowÂÂ Ã une fonction qui ferme l'application. Retournez au "
+"fichier <file>image-viewer.js</file> et ajoutez le code suivant à la mÃthode "
+"<code>_init</code> dans la ligne au-dessus de <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 ""
+"Ceci connecte le signal <code>hide</code> de la fenÃtre à la fonction "
+"<code>main_quit</code> de Gtk, qui met fin à l'exÃcution de la boucle "
+"principale de Gtk. Lorsque cette boucle s'arrÃte, la fonction <code>Gtk."
+"main</code> est quittÃe. Notre programme aurait continuà d'exÃcuter "
+"n'importe quel code Ãcrit aprÃs la ligne <code>Gtk.main ();</code>, mais "
+"comme nous n'avons plus de code aprÃs cela, le programme s'arrÃte."
+
+#: 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 after the <code>window."
-"connect_after</code> line:"
+"the <code>_init</code> method, immediately above the <code>this.window.show</"
+"code> line:"
 msgstr ""
 "Ajoutons la boÃte et les ÃlÃments graphiques à la fenÃtre. InsÃrez le code "
-"suivant dans la mÃthode <code>__init__</code>, juste aprÃs la ligne "
-"<code>window.connect_after</code>Â:"
+"suivant dans la mÃthode <code>_init</code> immÃdiatement au-dessus de la "
+"ligne <code>this.window.show</code>Â:"
 
-#: C/image-viewer.py.page:139(p)
+#: C/image-viewer.js.page:221(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."
+"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 premiÃre ligne crÃe une <code>Gtk.Box</code> nommÃe <code>box</code> et "
-"les lignes suivantes dÃfinissent deux de ses propriÃtÃsÂ: "
-"l'<code>orientation</code> est verticale (donc les ÃlÃments graphiques sont "
-"disposÃs en colonne) et l'espacement entre les ÃlÃments graphiques est fixà "
-"Ã 5 pixels. La ligne suivante ajoute ensuite cette nouvelle <code>Gtk.Box</"
-"code> Ã la fenÃtre."
+"La premiÃre ligne crÃe une boÃte <code>Gtk.Box</code> appelÃe "
+"<code>main_box</code> et dÃfinit deux de ses propriÃtÃsÂ: "
+"l'<code>orientation</code> est fixÃe à verticale (donc les ÃlÃments "
+"graphiques sont disposÃs en colonne) et l'espacement <code>spacing</code> "
+"entre les ÃlÃments graphiques est fixà à 0 pixel. La ligne suivante ajoute "
+"cette nouvelle boÃte <code>Gtk.Box</code> Ã la fenÃtre."
 
-#: C/image-viewer.py.page:145(p)
+#: 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>window.add (box)</code> line:"
+"directly below the <code>this.window.add (main_box)</code> line:"
 msgstr ""
-"Pour ajouter d'autres ÃlÃments graphiques à la fenÃtre, insÃrez ce code "
-"juste dessous la ligne <code>window.add (box)</code>Â:"
+"Pour ajouter des ÃlÃments graphiques à la boÃte <code>Gtk.Box</code>, "
+"insÃrez le code suivant juste en dessous de la ligne <code>this.window.add "
+"(main_box)</code>Â:"
 
-#: C/image-viewer.py.page:149(p)
+#: 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. 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> "
+"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 premiÃre ligne crÃe une nouvelle image <code>Gtk.Image</code> nommÃe "
-"<code>image</code> qui sera utilisÃe pour afficher un fichier image. Comme "
-"nous en avons besoin plus tard dans la fonction de gestion de signal, nous "
-"la dÃfinissons comme Ãtant un attribut de classe. Vous devez ajouter "
-"<code>image = 0</code> au dÃbut de la classe <code>GUI</code>. Puis, "
-"l'ÃlÃment graphique image est ajoutà (<em>placÃ</em>) dans le conteneur "
-"<code>box</code> Ã l'aide de la mÃthode <link href=\"http://library.gnome.";
-"org/devel/gtk/stable/GtkBox.html#gtk-box-pack-start\"><code>pack_start</"
-"code></link> de GtkBox."
+"La premiÃre ligne crÃe une nouvelle <code>Gtk.Image</code> appelÃe "
+"<code>image</code> qui servira à afficher un fichier image. Puis, l'ÃlÃment "
+"graphique image est ajoutà (<em>placÃ</em>) dans le conteneur "
+"<code>main_box</code> par la mÃthode <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.py.page:151(p)
+#: C/image-viewer.js.page:232(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>)."
+"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> prend 4 argumentsÂ: l'ÃlÃment graphique enfant "
 "(<code>child</code>) qui doit Ãtre ajoutà à la boÃte <code>Gtk.Box</code>Â; "
@@ -3504,115 +3978,156 @@ msgstr ""
 "(<code>padding</code>), en pixels, il doit y avoir entre l'ÃlÃment graphique "
 "et ses voisins à l'intÃrieur de la <code>Gtk.Box</code>."
 
-#: C/image-viewer.py.page:159(p)
+#: 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>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."
+"<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 ""
 "Ces lignes ressemblent aux deux premiÃres, mais cette fois elles crÃent un "
-"bouton <code>Gtk.Button</code> et l'ajoute à la <code>box</code>. Notez que "
-"nous paramÃtrons ici l'argument <code>expand</code> (le second) sur "
-"<code>False</code>, alors qu'il Ãtait sur <code>True</code> pour l'image "
+"bouton <code>Gtk.Button</code> et l'ajoute à la <code>main_box</code>. Notez "
+"que nous paramÃtrons ici l'argument <code>expand</code> (le second) sur "
+"<code>false</code>, alors qu'il Ãtait sur <code>true</code> pour l'image "
 "<code>Gtk.Image</code>. Ceci va conduire à ce que l'image prenne tout "
 "l'espace disponible et le bouton seulement l'espace nÃcessaire. Lors d'un "
 "redimensionnement de la fenÃtre, la taille du bouton reste identique, alors "
 "que la taille de l'image va augmenter pour occuper le reste de la fenÃtre."
 
-#: C/image-viewer.py.page:164(p)
+#: C/image-viewer.js.page:240(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."
+"Finally, we must change the <code>this.window.show ();</code> line to read:"
 msgstr ""
-"Quand l'utilisateur clique sur le bouton <gui>Open a picture...</gui>, une "
-"boÃte de dialogue s'affiche pour lui permettre de choisir une image. Une "
-"fois ce choix effectuÃ, la photo est chargÃe et affichÃe dans l'ÃlÃment "
+"Finalement, nous devons modifier la ligne <code>this.window.show ();</code> "
+"pour devenirÂ:"
+
+#: C/image-viewer.js.page:241(code)
+#, no-wrap
+msgid "this.window.show_all ();"
+msgstr "this.window.show_all ();"
+
+#: 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 ""
+"Ceci affiche l'enfant de la fenÃtre Gtk et tous ses enfants, enfants de ses "
+"enfants et ainsi de suite (souvenez-vous que les ÃlÃments graphiques Gtk "
+"sont tous masquÃs par dÃfaut)."
+
+#: 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 ""
+"Quand l'utilisateur clique sur le bouton <gui>Open a picture</gui>, une "
+"boÃte de dialogue devrait apparaÃtre pour permettre le choix d'une image. "
+"Une fois ce choix effectuÃ, la photo est chargÃe et affichÃe dans l'ÃlÃment "
 "graphique image."
 
-#: C/image-viewer.py.page:165(p)
+#: 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>on_open_clicked</code>. "
-"Put this code immediately after the <code>button = Gtk.Button()</code> line "
-"where the button was created:"
+"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 ""
 "Connectez d'abord le signal <code>clicked</code> du bouton à une fonction de "
-"gestion de signal que vous appelez <code>on_open_clicked</code>. Mettez ce "
-"code immÃdiatement aprÃs la ligne <code>button = Gtk.Button()</code> oà le "
-"bouton a Ãtà crÃÃÂ:"
+"gestion de signal que vous appelez <code>_openClicked</code>. Mettez ce code "
+"immÃdiatement aprÃs la ligne <code>var open_button = new Gtk.Button</code> "
+"oà le bouton a Ãtà crÃÃÂ:"
 
-#: C/image-viewer.py.page:169(p)
+#: C/image-viewer.js.page:251(p)
 msgid ""
-"This will connect the <code>clicked</code> signal to <code>on_open_clicked</"
-"code> method that we will define below."
+"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 ""
-"Cela connecte le signal <code>clicked</code> Ã la mÃthode "
-"<code>on_open_clicked</code> que nous dÃfinirons ci-dessous."
+"Ici, nous utilisons l'assistant JavaScript <em>Lang</em>. Il nous permet de "
+"connecter une <em>class method</em> au signal plutÃt qu'Ã une simple "
+"fonction (sans classe) que nous avions utilisÃe avant pour le signal de "
+"masquage <code>hide</code>. Ne vous prÃoccupez pas de cela pour le moment, "
+"ce n'est qu'un dÃtail technique. Pour que cela fonctionne, vous devez aussi "
+"ajouter cette ligne en haut du fichierÂ:"
 
-#: C/image-viewer.py.page:175(p)
+#: 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>on_open_clicked</code> method. Insert the "
-"following into the <code>GUI</code> class code block, after the "
-"<code>__init__</code> method:"
+"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 ""
-"On peut maintenant crÃer la mÃthode <code>on_open_clicked</code>. InsÃrez ce "
-"qui suit dans le bloc de code de la classe <code>GUI</code>, aprÃs la "
-"mÃthode <code>__init__</code>Â:"
+"Nous pouvons maintenant crÃer la mÃthode <code>_openClicked()</code>. "
+"InsÃrez ce qui suit dans le bloc de code <code>ImageViewer.prototype</code>, "
+"aprÃs la mÃthode <code>_init</code> (et sans oublier la virgule)Â:"
 
-#: C/image-viewer.py.page:194(p)
+#: C/image-viewer.js.page:280(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 "
+"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; and <code>transient_for</code>, which sets the parent window of "
-"the dialog."
+"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 ligne commenÃant par <code>dialog</code> crÃe une boÃte de dialogue "
-"<gui>Open</gui> qui permet à l'utilisateur de choisir des fichiers. Nous "
-"paramÃtrons trois propriÃtÃsÂ: le titre de la boÃte de dialogueÂ; la "
+"La ligne commenÃant par <code>var chooser</code> crÃe une boÃte de dialogue "
+"<gui>Ouvrir</gui> qui permet à l'utilisateur de choisir des fichiers. Nous "
+"paramÃtrons quatre propriÃtÃsÂ: le titre de la boÃte de dialogueÂ; la "
 "fonction (le type) de la boÃte de dialogue (c'est une boÃte de dialogue "
 "ÂÂOPENÂÂ, mais on aurait pu utiliser (<code>SAVE</code>) (enregistrer) si "
-"notre intention avait Ãtà d'enregistrer un fichier) et <code>transient_for</"
-"code>, qui dÃfinit la fenÃtre parent de la boÃte de dialogue."
+"notre intention avait Ãtà d'enregistrer un fichier)Â; <code>transient_for</"
+"code>, qui dÃfinit la fenÃtre parent de la boÃte de dialogueÂ; et "
+"<code>modal</code> qui, s'il est fixà à <code>true</code> empÃche "
+"l'utilisateur de cliquer sur un autre emplacement de l'application jusqu'Ã "
+"ce que la boÃte de dialogue soit fermÃe."
 
-#: C/image-viewer.py.page:207(p)
+#: C/image-viewer.js.page:293(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."
+"<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>dialog.run</code> affiche la boÃte de dialogue <gui>Open</gui>. La "
+"<code>chooser.run</code> affiche la boÃte de dialogue <gui>Open</gui>. La "
 "boÃte de dialogue attend que l'utilisateur choisisse une imageÂ; quand c'est "
-"fait, <code>dialog.run</code> retourne la valeur <output>1</output> (il "
+"fait, <code>chooser.run</code> retourne la valeur <output>1</output> (il "
 "retourne la valeur <output>0</output> si l'utilisateur clique sur "
 "<gui>Annuler</gui>). L'instruction <code>if</code> teste cette rÃponse."
 
-#: C/image-viewer.py.page:220(p)
+#: 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 Python and Gtk) in not much time at all!"
+"of JavaScript and Gtk) in not much time at all!"
 msgstr ""
 "Tout le programme nÃcessaire est maintenant en place, donc essayez de "
 "l'exÃcuter. Cela devrait fonctionnerÂ; un visionneur d'images totalement "
-"fonctionnel (et une visite Ãclair de Python et de Gtk) en trÃs peu de tempsÂ!"
+"fonctionnel (et une visite Ãclair de JavaScript et de Gtk) en trÃs peu de "
+"tempsÂ!"
 
-#: C/image-viewer.py.page:225(p)
+#: 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.py\">reference code</link>."
+"<link href=\"image-viewer/image-viewer.js\">reference code</link>."
 msgstr ""
 "Si vous rencontrez des difficultÃs avec ce tutoriel, comparez votre "
-"programme à ce <link href=\"image-viewer/image-viewer.py\">programme de "
+"programme à ce <link href=\"image-viewer/image-viewer.js\">programme de "
 "rÃfÃrence</link>."
 
 #: C/image-viewer.cpp.page:8(desc)
@@ -3713,10 +4228,6 @@ msgstr ""
 "construction avec dÃbogage. Vous ne devez le faire qu'une seule fois, lors "
 "de la premiÃre exÃcution."
 
-#: C/image-viewer.cpp.page:81(title) C/image-viewer.c.page:82(title)
-msgid "Creating the user interface"
-msgstr "CrÃation de l'interface utilisateur"
-
 #: C/image-viewer.cpp.page:82(p)
 msgid ""
 "Now we will bring life into the empty window. GTKmm organizes the user "
@@ -3786,10 +4297,6 @@ msgstr ""
 "commande <code>show_all()</code>. Ceci Ãquivaut à appliquer la mÃthode "
 "<code>show()</code> sÃparÃment à chaque ÃlÃment graphique."
 
-#: C/image-viewer.cpp.page:141(title) C/image-viewer.c.page:147(title)
-msgid "Showing the image"
-msgstr "Affichage de l'image"
-
 #: C/image-viewer.cpp.page:142(p)
 msgid ""
 "We will now define the signal handler for the <em>clicked</em> signal or the "
@@ -3899,18 +4406,6 @@ msgstr ""
 "masquÃe, car ce n'est qu'une variable locale qui est dÃtruite (et donc "
 "disparaÃt) lorsqu'elle sort de la portÃe."
 
-#: C/image-viewer.cpp.page:207(p) C/image-viewer.c.page:215(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 ""
-"Ã ce stade, tout le programme est fonctionnel. Cliquez sur "
-"<guiseq><gui>Construire</gui><gui>Construire le projet</gui></guiseq> pour "
-"tout reconstruire et faites <guiseq><gui>ExÃcuter</gui><gui>ExÃcuter</gui></"
-"guiseq> pour lancer l'application."
-
 #: C/image-viewer.cpp.page:208(p) C/image-viewer.c.page:216(p)
 msgid ""
 "If you haven't already done so, choose the <file>Debug/src/image-viewer</"
@@ -3930,10 +4425,6 @@ msgstr ""
 "programme à ce <link href=\"image-viewer/image-viewer.cc\">programme de "
 "rÃfÃrence</link>."
 
-#: C/image-viewer.c.page:8(desc)
-msgid "A little bit more than a simple \"Hello world\" Gtk application."
-msgstr "Un peu plus qu'une simple application Gtk ÂÂHello worldÂÂ."
-
 #: C/image-viewer.c.page:26(p)
 msgid "Some basic concepts of C/GObject programming"
 msgstr "quelques concepts de base de la programmation en C/GObject,"
@@ -3945,7 +4436,7 @@ msgstr "comment Ãcrire une application GTK en C."
 #: C/image-viewer.c.page:41(p)
 msgid ""
 "Choose <gui>Gtk+ (Simple)</gui> from the <gui>C</gui> tab, click "
-"<gui>Forward</gui>, and fill out your details on the next few pages. Use "
+"<gui>Continue</gui>, and fill out your details on the next few pages. Use "
 "<file>image-viewer</file> as project name and directory."
 msgstr ""
 "SÃlectionnez <gui>GTK+ (Simple)</gui> dans l'onglet <gui>C++</gui>, cliquez "
@@ -3998,18 +4489,6 @@ msgstr ""
 "La fonction <code>create_window</code> crÃe une nouvelle fenÃtre (vide) et "
 "connecte un signal pour quitter l'application quand la fenÃtre est fermÃe."
 
-#: C/image-viewer.c.page:67(p) C/guitar-tuner.vala.page:72(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 ""
-"Connecter des signaux, c'est dÃcider de ce qui doit se passer quand on "
-"appuie sur un bouton ou quand quelque chose d'autre se produit. Ici, la "
-"fonction <code>destroy</code> est appelÃe (et quitte l'application) quand la "
-"fenÃtre est fermÃe."
-
 #: 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 "
@@ -4218,7 +4697,7 @@ msgstr ""
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/guitar-tuner.vala.page:37(None) C/guitar-tuner.py.page:37(None)
+#: 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 ""
@@ -4226,7 +4705,7 @@ msgstr ""
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/guitar-tuner.vala.page:89(None) C/guitar-tuner.py.page:88(None)
+#: 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"
@@ -4235,7 +4714,7 @@ msgstr ""
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/guitar-tuner.vala.page:134(None) C/guitar-tuner.py.page:131(None)
+#: C/guitar-tuner.vala.page:128(None) C/guitar-tuner.py.page:131(None)
 #: C/guitar-tuner.cpp.page:117(None) C/guitar-tuner.c.page:137(None)
 msgid ""
 "@@image: 'media/guitar-tuner-pipeline.png'; "
@@ -4244,109 +4723,132 @@ msgstr ""
 "@@image: 'media/guitar-tuner-pipeline.png'; "
 "md5=5adc952909d92af5dae6954781b4ad5f"
 
-#: C/guitar-tuner.vala.page:8(desc) C/guitar-tuner.py.page:8(desc)
-#: C/guitar-tuner.c.page:8(desc)
+#: C/guitar-tuner.vala.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."
+"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 ""
-"Utilisation de Gtk+ et de GStreamer pour construire une application "
-"d'accordeur de guitare simple pour GNOME. Explications sur la maniÃre "
-"d'utiliser le concepteur d'interface."
+"Utilisation de <link href=\"http://developer.gnome.org/platform-overview/";
+"stable/gtk\">Gtk+</link> et de <link href=\"http://developer.gnome.org/";
+"platform-overview/stable/gstreamer\">GStreamer</link> pour construire une "
+"application d'accordeur de guitare simple pour GNOME. Explications sur la "
+"maniÃre d'utiliser le concepteur d'interface."
 
-#: C/guitar-tuner.vala.page:21(title) C/guitar-tuner.py.page:21(title)
+#: C/guitar-tuner.vala.page:25(title) 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 "Accordeur de guitare"
 
-#: C/guitar-tuner.vala.page:24(p) C/guitar-tuner.py.page:24(p)
-#: C/guitar-tuner.cpp.page:24(p) C/guitar-tuner.c.page:24(p)
+#: C/guitar-tuner.vala.page:28(p)
 msgid ""
-"In this tutorial, we're going to make a program which plays tones that you "
+"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 ""
 "Dans ce tutoriel, nous allons Ãcrire un programme qui Ãmet des sons servant "
 "Ã accorder une guitare. Nous allons apprendre commentÂ:"
 
-#: C/guitar-tuner.vala.page:26(p) 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 "crÃer un projet basique dans Anjuta,"
+#: C/guitar-tuner.vala.page:30(p)
+msgid ""
+"Set up a basic project using the <link xref=\"getting-ready\">Anjuta IDE</"
+"link>."
+msgstr ""
+"paramÃtrer un projet de base en utilisant <link xref=\"getting-ready"
+"\">Anjuta IDE</link>,"
 
-#: C/guitar-tuner.vala.page:27(p) 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"
+#: C/guitar-tuner.vala.page:31(p)
+msgid "Create a simple GUI with <app>Anjuta</app>'s UI designer."
 msgstr ""
 "crÃer une interface graphique simple avec le concepteur d'interface "
-"utilisateur d'Anjuta,"
+"utilisateur d'<app>Anjuta</app>,"
 
-#: C/guitar-tuner.vala.page:28(p) 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 "utiliser GStreamer pour Ãmettre des sons."
+#: 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 ""
+"utiliser la bibliothÃque <link href=\"http://developer.gnome.org/platform-";
+"overview/stable/gstreamer\">GStreamer</link> pour jouer des sons."
 
-#: C/guitar-tuner.vala.page:33(p)
-msgid "Basic knowledge of the Vala programming language"
-msgstr "des connaissances de base du langage de programmation Vala."
+#: C/guitar-tuner.vala.page:44(title)
+msgid "Create a project in <app>Anjuta</app>"
+msgstr "CrÃation d'un projet dans <app>Anjuta</app>"
 
-#: C/guitar-tuner.vala.page:47(p)
+#: C/guitar-tuner.vala.page:51(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 "
+"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 ""
-"SÃlectionnez <gui>Gtk+ (simple)</gui> dans l'onglet <gui>Vala</gui>, cliquez "
+"SÃlectionnez <gui>Gtk+ (Simple)</gui> dans l'onglet <gui>Vala</gui>, cliquez "
 "sur <gui>Continuer</gui> et saisissez vos informations sur les pages "
 "suivantes. Utilisez <file>guitar-tuner</file> comme nom de projet et de "
 "rÃpertoire."
 
-#: C/guitar-tuner.vala.page:50(p) C/guitar-tuner.c.page:50(p)
+#: C/guitar-tuner.vala.page:54(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 "
-"GStreamer library in your project."
+"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 ""
-"Assurez-vous que <gui>Configuration des paquets externes</gui> est activÃ. "
-"Sur la page suivante, choisissez <em>gstreamer-0.10</em> dans la liste pour "
-"inclure la bibliothÃque GStreamer à votre projet."
+"Assurez-vous que <gui>Configuration des paquets externes</gui> est basculÃe "
+"sur <gui>I</gui>. Sur la page suivante, choisissez <link href=\"http://";
+"valadoc.org/gstreamer-0.10/index.htm\"><em>gstreamer-0.10</em></link> dans "
+"la liste pour inclure la bibliothÃque GStreamer à votre projet. Cliquez sur "
+"<gui>Continuer</gui>."
 
-#: C/guitar-tuner.vala.page:54(p)
+#: C/guitar-tuner.vala.page:58(p)
 msgid ""
-"Click <gui>Finished</gui> and the project will be created for you. Open "
-"<file>src/guitar_tuner.vala</file> from the <gui>Project</gui> or <gui>File</"
-"gui> tabs. You should see some code which starts with the lines:"
+"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 ""
 "Cliquez sur <gui>Appliquer</gui> et votre projet est crÃÃ. Ouvrez <file>src/"
-"guitar_tuner.vala</file> depuis l'onglet <gui>Projet</gui> ou l'onglet "
-"<gui>Fichiers</gui>. Vous devez voir apparaÃtre du code commenÃant par les "
-"lignesÂ:"
+"guitar_tuner.vala</file> en faisant un double clic depuis l'onglet "
+"<gui>Projet</gui> ou l'onglet <gui>Fichiers</gui>. Vous devez voir "
+"apparaÃtre du code commenÃant par les lignesÂ:"
 
-#: C/guitar-tuner.vala.page:64(p)
+#: C/guitar-tuner.vala.page:68(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:"
+"and displays it. More details are given below; you may choose to skip this "
+"list if you understand the basics:"
 msgstr ""
 "Ce programme charge une fenÃtre (vide) Ã partir du fichier de description de "
 "l'interface et l'affiche. Vous trouverez plus de dÃtails ci-dessousÂ; passez "
 "cette liste si vous comprenez les basesÂ:"
 
-#: C/guitar-tuner.vala.page:71(p)
+#: 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. 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."
+"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 ""
 "Le constructeur de la classe <code>Main</code> crÃe une nouvelle fenÃtre en "
 "ouvrant un fichier GtkBuilder (<file>src/guitar-tuner.ui</file>, dÃfini "
 "quelques lignes plus haut), en connectant son signal puis en l'affichant "
-"dans une fenÃtre. Le fichier GtkBuilder contient la description d'une "
+"dans une fenÃtre. Ce fichier GtkBuilder contient la description d'une "
 "interface utilisateur et tous ses ÃlÃments. On peut utiliser l'Ãditeur "
 "d'Anjuta pour concevoir des interfaces utilisateur GtkBuilder."
 
-#: C/guitar-tuner.vala.page:75(p)
+#: 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 ""
+"Connecter des signaux, c'est dÃcider de ce qui doit se passer quand on "
+"appuie sur un bouton ou quand quelque chose d'autre se produit. Ici, la "
+"fonction <code>on_destroy</code> est appelÃe (et quitte l'application) quand "
+"la fenÃtre est fermÃe."
+
+#: 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 "
@@ -4361,88 +4863,126 @@ msgstr ""
 "utilisateur et commence à Ãcouter les ÃvÃnements (comme des clics de souris "
 "ou des appuis sur des touches)."
 
-#: C/guitar-tuner.vala.page:84(title) C/guitar-tuner.py.page:83(title)
+#: 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. "
+"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 ""
+"Le programme est prÃt à Ãtre utilisÃ, donc vous pouvez le compiler en "
+"cliquant sur <guiseq><gui>Construire</gui><gui>Construire le projet</gui></"
+"guiseq> ou en appuyant sur <keyseq><key>Maj</key><key>F7</key></keyseq>.Pour "
+"configurer le rÃpertoire de compilation, modifiez la <gui>Configuration</"
+"gui> Ã <gui>Par dÃfaut</gui> et cliquez sur <gui>ExÃcuter</gui>. Il ne faut "
+"le faire qu'une seule fois, Ã la premiÃre compilation."
+
+#: 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 "CrÃation de l'interface utilisateur"
 
-#: C/guitar-tuner.vala.page:85(p) C/guitar-tuner.py.page:84(p)
-#: C/guitar-tuner.cpp.page:84(p) C/guitar-tuner.c.page:88(p)
+#: C/guitar-tuner.vala.page:90(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."
+"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 ""
 "Une description de l'interface utilisateur est contenue dans le fichier "
-"GtkBuilder. Pour la modifier, ouvrez le fichier <file>src/guitar_tuner.ui</"
-"file>. Ceci vous bascule vers le concepteur d'interface. La fenÃtre de "
-"conception se trouve au centreÂ; les ÃlÃments graphiques et leurs propriÃtÃs "
-"sont sur la gauche et la palette des ÃlÃments graphiques disponibles est sur "
-"la droite."
+"GtkBuilder <file>src/guitar_tuner.ui</file> dÃfini au dÃbut de la classe. "
+"Pour la modifier, ouvrez le fichier <file>src/guitar_tuner.ui</file> en "
+"faisant un double clic depuis les onglets <gui>Projet</gui> ou "
+"<gui>Fichiers</gui>. Ceci vous renvoie vers le concepteur d'interface. La "
+"fenÃtre de conception se trouve au centreÂ; les <gui>ÃlÃments graphiques</"
+"gui> et leurs propriÃtÃs sont sur la droite et la <gui>palette</gui> des "
+"ÃlÃments graphiques disponibles est sur la gauche."
 
-#: C/guitar-tuner.vala.page:87(p) C/guitar-tuner.py.page:86(p)
-#: C/guitar-tuner.cpp.page:86(p) C/guitar-tuner.c.page:90(p)
+#: 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 <gui>GtkButtonBox</gui> here to assign six <gui>GtkButtons</"
-"gui>, one for each of the six guitar strings."
+"use a vertical GtkButtonBox here to assign six GtkButtons, one for each of "
+"the six guitar strings."
 msgstr ""
 "La disposition de toute interface utilisateur dans GTK+ est organisÃe à "
-"l'aide de boÃtes et de tableaux. Dans cet exemple, prenons une "
-"<gui>GtkButtonBox</gui> verticale pour y mettre six <gui>GtkButtons</gui>, "
-"un pour chacune des six cordes de la guitare."
+"l'aide de boÃtes et de tableaux. Dans cet exemple, prenons une GtkButtonBox "
+"verticale pour y mettre six GtkButtons, un pour chacune des six cordes de la "
+"guitare."
 
-#: C/guitar-tuner.vala.page:93(p) C/guitar-tuner.py.page:92(p)
-#: C/guitar-tuner.cpp.page:92(p) C/guitar-tuner.c.page:96(p)
+#: C/guitar-tuner.vala.page:98(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."
+"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 ""
+"Dans l'onglet <gui>Palette</gui> de la section <gui>Conteneurs</gui>, "
+"choisissez une <gui>BoÃte</gui> (GtkButtonBox) en cliquant sur l'icÃne. "
+"Cliquez ensuite sur la fenÃtre de conception au centre pour la placer dans "
+"la fenÃtre. Une boÃte de dialogue apparaÃt dans laquelle vous pouvez dÃfinir "
+"le <gui>nombre d'ÃlÃments</gui> Ã <input>6</input>. Cliquez ensuite sur "
+"<gui>CrÃer</gui>."
+
+#: 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 ""
+"Vous pouvez aussi modifier le <gui>Nombre d'ÃlÃments</gui> et "
+"l'<gui>Orientation</gui> dans l'onglet <gui>GÃnÃral</gui> sur la droite."
+
+#: 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 ""
-"Choisissez une <gui>GtkButtonBox</gui> (BoÃte) dans la section "
-"<gui>Conteneurs</gui> de la <gui>Palette</gui> Ã droite et mettez-la dans la "
-"fenÃtre. Dans l'onglet <gui>PropriÃtÃs</gui>, dÃfinissez le nombre "
-"d'ÃlÃments à 6 (pour les six cordes) et l'orientation à verticale."
+"Maintenant, Ã partir de la section <gui>ContrÃle et affichage</gui> de la "
+"section <gui>Palette</gui>, sÃlectionnez un <gui>Bouton</gui> (GtkButton) en "
+"cliquant dessus et disposez-le dans la premiÃre case du GtkButtonBox en "
+"cliquant sur celle-ci."
 
-#: C/guitar-tuner.vala.page:97(p) C/guitar-tuner.py.page:96(p)
-#: C/guitar-tuner.cpp.page:96(p) C/guitar-tuner.c.page:100(p)
+#: C/guitar-tuner.vala.page:106(p)
 msgid ""
-"Now, choose a <gui>GtkButton</gui> from the palette and put it into the "
-"first part of the box."
+"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 ""
-"Ensuite, choisissez un <gui>GtkButton</gui> (Bouton) dans la palette et "
-"mettez-le dans la premiÃre partie de la boÃte."
+"Pendant que le bouton est encore sÃlectionnÃ, dÃplacez-vous dans l'onglet "
+"<gui>GÃnÃral</gui> à droite de la propriÃtà <gui>Ãtiquette</gui> et modifiez-"
+"la en <gui>E</gui>. C'est la corde E en bas de la guitare."
 
-#: C/guitar-tuner.vala.page:100(p) C/guitar-tuner.py.page:99(p)
-#: C/guitar-tuner.c.page:103(p)
+#: C/guitar-tuner.vala.page:107(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."
+"The <gui>General</gui> tab is located in the <gui>Widgets</gui> section on "
+"the right."
 msgstr ""
-"Pendant que le bouton est encore sÃlectionnÃ, modifiez la propriÃtà "
-"<gui>Ãtiquette</gui> dans l'onglet <gui>Composants graphiques</gui> Ã "
-"<gui>E</gui>. C'est la corde E du bas."
+"L'onglet <gui>GÃnÃral</gui> est situà dans la section <gui>Composants "
+"graphiques</gui> sur la droite."
 
-#: C/guitar-tuner.vala.page:103(p)
+#: C/guitar-tuner.vala.page:112(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 "
+"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 <key>Return</key>."
+"press the <key>Enter</key>."
 msgstr ""
-"Passez à l'onglet <gui>Signaux</gui> (dans l'onglet <gui>Composants "
-"graphiques</gui>) et recherchez le signal <code>clicked</code> du bouton. "
+"Passez à l'onglet <gui>Signaux</gui> dans la section <gui>Composants "
+"graphiques</gui> et recherchez le signal <code>clicked</code> du bouton. "
 "Vous pouvez l'utiliser pour connecter un gestionnaire de signal qui sera "
 "appelà quand le bouton est cliquÃ. Pour cela, cliquez sur le signal et "
 "saisissez <code>main_on_button_clicked</code> dans la colonne "
 "<gui>Gestionnaire</gui> et appuyez sur <key>EntrÃe</key>."
 
-#: C/guitar-tuner.vala.page:106(p) C/guitar-tuner.py.page:105(p)
+#: 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 "
@@ -4451,7 +4991,7 @@ msgstr ""
 "RÃpÃtez cette procÃdure pour les autres boutons, ce qui ajoute les 5 autres "
 "cordes nommÃes <em>A</em>, <em>D</em>, <em>G</em>, <em>B</em> et <em>e</em>."
 
-#: C/guitar-tuner.vala.page:109(p) C/guitar-tuner.py.page:108(p)
+#: 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></"
@@ -4461,96 +5001,44 @@ msgstr ""
 "sur <guiseq><gui>Fichier</gui><gui>Enregistrer</gui></guiseq>) et laissez-le "
 "ouvert."
 
-#: C/guitar-tuner.vala.page:115(title) C/guitar-tuner.c.page:118(title)
-msgid "Creating the signal handler"
-msgstr "CrÃation du gestionnaire de signal"
-
-#: C/guitar-tuner.vala.page:116(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 ""
-"Dans le concepteur d'interface utilisateur, il a Ãtà fait en sorte que tous "
-"les boutons appellent la mÃme fonction, <gui>on_button_clicked</gui> quand "
-"ils sont cliquÃs. En rÃalitÃ, nous saisissons <gui>main_on_button_clicked</"
-"gui> qui indique au concepteur d'interface utilisateur que cette mÃthode "
-"fait partie de notre fonction <code>Main</code>. Nous devons ajouter cette "
-"fonction dans notre fichier source."
-
-# Bruno : drag and drop doesn't work in my Anjuta !
-#: C/guitar-tuner.vala.page:117(p)
-msgid ""
-"To do this, open <file>guitar_tuner.vala</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 the "
-"beginning of the class. The following code will be added to your source file:"
-msgstr ""
-"Pour cela, ouvrez <file>guitar_tuner.vala</file> pendant que le fichier "
-"interface utilisateur est encore ouvert. Allez au mÃme onglet <gui>Signaux</"
-"gui> que vous aviez dÃjà utilisà pour nommer le signal. Prenez la ligne oà "
-"vous aviez dÃfini le signal <gui>clicked</gui> et faites la glisser dans le "
-"fichier source au dÃbut de la classe. Le code suivant s'ajoute à votre "
-"fichier sourceÂ:"
-
-#: C/guitar-tuner.vala.page:124(p)
-msgid ""
-"This signal handler has only one argument: the <code>Gtk.Widget</code> that "
-"called the function (in our case, always a <code>Gtk.Button</code>). The "
-"additonal <code>[CCode (instance_pos=-1)]</code> tells the compiler that "
-"this is a signal handler that needs special treating while linking in order "
-"to be found at runtime."
-msgstr ""
-"Le rÃcepteur du signal n'a qu'un seul argumentÂ: le <code>Gtk.Widget</code> "
-"qui a appelà la fonction (dans notre cas, toujours un <code>Gtk.Button</"
-"code>). Le code additionnel <code>[CCode (instance_pos=-1)]</code> indique "
-"au compilateur que ce gestionnaire de signal a besoin d'un traitement "
-"spÃcial pendant la connexion afin d'Ãtre trouvà au moment de l'exÃcution."
-
-#: C/guitar-tuner.vala.page:126(p) 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 ""
-"Laissons le gestionnaire de signal vide pour l'instant et Ãcrivons le code "
-"qui produit les sons."
-
-#: C/guitar-tuner.vala.page:130(title) C/guitar-tuner.py.page:127(title)
+#: C/guitar-tuner.vala.page:124(title) C/guitar-tuner.py.page:127(title)
 #: C/guitar-tuner.cpp.page:112(title) C/guitar-tuner.c.page:133(title)
 msgid "GStreamer pipelines"
 msgstr "Les pipelines GStreamer"
 
-#: C/guitar-tuner.vala.page:131(p) C/guitar-tuner.py.page:128(p)
-#: C/guitar-tuner.c.page:134(p)
+#: C/guitar-tuner.vala.page:125(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."
+"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 ""
-"GStreamer est l'architecture multimÃdia de GNOME â vous pouvez vous en "
-"servir pour des jeux, des enregistrements, pour traiter des flux vidÃo, "
-"audio, de webcam entre autres. Ici, nous allons nous en servir pour Ãmettre "
-"des tonalitÃs à une seule frÃquence."
+"Cette section va vous montrer comment crÃer un programme qui produit des "
+"sons. <link href=\"http://developer.gnome.org/platform-overview/stable/";
+"gstreamer\">GStreamer</link> est l'architecture multimÃdia de GNOME â vous "
+"pouvez vous en servir pour des jeux, des enregistrements, pour traiter des "
+"flux vidÃo, audio, de webcam entre autres. Ici, nous allons nous en servir "
+"pour Ãmettre des tonalitÃs à une seule frÃquence."
 
-#: C/guitar-tuner.vala.page:132(p) C/guitar-tuner.py.page:129(p)
-#: C/guitar-tuner.cpp.page:115(p) C/guitar-tuner.c.page:135(p)
+#: C/guitar-tuner.vala.page:126(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 ""
-"Le concept de GStreamer est le suivantÂ: il y a crÃation d'un <em>pipeline</"
-"em> contenant plusieurs ÃlÃments de traitement en provenance d'une "
-"<em>source</em> Ã destination d'un <em>collecteur</em> (sortie). La source "
-"peut Ãtre un fichier image, une vidÃo ou un fichier musical, par exemple, et "
-"la sortie un ÃlÃment graphique ou une carte son."
-
-#: C/guitar-tuner.vala.page:133(p) C/guitar-tuner.py.page:130(p)
+"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 ""
+"Le concept de GStreamer est le suivantÂ: il y a crÃation d'un <link href="
+"\"http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/";
+"section-intro-basics-bins.html\"><em>pipeline</em></link> contenant "
+"plusieurs ÃlÃments de traitement en provenance d'une <em>source</em> Ã "
+"destination d'un <em>collecteur</em> (sortie). La source peut Ãtre un "
+"fichier image, une vidÃo ou un fichier musical, par exemple, et la sortie un "
+"ÃlÃment graphique ou une carte son."
+
+#: C/guitar-tuner.vala.page:127(p) C/guitar-tuner.py.page:130(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 "
@@ -4562,32 +5050,31 @@ msgstr ""
 "format et ainsi de suite. Chaque ÃlÃment du pipeline possÃde des propriÃtÃs "
 "pouvant Ãtre utilisÃes pour modifier son comportement."
 
-#: C/guitar-tuner.vala.page:135(p) C/guitar-tuner.py.page:132(p)
+#: C/guitar-tuner.vala.page:129(p) C/guitar-tuner.py.page:132(p)
 #: C/guitar-tuner.cpp.page:118(p) C/guitar-tuner.c.page:138(p)
 msgid "An example GStreamer pipeline."
 msgstr "Un exemple de pipeline GStreamer."
 
-#: C/guitar-tuner.vala.page:140(title) C/guitar-tuner.py.page:137(title)
+#: 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 "Configuration du pipeline"
 
-#: C/guitar-tuner.vala.page:141(p) C/guitar-tuner.py.page:138(p)
-#: C/guitar-tuner.cpp.page:129(p) C/guitar-tuner.c.page:144(p)
+#: C/guitar-tuner.vala.page:135(p)
 msgid ""
-"In this simple example we will use a tone generator source called "
+"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 ""
-"Dans ce petit exemple, nous utilisons une source gÃnÃratrice de son de "
-"frÃquence pure appelÃe <code>audiotestsrc</code> et envoyons sa sortie au "
-"pÃriphÃrique son par dÃfaut du systÃme, <code>autoaudiosink</code>. Il nous "
-"faut seulement configurer la frÃquence du gÃnÃrateur accessible depuis la "
+"Dans cet exemple, nous utilisons une source gÃnÃratrice de son de frÃquence "
+"pure appelÃe <code>audiotestsrc</code> et envoyons sa sortie au pÃriphÃrique "
+"son par dÃfaut du systÃme, <code>autoaudiosink</code>. Il nous faut "
+"seulement configurer la frÃquence du gÃnÃrateur accessible depuis la "
 "propriÃtà <code>freq</code> de <code>audiotestsrc</code>."
 
-#: C/guitar-tuner.vala.page:143(p)
+#: 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:"
@@ -4596,7 +5083,7 @@ msgstr ""
 "suivant dans la ligne au-dessus de l'appel à <code>Gtk.init</code> dans la "
 "fonction <code>main</code>Â:"
 
-#: C/guitar-tuner.vala.page:145(p)
+#: 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:"
@@ -4604,90 +5091,171 @@ msgstr ""
 "Ensuite, copiez la fonction suivante dans le fichier <file>guitar_tuner."
 "vala</file> Ã l'intÃrieur de notre classe <code>Main</code>Â:"
 
-#: C/guitar-tuner.vala.page:180(p)
+#: C/guitar-tuner.vala.page:174(p)
 msgid ""
-"The first five lines create source and sink GStreamer elements (<code>Gst."
-"Element</code>), and a pipeline element (which will be used as a container "
+"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 ""
-"Les cinq premiÃres lignes crÃent les ÃlÃments GStreamer source et sink "
-"(collecteur) (<code>Gst.Element</code>) et un ÃlÃment pipeline (qui sera "
-"utilisà comme conteneur pour les deux autres). Ce sont des variables de "
+"Les trois premiÃres lignes crÃent les ÃlÃments GStreamer source et sink "
+"(collecteur) (<link href=\"http://valadoc.org/gstreamer-0.10/Gst.Element.html";
+"\"><code>Gst.Element</code></link>) et un ÃlÃment <link href=\"http://";
+"valadoc.org/gstreamer-0.10/Gst.Pipeline.html\">pipeline element</link> (qui "
+"sera utilisà comme conteneur pour les deux autres). Ce sont des variables de "
 "classe et sont donc dÃfinies en dehors de la mÃthode. Le pipeline est nommà "
 "ÂÂnoteÂÂÂ; la source est nommÃe ÂÂsource et le collecteur est nommà "
 "ÂÂoutputÂÂ et est dÃfini comme Ãtant le connecteur <code>autoaudiosink</code> "
 "(qui est la sortie par dÃfaut de la carte son)."
 
-#: C/guitar-tuner.vala.page:183(p)
+#: C/guitar-tuner.vala.page:177(p)
 msgid ""
-"The call to <code>source.set</code> sets the <code>freq</code> property of "
-"the source element to <code>frequency</code>, which is passed as an argument "
+"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 ""
-"L'appel à <code>source.set</code> dÃfinit la propriÃtà <code>freq</code> de "
+"L'appel à <link href=\"http://valadoc.org/gobject-2.0/GLib.Object.set.html";
+"\"><code>source.set</code></link> dÃfinit la propriÃtà <code>freq</code> de "
 "l'ÃlÃment source à <code>frequency</code> qui est transmis comme argument de "
 "la fonction <code>play_sound</code>. Il s'agit simplement de la frÃquence de "
 "la note de musique en HertzÂ; certaines frÃquences utiles seront dÃfinies "
 "plus tard."
 
-#: C/guitar-tuner.vala.page:186(p)
+#: C/guitar-tuner.vala.page:180(p)
 msgid ""
-"<code>pipeline.add</code> puts the source and sink into the pipeline. The "
-"pipeline is a <code>Gst.Bin</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 calls to <code>pipeline."
-"add</code>."
-msgstr ""
-"<code>pipeline.add</code> place la source et le collecteur dans le pipeline. "
-"Le pipeline est un <code>Gst.Bin</code>, c.-Ã-d. juste un ÃlÃment qui peut "
-"contenir beaucoup d'autres ÃlÃments GStreamer. En gÃnÃral, vous pouvez "
+"<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> place la source et le collecteur dans le "
+"pipeline. Le pipeline est un <link href=\"http://valadoc.org/gstreamer-0.10/";
+"Gst.Bin.html\"><code>Gst.Bin</code></link>, c.-Ã-d. juste un ÃlÃment qui "
+"peut contenir beaucoup d'autres ÃlÃments GStreamer. En gÃnÃral, vous pouvez "
 "ajouter autant d'ÃlÃments que vous voulez au pipeline en faisant autant "
 "d'appels supplÃmentaires à <code>pipeline.add</code>."
 
-#: C/guitar-tuner.vala.page:189(p)
+#: C/guitar-tuner.vala.page:183(p)
 msgid ""
-"Next, <code>sink.link</code> 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). <code>pipeline.set_state</code> is then used to "
-"start playback, by setting the state of the pipeline to playing (<code>Gst."
-"State.PLAYING</code>)."
-msgstr ""
-"Ensuite, <code>source.link</code> sert à lier les ÃlÃments ensemble, de "
-"sorte que la sortie de la source (une note) va à l'entrÃe du collecteur (et "
-"est ensuite envoyÃe à la carte son). <code>pipeline.set_state</code> sert "
-"enfin à dÃmarrer la lecture en basculant l'Ãtat du pipeline à "
+"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 ""
+"Ensuite, <link href=\"http://valadoc.org/gstreamer-0.10/Gst.Element.link.html";
+"\"><code>sink.link</code></link> sert à lier les ÃlÃments ensemble, de sorte "
+"que la sortie de la source (une note) va à l'entrÃe du collecteur (et est "
+"ensuite envoyÃe à la carte son). <link href=\"http://www.valadoc.org/";
+"gstreamer-0.10/Gst.Element.set_state.html\"><code>pipeline.set_state</code></"
+"link> sert enfin à dÃmarrer la lecture en basculant l'<link href=\"http://";
+"www.valadoc.org/gstreamer-0.10/Gst.State.html\">Ãtat du pipeline</link> Ã "
 "ÂÂplayingÂÂ (lecture) (<code>Gst.State.PLAYING</code>)."
 
-#: C/guitar-tuner.vala.page:192(p)
+#: 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 <code>TimeoutSource</code>. This "
+"<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 ""
 "Comme nous ne voulons pas jouer indÃfiniment une note ennuyeuse, la derniÃre "
-"chose que fait <code>play_sound</code> est d'ajouter un <code>TimeoutSource</"
-"code> qui dÃfinit un dÃlai avant la coupure du sonÂ; cela attend 200 "
+"chose que fait <code>play_sound</code> est d'ajouter un <link href=\"http://";
+"www.valadoc.org/glib-2.0/GLib.TimeoutSource.html\"><code>TimeoutSource</"
+"code></link> qui dÃfinit un dÃlai avant la coupure du sonÂ; cela attend 200 "
 "millisecondes avant d'appeler un gestionnaire de signal dÃfini ici mÃme, qui "
 "stoppe et dÃtruit le pipeline. Il renvoie <code>false</code> pour se "
 "supprimer lui-mÃme du dÃlai d'attente, sinon il serait constamment appelà "
 "toutes les 200 ms."
 
-#: C/guitar-tuner.vala.page:203(title)
+#: C/guitar-tuner.vala.page:196(title) C/guitar-tuner.c.page:118(title)
+msgid "Creating the signal handler"
+msgstr "CrÃation du gestionnaire de signal"
+
+#: 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 ""
+"Dans le concepteur d'interface utilisateur, il a Ãtà fait en sorte que tous "
+"les boutons appellent la mÃme fonction, <gui>on_button_clicked</gui> quand "
+"ils sont cliquÃs. En rÃalitÃ, nous saisissons <gui>main_on_button_clicked</"
+"gui> qui indique au concepteur d'interface utilisateur que cette mÃthode "
+"fait partie de notre fonction <code>Main</code>. Nous devons ajouter cette "
+"fonction dans notre fichier source."
+
+#: 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 ""
+"Pour cela, dans le fichier interface utilisateur (guitar_tuner.ui), "
+"sÃlectionnez un des boutons en cliquant dessus, puis ouvrez "
+"<file>guitar_tuner.vala</file> (en cliquant sur l'onglet au milieu). Allez "
+"sur la droite, dans l'onglet <gui>Signaux</gui> que vous aviez dÃjà utilisà "
+"pour nommer le signal. Prenez maintenant la ligne oà vous aviez dÃfini le "
+"signal <gui>clicked</gui> et faites-la glisser dans le fichier source au "
+"dÃbut de la classe. Le code suivant s'ajoute à votre fichier sourceÂ:"
+
+#: C/guitar-tuner.vala.page:206(p)
+msgid ""
+"You can also just type the code at the beginning of the class instead of "
+"using the drag and drop."
+msgstr ""
+"Vous pouvez aussi saisir seulement le code au dÃbut de la classe au lieu "
+"d'utiliser le glisser-dÃposer."
+
+#: C/guitar-tuner.vala.page:207(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>). The additonal <code>"
+"[CCode (instance_pos=-1)]</code> tells the compiler that this is a signal "
+"handler that needs special treating while linking in order to be found at "
+"runtime."
+msgstr ""
+"Le rÃcepteur du signal n'a qu'un seul argumentÂ: le <link href=\"http://";
+"valadoc.org/gtk+-3.0/Gtk.Widget.html\"><code>Gtk.Widget</code></link> qui a "
+"appelà la fonction (dans notre cas, toujours un <link href=\"http://valadoc.";
+"org/gtk+-3.0/Gtk.Button.html\"><code>Gtk.Button</code></link>). Le code "
+"additionnel <code>[CCode (instance_pos=-1)]</code> indique au compilateur "
+"que ce gestionnaire de signal a besoin d'un traitement spÃcial pendant la "
+"connexion afin d'Ãtre trouvà au moment de l'exÃcution."
+
+#: C/guitar-tuner.vala.page:213(title)
 msgid "Define the signal handler"
 msgstr "DÃfinition du gestionnaire de signal"
 
-#: C/guitar-tuner.vala.page:204(p)
+#: C/guitar-tuner.vala.page:214(p)
 msgid ""
 "We want to play the correct sound when the user clicks a button. For this, "
-"we flesh out the signal handler that we defined earlier, "
+"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 "
@@ -4700,7 +5268,7 @@ msgstr ""
 "allons plutÃt utiliser l'Ãtiquette du bouton pour dÃterminer le bouton "
 "cliquÃÂ:"
 
-#: C/guitar-tuner.vala.page:232(p)
+#: C/guitar-tuner.vala.page:242(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 "
@@ -4712,7 +5280,7 @@ msgstr ""
 "pouvons obtenir l'Ãtiquette de ce bouton en utilisant <code>get_child</code> "
 "puis, le texte de cette Ãtiquette en utilisant <code>get_label</code>."
 
-#: C/guitar-tuner.vala.page:233(p)
+#: C/guitar-tuner.vala.page:243(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 "
@@ -4723,18 +5291,7 @@ msgstr ""
 "appropriÃe à cette note. Cela fonctionneÂ; nous obtenons un accordeur de "
 "guitare opÃrationnelÂ!"
 
-#: C/guitar-tuner.vala.page:238(p) 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 ""
-"Ã ce stade, tout le programme est fonctionnel. Cliquez sur "
-"<guiseq><gui>Construire</gui><gui>Construire le projet</gui></guiseq> pour "
-"tout reconstruire et faites <guiseq><gui>ExÃcuter</gui><gui>ExÃcuter</gui></"
-"guiseq> pour lancer l'application."
-
-#: C/guitar-tuner.vala.page:239(p) C/guitar-tuner.cpp.page:251(p)
+#: C/guitar-tuner.vala.page:249(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</"
@@ -4745,7 +5302,7 @@ msgstr ""
 "tuner</file> dans la boÃte de dialogue qui s'affiche. Enfin, cliquez sur "
 "<gui>ExÃcuter</gui> et amusez-vousÂ!"
 
-#: C/guitar-tuner.vala.page:244(p)
+#: C/guitar-tuner.vala.page:254(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>."
@@ -4754,20 +5311,31 @@ msgstr ""
 "programme à ce <link href=\"guitar-tuner/guitar-tuner.vala\">programme de "
 "rÃfÃrence</link>."
 
-#: C/guitar-tuner.vala.page:258(p) C/guitar-tuner.py.page:235(p)
+#: C/guitar-tuner.vala.page:259(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 ""
+"Pour en savoir plus à propos de la programmation en langage Vala, consultez "
+"le <link href=\"http://live.gnome.org/Vala/Tutorial\";>manuel Vala</link> et "
+"la <link href=\"http://valadoc.org/\";>Documentation de Vala API</link>."
+
+#: C/guitar-tuner.vala.page:268(p) C/guitar-tuner.py.page:235(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 ""
 "Faire que le programme joue automatiquement les notes de maniÃre cyclique."
 
-#: C/guitar-tuner.vala.page:261(p) C/guitar-tuner.py.page:238(p)
+#: C/guitar-tuner.vala.page:271(p) C/guitar-tuner.py.page:238(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 ""
 "Faire que le programme lise des enregistrements de vraies cordes de guitare "
 "pincÃes."
 
-#: C/guitar-tuner.vala.page:262(p) C/guitar-tuner.py.page:239(p)
+#: C/guitar-tuner.vala.page:272(p) C/guitar-tuner.py.page:239(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 "
@@ -4784,7 +5352,7 @@ msgstr ""
 "basÃs sur le format des sons enregistrÃs â par exemple, les MP3 utilisent "
 "des ÃlÃments diffÃrents de ceux des fichiers Ogg Vorbis."
 
-#: C/guitar-tuner.vala.page:263(p) C/guitar-tuner.py.page:240(p)
+#: C/guitar-tuner.vala.page:273(p) C/guitar-tuner.py.page:240(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 "
@@ -4803,12 +5371,12 @@ msgstr ""
 "gstreamer/head/manual/html/section-intro-basics-pads.html\">pads</link>. La "
 "commande <cmd>gst-inspect</cmd> peut Ãgalement vous Ãtre utile."
 
-#: C/guitar-tuner.vala.page:266(p) C/guitar-tuner.py.page:243(p)
+#: C/guitar-tuner.vala.page:276(p) C/guitar-tuner.py.page:243(p)
 #: C/guitar-tuner.cpp.page:280(p) C/guitar-tuner.c.page:272(p)
 msgid "Automatically analyze notes that the user plays."
 msgstr "Analyser automatiquement les notes jouÃes par l'utilisateur."
 
-#: C/guitar-tuner.vala.page:267(p) C/guitar-tuner.py.page:244(p)
+#: C/guitar-tuner.vala.page:277(p) C/guitar-tuner.py.page:244(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="
@@ -4827,6 +5395,41 @@ msgstr ""
 "html/gst-plugins-good-plugins-plugin-spectrum.html\">analyseur de spectre</"
 "link> peut vous aider à trouver les notes jouÃesÂ?"
 
+#: 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 ""
+"Utilisation de Gtk+ et de GStreamer pour construire une application "
+"d'accordeur de guitare simple pour GNOME. Explications sur la maniÃre "
+"d'utiliser le concepteur d'interface."
+
+#: 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 ""
+"Dans ce tutoriel, nous allons Ãcrire un programme qui Ãmet des sons servant "
+"Ã accorder une guitare. Nous allons apprendre commentÂ:"
+
+#: 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 "crÃer un projet basique dans Anjuta,"
+
+#: 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 ""
+"crÃer une interface graphique simple avec le concepteur d'interface "
+"utilisateur d'Anjuta,"
+
+#: 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 "utiliser GStreamer pour Ãmettre des sons."
+
 #: C/guitar-tuner.py.page:33(p)
 msgid "Basic knowledge of the Python programming language"
 msgstr "de connaissances de base du langage de programmation Python."
@@ -4917,6 +5520,65 @@ msgstr ""
 "Le programme est prÃt à Ãtre utilisà et vous pouvez l'exÃcuter avec "
 "<guiseq><gui>ExÃcuter</gui><gui>ExÃcuter</gui></guiseq>."
 
+#: C/guitar-tuner.py.page:84(p) 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 ""
+"Une description de l'interface utilisateur est contenue dans le fichier "
+"GtkBuilder. Pour la modifier, ouvrez le fichier <file>src/guitar_tuner.ui</"
+"file>. Ceci vous bascule vers le concepteur d'interface. La fenÃtre de "
+"conception se trouve au centreÂ; les ÃlÃments graphiques et leurs propriÃtÃs "
+"sont sur la gauche et la palette des composants graphiques disponibles est "
+"sur la droite."
+
+#: 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 disposition de toute interface utilisateur dans GTK+ est organisÃe à "
+"l'aide de boÃtes et de tableaux. Dans cet exemple, prenons une "
+"<gui>GtkButtonBox</gui> verticale pour y mettre six <gui>GtkButtons</gui>, "
+"un pour chacune des six cordes de la guitare."
+
+#: 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 ""
+"Choisissez une <gui>GtkButtonBox</gui> (BoÃte) dans la section "
+"<gui>Conteneurs</gui> de la <gui>Palette</gui> Ã droite et mettez-la dans la "
+"fenÃtre. Dans l'onglet <gui>PropriÃtÃs</gui>, dÃfinissez le nombre "
+"d'ÃlÃments à 6 (pour les six cordes) et l'orientation à verticale."
+
+#: 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 ""
+"Ensuite, choisissez un <gui>GtkButton</gui> (Bouton) dans la palette et "
+"mettez-le dans la premiÃre partie de la boÃte."
+
+#: 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 ""
+"Pendant que le bouton est encore sÃlectionnÃ, modifiez la propriÃtà "
+"<gui>Ãtiquette</gui> dans l'onglet <gui>Composants graphiques</gui> Ã "
+"<gui>E</gui>. C'est la corde E du bas."
+
 #: 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 "
@@ -4970,6 +5632,54 @@ msgstr ""
 "Ce rÃcepteur de signal possÃde deux argumentsÂ: le pointeur classique de "
 "Python et <code>Gtk.Button</code> qui appelle la fonction."
 
+#: 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 ""
+"Laissons le gestionnaire de signal vide pour l'instant et Ãcrivons le code "
+"qui produit les sons."
+
+#: C/guitar-tuner.py.page:128(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 est l'architecture multimÃdia de GNOME â vous pouvez vous en "
+"servir pour des jeux, des enregistrements, pour traiter des flux vidÃo, "
+"audio, de webcam entre autres. Ici, nous allons nous en servir pour Ãmettre "
+"des tonalitÃs à une seule frÃquence."
+
+#: C/guitar-tuner.py.page:129(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 ""
+"Le concept de GStreamer est le suivantÂ: il y a crÃation d'un <em>pipeline</"
+"em> contenant plusieurs ÃlÃments de traitement en provenance d'une "
+"<em>source</em> Ã destination d'un <em>collecteur</em> (sortie). La source "
+"peut Ãtre un fichier image, une vidÃo ou un fichier musical, par exemple, et "
+"la sortie un ÃlÃment graphique ou une carte son."
+
+#: 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 ""
+"Dans ce petit exemple, nous utilisons une source gÃnÃratrice de son de "
+"frÃquence pure appelÃe <code>audiotestsrc</code> et envoyons sa sortie au "
+"pÃriphÃrique son par dÃfaut du systÃme, <code>autoaudiosink</code>. Il nous "
+"faut seulement configurer la frÃquence du gÃnÃrateur accessible depuis la "
+"propriÃtà <code>freq</code> de <code>audiotestsrc</code>."
+
 #: C/guitar-tuner.py.page:140(p)
 msgid ""
 "Change the import line in <file>guitar_tuner.py</file>, just at the "
@@ -5267,10 +5977,10 @@ msgid ""
 "name we will refer to the widget later in code."
 msgstr ""
 "Pendant que le bouton est encore sÃlectionnÃ, modifiez la propriÃtà "
-"<gui>Ãtiquette</gui> dans l'onglet <gui>ÃlÃments graphiques</gui> Ã <gui>E</"
-"gui>. Ce sera la corde E du bas. Modifiez aussi la propriÃtà <gui>Nom</gui> "
-"en <gui>bouton_E</gui>. Nous nous rÃfÃrerons à cet ÃlÃment graphique par ce "
-"nom plus tard dans le programme."
+"<gui>Ãtiquette</gui> dans l'onglet <gui>Composants graphiques</gui> Ã "
+"<gui>E</gui>. Ce sera la corde E du bas. Modifiez aussi la propriÃtà "
+"<gui>Nom</gui> en <gui>bouton_E</gui>. Nous nous rÃfÃrerons à cet ÃlÃment "
+"graphique par ce nom plus tard dans le programme."
 
 #: C/guitar-tuner.cpp.page:103(p)
 msgid ""
@@ -5491,6 +6201,17 @@ msgstr ""
 "pour G, 987,77 pour B et 1318,5 pour E aiguÃ. Le processus est le mÃme, "
 "seule la frÃquence transmise au rÃcepteur change."
 
+#: 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 ""
+"Ã ce stade, tout le programme est fonctionnel. Cliquez sur "
+"<guiseq><gui>Construire</gui><gui>Construire le projet</gui></guiseq> pour "
+"tout reconstruire et faites <guiseq><gui>ExÃcuter</gui><gui>ExÃcuter</gui></"
+"guiseq> pour lancer l'application."
+
 #: C/guitar-tuner.cpp.page:256(p)
 msgid ""
 "If you run into problems with the tutorial, compare your code with this "
@@ -5526,7 +6247,7 @@ msgstr "des connaissances de base du langage de programmation C."
 #: C/guitar-tuner.c.page:47(p)
 msgid ""
 "Choose <gui>Gtk+ (Simple)</gui> from the <gui>C</gui> tab, click "
-"<gui>Forward</gui>, and fill out your details on the next few pages. Use "
+"<gui>Continue</gui>, and fill out your details on the next few pages. Use "
 "<file>guitar-tuner</file> as project name and directory."
 msgstr ""
 "SÃlectionnez <gui>Gtk+ (Simple)</gui> dans l'onglet <gui>C</gui>, cliquez "
@@ -5534,6 +6255,16 @@ msgstr ""
 "suivantes. Utilisez <file>guitar-tuner</file> comme nom de projet et de "
 "rÃpertoire."
 
+#: 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 ""
+"Assurez-vous que <gui>Configuration des paquets externes</gui> est basculÃe "
+"sur <gui>I</gui>. Sur la page suivante, choisissez <em>gstreamer-0.10</em> "
+"dans la liste pour inclure la bibliothÃque GStreamer à votre projet."
+
 #: C/guitar-tuner.c.page:64(p)
 msgid ""
 "C is a rather verbose language, so don't be surprised that the file contains "
@@ -5882,10 +6613,19 @@ msgstr ""
 "nous vous souhaitons de prendre beaucoup de plaisir avec ces <link xref="
 "\"index\">exemples</link>."
 
+#: C/audio-player.vala.page:8(desc)
+msgid "XXXX"
+msgstr "XXXX"
+
+#: C/audio-player.vala.page:17(title)
+msgid "Audio Player"
+msgstr "Lecteur audio"
+
 #. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2
 #: C/index.page:0(None)
 msgid "translator-credits"
 msgstr ""
 "Luc Rebert, <traduc rebert name>, 2011\n"
 "Alain Lojewski, <allomervan gmail com>, 2011\n"
-"Bruno Brouard <annoa b gmail com>, 2011"
+"Luc Pionchon <pionchon luc gmail com>, 2011\n"
+"Bruno Brouard <annoa b gmail com>, 2011-12"



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