[gnome-devel-docs] New French doc translation



commit 371cb30cb0a1e9c08fb9624693681640599eb8f6
Author: Bruno Brouard <annoa b gmail com>
Date:   Tue Dec 20 11:50:42 2011 +0100

    New French doc translation

 platform-demos/Makefile.am |    2 +-
 platform-demos/fr/fr.po    | 5891 ++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 5892 insertions(+), 1 deletions(-)
---
diff --git a/platform-demos/Makefile.am b/platform-demos/Makefile.am
index 316380c..d0456a7 100644
--- a/platform-demos/Makefile.am
+++ b/platform-demos/Makefile.am
@@ -2,7 +2,7 @@ include $(top_srcdir)/gnome-doc-utils.make
 
 DOC_ID = gnome-devel-demos
 
-DOC_LINGUAS = ca de el es gl
+DOC_LINGUAS = ca de el es fr gl
 
 demo_sources = \
 	guitar-tuner/guitar-tuner.c \
diff --git a/platform-demos/fr/fr.po b/platform-demos/fr/fr.po
new file mode 100644
index 0000000..7879ec5
--- /dev/null
+++ b/platform-demos/fr/fr.po
@@ -0,0 +1,5891 @@
+# French translation for gnome-devel-docs.
+# 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.
+#
+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"
+"Last-Translator: Bruno Brouard <annoa b gmail com>\n"
+"Language-Team: GNOME French Team <gnomefr traduc org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: 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)
+msgid ""
+"@@image: 'media/record-collection.png'; md5=2d645997687ed5aacd36aafafc16e072"
+msgstr ""
+"@@image: 'media/record-collection.png'; md5=2d645997687ed5aacd36aafafc16e072"
+
+#: C/record-collection.js.page:8(desc)
+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)
+msgid "GNOME Documentation Project"
+msgstr "Projet de Documentation GNOME"
+
+#: C/record-collection.js.page:21(title)
+msgid "Record Collection"
+msgstr "DiscothÃque"
+
+#: C/record-collection.js.page:24(p) C/message-board.c.page:23(p)
+#: C/image-viewer.cpp.page:24(p) C/image-viewer.c.page:24(p)
+msgid "In this tutorial, you will learn:"
+msgstr "Dans ce tutoriel, vous allez apprendreÂ:"
+
+#: C/record-collection.js.page:26(p)
+msgid "How to connect to a database using libgda"
+msgstr "comment vous connecter à une base de donnÃes en utilisant ÂÂlibgdaÂÂ"
+
+#: C/record-collection.js.page:27(p)
+msgid "How to insert and browse records in a database table"
+msgstr ""
+"comment insÃrer et parcourir des enregistrements dans une table de base de "
+"donnÃes"
+
+#: C/record-collection.js.page:32(title) C/photo-wall.c.page:34(title)
+msgid "Introduction"
+msgstr "Introduction"
+
+#: C/record-collection.js.page:33(p)
+msgid ""
+"This demo uses the Javascript language. We are going to demonstrate how to "
+"connect and use a database from a GTK program, by using the GDA (GNOME Data "
+"Access) library. Thus you also need this library installed."
+msgstr ""
+"Cet exemple utilise le langage Javascript. Nous allons vous montrer comment "
+"vous connecter à une base de donnÃes et l'utiliser à partir d'un programme "
+"GTK en utilisant la bibliothÃque GDA (GNOME Data Access). Vous devez bien "
+"sÃr avoir dÃjà installà cette derniÃre."
+
+#: C/record-collection.js.page:36(p)
+msgid ""
+"GNOME Data Access (GDA) is library whose purpose is to provide universal "
+"access to different kinds and types of data sources. This goes from "
+"traditional relational database systems, to any imaginable kind of data "
+"source such as a mail server, a LDAP directory, etc. For more information, "
+"and for a full API and documentation, visit the <link href=\"http://library.";
+"gnome.org/devel/libgda/stable/\">GDA website</link>."
+msgstr ""
+"La bibliothÃque GDA (GNOME Data Access) vous permet d'accÃder de maniÃre "
+"universelle à diffÃrentes sortes et types de sources de donnÃes, depuis les "
+"plus traditionnels systÃmes de bases de donnÃes relationnelles, jusqu'Ã des "
+"sources aussi diverses qu'un serveur de messagerie, un rÃpertoire LDAP, etc. "
+"Pour de plus amples informations et pour une documentation et l'API "
+"complÃte, consultez le <link href=\"http://library.gnome.org/devel/libgda/";
+"stable/\">Site Web de GDA</link>."
+
+#: C/record-collection.js.page:39(p)
+msgid ""
+"Although a big part of the code is related to user interface (GUI), we are "
+"going to focus our tutorial on the database parts (we might mention other "
+"parts we think are relevant though). To know more about Javascript programs "
+"in GNOME, see the <link xref=\"image-viewer.js\">Image Viewer program</link> "
+"tutorial."
+msgstr ""
+"Bien que la plus grosse partie du programme se rÃfÃre à l'interface "
+"utilisateur (GUI), nous allons orienter notre tutoriel sur les fonctions "
+"bases de donnÃes (avec des explications sur certaines autres fonctions que "
+"nous jugeons pertinentes). Pour de plus amples informations sur les "
+"programmes GNOME en Javascript, consultez le tutoriel <link xref=\"image-"
+"viewer.js\">Programme visionneur d'images</link>."
+
+#: C/record-collection.js.page:45(title) C/photo-wall.c.page:44(title)
+#: C/message-board.c.page:40(title) C/magic-mirror.vala.page:42(title)
+#: C/image-viewer.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/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)
+msgid ""
+"Before you start coding, you'll need to set up a new project in Anjuta. This "
+"will create all of the files you need to build and run the code later on. "
+"It's also useful for keeping everything together."
+msgstr ""
+"Avant de commencer à programmer, vous devez ouvrir un nouveau projet dans "
+"Anjuta. Ceci crÃe tous les fichiers qui vous sont nÃcessaires pour "
+"construire et exÃcuter votre programme plus tard. C'est aussi utile pour "
+"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)
+msgid ""
+"Start Anjuta and click <guiseq><gui>File</gui><gui>New</gui><gui>Project</"
+"gui></guiseq> to open the project wizard."
+msgstr ""
+"Lancez Anjuta et cliquez sur <guiseq><gui>Fichier</gui><gui>Nouveau</"
+"gui><gui>Projet</gui></guiseq> pour ouvrir l'assistant de crÃation de projet."
+
+#: C/record-collection.js.page:52(p)
+msgid ""
+"Choose <gui>Generic Javascript</gui> from the <gui>JS</gui> tab, click "
+"<gui>Forward</gui>, and fill-out your details on the next few pages. Use "
+"<file>record-collection</file> as project name and directory."
+msgstr ""
+"Cliquez sur l'onglet <gui>JS</gui>, choisissez <gui>JavaScript gÃnÃrique</"
+"gui>, cliquez sur <gui>Continuer</gui> et renseignez les champs requis avec "
+"vos informations. Mettez <file>discotheque</file> (sans accent) comme nom du "
+"projet et rÃpertoire."
+
+#: C/record-collection.js.page:55(p)
+msgid ""
+"Click <gui>Finished</gui> and the project will be created for you. Open "
+"<file>src/main.js</file> from the <gui>Project</gui> or <gui>File</gui> "
+"tabs. It contains very basic example code."
+msgstr ""
+"Cliquez sur <gui>Appliquer</gui> et votre 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/record-collection.js.page:61(title)
+msgid "Program Structure"
+msgstr "Structure du programme"
+
+#: C/record-collection.js.page:63(p)
+msgid ""
+"This demo is a simple GTK application (with a single window) capable of "
+"inserting records into a database table as well as browsing all records of "
+"the table. The table has two fields: <code>id</code>, an integer, and "
+"<code>name</code>, a varchar. The first section (on the top) of the "
+"application allows you to insert a record into the table. The last section "
+"(bottom) allows you to see all the records of that table. Its content is "
+"refreshed every time a new record is inserted and on the application startup."
+msgstr ""
+"Cet exemple est une application GTK simple (avec une seule fenÃtre) pouvant "
+"insÃrer des enregistrements dans une table de base de donnÃes et Ãgalement "
+"consulter tous les enregistrements de cette table. Cette table possÃde deux "
+"champsÂ: <code>id</code>, un entier et <code>name</code>, une variable de "
+"type caractÃre. La premiÃre section de l'application (en haut) vous permet "
+"d'insÃrer un enregistrement dans la table. La derniÃre (en bas) vous permet "
+"d'afficher tous les enregistrements de cette table. Son contenu est mis à "
+"jour à chaque fois qu'un nouvel enregistrement est insÃrà et au dÃmarrage de "
+"l'application."
+
+#: C/record-collection.js.page:68(title)
+msgid "Starting the fun"
+msgstr "DÃbut du plaisir"
+
+#: C/record-collection.js.page:69(p)
+msgid "Let's start by examining the skeleton of the program:"
+msgstr "CommenÃons par examiner le squelette du programmeÂ:"
+
+#: C/record-collection.js.page:95(p)
+msgid ""
+"Lines 1â4: Initial imports. Pay special attention to line 3, which tells "
+"Javascript to import the GDA library, our focus in this tutorial."
+msgstr ""
+"Lignes 1â4Â: importations initiales. Faites surtout attention à la ligne 3, "
+"qui commande à Javascript l'importation de la bibliothÃque GDA, la cible de "
+"ce tutoriel."
+
+#: C/record-collection.js.page:96(p)
+msgid ""
+"Lines 6â17: Define our <code>Demo</code> class. Pay special attention to "
+"lines 13â15, where we call 3 methods which will do the whole job. They will "
+"be detailed below."
+msgstr ""
+"Lignes 6â17Â: dÃfinition de la classe <code>Demo</code>. Faites surtout "
+"attention aux lignes 13â15, oà nous appelons 3 mÃthodes qui font tout le "
+"travail. Elles sont dÃtaillÃes plus bas."
+
+#: C/record-collection.js.page:97(p)
+msgid "Lines 19â23: Start the application."
+msgstr "Lignes 19â23Â: lancement de l'application"
+
+#: C/record-collection.js.page:102(title)
+msgid "Designing the application"
+msgstr "Conception de l'application"
+
+#: C/record-collection.js.page:103(p)
+msgid ""
+"Let's take a look at the <code>setupWindow</code> method. It is responsible "
+"for creating the User Interface (UI). As UI is not our focus, we will "
+"explain only the relevant parts."
+msgstr ""
+"Examinons la mÃthode <code>setupWindow</code>. C'est elle qui crÃe "
+"l'interface utilisateur. Comme l'interface utilisateur n'est pas notre "
+"sujet, nous en expliquons seulement les parties pertinentes."
+
+#: C/record-collection.js.page:154(p)
+msgid ""
+"Lines 22 and 27: Create the 2 entries (for the two fields) in which users "
+"will type something to get inserted in the database."
+msgstr ""
+"Lignes 22 et 27Â: crÃation des 2 entrÃes (pour les 2 champs) dans lesquelles "
+"l'utilisateur saisit les choses à insÃrer dans la base de donnÃes."
+
+#: C/record-collection.js.page:155(p)
+msgid ""
+"Lines 31â34: Create the Insert button. We connect its <code>clicked</code> "
+"signal to the <code>_insertClicked</code> private method of the class. This "
+"method is detailed below."
+msgstr ""
+"Lignes 31â34Â: crÃation du bouton ÂÂInsertÂÂ. Le signal <code>clicked</code> "
+"de ce bouton est connectà à la mÃthode privÃe <code>_insertClicked</code> de "
+"la classe. Cette mÃthode est dÃcrite ci-dessous."
+
+#: C/record-collection.js.page:156(p)
+msgid ""
+"Line 39: Create the widget (<code>TextView</code>) where we will show the "
+"contents of the table."
+msgstr ""
+"Ligne 39Â: crÃation de l'ÃlÃment graphique (<code>TextView</code>) oà nous "
+"affichons le contenu de la table."
+
+#: C/record-collection.js.page:157(p)
+msgid ""
+"Line 44: Create the label where we will show the number of records in the "
+"table. Initially it's empty, it will be updated later."
+msgstr ""
+"Ligne 44Â: crÃation de l'Ãtiquette oà nous affichons le nombre "
+"d'enregistrements dans la table. Au dÃbut, elle est vide et est mise à jour "
+"ultÃrieurement."
+
+#: C/record-collection.js.page:162(title)
+msgid "Connecting to and initializing the database"
+msgstr "Connexion à la base de donnÃes et initialisation"
+
+#: C/record-collection.js.page:163(p)
+msgid ""
+"The code which makes the connection to the database is in the "
+"<code>setupDatabase</code> method below:"
+msgstr ""
+"Le code permettant de se connecter à la base de donnÃes est dans la mÃthode "
+"<code>setupDatabase</code> ci-dessousÂ:"
+
+#: C/record-collection.js.page:180(p)
+msgid ""
+"Lines 2â3: Create the GDA's <code>Connection</code> object. We must supply "
+"to its constructor some properties:"
+msgstr ""
+"Lignes 2â3Â: crÃation de l'objet <code>Connection</code> de GDA. Il faut "
+"transmettre quelques propriÃtÃs à son constructeurÂ:"
+
+#: C/record-collection.js.page:183(p)
+msgid ""
+"<code>provider</code>: One of GDA's supported providers. GDA supports "
+"SQLite, MySQL, PostgreSQL, Oracle and many others. For demo purposes we will "
+"use a SQLite database, as it comes installed by default in most "
+"distributions and it is simple to use (it just uses a file as a database)."
+msgstr ""
+"<code>provider</code>Â: l'un des fournisseurs reconnus par GDA. GDA prend en "
+"charge SQLite, MySQL, PostgreSQL, Oracle et beaucoup d'autres. Pour les "
+"besoins de l'exemple, nous utilisons une base de donnÃes SQLite car elle est "
+"dÃjà incluse par dÃfaut dans la plupart des distributions et elle est facile "
+"Ã utiliser (elle n'a besoin que d'un fichier comme base de donnÃes)."
+
+#: C/record-collection.js.page:186(p)
+msgid ""
+"<code>cnc_string</code>: The connection string. It may change from provider "
+"to provider. The syntax for SQLite is: <code>DB_DIR=<var>PATH</var>;"
+"DB_NAME=<var>FILENAME</var></code>. In this demo we are accessing a database "
+"called gnome_demo in the user home dir (note the call to GLib's "
+"<code>get_home_dir</code> function)."
+msgstr ""
+"<code>cnc_string</code>Â: la chaÃne de connexion. Elle peut Ãtre diffÃrente "
+"en fonction du fournisseur. La syntaxe pour SQLite estÂ: "
+"<code>DB_DIR=<var>CHEMIN</var>;DB_NAME=<var>NOM2FICHIER</var></code>. Dans "
+"cet exemple, nous accÃdons à une base de donnÃes nommÃe gnome_demo dans le "
+"dossier personnel de l'utilisateur (notez l'appel à la fonction "
+"<code>get_home_dir</code> de GLib)."
+
+#: C/record-collection.js.page:190(p)
+msgid ""
+"If the provider is not supported by GDA, or if the connection string is "
+"missing some element, line 2 will raise an exception. So, in real life we "
+"should handle it with JavaScript's statement <code>try</code>...<code>catch</"
+"code>."
+msgstr ""
+"Si le fournisseur n'est pas reconnu par GDA, ou si la chaÃne de connexion "
+"n'est pas complÃte, la ligne 2 provoque une exception. Donc, en pratique, il "
+"faut gÃrer cette exception grÃce à l'instruction JavaScript <code>try</"
+"code>...<code>catch</code>."
+
+#: C/record-collection.js.page:194(p)
+msgid ""
+"Line 4: Open the connection. In the SQLite provider, if the database does "
+"not exist, it will be created in this step."
+msgstr ""
+"Ligne 4Â: ouverture de la connexion. Pour le fournisseur SQLite, si la base "
+"de donnÃe n'existe pas, elle est crÃÃe à cette Ãtape."
+
+#: C/record-collection.js.page:196(p)
+msgid ""
+"Lines 6â10: Try to do a simple select to check if the table exists (line 7). "
+"If it does not exist (because the database was just created), this command "
+"will raise an exception, which is handled by the <code>try</code>..."
+"<code>catch</code> block. If it is the case, we run the create table "
+"statement (line 9)."
+msgstr ""
+"Lignes 6â10Â: tentative de faire une simple instruction ÂÂselectÂÂ pour "
+"vÃrifier que la table existe (ligne 7). Si elle n'existe pas (parce que la "
+"base de donnÃes vient juste d'Ãtre crÃÃe), cette instruction provoque une "
+"exception qu'il faut gÃrer grÃce au bloc <code>try</code>...<code>catch</"
+"code>. Dans ce cas, il faut exÃcuter l'instruction ÂÂcreate tableÂÂ pour "
+"crÃer la table (ligne 9)."
+
+#: C/record-collection.js.page:197(p)
+msgid ""
+"In order to run the SQL commands above we are using global GDA functions, "
+"<code>execute_select_command</code> and <code>execute_non_select_command</"
+"code>. They are simple to use, and just require two arguments: The "
+"<code>Connection</code> object and the SQL command to be parsed."
+msgstr ""
+"Pour exÃcuter les commandes SQL ci-dessus, nous utilisons les fonctions "
+"globales de GDA, <code>execute_select_command</code> et "
+"<code>execute_non_select_command</code>. Elles sont simples d'utilisation et "
+"ne requiÃrent que deux argumentsÂ: l'objet <code>Connection</code> et la "
+"commande SQL Ã analyser."
+
+#: C/record-collection.js.page:201(p)
+msgid "At this point we have the database set up, and are ready to use it."
+msgstr ""
+"à ce niveau, nous avons configurà la base de donnÃes et cette derniÃre est "
+"fonctionnelle."
+
+#: C/record-collection.js.page:205(title)
+msgid "Selecting"
+msgstr "SÃlection"
+
+#: C/record-collection.js.page:206(p)
+msgid ""
+"After connecting to the database, our demo's constructor calls the "
+"<code>selectData</code> method. It is responsible for getting all the "
+"records in the table and showing them on the <code>TextView</code> widget. "
+"Let's take a look at it:"
+msgstr ""
+"AprÃs connexion à la base de donnÃes, le constructeur de notre exemple "
+"appelle la mÃthode <code>selectData</code>. C'est elle qui rÃcupÃre tous les "
+"enregistrements de la table et qui les affiche dans l'ÃlÃment graphique "
+"<code>TextView</code>. Regardons à quoi elle ressembleÂ:"
+
+#: C/record-collection.js.page:227(p)
+msgid ""
+"Line 2: The <code>SELECT</code> command. We are using the global GDA's "
+"function <code>execute_select_command</code> for that. It returns a "
+"<code>DataModel</code> object, which is later used to retrieve the rows."
+msgstr ""
+"Ligne 2Â: la commande <code>SELECT</code>. Nous utilisons la fonction "
+"globale <code>execute_select_command</code> de GDA pour cela. Elle retourne "
+"un objet <code>DataModel</code> qui servira plus tard à rÃcupÃrer les lignes."
+
+#: C/record-collection.js.page:228(p)
+msgid ""
+"Line 3: Create an <code>Iter</code> object, which is used to iterate over "
+"the <code>DataModel</code>'s records."
+msgstr ""
+"Ligne 3Â: crÃation d'un objet <code>Iter</code> qui sert à itÃrer sur les "
+"enregistrements de <code>DataModel</code>."
+
+#: C/record-collection.js.page:229(p)
+msgid ""
+"Line 7: Loop through all the records, fetching them with the help of the "
+"<code>Iter</code> object. At this point, the <code>iter</code> variable "
+"contains the actual, retrieved data. Its <code>move_next</code> method "
+"returns <code>false</code> when it reaches the last record."
+msgstr ""
+"Ligne 7Â: ItÃration sur tous les enregistrements en les rÃcupÃrant à l'aide "
+"de l'objet <code>Iter</code>. Ã cet endroit, la variable <code>Iter</code> "
+"contient les informations trouvÃes. La mÃthode <code>move_next</code> "
+"retourne le message <code>false</code> quand elle atteint le dernier "
+"enregistrement."
+
+#: C/record-collection.js.page:231(p)
+msgid "Lines 8â9: We do two things in each line:"
+msgstr "Lignes 8â9Â: nous faisons deux choses dans chaque ligneÂ:"
+
+#: C/record-collection.js.page:233(p)
+msgid ""
+"Use <code>Iter</code>'s method <code>get_value_at</code>, which requires "
+"only one argument: the column number to retrieve, starting at 0. As our "
+"<code>SELECT</code> command returns only two columns, we are retrieving "
+"columns 0 and 1."
+msgstr ""
+"Utilisez la mÃthode <code>get_value_at</code> d'<code>Iter</code> qui n'a "
+"besoin que d'un argumentÂ: le numÃro de colonne à rÃcupÃrer, en commenÃant "
+"par 0. Comme notre commande <code>SELECT</code> ne retourne que deux "
+"colonnes, nous rÃcupÃrons donc les colonnes 0 et 1."
+
+#: C/record-collection.js.page:234(p)
+msgid ""
+"The method <code>get_value_at</code> returns the field in GLib's "
+"<code>GValue</code> format. A simple way to convert this format to a string "
+"is by using GDA's global function <code>value_stringify</code>. That's what "
+"we are doing here, and we store the results in the variables <code>id_field</"
+"code> and <code>name_field</code>."
+msgstr ""
+"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</"
+"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>."
+
+#: C/record-collection.js.page:237(p)
+msgid ""
+"Line 11: Concatenate the two fields to make one text line, separated by "
+"<code>\"=&gt;\"</code>, and store it in the <code>text</code> variable."
+msgstr ""
+"Ligne 11Â: concatÃnation des deux chaÃnes pour former une seule ligne de "
+"texte en les sÃparant par <code>\"=&gt;\"</code> et enregistrement dans la "
+"variable <code>text</code>."
+
+#: C/record-collection.js.page:238(p)
+msgid ""
+"Line 14: After the loop is finished, we have all the records formatted in "
+"the <code>text</code> variable. In this line we just set the contents of the "
+"<code>TextView</code> with that variable."
+msgstr ""
+"Ligne 14Â: Ã la fin de la boucle, tous les enregistrements sont formatÃs "
+"dans la variable <code>text</code>. Ã cette ligne, nous attribuons le "
+"contenu de cette variable au <code>TextView</code>."
+
+#: C/record-collection.js.page:239(p)
+msgid ""
+"Line 15: Display the number of records in the table, making use of the "
+"<code>DataModel</code>'s <code>get_n_rows</code> method."
+msgstr ""
+"Ligne 15Â: affichage du nombre d'enregistrements dans la table avec la "
+"fonction <code>get_n_rows</code> de <code>DataModel</code>."
+
+#: C/record-collection.js.page:244(title)
+msgid "Inserting"
+msgstr "Insertion"
+
+#: C/record-collection.js.page:245(p)
+msgid ""
+"OK, we know how to connect to a database and how to select rows from a "
+"table. Now it's time to do an <code>INSERT</code> on the table. Do you "
+"remember above, in the method <code>setupWindow</code> we connected the "
+"<gui>Insert</gui> button's <code>clicked</code> signal to the method "
+"<code>_insertClicked</code>? Let's see the implementation of this method."
+msgstr ""
+"Bien, nous savons comment nous connecter à une base de donnÃes et comment "
+"sÃlectionner des lignes dans une table. Il est temps maintenant d'apprendre "
+"à faire une insertion à l'aide de la commande <code>INSERT</code> dans la "
+"table. Souvenez-vous, dans la mÃthode <code>setupWindow</code>, nous avions "
+"relià le signal <code>clicked</code> du bouton <gui>Insert</gui> à la "
+"mÃthode <code>_insertClicked</code>. Voyons la mise en place de cette "
+"mÃthode."
+
+#: C/record-collection.js.page:266(p)
+msgid ""
+"We have learned how to use GDA's convenience functions "
+"<code>execute_select_command</code> and <code>execute_non_select_command</"
+"code> to quickly execute SQL commands on the database. GDA allows one to "
+"build a SQL statement indirectly, by using its <code>SqlBuilder</code> "
+"object. What are the benefits of this? GDA will generate the SQL statement "
+"dynamically, and it will be valid for the connection provider used (it will "
+"use the same SQL dialect the provider uses). Let's study the code:"
+msgstr ""
+"Nous avons appris comment utiliser les fonctions bien pratiques "
+"<code>execute_select_command</code> et <code>execute_non_select_command</"
+"code> de GDA pour appliquer rapidement des commandes SQL sur la base de "
+"donnÃes. GDA nous permet aussi de construire une instruction SQL "
+"indirectement en utilisant son objet <code>SqlBuilder</code>. Quels en sont "
+"les avantagesÂ? GDA crÃe l'instruction SQL dynamiquement et celle-ci est "
+"compatible avec le fournisseur de connexion utilisà (elle utilise le mÃme "
+"langage SQL que celui du fournisseur). Voyons en dÃtail le programmeÂ:"
+
+#: C/record-collection.js.page:270(p)
+msgid ""
+"Lines 2â3: Check if the user filled all the fields. The code for the private "
+"method <code>_validateFields</code> is really simple and you can read it in "
+"the full demo source code."
+msgstr ""
+"Lignes 2â3Â: vÃrification du bon renseignement par l'utilisateur de tous les "
+"champs. Le code de la mÃthode privÃe <code>_validateFields</code> est "
+"vraiment simple et vous pouvez le consulter dans le programme source complet "
+"de l'exemple."
+
+#: C/record-collection.js.page:271(p)
+msgid ""
+"Line 5: The faster way of doing the <code>INSERT</code>. It's commented out "
+"as we want to show how to use the <code>SqlBuilder</code> object to build a "
+"SQL statement portable across databases."
+msgstr ""
+"Ligne 5Â: la faÃon la plus rapide pour faire l'insertion à l'aide de la "
+"commande <code>INSERT</code>. Celle-ci est mise en commentaire car nous "
+"voulons vous montrer comment utiliser l'objet <code>SqlBuilder</code> pour "
+"construire une instruction SQL qui soit indÃpendante de la base de donnÃes."
+
+#: C/record-collection.js.page:272(p)
+msgid ""
+"Line 7: Create the <code>SqlBuilder</code> object. We must pass the type of "
+"statement we are going to build. It can be <code>SELECT</code>, "
+"<code>UPDATE</code>, <code>INSERT</code> or <code>DELETE</code>."
+msgstr ""
+" Ligne 7Â: crÃation de l'objet <code>SqlBuilder</code>. Nous devons "
+"transmettre le type d'instruction que nous voulons construire. Cela peut "
+"Ãtre <code>SELECT</code>, <code>UPDATE</code>, <code>INSERT</code> ou "
+"<code>DELETE</code>."
+
+#: C/record-collection.js.page:273(p)
+msgid ""
+"Line 8: Set the name of the table on which the built statement will operate "
+"(it will generate <code>INSERT INTO demo</code>)"
+msgstr ""
+"Ligne 8Â: dÃtermination du nom de la table sur laquelle l'instruction "
+"construite va agir (le code <code>INSERT INTO demo</code> est gÃnÃrÃ)"
+
+#: C/record-collection.js.page:274(p)
+msgid ""
+"Lines 9â10: Set the fields and its values that will be part of the "
+"statement. The first argument is the field name (as in the table). The "
+"second one is the value for that field."
+msgstr ""
+"Lignes 9â10Â: dÃtermination des champs et de leurs valeurs qui font partie "
+"de l'instruction. Le premier argument est le nom du champ (comme dans la "
+"table). Le second est la valeur pour ce champ."
+
+#: C/record-collection.js.page:275(p)
+msgid ""
+"Line 11: Get the dynamically generated <code>Statement</code> object, which "
+"represents a SQL statement."
+msgstr ""
+"Ligne 11Â: fabrication de l'objet <code>Statement</code> gÃnÃrà "
+"dynamiquement et qui reprÃsente une instruction SQL."
+
+#: C/record-collection.js.page:276(p)
+msgid "Line 12: Finally, execute the SQL statement (<code>INSERT</code>)."
+msgstr ""
+"Ligne 12Â: enfin, exÃcution de l'instruction SQL (<code>INSERT</code>)."
+
+#: C/record-collection.js.page:277(p)
+msgid ""
+"Line 14: Clear the id and name fields on the screen. The code for the "
+"private method <code>_clearFields</code> is really simple and you can read "
+"it in the full demo source code."
+msgstr ""
+"Ligne 14Â: effacement des champs ÂÂidÂÂ et ÂÂnameÂÂ Ã l'Ãcran. Le code de la "
+"mÃthode privÃe <code>_clearFields</code> est vraiment simple et vous pouvez "
+"le consulter dans le programme source complet de l'exemple."
+
+#: C/record-collection.js.page:278(p)
+msgid ""
+"Line 15: Refresh the view on the screen by doing another <code>SELECT</code>."
+msgstr ""
+"Ligne 15Â: mise à jour de l'affichage à l'Ãcran en faisant un nouveau "
+"<code>SELECT</code>."
+
+#: C/record-collection.js.page:280(p)
+msgid ""
+"You can also make use of parameters while building the statement. By using "
+"the <code>SqlBuilder</code> objects and parameters you are less subject to "
+"attacks like SQL injection. Check the <link href=\"http://library.gnome.org/";
+"devel/libgda/stable/\">GDA documentation</link> for more information about "
+"parameters."
+msgstr ""
+"Vous pouvez aussi faire usage de paramÃtres pour construire l'instruction. "
+"En utilisant les objets <code>SqlBuilder</code> et des paramÃtres, vous Ãtes "
+"moins exposà à des attaques du type injection SQL. Consultez la <link href="
+"\"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)
+msgid "Run the application"
+msgstr "ExÃcution de l'application"
+
+#: C/record-collection.js.page:285(p)
+msgid ""
+"All of the code you need should now be in place, so try running the code. "
+"You now have a database for your record collection!"
+msgstr ""
+"Tout le programme nÃcessaire doit maintenant Ãtre en place, donc essayez de "
+"l'exÃcuter. Vous disposez maintenant d'une base de donnÃe pour votre "
+"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)
+msgid "Reference Implementation"
+msgstr "ImplÃmentation de rÃfÃrence"
+
+#: C/record-collection.js.page:290(p)
+msgid ""
+"If you run into problems with the tutorial, compare your code with this "
+"<link href=\"record-collection/record-collection.js\">reference code</link>."
+msgstr ""
+"Si vous rencontrez des difficultÃs avec ce tutoriel, comparez votre "
+"programme à ce <link href=\"record-collection/record-collection.js"
+"\">programme de rÃfÃrence</link>."
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/photo-wall.c.page:76(None)
+msgid "@@image: 'media/photo-wall.png'; md5=f19590d97e8ec029cda3c44b769c11cd"
+msgstr "@@image: 'media/photo-wall.png'; md5=f19590d97e8ec029cda3c44b769c11cd"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/photo-wall.c.page:79(None)
+msgid ""
+"@@image: 'media/photo-wall-focused.png'; md5=9f1ceecf3a28c1e468597b093a10cbae"
+msgstr ""
+"@@image: 'media/photo-wall-focused.png'; md5=9f1ceecf3a28c1e468597b093a10cbae"
+
+#: C/photo-wall.c.page:7(desc)
+msgid "A Clutter image viewer"
+msgstr "Un visionneur d'images avec Clutter"
+
+#: C/photo-wall.c.page:11(name)
+msgid "Chris KÃhl"
+msgstr "Chris KÃhl"
+
+#: C/photo-wall.c.page:12(email)
+msgid "chrisk openismus com"
+msgstr "chrisk openismus com"
+
+#: C/photo-wall.c.page:20(title)
+msgid "Photo Wall"
+msgstr "Mur de photos"
+
+#: C/photo-wall.c.page:23(p)
+msgid ""
+"For this example we will build a simple image viewer using Clutter. You will "
+"learn:"
+msgstr ""
+"Dans cet exemple, nous allons fabriquer un visionneur d'images simple avec "
+"Clutter. Vous apprendrezÂ:"
+
+#: C/photo-wall.c.page:25(p)
+msgid "How to size and position <code>ClutterActor</code>s"
+msgstr "comment dimensionner et positionner les <code>ClutterActor</code>,"
+
+#: C/photo-wall.c.page:26(p)
+msgid "How to place an image in a <code>ClutterActor</code>"
+msgstr "comment placer une image dans un <code>ClutterActor</code>,"
+
+#: C/photo-wall.c.page:27(p)
+msgid "How to do simple transitions using Clutter's animation framework"
+msgstr ""
+"comment faire des transitions simples avec la structure d'animation de "
+"Clutter,"
+
+#: C/photo-wall.c.page:28(p)
+msgid "How to make <code>ClutterActor</code>s respond to mouse events"
+msgstr ""
+"comment faire rÃagir les <code>ClutterActor</code> aux ÃvÃnements de la "
+"souris,"
+
+#: C/photo-wall.c.page:29(p)
+msgid "How to get file names from a directory"
+msgstr "et comment rÃcupÃrer des noms de fichier depuis un rÃpertoire."
+
+#: C/photo-wall.c.page:35(p)
+msgid ""
+"Clutter is a library for creating dynamic user interfaces using OpenGL for "
+"hardware acceleration. This example demonstates a small, but central, part "
+"of the Clutter library to create a simple but attractive image viewing "
+"program."
+msgstr ""
+"Clutter est une bibliothÃque pour crÃer des interfaces utilisateur "
+"dynamiques utilisant OpenGL pour l'accÃlÃration matÃrielle. Cet exemple "
+"montre une petite partie, mais nÃanmoins centrale, de la bibliothÃque "
+"Clutter pour Ãcrire un programme simple, mais sympathique, de visionneur "
+"d'images."
+
+#: C/photo-wall.c.page:38(p)
+msgid ""
+"To help us reach our goal we will be utilising a few other common pieces of "
+"GLib as well. Most importantly, we'll use one <code>GSList</code>, a singly-"
+"linked list, to hold our <code>ClutterActor</code>s and another one for file "
+"path names. We will also use <code>GDir</code>, a utility for working with "
+"directories, to access our image directory and gather file paths."
+msgstr ""
+"Pour nous aider dans cette tÃche, nous utilisons Ãgalement quelques autres "
+"ÃlÃments classiques de GLib. Parmi les plus importants, nous utiliserons "
+"<code>GSList</code>, une liste simplement chaÃnÃe, pour contenir nos "
+"<code>ClutterActor</code> et une autre pour les noms de chemin des fichiers. "
+"Nous utiliserons Ãgalement <code>GDir</code>, un utilitaire pour travailler "
+"avec des rÃpertoires, afin d'accÃder au rÃpertoire de nos images et de "
+"rÃcupÃrer les chemins de fichier."
+
+#: 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 "
+"<file>photo-wall</file> as project name and directory."
+msgstr ""
+"Cliquez sur l'onglet <gui>C</gui>, choisissez <gui>Gtk+ (simple)</gui>, "
+"cliquez sur <gui>Continuer</gui> et renseignez les champs requis des pages "
+"suivantes avec vos informations. Saisissez <file>murdephotos</file> (sans "
+"accent) comme nom de projet et de rÃpertoire."
+
+#: C/photo-wall.c.page:54(p)
+msgid ""
+"Make sure that <gui>Use GtkBuilder for user interface</gui> is disabled as "
+"we will create the UI manually in this tutorial. Check the <link xref="
+"\"guitar-tuner.c\">Guitar-Tuner</link> tutorial using the interface builder."
+msgstr ""
+"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 le tutoriel <link xref=\"guitar-tuner.c"
+"\">Accordeur de guitare</link> si vous souhaitez savoir comment utiliser le "
+"constructeur d'interface GtkBuilder."
+
+#: C/photo-wall.c.page:59(p)
+msgid ""
+"Enable <gui>Configure external packages</gui>. On the next page, select "
+"<em>clutter-1.0</em> from the list to include the Clutter library in your "
+"project."
+msgstr ""
+"Activez <gui>Configuration des paquets externes</gui>. Sur la page suivante, "
+"sÃlectionnez <em>clutter-1.0</em> dans la liste pour inclure la bibliothÃque "
+"Clutter à votre projet."
+
+#: C/photo-wall.c.page:63(p) C/image-viewer.c.page:49(p)
+#: C/guitar-tuner.c.page:54(p)
+msgid ""
+"Click <gui>Apply</gui> and the project will be created for you. Open "
+"<file>src/main.c</file> from the <gui>Project</gui> or <gui>File</gui> tabs. "
+"You should see some code which starts with the lines:"
+msgstr ""
+"Cliquez sur <gui>Appliquer</gui> et votre projet est crÃÃ. Ouvrez <file>src/"
+"main.c</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Â:"
+
+#: C/photo-wall.c.page:72(title)
+msgid "A look at Photo Wall"
+msgstr "Un aperÃu du mur de photos"
+
+#: C/photo-wall.c.page:73(p)
+msgid "Our image viewer presents the user with a wall of images."
+msgstr "Notre visionneur d'images vous montre un mur de photos."
+
+#: C/photo-wall.c.page:77(p)
+msgid ""
+"When an image is clicked, it is animated to fill the viewing area. When the "
+"image having focus is clicked it is returned to its original position using "
+"an animation with the same duration of 500 milliseconds."
+msgstr ""
+"Quand une image est cliquÃe, elle est animÃe pour remplir la zone "
+"d'affichage. Lorsque la photo qui possÃde le focus est cliquÃe, elle "
+"retourne à sa position d'origine en utilisant une animation qui dure "
+"Ãgalement 500 millisecondes."
+
+#: C/photo-wall.c.page:83(title)
+msgid "Initial setup"
+msgstr "Configuration initiale"
+
+#: C/photo-wall.c.page:84(p)
+msgid ""
+"The following code segment contains many of the defines and variables we "
+"will be using in the following sections. Use this as a reference for later "
+"sections. Copy this code to the beginning of <file>src/main.c</file>:"
+msgstr ""
+"La partie de code suivante contient beaucoup de dÃfinitions et de variables "
+"qui sont utilisÃes dans les sections suivantes. Servez-vous en comme "
+"rÃfÃrence. Copiez ce code au dÃbut du fichier <file>src/main.c</file>Â:"
+
+#: C/photo-wall.c.page:121(title)
+msgid "Jumping into the code"
+msgstr "Immersion dans le code"
+
+#: C/photo-wall.c.page:122(p)
+msgid ""
+"We will start by taking a look at the <code>main()</code> function as a "
+"whole. Then we'll discuss the other code sections in detail. Change the "
+"<file>src/main.c</file> to contain this <code>main()</code> function. You "
+"can delete the <code>create_window()</code> function as we don't need it in "
+"this example."
+msgstr ""
+"Nous commencerons par analyser la fonction <code>main()</code> dans son "
+"ensemble. Ensuite nous discuterons des autres parties du programme en "
+"dÃtail. Modifiez le fichier <file>src/main.c</file> pour qu'il contienne la "
+"fonction <code>main()</code>. Vous pouvez aussi supprimer la fonction "
+"<code>create_window()</code> car on n'en a plus besoin dans cet exemple."
+
+#: C/photo-wall.c.page:163(p)
+msgid ""
+"Line 4: <code>ClutterColor</code> is defined by setting the red, green, blue "
+"and transparency (alpha) values. The values range from 0-255. For "
+"transparency a value of 255 is opaque."
+msgstr ""
+"Ligne 4Â: configuration de <code>ClutterColor</code> en paramÃtrant les "
+"valeurs rouge, vert, bleu et celle de transparence (alpha). Les valeurs sont "
+"comprises entre 0 et 255. Pour la transparence, une valeur de 255 reprÃsente "
+"l'opacitÃ."
+
+#: C/photo-wall.c.page:164(p)
+msgid ""
+"Line 7: You must initialize Clutter. If you forget to do this, you will get "
+"very strange errors. Be warned."
+msgstr ""
+"Ligne 7Â: vous devez initialiser Clutter. Attention, si vous oubliez de le "
+"faire, vous aurez de trÃs Ãtranges messages d'erreur. Vous Ãtes prÃvenu."
+
+#: C/photo-wall.c.page:165(p)
+msgid ""
+"Lines 9â11: Here we get the default <code>ClutterStage</code> that was "
+"provided by <code>clutter_init</code>. We then set the size using the "
+"defines from the previous section and the address of the <code>ClutterColor</"
+"code> we just defined."
+msgstr ""
+"Lignes 9â11Â: ici nous obtenons le <code>ClutterStage</code> par dÃfaut qui "
+"a Ãtà fourni par <code>clutter_init</code> puis nous dÃfinissons sa taille "
+"en utilisant les variables dÃfinies à la section prÃcÃdente et l'adresse du "
+"<code>ClutterColor</code> que nous venons de dÃfinir."
+
+#: C/photo-wall.c.page:166(p)
+msgid ""
+"A <code>ClutterStage</code> is the top-level <code>ClutterActor</code> onto "
+"which other <code>ClutterActor</code>s are placed."
+msgstr ""
+"Un <code>ClutterStage</code> est le <code>ClutterActor</code> de premier "
+"niveau sur lequel les autres <code>ClutterActor</code> sont disposÃs."
+
+#: C/photo-wall.c.page:168(p)
+msgid ""
+"Line 12: Here we call our function for getting the image file paths. We'll "
+"look at this in a bit."
+msgstr ""
+"Ligne 13Â: ici nous appelons notre fonction pour obtenir les chemins des "
+"fichiers image. Nous l'examinerons dans un instant."
+
+#: C/photo-wall.c.page:169(p)
+msgid ""
+"Lines 14â26: This is where we set up the <code>ClutterActor</code>s, load "
+"the images and place them into their spot in the image wall. We will look at "
+"this in detail in the next section."
+msgstr ""
+"Ligne 15-27Â: c'est l'endroit oà nous paramÃtrons les <code>ClutterActor</"
+"code>, chargeons les images et les disposons au bon endroit dans le mur "
+"d'images. Nous regarderons cela en dÃtail dans la section suivante."
+
+#: C/photo-wall.c.page:170(p)
+msgid ""
+"Line 29: Show the stage and <em>all its children</em>, meaning our images."
+msgstr ""
+"Ligne 29Â: affichage de ÂÂstageÂÂ et de <em>tous ses enfants</em>, c'est-Ã-"
+"dire nos images."
+
+#: C/photo-wall.c.page:171(p)
+msgid "Line 32: Start the Clutter main loop."
+msgstr "Ligne 32Â: dÃmarrage de la boucle principale de Clutter."
+
+#: C/photo-wall.c.page:176(title)
+msgid "Setting up our image actors"
+msgstr "Mise en place de nos acteurs image"
+
+#: C/photo-wall.c.page:177(p)
+msgid ""
+"In Clutter, an actor is the most basic visual element. Basically, everything "
+"you see is an actor."
+msgstr ""
+"Dans Clutter, un acteur est l'ÃlÃment visuel le plus ÃlÃmentaire. En gros, "
+"tout ce que vous voyez est un acteur."
+
+#: C/photo-wall.c.page:178(p)
+msgid ""
+"In this section, we are going to take a closer look at the loop used for "
+"setting up the <code>ClutterActor</code>s that will display our images."
+msgstr ""
+"Dans cette section, nous allons regarder plus en dÃtail la boucle utilisÃe "
+"pour paramÃtrer les <code>ClutterActor</code> qui affichent nos images."
+
+#: C/photo-wall.c.page:196(p)
+msgid ""
+"Line 5: Here we want to get the path at the <var>n</var>th location in the "
+"<code>GSList</code> that is holding our image path names. The <var>n</var>th "
+"position is calculated based on <code>row</code> and <code>col</code>. The "
+"return value is a pointer to a <code>GSList</code> which is just a node in "
+"the list. We will use this to get the actual path in the next line. The "
+"first parameter is a pointer to the head of the list."
+msgstr ""
+"Ligne 5Â: ici nous voulons obtenir le chemin à la <var>n</var>iÃme position "
+"de la <code>GSList</code> qui contient les noms de chemin de nos images. La "
+"<var>n</var>iÃme position est calculÃe à partir de <code>row</code> et "
+"<code>col</code>. La valeur retournÃe est un pointeur vers une <code>GSList</"
+"code> qui est juste un nÅud dans la liste. Nous l'utiliserons dans la ligne "
+"suivante pour obtenir le chemin rÃel. Le premier argument est un pointeur "
+"vers le dÃbut de la liste."
+
+#: C/photo-wall.c.page:198(p)
+msgid ""
+"Line 6: This is where we actually create the <code>ClutterActor</code> and "
+"place the image into the actor. The first argument is the path which we "
+"access through our <code>GSList</code> node. The second argument is for "
+"error reporting but we are ignoring that to keep things short."
+msgstr ""
+"Ligne 6Â: c'est ici que nous crÃons rÃellement le <code>ClutterActor</code> "
+"et disposons l'image dans l'acteur. Le premier argument est le chemin qui "
+"permet d'accÃder au nÅud de notre <code>GSList</code>. Le deuxiÃme sert à "
+"rapporter une erreur mais nous allons ignorer cela pour faire court."
+
+#: C/photo-wall.c.page:200(p)
+msgid "Line 7: We'll look at this function in a later section."
+msgstr "Ligne 7Â: nous regarderons cette fonction dans une section ultÃrieure."
+
+#: C/photo-wall.c.page:202(p)
+msgid ""
+"Line 8: This adds the <code>ClutterActor</code> to the stage, which is a "
+"container. It also assumes ownership of the <code>ClutterActor</code> which "
+"is something you'll want to look into as you get deeper into GNOME "
+"development. See the <link href=\"http://library.gnome.org/devel/gobject/";
+"stable/gobject-memory.html\"><code>GObject</code> documentation</link> for "
+"the gory details."
+msgstr ""
+"Ligne 8Â: cela ajoute le <code>ClutterActor</code> au ÂÂstageÂÂ, qui est un "
+"conteneur. Cela suppose une notion d'appartenance du <code>ClutterActor</"
+"code> qui est quelque chose que vous devrez comprendre lorsque vous irez un "
+"peu plus loin dans le dÃveloppement de GNOME. Consultez la <link href="
+"\"http://library.gnome.org/devel/gobject/stable/gobject-memory.html";
+"\">documentation de <code>GObject</code></link> pour des dÃtails pointus."
+
+#: C/photo-wall.c.page:204(p)
+msgid ""
+"Line 9: This adds our <code>ClutterActor</code> to a <code>GSList</code> so "
+"that we can later iterate over the <code>ClutterActor</code>s."
+msgstr ""
+"Ligne 9Â: cela ajoute notre <code>ClutterActor</code> Ã une <code>GSList</"
+"code> afin que nous puissions plus tard itÃrer sur les <code>ClutterActor</"
+"code>."
+
+#: C/photo-wall.c.page:205(p)
+msgid ""
+"Interesting to note is that we want to prepend the <code>ClutterActor</"
+"code>s rather than append so that we avoid traversing the list upon each "
+"insertion. You will often see <code>g_slist_prepend</code> followed by "
+"<code>g_slist_reverse</code> because it faster than inserting many objects "
+"at the end of the list."
+msgstr ""
+"Il est intÃressant de noter que nous ajoutons les <code>ClutterActor</code> "
+"en tÃte de liste plutÃt qu'en fin de liste afin d'Ãviter d'avoir à parcourir "
+"la liste à chaque insertion. Vous verrez souvent <code>g_slist_prepend</"
+"code> suivi de <code>g_slist_reverse</code> car c'est plus rapide que "
+"d'insÃrer beaucoup d'objets à la fin de la liste."
+
+#: C/photo-wall.c.page:211(title)
+msgid "Loading the images"
+msgstr "Chargement des images"
+
+#: C/photo-wall.c.page:212(p)
+msgid ""
+"Let's take a short break from Clutter to see how we can get the file names "
+"from our image directory."
+msgstr ""
+"Oublions un court instant Clutter pour regarder comment nous pouvons obtenir "
+"les noms des fichiers contenus dans notre rÃpertoire d'images."
+
+#: C/photo-wall.c.page:239(p)
+msgid ""
+"Lines 5 and 12: This opens our directory or, if an error occured, returns "
+"after printing an error message."
+msgstr ""
+"Lignes 5 et 12Â: cela ouvre notre rÃpertoire ou, en cas d'erreur, quitte la "
+"fonction aprÃs affichage d'un message d'erreur."
+
+#: C/photo-wall.c.page:240(p)
+msgid ""
+"Lines 14â23: The first line gets another file name from the <code>GDir</"
+"code> we opened earlier. If there was an image file (which we check by "
+"looking at its extension, \".png\" or \".jpg\") in the directory we proceed "
+"to prepend the image directory path to the filename and prepend that to the "
+"list we set up earlier. Lastly we attempt to get the next path name and "
+"reenter the loop if another file was found."
+msgstr ""
+"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 "
+"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 "
+"la liste dÃfinie auparavant. Enfin, nous essayons d'obtenir le prochain nom "
+"de fichier et nous recommenÃons la boucle si un autre fichier a Ãtà trouvÃ."
+
+#: C/photo-wall.c.page:245(title)
+msgid "Set up the actors"
+msgstr "Mise en place des acteurs"
+
+#: C/photo-wall.c.page:246(p)
+msgid ""
+"We now take a look at the sizing and positioning of <code>ClutterActor</"
+"code>s and also readying the <code>ClutterActor</code> for user interaction."
+msgstr ""
+"Examinons maintenant le choix de la taille et du positionnement des "
+"<code>ClutterActor</code> et Ãgalement la prÃparation du <code>ClutterActor</"
+"code> pour une interaction de l'utilisateur."
+
+#: C/photo-wall.c.page:265(p)
+msgid ""
+"Line 7: Setting an actor reactive means that it reacts to events, such as "
+"<code>button-press-event</code> in our case. For Photo Wall, all "
+"<code>ClutterActor</code>s in the wall should initially be reactive."
+msgstr ""
+"Ligne 7Â: le fait de dÃfinir un acteur comme ÂÂreactiveÂÂ signifie qu'il "
+"rÃagit aux ÃvÃnements, au <code>button-press-event</code> dans notre cas. "
+"Pour le mur de photos, tous les <code>ClutterActor</code> du mur doivent "
+"Ãtre initialisÃs comme ÂÂreactiveÂÂ."
+
+#: C/photo-wall.c.page:268(p)
+msgid ""
+"Line 9â12: Now we connect the <code>button-press-event</code> to the "
+"<code>actor_clicked_cb</code> callback which we will look at next."
+msgstr ""
+"Ligne 9-12Â: nous connectons maintenant l'ÃvÃnement <code>button-press-"
+"event</code> Ã la fonction de rappel <code>actor_clicked_cb</code> que nous "
+"examinons ci-dessous."
+
+#: C/photo-wall.c.page:271(p)
+msgid "At this point we've got a wall of images that are ready to be viewed."
+msgstr ""
+"à cet instant, nous obtenons un mur d'images qui sont prÃtes à Ãtre "
+"regardÃes."
+
+#: C/photo-wall.c.page:275(title)
+msgid "Reacting to the clicks"
+msgstr "RÃaction aux clics"
+
+#: C/photo-wall.c.page:320(p)
+msgid ""
+"Lines 1â4: We have to make sure our callback function matches the signature "
+"required for the <code>button_clicked_event</code> signal. For our example, "
+"we will only use the first argument, the <code>ClutterActor</code> that is "
+"actually clicked."
+msgstr ""
+"Ligne 1-4Â: nous devons Ãtre sÃr que notre fonction de rappel correspond à "
+"la signature requise par notre signal <code>button_clicked_event</code>. "
+"Dans notre exemple, nous n'utilisons que le premier argument, le "
+"<code>ClutterActor</code> qui est rÃellement cliquÃ."
+
+#: C/photo-wall.c.page:322(p)
+msgid ""
+"A few words on the arguments we are not using in this example. The "
+"<code>ClutterEvent</code> is different depending on what event is being "
+"handled. For example, a key event produces a <code>ClutterKeyEvent</code> "
+"from which you can get the key being pressed among other information. For "
+"mouse click events you get a <code>ClutterButtonEvent</code> from which you "
+"can get the <code>x</code> and <code>y</code> values. See the Clutter "
+"documentation for other <code>ClutterEvent</code> types."
+msgstr ""
+"Quelques mots sur les arguments que nous n'utilisons pas dans cet exemple. "
+"L'ÃvÃnement <code>ClutterEvent</code> est diffÃrent en fonction de "
+"l'ÃvÃnement gÃrÃ. Par exemple, un ÃvÃnement appui sur une touche du clavier "
+"produit un <code>ClutterKeyEvent</code> Ã partir duquel vous pouvez obtenir "
+"comme information, entre autres, la touche qui a Ãtà enfoncÃe. Pour un "
+"ÃvÃnement clic de souris, vous obtenez un <code>ClutterButtonEvent</code> Ã "
+"partir duquel vous pouvez connaÃtre les valeurs <code>x</code> et <code>y</"
+"code>. Consultez la documentation de Clutter pour les autres types "
+"d'ÃvÃnement <code>ClutterEvent</code>."
+
+#: C/photo-wall.c.page:323(p)
+msgid ""
+"The <code>user_data</code> is what one uses to pass data into the the "
+"function. A pointer to any data type can be passed in. If you need multiple "
+"data to be passed into the callback, you can place the data into a struct "
+"and pass its address in."
+msgstr ""
+"<code>user_data</code> est ce qui sert à transmettre des donnÃes dans la "
+"fonction. Un pointeur vers n'importe quel type de donnÃes peut Ãtre "
+"transmis. Si vous avez besoin de transmettre plusieurs donnÃes à la fonction "
+"de rappel, vous pouvez mettre les donnÃes dans une structure et transmettre "
+"son adresse."
+
+#: C/photo-wall.c.page:327(p)
+msgid ""
+"Line 7: We set up a static flag to track which state we are in: wall mode or "
+"focus mode. We start out in wall mode so no image has focus. Thus, we set "
+"the flag to <code>FALSE</code> initially."
+msgstr ""
+"Ligne 7Â: nous dÃfinissons un drapeau de type ÂÂstaticÂÂ pour enregistrer "
+"l'Ãtat dans lequel nous sommesÂ: en mode mur ou en mode focus. Nous "
+"commenÃons en mode mur donc aucune image ne possÃde le focus, par "
+"consÃquent, nous paramÃtrons le drapeau à <code>FALSE</code> (FAUX) au "
+"dÃpart."
+
+#: C/photo-wall.c.page:328(p)
+msgid ""
+"Line 9: This line of code runs a custom function, "
+"<code>foreach_set_focus_state</code>, for each element in our "
+"<code>actor_list</code>, passing it the address to the <code>is_focused</"
+"code> flag. We'll see the definition of the <code>foreach_set_focus_state</"
+"code> function in the next section."
+msgstr ""
+"Ligne 9Â: cette ligne de code exÃcute une fonction personnalisÃe "
+"<code>foreach_set_focus_state</code>, pour chaque ÃlÃment de notre "
+"<code>actor_list</code>, en lui transmettant l'adresse du drapeau "
+"<code>is_focused</code>. Nous verrons la dÃfinition de la fonction "
+"<code>foreach_set_focus_state</code> dans la prochaine section."
+
+#: C/photo-wall.c.page:329(p)
+msgid ""
+"Lines 13â19: Reaching this code means that one image currently has focus and "
+"we want to return to wall mode. The <code>clutter_actor_animate</code> "
+"function is used to animate a <code>ClutterActor</code>'s property or "
+"properties from the current state(s) to the specified state(s). The "
+"arguments are as follows:"
+msgstr ""
+"Ligne 13-19Â: ces lignes sont atteintes lorsqu'une image possÃde "
+"actuellement le focus et que nous voulons retourner en mode mur. La fonction "
+"<code>clutter_actor_animate</code> est utilisÃe pour animer une ou des "
+"propriÃtÃs d'un <code>ClutterActor</code> Ã partir du ou des Ãtats actuels "
+"vers les Ãtats spÃcifiÃs. Les arguments sont les suivantsÂ:"
+
+#: C/photo-wall.c.page:331(p)
+msgid "The address of the <code>ClutterActor</code> to animate"
+msgstr "L'adresse du <code>ClutterActor</code> Ã animer"
+
+#: C/photo-wall.c.page:332(p)
+msgid ""
+"The animation mode to use. Here we use <code>CLUTTER_LINEAR</code> so that "
+"we have a constant speed for animation."
+msgstr ""
+"Le mode d'animation à utiliser. Ici nous utilisons <code>CLUTTER_LINEAR</"
+"code> pour avoir une vitesse d'animation constante."
+
+#: C/photo-wall.c.page:333(p)
+msgid ""
+"The duration of the animation in milliseconds. I've chosen 500 ms for this "
+"example."
+msgstr ""
+"La durÃe de l'animation en millisecondes. J'ai choisi 500Âms pour cet "
+"exemple."
+
+#: C/photo-wall.c.page:334(p)
+msgid ""
+"The remaining arguments are property/value pairs. Here we want to set the "
+"<code>x</code> value to the starting <code>x</code> value this "
+"<code>ClutterActor</code> was at before being brought into focus."
+msgstr ""
+"Les arguments restants sont des paires propriÃtÃ/valeur. Ici nous voulons "
+"dÃfinir la valeur <code>x</code> à la valeur <code>x</code> initiale, oà ce "
+"<code>ClutterActor</code> Ãtait avant de possÃder le focus."
+
+#: C/photo-wall.c.page:335(p)
+msgid ""
+"The last argument must always be <code>NULL</code> to indicate that there "
+"are no more properties to be set."
+msgstr ""
+"Le dernier argument doit toujours Ãtre <code>NULL</code> pour indiquer qu'il "
+"n'y a plus de propriÃtÃs à dÃfinir."
+
+#: C/photo-wall.c.page:337(p)
+msgid ""
+"The <code>depth</code> property needs a little more explaining. We need to "
+"raise the focused image so that it doesn't slide behind other "
+"<code>ClutterActor</code>s. In this section we are returning it to the same "
+"depth as the others on the wall."
+msgstr ""
+"La propriÃtà <code>depth</code> nÃcessite un peu plus d'explications. Nous "
+"avons besoin de mettre au premier plan l'image qui possÃde le focus afin "
+"qu'elle ne glisse pas derriÃre d'autres <code>ClutterActor</code>. Dans "
+"cette section, nous rÃajustons sa propriÃtà à la mÃme altitude que les "
+"autres images sur le mur."
+
+#: C/photo-wall.c.page:338(p)
+msgid ""
+"Depth also determines which <code>ClutterActor</code>s receive events. A "
+"<code>ClutterActor</code> with a higher depth value receives the click "
+"events and can choose whether the event gets sent to <code>ClutterActor</"
+"code>s under it. We'll see how that works in a few steps."
+msgstr ""
+"ÂÂDepthÂÂ dÃtermine aussi quels <code>ClutterActor</code> reÃoivent les "
+"ÃvÃnements. Un <code>ClutterActor</code> avec une altitude plus grande "
+"reÃoit les ÃvÃnements de clic et peut choisir si l'ÃvÃnement est transmis au "
+"<code>ClutterActor</code> en dessous de lui. Nous verrons comment cela "
+"fonctionne un peu plus loin."
+
+#: C/photo-wall.c.page:340(p)
+msgid ""
+"Line 24: Reaching this line of code means we are currently in the wall state "
+"and are about to give a <code>ClutterActor</code> focus. Here we save the "
+"starting position so that we can return to it later."
+msgstr ""
+"Ligne 24Â: ces lignes sont atteintes lorsque nous sommes actuellement dans "
+"l'Ãtat mur et que nous allons donner le focus à un <code>ClutterActor</"
+"code>. Ici nous enregistrons la position de dÃpart afin de pouvoir le "
+"repositionner plus tard."
+
+#: C/photo-wall.c.page:341(p)
+msgid ""
+"Line 25: Setting the <code>ClutterActor</code>'s <code>reactive</code> "
+"property to <code>TRUE</code> makes this <code>ClutterActor</code> react to "
+"events. In this focused state the only <code>ClutterActor</code> that we "
+"want to receive events will be the <code>ClutterActor</code> being viewed. "
+"Clicking on the <code>ClutterActor</code> will return it to its starting "
+"position."
+msgstr ""
+"Ligne 25Â: le fait de paramÃtrer la propriÃtà <code>reactive</code> du "
+"<code>ClutterActor</code> Ã <code>TRUE</code> rend ce <code>ClutterActor</"
+"code> rÃactif aux ÃvÃnements. Dans cet Ãtat de focus, le seul "
+"<code>ClutterActor</code> qui doit recevoir des ÃvÃnements est le "
+"<code>ClutterActor</code> qui est actuellement affichÃ. Un clic sur ce "
+"<code>ClutterActor</code> le repositionne à sa position de dÃpart."
+
+#: C/photo-wall.c.page:342(p)
+msgid ""
+"Lines 27â33: This is similar to the above block of code. Notice that we are "
+"setting the the depth to raise it above the other images."
+msgstr ""
+"Ligne 27-33Â: similaire au bloc de code ci-dessus. Notez que nous "
+"paramÃtrons l'altitude afin de placer l'acteur devant les autres images."
+
+#: C/photo-wall.c.page:343(p)
+msgid ""
+"Line 37: Here we toggle the <code>is_focused</code> flag to the current "
+"state."
+msgstr ""
+"Ligne 37Â: ici nous basculons le drapeau <code>is_focused</code> vers l'Ãtat "
+"actuel."
+
+#: C/photo-wall.c.page:344(p)
+msgid ""
+"As mentioned previously, the <code>ClutterActor</code>s with higher "
+"<code>depth</code> values receive events but can allow <code>ClutterActor</"
+"code>s below them to also receive events. Returning <code>TRUE</code> will "
+"stop events from being passed down, while <code>FALSE</code> will pass "
+"events down."
+msgstr ""
+"Comme mentionnà ci-dessus, les <code>ClutterActor</code> qui possÃdent des "
+"valeurs <code>depth</code> plus grandes reÃoivent les ÃvÃnements mais "
+"peuvent autoriser les <code>ClutterActor</code> en dessous d'eux à recevoir "
+"les ÃvÃnements Ãgalement. En renvoyant <code>TRUE</code>, l'acteur empÃche "
+"la transmission des ÃvÃnements alors qu'en renvoyant <code>FALSE</code> la "
+"transmission se fait."
+
+#: C/photo-wall.c.page:346(p)
+msgid ""
+"Remember, however, that to receive events the <code>ClutterActor</code>s "
+"must be set <code>reactive</code>."
+msgstr ""
+"Rappelez-vous cependant que pour recevoir des ÃvÃnements les "
+"<code>ClutterActor</code> doivent Ãtre dÃfinis à <code>reactive</code>."
+
+#: C/photo-wall.c.page:350(p)
+msgid ""
+"The following is the convenience function passed to <code>g_slist_foreach</"
+"code>."
+msgstr ""
+"Ce qui suit est la fonction bien commode transmise à <code>g_slist_foreach</"
+"code>."
+
+#: C/photo-wall.c.page:363(p)
+msgid ""
+"Lines 2â5: The signature of this function requires two <code>gpointer</"
+"code>s. The first is a pointer to the <code>ClutterActor</code> that our "
+"<code>GSList</code> holds and the other is the <code>is_focused</code> flag "
+"that we've passed in the previous section. We want to cast these and store "
+"them for easy use."
+msgstr ""
+"Ligne 2-5Â: la signature de cette fonction nÃcessite deux <code>gpointer</"
+"code>. Le premier est un pointeur vers le <code>ClutterActor</code> que "
+"notre <code>GSList</code> contient et l'autre est le drapeau "
+"<code>is_focused</code> que nous avons transmis dans la section prÃcÃdente. "
+"Nous allons en garder une trace et les enregistrer pour pouvoir les utiliser "
+"facilement."
+
+#: C/photo-wall.c.page:364(p)
+msgid ""
+"Line 7: Depending on which boolean value is passed in, the "
+"<code>ClutterActor</code> will be set to respond to events or not."
+msgstr ""
+"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)
+msgid "Build and run the application"
+msgstr "Construction et lancement de l'application"
+
+#: C/photo-wall.c.page:370(p)
+msgid ""
+"All of the code should now be ready to go. All you need now is some pictures "
+"to load. By default, the pictures are loaded from a <file>berlin_images</"
+"file> directory. If you want, you can change the <code>#define "
+"IMAGE_DIR_PATH</code> line near the top to refer to your photo directory, or "
+"create a <file>berlin_images</file> directory by clicking "
+"<guiseq><gui>Project</gui><gui>New Directory...</gui></guiseq> and creating "
+"a <file>berlin_images</file> directory as a subdirectory of the <file>photo-"
+"wall</file> directory. Make sure to put at least twelve images in the "
+"directory!"
+msgstr ""
+"Le programme complet devrait maintenant Ãtre prÃt à fonctionner. Tout ce "
+"dont vous avez besoin est de quelques images à charger. Par dÃfaut, les "
+"images sont chargÃes à partir d'un rÃpertoire <file>berlin_images</file>. "
+"Vous pouvez, si vous voulez, modifier la ligne <code>#define IMAGE_DIR_PATH</"
+"code> qui se trouve au dÃbut du fichier pour faire rÃfÃrence à votre "
+"rÃpertoire de photos ou crÃer un rÃpertoire <file>berlin_images</file> en "
+"cliquant sur <guiseq><gui>Projet</gui><gui>Nouveau rÃpertoire...</gui></"
+"guiseq> et en crÃant un sous-rÃpertoire <file>berlin_images</file> dans le "
+"rÃpertoire <file>murdephotos</file>. Assurez-vous de mettre au moins 12 "
+"images dans le rÃpertoireÂ!"
+
+#: C/photo-wall.c.page:372(p)
+msgid ""
+"When you have done that, click <guiseq><gui>Build</gui><gui>Build Project</"
+"gui></guiseq> to build everything again, then <guiseq><gui>Run</"
+"gui><gui>Execute</gui></guiseq> to start the application."
+msgstr ""
+"AprÃs avoir fait cela, cliquez sur <guiseq><gui>Construire</"
+"gui><gui>Construire le projet</gui></guiseq> pour tout reconstruire, puis "
+"sur <guiseq><gui>ExÃcuter</gui><gui>ExÃcuter</gui></guiseq> pour lancer "
+"l'application."
+
+#: C/photo-wall.c.page:373(p)
+msgid ""
+"If you haven't already done so, choose the <file>Debug/src/photo-wall</file> "
+"application in the dialog that appears. Finally, hit <gui>Run</gui> and "
+"enjoy!"
+msgstr ""
+"Si vous ne l'avez pas dÃjà fait, choisissez l'application <file>Debug/src/"
+"murdephotos</file> dans la boÃte de dialogue qui apparaÃt. Enfin, cliquez "
+"sur <gui>Lancer</gui> et amusez-vousÂ!"
+
+#: C/photo-wall.c.page:378(p)
+msgid ""
+"If you run into problems with the tutorial, compare your code with this "
+"<link href=\"photo-wall/photo-wall.c\">reference code</link>."
+msgstr ""
+"Si vous rencontrez des difficultÃs avec ce tutoriel, comparez votre "
+"programme à ce <link href=\"photo-wall/photo-wall.c\">programme de "
+"rÃfÃrence</link>."
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/message-board.c.page:35(None)
+msgid ""
+"@@image: 'media/message-board.ogv'; md5=beb80c4538776dc2cdd26c95abea5027"
+msgstr ""
+"@@image: 'media/message-board.ogv'; md5=beb80c4538776dc2cdd26c95abea5027"
+
+#: C/message-board.c.page:9(desc)
+msgid "A simple program using WebKitGTK+ and the DOM."
+msgstr "Un programme simple utilisant WebKitGTK+ et DOM."
+
+#: C/message-board.c.page:20(title)
+msgid "Message Board"
+msgstr "Visionneur de messages"
+
+#: C/message-board.c.page:25(p)
+msgid "How to display a web page with WebKit."
+msgstr "comment afficher une page Web avec Webkit,"
+
+#: C/message-board.c.page:26(p)
+msgid ""
+"How to manipulate the contents of a web page using WebKit's DOM functions."
+msgstr ""
+"comment manipuler le contenu d'une page Web en utilisant les fonctions DOM "
+"de WebKit."
+
+#: C/message-board.c.page:29(p)
+msgid ""
+"This tutorial assumes you are familiar with the C programming language and "
+"have a basic understanding of GTK+, including how to create and place "
+"widgets and how to connect callback functions to signals. See <link xref="
+"\"image-viewer.c\"/> to learn the basics of GTK+."
+msgstr ""
+"Ce tutoriel suppose que vous soyez familier avec le langage de programmation "
+"C et que vous possÃdiez les bases nÃcessaires à la comprÃhension de GTK+, y "
+"compris comment gÃnÃrer et placer des ÃlÃments graphiques et comment "
+"associer des fonctions de rappel à des signaux. Consultez <link xref=\"image-"
+"viewer.c\"/> pour apprendre les bases de GTK+."
+
+#: C/message-board.c.page:42(p)
+msgid ""
+"The GNOME platform includes WebKitGTK+, built on top of the powerful WebKit "
+"HTML framework. WebKit is used throughout GNOME, not just to view web pages "
+"on the Internet, but also to create rich user interfaces that can be easily "
+"styled with CSS."
+msgstr ""
+"La plateforme GNOME inclut WebKitGTK+, bÃti sur le puissant environnement "
+"HTML WebKit. WebKit est utilisà partout dans GNOME, pas seulement pour "
+"afficher des pages Web sur internet, mais aussi pour crÃer de riches "
+"interfaces utilisateur qui peuvent Ãtre facilement stylisÃes par CSS."
+
+#: C/message-board.c.page:47(p)
+msgid ""
+"In this tutorial, you will create a simple message board using WebKit. The "
+"message board will allow you to enter some text and have it added to a list "
+"of messages in HTML. Before you begin, you need to set up a project in "
+"Anjuta."
+msgstr ""
+"Dans ce tutoriel vous allez crÃer un simple visionneur de messages en "
+"utilisant Webkit. Ce visionneur de messages vous permettra de saisir du "
+"texte et de l'ajouter à une liste de messages en HTML. Avant de dÃbuter, "
+"vous devez crÃer un projet dans Anjuta."
+
+#: C/message-board.c.page:53(p)
+msgid ""
+"In Anjuta, click <guiseq><gui>File</gui><gui>New</gui><gui>Project</gui></"
+"guiseq> to open the new project assistant."
+msgstr ""
+"Dans Anjuta, cliquez sur <guiseq><gui>Fichier</gui><gui>Nouveau</"
+"gui><gui>Projet</gui></guiseq> pour ouvrir l'assistant de nouveau projet."
+
+#: C/message-board.c.page:55(p)
+msgid ""
+"Select <gui>GTK+ (simple)</gui> on the <gui>C</gui> tab, and click "
+"<gui>Forward</gui>."
+msgstr ""
+"SÃlectionnez <gui>GTK+ (simple)</gui> dans l'onglet <gui>C</gui> et cliquez "
+"sur <gui>Continuer</gui>."
+
+#: 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>."
+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 "
+"<gui>Continuer</gui>."
+
+#: C/message-board.c.page:60(p)
+msgid ""
+"Disable the <gui>Use GtkBuilder for user interface</gui> option as this "
+"tutorial builds the user-interface manually."
+msgstr ""
+"DÃsactivez l'option <gui>Utiliser GtkBuilder pour l'interface utilisateur</"
+"gui> car ce tutoriel construit l'interface manuellement."
+
+#: C/message-board.c.page:63(p)
+msgid ""
+"You need to tell Anjuta you're using WebKitGTK+ on this project. On the "
+"<gui>Project options</gui> page, select <gui>Configure external packages</"
+"gui>. Click <gui>Forward</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. "
+"Sur la page <gui>Options du projet</gui>, sÃlectionnez l'option "
+"<gui>Configuration des paquets externes</gui>. Cliquez sur <gui>Continuer</"
+"gui>. Sur la page <gui>Configuration des paquets externes</gui>, cochez "
+"<gui>webkitgtk-3.0</gui>."
+
+#: C/message-board.c.page:69(p)
+msgid ""
+"After you finish the new project assistant, open the file <file>src/main.c</"
+"file> from either the <gui>Project</gui> or the <gui>File</gui> tab. Anjuta "
+"will have filled this in with some basic GTK+ code from its templates. Since "
+"you are creating a WebKit project, you first need to include the WebKit "
+"headers. After the line that includes <code>gtk/gtk.h</code>, add the "
+"following line:"
+msgstr ""
+"Une fois terminà avec l'assistant de nouveau projet, ouvrez le fichier "
+"<file>src/main.c</file> depuis l'onglet <gui>Projet</gui> ou l'onglet "
+"<gui>Fichiers</gui>. Anjuta l'a rempli avec du code GTK+ basique à partir "
+"d'un modÃle. Comme vous Ãtes en train de crÃer un projet WebKit, il vous "
+"faut avant tout y inclure les entÃtes WebKit. AprÃs la ligne contenant "
+"<code>gtk/gtk.h</code>, ajoutez cette ligneÂ:"
+
+#: C/message-board.c.page:76(code)
+#, no-wrap
+msgid "#include &lt;webkit/webkit.h&gt;"
+msgstr "#include &lt;webkit/webkit.h&gt;"
+
+#: C/message-board.c.page:78(p)
+msgid ""
+"Verify that everything works by building what you have so far. Click "
+"<guiseq><gui>Build</gui><gui>Build Project</gui></guiseq> or just press "
+"<keyseq><key>Shift</key><key>F7</key></keyseq>. The first time you build, "
+"you will be asked for some configure options. Just accept the defaults and "
+"click <gui>Execute</gui>."
+msgstr ""
+"VÃrifiez que tout fonctionne en construisant ce que vous avez dÃjÃ. Cliquez "
+"sur <guiseq><gui>Construire</gui><gui>Construire le projet</gui></guiseq>, "
+"ou appuyez sur <keyseq><key>Maj</key><key>F7</key></keyseq>. Ã la premiÃre "
+"construction, il vous est demandà quelques options de configuration. "
+"Acceptez celles qui vous sont proposÃes par dÃfaut, et cliquez sur "
+"<gui>ExÃcuter</gui>."
+
+#: C/message-board.c.page:84(p)
+msgid ""
+"You should now be able to run the program. Click <guiseq><gui>Run</"
+"gui><gui>Execute</gui></guiseq> or just press <key>F3</key>. You should see "
+"an empty window appear."
+msgstr ""
+"Vous pouvez maintenant lancer le programme. Cliquez sur "
+"<guiseq><gui>ExÃcuter</gui><gui>ExÃcuter</gui></guiseq>, ou appuyez sur "
+"<key>F3</key>. Une fenÃtre vide s'ouvre."
+
+#: C/message-board.c.page:90(title)
+msgid "Lay out your window and web view"
+msgstr "Mise en forme de votre fenÃtre et de votre affichage Web"
+
+#: C/message-board.c.page:92(p)
+msgid ""
+"Now that you can show a window, it's time to start working with WebKit. For "
+"this tutorial, you'll create a text entry and a web view and pack them both "
+"into a window. Find the function <code>create_window</code> and replace it "
+"with the following:"
+msgstr ""
+"Maintenant que vous savez afficher une fenÃtre, vous pouvez commencer à "
+"travailler avec WebKit. Pour les besoins de ce tutoriel, vous allez crÃer un "
+"champ texte ainsi qu'une vue Web et les placer dans une fenÃtre. Trouvez la "
+"fonction <code>create_window</code> et remplacez-la par ce qui suitÂ:"
+
+#: C/message-board.c.page:132(p)
+msgid ""
+"You first create a <code>GtkWindow</code> object and set its title and "
+"default size. You also connect the <code>gtk_main_quit</code> function to "
+"the <code>delete-event</code> signal. The <code>delete-event</code> signal "
+"is emitted when the window is closed. The <code>gtk_main_quit</code> "
+"function is part of GTK, and it quits the application."
+msgstr ""
+"Commencez par gÃnÃrer un objet <code>GtkWindow</code> et donnez-lui un titre "
+"et des dimensions par dÃfaut. Il vous faut aussi connecter la fonction "
+"<code>gtk_main_quit</code> au signal <code>delete-event</code>. Le signal "
+"<code>delete-event</code> est Ãmis lors de la fermeture de la fenÃtre. La "
+"fonction <code>gtk_main_quit</code> fait partie de GTK et elle ferme "
+"l'application."
+
+#: C/message-board.c.page:138(p)
+msgid ""
+"You then create a vertical box and add it to the window. A window can only "
+"hold a single child widget, so you need to use a box to add multiple "
+"widgets. The second argument to <code>gtk_box_new</code> sets the amount of "
+"padding (in pixels) between each child, and the next line puts a six-pixel "
+"border around the entire thing."
+msgstr ""
+"Ensuite crÃez une boÃte verticale et ajoutez-la à la fenÃtre. Une fenÃtre ne "
+"peut contenir qu'un seul ÃlÃment graphique enfant, il faut donc utiliser une "
+"boÃte pour en ajouter plusieurs. Le second argument de <code>gtk_box_new</"
+"code> dÃfinit la largeur des marges (en pixels) entre chaque enfant et la "
+"ligne suivante ajoute une bordure de six pixels autour du tout."
+
+#: C/message-board.c.page:144(p)
+msgid ""
+"You next create a <code>GtkEntry</code> object and pack it into the box. The "
+"third and fourth arguments to <code>gtk_box_pack_start</code> specify that "
+"the entry shouldn't take up any extra space the box has available. The "
+"fourth argument is the amount of padding you want around the entry. In this "
+"case, you set the padding to zero, because you're allowing the box to handle "
+"all the padding."
+msgstr ""
+"Il vous faut ensuite gÃnÃrer un objet <code>GtkEntry</code> et le placer "
+"dans la boÃte. Les troisiÃme et quatriÃme arguments de "
+"<code>gtk_box_pack_start</code> prÃcisent que l'entrÃe ne doit pas occuper "
+"plus d'espace que la boÃte n'en dispose. Le quatriÃme argument reprÃsente la "
+"largeur des marges souhaitÃe autour de l'entrÃe. Dans ce cas, dÃfinissez la "
+"largeur des marges à zÃro, car vous autorisez la boÃte à remplir tout "
+"l'espace libre."
+
+#: C/message-board.c.page:151(p)
+msgid ""
+"Before you add a web view, you have to create a scrolled window to put it "
+"inside of. The scrolled window will place scrollbars on the right and bottom "
+"when necessary, and prevent your web view from filling your entire screen. "
+"This time, you pass <code>TRUE</code> and <code>TRUE</code> to "
+"<code>gtk_box_pack_start</code> to allow the scrolled window (and thus, the "
+"web view) to use any extra space available in the box."
+msgstr ""
+"Avant d'ajouter une vue Web, vous devez crÃer une fenÃtre avec barres de "
+"dÃfilement pour la contenir. Cette fenÃtre fera apparaÃtre des barres de "
+"dÃfilement à droite et en bas si nÃcessaire, Ãvitant ainsi à votre vue Web "
+"de remplir tout votre Ãcran. Cette fois, transmettez <code>TRUE</code> et "
+"<code>TRUE</code> Ã <code>gtk_box_pack_start</code> pour autoriser la "
+"fenÃtre de dÃfilement (et donc la vue Web) Ã occuper tout l'espace "
+"supplÃmentaire disponible dans la boÃte."
+
+#: C/message-board.c.page:158(p)
+msgid ""
+"Finally, you create a <code>WebKitWebView</code> and add it to the scrolled "
+"window. Then load a very basic HTML page into the web view by calling "
+"<code>webkit_web_view_load_string</code> with the following arguments:"
+msgstr ""
+"Enfin, vous crÃez un <code>WebKitWebView</code> et l'ajoutez à la fenÃtre de "
+"dÃfilement. Chargez ensuite une page HTML basique dans la vue Web en "
+"appelant <code>webkit_web_view_load_string</code> avec les arguments "
+"suivantsÂ:"
+
+#: C/message-board.c.page:164(code)
+#, no-wrap
+msgid "WEBKIT_WEB_VIEW (view)"
+msgstr "WEBKIT_WEB_VIEW (view)"
+
+#: C/message-board.c.page:165(p)
+msgid ""
+"The view itself. Because <code>view</code> is typed as a <code>GtkWidget*</"
+"code>, you have to use <code>WEBKIT_WEB_VIEW</code> to safely cast the "
+"object."
+msgstr ""
+"La vue en elle-mÃme. Comme <code>view</code> est saisi sous forme de "
+"<code>GtkWidget*</code>, il vous faut utiliser <code>WEBKIT_WEB_VIEW</code> "
+"pour intÃgrer l'objet."
+
+#: C/message-board.c.page:170(code)
+#, no-wrap
+msgid "\"&lt;html&gt;&lt;body&gt;&lt;/body&gt;&lt;/html&gt;\""
+msgstr "\"&lt;html&gt;&lt;body&gt;&lt;/body&gt;&lt;/html&gt;\""
+
+#: C/message-board.c.page:171(p)
+msgid "The simplest HTML file you could possibly write."
+msgstr "Le plus simple fichier HTML que vous pourriez Ãcrire."
+
+#: C/message-board.c.page:174(code)
+#, no-wrap
+msgid "\"text/html\""
+msgstr "ÂÂtext/htmlÂÂ"
+
+#: C/message-board.c.page:175(p)
+msgid ""
+"The MIME type of the content you provided. In this case, you're using plain "
+"HTML."
+msgstr ""
+"Le type MIME du contenu que vous avez fourni. Dans ce cas vous utilisez du "
+"HTML simple."
+
+#: C/message-board.c.page:179(code)
+#, no-wrap
+msgid "\"UTF-8\""
+msgstr "ÂÂUTF-8ÂÂ"
+
+#: C/message-board.c.page:180(p)
+msgid ""
+"The character encoding of the content you provided. Although you only used "
+"ASCII characters, it's a good idea to specify UTF-8. UTF-8 is used as the "
+"default encoding throughout the GNOME platform."
+msgstr ""
+"Le type de codage de caractÃres du contenu que vous avez fourni. Bien que "
+"vous n'ayez probablement utilisà que des caractÃres ASCII, c'est une bonne "
+"pratique de spÃcifier UTF-8, car c'est le codage par dÃfaut utilisà dans "
+"toute la plateforme GNOME."
+
+#: C/message-board.c.page:185(code)
+#, no-wrap
+msgid "NULL"
+msgstr "NULL"
+
+#: C/message-board.c.page:186(p)
+msgid ""
+"The base URI. You don't need it in this simple example, but you might want "
+"to provide a <sys>file:</sys> URI if you add images or other features where "
+"you want to use relative URI references."
+msgstr ""
+"L'URI de base. Vous n'en avez pas besoin dans cet exemple, mais vous "
+"pourriez fournir un URI <sys>file:</sys> pour ajouter des images ou d'autres "
+"choses pour lesquelles vous devrez utiliser les rÃfÃrences d'URI "
+"correspondantes."
+
+#: C/message-board.c.page:193(p)
+msgid ""
+"Every time you add a widget, you have to call <code>gtk_widget_show</code> "
+"on it for it to be visible. If you call <code>gtk_widget_show_all</code> on "
+"a container widget like a <code>GtkBox</code>, GTK+ will automatically show "
+"all the widgets inside the container, to any depth. Sometimes you don't want "
+"to call <code>gtk_widget_show_all</code>, such as when you want to "
+"dynamically hide and show some widgets in response to events."
+msgstr ""
+"Chaque fois que vous ajoutez un ÃlÃment graphique, vous devez appeler "
+"<code>gtk_widget_show</code> pour le rendre visible. Si vous appelez "
+"<code>gtk_widget_show_all</code> sur un conteneur comme une <code>GtkBox</"
+"code>, GTK+ montre automatiquement tous les ÃlÃments graphiques qui sont à "
+"l'intÃrieur quelque soit leur altitude (depth). Parfois, vous ne voulez pas "
+"appeler <code>gtk_widget_show_all</code>, comme quand vous souhaitez faire "
+"apparaÃtre ou disparaÃtre dynamiquement des ÃlÃments graphiques en rÃponse à "
+"des ÃvÃnements."
+
+#: C/message-board.c.page:201(p)
+msgid ""
+"Finally, you have to call <code>gtk_widget_show_all</code> on the box. "
+"Otherwise, none of the widgets you created will be visible. (The window is "
+"shown in the <code>main</code> function with <code>gtk_widget_show</code>.)"
+msgstr ""
+"Enfin, vous devez appeler <code>gtk_widget_show_all</code> sur la boÃte. "
+"Sinon, aucun des ÃlÃments graphiques crÃÃs n'est visible (la fenÃtre est "
+"affichÃe dans la fonction <code>main</code> avec <code>gtk_widget_show</"
+"code>)."
+
+#: C/message-board.c.page:205(p)
+msgid ""
+"Build and run the message board again. You should see a window with a text "
+"entry and a web view. It doesn't do anything yet because the text entry and "
+"the web view don't know anything about each other."
+msgstr ""
+"Construisez et exÃcutez le visionneur de messages une nouvelle fois. Vous "
+"devez voir apparaÃtre une fenÃtre contenant du texte et une vue Web. Pour "
+"l'instant, il ne se passe encore rien, car le champ texte et la vue Web ne "
+"savent rien l'un sur l'autre."
+
+#: C/message-board.c.page:211(title)
+msgid "Hook up signals"
+msgstr "Signaux de connexion"
+
+#: C/message-board.c.page:213(p)
+msgid ""
+"Now you want to make the message board actually <em>do</em> something when "
+"you enter text into the text entry. To do this, connect a callback function "
+"to the <code>activate</code> signal of <code>entry</code>. GTK+ emits the "
+"<code>activate</code> signal whenever the user presses <key>Enter</key> in "
+"the entry. Add the following into <code>create_window</code>, anywhere after "
+"both <code>entry</code> and <code>view</code> have been defined:"
+msgstr ""
+"Maintenant, vous allez faire en sorte que le visionneur de messages "
+"<em>fasse</em> quelque chose quand vous saisissez du texte dans le champ de "
+"texte. Pour ce faire, connectez une fonction de rappel au signal "
+"<code>activate</code> de l'ÃlÃment <code>entry</code>. GTK+ Ãmet le signal "
+"<code>activate</code> Ã chaque fois que l'utilisateur appuie sur la touche "
+"<key>EntrÃe</key> dans le champ. Ajoutez ceci dans <code>create_window</"
+"code>, n'importe oà aprÃs la dÃfinition de <code>entry</code> et <code>view</"
+"code>Â:"
+
+#: C/message-board.c.page:224(p)
+msgid ""
+"You then have to actually define <code>entry_activate_cb</code>. Define it "
+"as follows, anywhere above <code>create_window</code>:"
+msgstr ""
+"Vous devez ensuite dÃfinir <code>entry_activate_cb</code> de la faÃon "
+"suivante, n'importe oà au-dessus de <code>create_window</code>Â:"
+
+#: C/message-board.c.page:247(p)
+msgid ""
+"The first thing you do is get a <code>WebKitDOMDocument</code> object that "
+"represents the HTML document displayed in <code>view</code>. The DOM classes "
+"and methods in WebKit allow you to inspect and manipulate the HTML document, "
+"and work very similarly to the DOM APIs you might already know from "
+"JavaScript."
+msgstr ""
+"La premiÃre chose à faire est d'obtenir un objet <code>WebKitDOMDocument</"
+"code> qui reprÃsente le document HTML affichà dans <code>view</code>. Les "
+"classes et les mÃthodes DOM de WebKit vous permettent d'examiner et de "
+"manipuler le document HTML et fonctionnent d'une faÃon trÃs similaire aux "
+"API DOM de JavaScript que vous connaissez peut-Ãtre dÃjÃ."
+
+#: C/message-board.c.page:253(p)
+msgid ""
+"Once you have the document, you want to get the <code>body</code> element so "
+"that you can add <code>div</code> elements to it. The "
+"<code>webkit_dom_document_query_selector</code> function lets you find an "
+"element in the document using CSS selectors. This keeps you from having to "
+"write tedious loops to traverse the document."
+msgstr ""
+"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 "
+"vous Ãvite de fastidieux aller-retour à travers le document."
+
+#: C/message-board.c.page:260(cite) C/message-board.c.page:272(cite)
+#: C/message-board.c.page:324(cite) C/message-board.c.page:381(cite)
+#: C/message-board.c.page:389(cite)
+msgid "shaunm"
+msgstr "shaunm"
+
+#: C/message-board.c.page:261(p)
+msgid "FIXME: Is this true? Does query_selector take CSS, CSSish, or what?"
+msgstr ""
+"FIXMEÂ: est-ce vraiÂ? est-ce que ÂÂquery_selectorÂÂ prend en charge le CSS, "
+"le CSSish, ou quoiÂ?"
+
+#: C/message-board.c.page:264(p)
+msgid ""
+"Next, you create a new <code>div</code> element to hold the message. Every "
+"element you create has to be attached to a document, so the function to "
+"create an element takes the <code>WebKitDOMDocument</code> as its first "
+"arguments. You then set the text content of the element to the contents of "
+"the text entry. Because <code>gtk_entry_get_text</code> returns a "
+"<code>const gchar*</code>, you don't have to free the result."
+msgstr ""
+"Puis, vous crÃez un nouveau bloc <code>div</code> pour contenir le message. "
+"Chaque ÃlÃment que vous crÃez doit Ãtre attachà à un documentÂ; ainsi la "
+"fonction pour crÃer un ÃlÃment prend le <code>WebKitDOMDocument</code> comme "
+"premier argument. Vous dÃfinissez ensuite le contenu texte de l'ÃlÃment au "
+"contenu du champ texte. Ãtant donnà que <code>gtk_entry_get_text</code> "
+"retourne un <code>const gchar*</code>, vous n'Ãtes pas obligà de libÃrer le "
+"rÃsultat."
+
+#: C/message-board.c.page:273(p)
+msgid ""
+"Not passing the GError**, but we should give it a quick mention and link to "
+"somewhere that explains how GError-handling works."
+msgstr ""
+"Not passing the GError**, but we should give it a quick mention and link to "
+"somewhere that explains how GError-handling works."
+
+#: C/message-board.c.page:277(p)
+msgid ""
+"Finally, you append the new <code>div</code> element to the body and clear "
+"out the text entry so you can type something new. Build and run the program "
+"again and test it for yourself."
+msgstr ""
+"Enfin, vous devez ajouter le nouveau bloc <code>div</code> aprÃs le bloc "
+"<code>body</code> et effacer le champ texte pour pouvoir y saisir quelque "
+"chose d'autre. Construisez et exÃcutez le programme à nouveau et testez-le."
+
+#: C/message-board.c.page:284(title)
+msgid "Make it look better with CSS"
+msgstr "Le rendre plus joli avec du CSS"
+
+#: C/message-board.c.page:286(p)
+msgid ""
+"At this point, your program is completely functional, but not very pretty. "
+"You can style the message display with CSS, just like you can with any other "
+"HTML page. There are many ways you could attach some CSS to the page: You "
+"could add it in the initial HTML document. You could inline it in the "
+"<code>style</code> attribute of the <code>div</code> elements. You could "
+"even programmatically construct it using the DOM APIs."
+msgstr ""
+"à ce stade, votre programme est tout à fait fonctionnel, mais le rÃsultat "
+"pas trÃs joli. Vous pouvez styliser votre affichage avec CSS, comme vous le "
+"feriez avec n'importe quelle autre page HTML. Il y a plusieurs faÃons "
+"d'attacher du CSS Ã votre pageÂ: vous pouvez l'ajouter au document HTML "
+"initial, vous pouvez l'incorporer dans l'attribut <code>style</code> des "
+"blocs <code>div</code>, ou encore le construire en le programmant à partir "
+"des API DOM."
+
+#: C/message-board.c.page:293(p)
+msgid ""
+"In this tutorial, you'll attach the CSS using the <code>user-stylesheet-uri</"
+"code> property of the <code>WebKitWebSetting</code> object attached to your "
+"web view. In a more complete application, you would want to save and load "
+"your HTML file. Keeping the style information outside the actual HTML means "
+"that you can change the styling completely within your application, without "
+"having to change users' files. You would normally just install a file along "
+"with your application, but just to keep everything in one file for this "
+"demo, we'll use a trick called a data URI. First, define the CSS as a static "
+"string near the top of your file."
+msgstr ""
+"Dans ce tutoriel, vous allez ajouter du CSS en utilisant la propriÃtà "
+"<code>user-stylesheet-uri</code> de l'objet <code>WebKitWebSetting</code> "
+"attachÃe à votre vue Web. Pour une application plus ÃlaborÃe, il serait "
+"prÃfÃrable d'enregistrer et de charger votre fichier HTML. SÃparer les "
+"informations de style du vrai HTML conduit à pouvoir complÃtement changer de "
+"style dans votre application sans toucher aux fichiers des utilisateurs. "
+"Normalement, il faudrait juste installer un fichier avec votre application, "
+"mais pour cet exemple, et pour que tout soit dans un seul fichier, nous "
+"allons utiliser une astuce nommÃe un URI de donnÃes. Commencez par dÃfinir "
+"le CSS dans une chaÃne de type ÂÂstaticÂÂ et placez-la prÃs du dÃbut du "
+"fichier."
+
+#: C/message-board.c.page:315(p)
+msgid ""
+"All you have in this example are <code>div</code> elements inside a "
+"<code>body</code> element. If you created more complicated HTML, you could "
+"use whatever CSS is necessary. In fact, if you're comfortable with CSS, you "
+"should trying changing this to something you like better."
+msgstr ""
+"Dans cet exemple, vous n'avez que des blocs <code>div</code> dans un ÃlÃment "
+"<code>body</code>. Si vous crÃez un document HTML plus complexe, vous pouvez "
+"utiliser le code CSS dont vous avez besoin. En fait, si vous vous sentez à "
+"l'aise avec le CSS, vous pouvez essayer de modifier cette partie pour en "
+"faire ce qu'il vous plaÃt."
+
+#: C/message-board.c.page:320(p)
+msgid ""
+"To apply the CSS, you set the <code>user-stylesheet-uri</code> in the "
+"<code>create_window</code> function, anywhere after <code>view</code> has "
+"already been defined."
+msgstr ""
+"Pour appliquer le CSS, placez <code>user-stylesheet-uri</code> n'importe oà "
+"dans la fonction <code>create_window</code> aprÃs la dÃfinition de "
+"<code>view</code>."
+
+#: C/message-board.c.page:324(p)
+msgid "g_base64_encode has bad args"
+msgstr "g_base64_encode has bad args"
+
+#: C/message-board.c.page:336(p)
+msgid ""
+"Also, make sure to add variable declarations for <code>tmp</code> and "
+"<code>css</code> to the top of <code>create_window</code>."
+msgstr ""
+"Assurez-vous aussi d'ajouter les dÃclarations pour les variables <code>tmp</"
+"code> et <code>css</code> en haut de <code>create_window</code>."
+
+#: C/message-board.c.page:339(code)
+#, no-wrap
+msgid ""
+"\n"
+"gchar *tmp, *css;\n"
+msgstr ""
+"\n"
+"gchar *tmp, *css;\n"
+
+#: C/message-board.c.page:343(p)
+msgid ""
+"A data URI starts with <sys>data:</sys> and some information about the "
+"content type and how the data is encoded. The actual data follows after a "
+"comma, in this case encoded in Base64. Unlike other URI schemes like "
+"<sys>http:</sys>, <sys>ftp:</sys>, and <sys>file:</sys>, the <sys>data:</"
+"sys> URI scheme doesn't specify where to find a file to load. Rather, it "
+"gives the entire contents of the file."
+msgstr ""
+"Un URI de donnÃes commence par <sys>data:</sys>, quelques informations sur "
+"le type de contenu et par la faÃon dont les donnÃes sont codÃes. Les vraies "
+"donnÃes suivent aprÃs une virgule et dans notre cas sont codÃes en Base64. "
+"Contrairement à d'autres protocoles d'URI, comme <sys>http:</sys>, <sys>ftp:"
+"</sys> et <sys>file:</sys>, l'URI <sys>data:</sys> ne spÃcifie pas oà "
+"trouver le fichier à charger. Il fournit par contre le contenu complet du "
+"fichier."
+
+#: C/message-board.c.page:350(p)
+msgid ""
+"The code above first encodes your CSS definitions in Base64, then combines "
+"that with a fixed string to create a data URI. The <code>g_strconcat</code> "
+"function can take any number of string arguments and concatenate them all "
+"together, so you have to pass <code>NULL</code> as the final argument so it "
+"knows when to stop. And don't forget to free those temporary strings after "
+"you set the stylesheet property."
+msgstr ""
+"Le programme ci-dessus code d'abord vos dÃfinitions CSS en Base64, puis les "
+"combine dans une chaÃne constante pour gÃnÃrer un URI de donnÃes. La "
+"fonction <code>g_strconcat</code> peut prendre un nombre infini d'arguments "
+"de type chaÃne de caractÃres et les assemble. Par consÃquent il vous faut "
+"mettre <code>NULL</code> comme dernier argument pour lui indiquer oà "
+"s'arrÃter. N'oubliez pas de libÃrer ces chaÃnes temporaires aprÃs avoir "
+"dÃfini la propriÃtà de la feuille de style."
+
+#: C/message-board.c.page:357(p)
+msgid ""
+"Build and run the program again. It should now work exactly the same as at "
+"the end of the last section, except the messages will be nicely styled with "
+"a border and a subtle background gradient."
+msgstr ""
+"Construisez et exÃcutez à nouveau le programme. Il doit maintenant "
+"fonctionner exactement de la mÃme faÃon qu'Ã la fin du chapitre prÃcÃdent, "
+"sauf que cette fois, les messages sont joliment stylisÃs avec une bordure et "
+"un gradient discret en arriÃre-plan."
+
+#: C/message-board.c.page:363(title)
+msgid "Learn more"
+msgstr "En savoir plus"
+
+#: C/message-board.c.page:365(p)
+msgid ""
+"This tutorial showed you how to create a basic application using GTK+ and "
+"WebKit, including showing a document and manipulating its contents. To "
+"create a real application, you probably want to do a little bit more. Try "
+"adding features on your own. Here are a few ideas:"
+msgstr ""
+"Le but de ce tutoriel Ãtait de vous montrer comment crÃer une application "
+"basique avec GTK+ et WebKit, et Ãgalement d'afficher un document et de "
+"manipuler son contenu. Pour crÃer une application rÃelle, vous voudrez "
+"probablement en faire un peu plus. Essayez d'ajouter vous-mÃme d'autres "
+"fonctionnalitÃs. Voici quelques idÃesÂ:"
+
+#: C/message-board.c.page:371(p)
+msgid ""
+"If you're comfortable with CSS, try changing the style of the message "
+"display. CSS is easy to get started with, but increasingly more powerful. "
+"There is a wealth of CSS tutorials on the Internet, and just about "
+"everything you can do on the web, you can do in this application."
+msgstr ""
+"Si vous Ãtes à l'aise avec CSS, essayez de modifier le style d'affichage du "
+"message. DÃbuter avec le CSS est facile, mais en allant plus loin Ãa devient "
+"un objet plus puissant. Vous allez trouver plein de tutoriels CSS sur "
+"internet, et tous sont adaptables à cette application."
+
+#: C/message-board.c.page:377(p)
+msgid ""
+"Right now, you lose all your messages whenever you close the message board. "
+"Try saving the HTML contents after each post, and loading the saved file (if "
+"it exists) on startup."
+msgstr ""
+"Pour l'instant, vous perdez tous vos messages chaque fois que vous fermez le "
+"visionneur de messages. Essayez d'enregistrer le contenu HTML aprÃs chaque "
+"message et d'ouvrir le fichier enregistrà (s'il existe) au dÃmarrage."
+
+#: C/message-board.c.page:381(p)
+msgid "Link to method to get HTML from DOM and to GIO APIs."
+msgstr "Lien vers une mÃthode pour obtenir de l'HTML de DOM vers les API GIO."
+
+#: C/message-board.c.page:385(p)
+msgid ""
+"If you keep your messages around for a long time, you'll start wondering "
+"when you posted them. Add a timestamp to each message when it's posted. "
+"You'll probably want to create some additional child <code>div</code> "
+"elements with different classes that you can style in the CSS."
+msgstr ""
+"Si vous conservez vos messages pendant longtemps, un jour vous allez vous "
+"demander quand ils ont Ãtà postÃs. Ajoutez un horodatage à chaque message "
+"postÃ. CrÃez quelques blocs <code>div</code> enfants supplÃmentaires avec "
+"des classes diffÃrentes que vous pouvez styliser dans la feuille CSS."
+
+#: C/message-board.c.page:389(p)
+msgid "Link to strftime or something"
+msgstr "Lien vers ÂÂstrftime oà autre"
+
+#: C/message-board.c.page:392(p)
+msgid ""
+"This program keeps messages around forever. Think about ways you could allow "
+"the user to delete messages. Perhaps you want messages to disappear "
+"automatically after they're too old, or after there are a certain number of "
+"messages before them. Or you could add a link in each message to delete it. "
+"You could even override the context menu when you right-click on a message. "
+"These features involve exploring WebKit's DOM API more."
+msgstr ""
+"Ce programme conserve les messages pour toujours. RÃflÃchissez à une faÃon "
+"pour autoriser l'utilisateur à supprimer des messages. Peut-Ãtre en les "
+"faisant disparaÃtre automatiquement lorsqu'ils sont trop vieux ou quand il y "
+"a un nombre dÃfini de messages devant eux. Ou alors en ajoutant un lien à "
+"chaque message pour pouvoir le supprimer. Ou encore en redÃfinissant le menu "
+"contextuel quand vous faites un clic-droit sur un message. Ces fonctions "
+"impliquent que vous exploriez davantage encore les API DOM de WebKit."
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/magic-mirror.vala.page:39(None)
+msgid "@@image: 'media/magic-mirror.png'; md5=8171faea6ed3b6ddac0da084c29e4e22"
+msgstr ""
+"@@image: 'media/magic-mirror.png'; md5=8171faea6ed3b6ddac0da084c29e4e22"
+
+#: C/magic-mirror.vala.page:8(desc)
+msgid "Use your webcam as a mirror using the GStreamer framework and Gtk+"
+msgstr "Utilisation de votre webcam comme miroir avec GStreamer et Gtk+"
+
+#: C/magic-mirror.vala.page:12(name)
+msgid "Daniel G. Siegel"
+msgstr "Daniel G. Siegel"
+
+#: C/magic-mirror.vala.page:13(email)
+msgid "dgsiegel gnome org"
+msgstr "dgsiegel gnome org"
+
+#: C/magic-mirror.vala.page:21(title)
+msgid "Magic Mirror"
+msgstr "Miroir magique"
+
+#: C/magic-mirror.vala.page:24(em)
+msgid ""
+"Your mirror just fell off the wall and broke into a thousand pieces â but "
+"you need a mirror to shave your beard off or add some makeup! You only have "
+"15 minutes left before catching the bus to work. So what can you do?"
+msgstr ""
+"Votre miroir vient juste de tomber du mur et s'est cassà en mille morceaux. "
+"Mais il vous faut un miroir pour vous raser ou pour vous maquillerÂ! Il ne "
+"vous reste que 15 minutes avant d'attraper le bus pour aller au travail. "
+"Comment faireÂ?"
+
+#: C/magic-mirror.vala.page:25(p)
+msgid ""
+"In this tutorial, we're going to make a program which lets you use your "
+"webcam as a mirror. You will learn how to:"
+msgstr ""
+"Dans ce tutoriel, nous allons faire un programme qui va vous permettre "
+"d'utiliser votre webcam comme miroir. Vous apprendrez commentÂ:"
+
+#: C/magic-mirror.vala.page:27(p)
+msgid "Create a GTK+ application"
+msgstr "crÃer une application GTK+,"
+
+#: C/magic-mirror.vala.page:28(p)
+msgid "Access your webcam using GStreamer and embed the result into a window"
+msgstr ""
+"accÃder à votre webcam en utilisant GStreamer et intÃgrer le rÃsultat dans "
+"une fenÃtre,"
+
+#: C/magic-mirror.vala.page:29(p)
+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)
+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)
+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>,"
+
+#: C/magic-mirror.vala.page:34(p)
+msgid "Installed copies of GTK, GStreamer, and a Vala compiler"
+msgstr "l'installation des paquets GTK, GStreamer et d'un compilateur Vala,"
+
+#: C/magic-mirror.vala.page:35(p)
+msgid "Basic knowledge of an object-oriented programming language"
+msgstr "des connaissances de base d'un langage de programmation d'objets."
+
+#: C/magic-mirror.vala.page:49(p)
+msgid ""
+"Choose <gui>Gtk+ (simple)</gui> from the <gui>Vala</gui> tab, click "
+"<gui>Forward</gui>, and fill out your details on the next few pages. Use "
+"<file>guitar-tuner</file> as project name and directory."
+msgstr ""
+"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>miroir_magique</file> comme nom de projet et de "
+"rÃpertoire."
+
+#: C/magic-mirror.vala.page:52(p)
+msgid ""
+"Disable <gui>Use GtkBuilder for user interface</gui> as we will create the "
+"UI manually in this tutorial. Check the <link xref=\"guitar-tuner.vala"
+"\">Guitar-Tuner</link> tutorial using the interface builder."
+msgstr ""
+"DÃsactivez <gui>Utiliser GtkBuilder pour l'interface utilisateur</gui> car "
+"nous allons crÃer l'interface utilisateur manuellement. Consultez le "
+"tutoriel <link xref=\"guitar-tuner.vala\">Accordeur de guitare</link> Ã "
+"propos de l'utilisation du constructeur d'interface GtkBuilder."
+
+#: C/magic-mirror.vala.page:57(p)
+msgid ""
+"Make sure that <gui>Configure external packages</gui> is selected. On the "
+"next page, select <em>gstreamer-0.10</em> from the list to include the "
+"<app>GStreamer</app> library into your project."
+msgstr ""
+"Assurez-vous que <gui>Configuration des paquets externes</gui> est activÃ. "
+"Sur la page suivante, sÃlectionnez <em>gstreamer-0.10</em> dans la liste "
+"pour inclure la bibliothÃque <app>GStreamer</app> Ã votre projet."
+
+#: C/magic-mirror.vala.page:61(p)
+msgid ""
+"Click <gui>Apply</gui> and the project will be created for you. Open "
+"<file>src/magic_mirror.vala</file> from the <gui>Project</gui> or <gui>File</"
+"gui> tabs. You should see some code which starts with the lines:"
+msgstr ""
+"Cliquez sur <gui>Appliquer</gui> et votre projet est crÃÃ. Ouvrez <file>src/"
+"miroir_magique.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Â:"
+
+#: 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)
+msgid "Build the code for the first time"
+msgstr "PremiÃre construction du programme"
+
+#: C/magic-mirror.vala.page:71(p)
+msgid ""
+"The code loads an (empty) window and shows it. More details are given below; "
+"skip this list if you understand the basics:"
+msgstr ""
+"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)
+msgid ""
+"The two <code>using</code> lines import namespaces so we don't have to name "
+"them explicitly."
+msgstr ""
+"Les deux lignes <code>using</code> importent des espaces de noms que nous "
+"n'aurons plus à nommer explicitement."
+
+#: C/magic-mirror.vala.page:77(p)
+msgid ""
+"The constructor of the <code>Main</code> class creates a new window and sets "
+"its title. Afterwards the window is shown and a signal is connected which "
+"quits the application if the window is closed. More on signals later on."
+msgstr ""
+"Le constructeur de la classe principale <code>Main</code> crÃe une nouvelle "
+"fenÃtre et dÃfinit son titre. Ensuite, la fenÃtre est affichÃe et un signal "
+"permettant de quitter l'application est connectà à la fermeture de la "
+"fenÃtre. Plus d'informations sur les signaux sont donnÃes plus tard."
+
+#: C/magic-mirror.vala.page:81(p)
+msgid ""
+"The static <code>main</code> function is run by default when you start a "
+"Vala application. It calls a few functions which create the Main class, set "
+"up and then run the application. The <code>Gtk.Main</code> function starts "
+"the GTK main loop, which runs the user interface and starts listening for "
+"events (like clicks and key presses)."
+msgstr ""
+"La fonction statique <code>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 ÂÂMainÂÂ, initialise et ensuite exÃcute l'application. La fonction "
+"<code>Gtk.Main</code> dÃmarre la boucle principale GTK, qui lance "
+"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/guitar-tuner.cpp.page:78(p) C/guitar-tuner.c.page:82(p)
+msgid ""
+"This code is ready to be used, so you can compile it by clicking "
+"<guiseq><gui>Build</gui><gui>Build Project</gui></guiseq> (or press "
+"<keyseq><key>Shift</key><key>F7</key></keyseq>)."
+msgstr ""
+"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>."
+
+#: C/magic-mirror.vala.page:86(p) C/guitar-tuner.vala.page:80(p)
+msgid ""
+"Change the <gui>Configuration</gui> to <gui>Default</gui> and then press "
+"<gui>Execute</gui> to configure the build directory. You only need to do "
+"this once, for the first build."
+msgstr ""
+"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/magic-mirror.vala.page:90(title)
+msgid "Access the webcam video stream with GStreamer"
+msgstr "AccÃs au flux vidÃo de votre webcam avec GStreamer"
+
+#: C/magic-mirror.vala.page:91(p)
+msgid ""
+"The GStreamer multimedia framework is able to handle video from webcams. "
+"Let's add GStreamer to our application and so we can access the video stream."
+msgstr ""
+"L'architecture multimÃdia de GStreamer sait gÃrer les vidÃos en provenance "
+"de webcams. Ajoutons GStreamer à notre application et nous pouvons ainsi "
+"accÃder au flux vidÃo."
+
+#: C/magic-mirror.vala.page:118(p)
+msgid ""
+"First we remove the window we created before because GStreamer will take "
+"care of showing the picture on screen."
+msgstr ""
+"Enlevons d'abord la fenÃtre crÃÃe prÃcÃdemment, car GStreamer va gÃrer "
+"l'affichage de l'image à l'Ãcran."
+
+#: C/magic-mirror.vala.page:122(p)
+msgid ""
+"Now we are creating a GStreamer element which accesses our webcam. We are "
+"using the Camerabin element, which is an all-in-one camera element and is "
+"capable of taking photos, videos, applying effects and much more. Perfect "
+"for our use case! With <code>this.camerabin.set_state (Gst.State.PLAYING)</"
+"code> we tell the GStreamer pipeline we just created to start playing. Easy, "
+"no?"
+msgstr ""
+"CrÃons maintenant un ÃlÃment GStreamer qui va accÃder à notre webcam. Nous "
+"utilisons l'ÃlÃment ÂÂCamerabinÂÂ, qui est un ÃlÃment camÃra tout-en-un et "
+"qui sait faire des photos, des vidÃos, appliquer des effets et beaucoup plus "
+"encore. Parfait dans notre casÂ! Avec <code>this.camerabin.set_state (Gst."
+"State.PLAYING)</code> nous disons au pipeline GStreamer, que nous venons de "
+"crÃer, de commencer la lecture. Facile, nonÂ?"
+
+#: C/magic-mirror.vala.page:129(p)
+msgid ""
+"Of course it is also possible to integrate the video more tighly into other "
+"windows but that is an advanced topic that includes some details of the X "
+"Window System we will omit here."
+msgstr ""
+"Bien sÃr, il est aussi possible d'ajuster plus prÃcisÃment la vidÃo dans "
+"d'autres fenÃtres, mais c'est un sujet avancÃ, qui inclut des dÃtails sur le "
+"systÃme X Window et que nous ne traiterons pas ici."
+
+#: C/magic-mirror.vala.page:133(p)
+msgid ""
+"Compile and run it again. You will end up with two windows. In the next step "
+"we will integrate the video into the GTK+ window."
+msgstr ""
+"Compilez et exÃcutez le programme à nouveau. Vous obtenez finalement deux "
+"fenÃtres. Ã l'Ãtape suivante, nous allons intÃgrer la vidÃo dans la fenÃtre "
+"GTK+."
+
+#: C/magic-mirror.vala.page:143(p)
+msgid ""
+"If you run into problems with the tutorial, compare your code with this "
+"<link href=\"magic-mirror/magic-mirror.vala\">reference code</link>. There "
+"is also a more <link href=\"magic-mirror/magic-mirror-advanced.vala"
+"\">extensive implementation</link> that embeds the window into a regular Gtk."
+"Window which involves some advanced techniques, and adds buttons to start/"
+"stop the picture."
+msgstr ""
+"Si vous rencontrez des difficultÃs avec ce tutoriel, comparez votre "
+"programme à ce <link href=\"magic-mirror/magic-mirror.vala\">programme de "
+"rÃfÃrence</link>. Il existe aussi une <link href=\"magic-mirror/magic-mirror-"
+"advanced.vala\">implÃmentation plus complÃte</link> qui intÃgre la fenÃtre à "
+"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)
+msgid "Further reading"
+msgstr "Documentation complÃmentaire"
+
+#: C/magic-mirror.vala.page:150(p) C/guitar-tuner.vala.page:249(p)
+msgid ""
+"To find out more about the Vala programming language you might want to check "
+"out the <link href=\"http://live.gnome.org/Vala/Tutorial\";>Vala Tutorial</"
+"link>."
+msgstr ""
+"Pour en savoir plus à propos de la programmation en langage Vala, consultez "
+"le <link href=\"http://live.gnome.org/Vala/Tutorial\";>manuel Vala</link>."
+
+#: C/magic-mirror.vala.page:155(title)
+msgid "Conclusion"
+msgstr "Conclusion"
+
+#: C/magic-mirror.vala.page:156(p)
+msgid ""
+"That's it, you have managed to create a full-featured webcam photo "
+"application in 15 minutes. Now you can shave your beard off or add some "
+"makeup to your beautiful face, right before having a beautiful day at your "
+"workplace, where you can impress your friends and colleagues with an awesome "
+"application you just made in 15 minutes."
+msgstr ""
+"Ãa y estÂ; vous avez rÃussi à crÃer une application fonctionnelle pour "
+"webcam en 15 minutes. Maintenant, vous pouvez vous raser ou maquiller votre "
+"joli visage avant de passer une belle journÃe sur votre lieu de travail, oà "
+"vous allez pouvoir Ãpater vos amis et collÃgues avec une application gÃniale "
+"faite en 15 minutes."
+
+#. 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)
+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.js.page:13(name) C/image-viewer.py.page:13(name)
+msgid "Jonh Wendell"
+msgstr "Jonh Wendell"
+
+#: 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.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)
+msgid "Image Viewer"
+msgstr "Visionneur d'images"
+
+#: C/image-viewer.js.page:26(p) C/image-viewer.py.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.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:29(p) C/image-viewer.py.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.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.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.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: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:51(p)
+msgid ""
+"Choose <gui>Generic Javascript</gui> from the <gui>JS</gui> tab, click "
+"<gui>Forward</gui>, and fill out your details on the next few pages. Use "
+"<file>image-viewer</file> as project name and directory."
+msgstr ""
+"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.js.page:54(p)
+msgid ""
+"Click <gui>Apply</gui> and the project will be created for you. Open "
+"<file>src/main.js</file> from the <gui>Project</gui> or <gui>File</gui> "
+"tabs. It contains very basic example code."
+msgstr ""
+"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"
+
+#: 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>Â:"
+
+# 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 ""
+"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 ""
+"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Â:"
+
+#: C/image-viewer.js.page:92(p)
+msgid ""
+"This defines a class called <code>MyClass</code>. Let's go through each part "
+"of the class definition:"
+msgstr ""
+"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.js.page:95(p)
+msgid ""
+"<code>function MyClass</code> is the constructor of the class â its name "
+"must match the class's name. You can access any member of the class by using "
+"the <code>this</code> object; here, the constructor calls the class's "
+"<code>_init</code> method."
+msgstr ""
+"<code>function MyClass</code> 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.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.js.page:101(p)
+msgid ""
+"The first method defined here is called <code>_init</code>, and we specify "
+"that it is a function with no arguments:"
+msgstr ""
+"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 ()"
+
+#: C/image-viewer.js.page:103(p)
+msgid ""
+"We write the function inside some curly braces. Two fields are defined here, "
+"<code>propertyA</code> and <code>propertyB</code>. The first is set to a "
+"string and the second is set to an integer (10). The function doesn't return "
+"any value."
+msgstr ""
+"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.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 ""
+"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.js.page:109(p)
+msgid ""
+"Note how the class definition (prototype) is arranged; each function "
+"definition is separated by a comma."
+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."
+
+#: 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:125(title) C/image-viewer.py.page:64(title)
+msgid "A first Gtk application"
+msgstr "Une premiÃre application Gtk"
+
+#: 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: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.js.page:139(p) C/image-viewer.py.page:92(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.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:180(title) C/image-viewer.py.page:113(title)
+msgid "Signals"
+msgstr "Les signaux"
+
+#: C/image-viewer.js.page:181(p) C/image-viewer.py.page:114(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.js.page:188(p) C/image-viewer.py.page:121(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: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:211(title) C/image-viewer.py.page:125(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)
+msgid ""
+"Widgets (controls, such as buttons and labels) can be arranged in the window "
+"by making use of <em>containers</em>. You can organize the layout by mixing "
+"different types of containers, like boxes and grids."
+msgstr ""
+"Les ÃlÃments graphiques (les contrÃles, comme les boutons ou les Ãtiquettes) "
+"peuvent Ãtre disposÃs dans la fenÃtre à l'aide de <em>conteneurs</em>. Vous "
+"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)
+msgid ""
+"A <code>Gtk.Window</code> is itself a type of container, but you can only "
+"put one widget directly into it. We would like to have two widgets, an image "
+"and a button, so we must put a \"higher-capacity\" container inside the "
+"window to hold the other widgets. A number of <link href=\"http://library.";
+"gnome.org/devel/gtk/stable/GtkContainer.html\">container types</link> are "
+"available, but we will use a <code>Gtk.Box</code> here. A <code>Gtk.Box</"
+"code> can hold several widgets, organized horizontally or vertically. You "
+"can do more complicated layouts by putting several boxes inside another box "
+"and so on."
+msgstr ""
+"Une fenÃtre <code>Gtk.Window</code> est elle-mÃme un type de conteneur, mais "
+"vous ne pouvez y insÃrer directement qu'un seul ÃlÃment graphique. Nous "
+"aimerions avoir deux ÃlÃments graphiques, une image et un bouton, donc nous "
+"devons placer un conteneur de ÂÂplus haute capacitÃÂÂ dans la fenÃtre pour "
+"tout contenir. Plusieurs <link href=\"http://library.gnome.org/devel/gtk/";
+"stable/GtkContainer.html\">types de conteneurs</link> sont disponibles, mais "
+"nous allons utiliser ici une boÃte <code>Gtk.Box</code>. Une boÃte <code>Gtk."
+"Box</code> peut contenir plusieurs ÃlÃments graphiques, disposÃs "
+"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)
+msgid ""
+"There is a graphical user interface designer called <app>Glade</app> "
+"integrated in <app>Anjuta</app> which makes UI design really easy. For this "
+"simple example, however, we will code everything manually."
+msgstr ""
+"Il existe un concepteur graphique d'interface utilisateur appelà <app>Glade</"
+"app> intÃgrà à <app>Anjuta</app> ce qui rend la conception d'interface "
+"utilisateur vraiment facile. Dans cet exemple simple, cependant, nous allons "
+"tout programmer à la main."
+
+#: C/image-viewer.js.page:217(p)
+msgid ""
+"Let's add the box and widgets to the window. Insert the following code into "
+"the <code>_init</code> method, immediately above the <code>this.window.show</"
+"code> line:"
+msgstr ""
+"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>Â:"
+
+#: C/image-viewer.js.page:221(p)
+msgid ""
+"The first line creates a <code>Gtk.Box</code> called <code>main_box</code> "
+"and sets two of its properties: the <code>orientation</code> is set to "
+"vertical (so widgets are arranged in a column), and the <code>spacing</code> "
+"between the widgets is set to 0 pixels. The next line then adds the newly-"
+"created <code>Gtk.Box</code> to the window."
+msgstr ""
+"La 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.js.page:222(p) C/image-viewer.py.page:140(p)
+msgid ""
+"So far the window only contains an empty <code>Gtk.Box</code>, and if you "
+"run the program now you will see no changes at all (the <code>Gtk.Box</code> "
+"is a transparent container, so you can't see that it's there)."
+msgstr ""
+"Pour l'instant, la fenÃtre ne contient qu'une boÃte <code>Gtk.Box</code> "
+"vide et si vous exÃcutez le programme, vous ne verrez pas encore de "
+"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)
+msgid "Packing: Adding widgets to the container"
+msgstr "PlacementÂ: ajout d'ÃlÃments graphiques au conteneur"
+
+#: C/image-viewer.js.page:227(p)
+msgid ""
+"To add some widgets to the <code>Gtk.Box</code>, insert the following code "
+"directly below the <code>this.window.add (main_box)</code> line:"
+msgstr ""
+"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.js.page:231(p)
+msgid ""
+"The first line creates a new <code>Gtk.Image</code> called <code>image</"
+"code>, which will be used to display an image file. Then, the image widget "
+"is added (<em>packed</em>) into the <code>main_box</code> container using "
+"<code>Gtk.Box</code>'s <link href=\"http://library.gnome.org/devel/gtk/";
+"stable/GtkBox.html#gtk-box-pack-start\"><code>pack_start</code></link> "
+"method."
+msgstr ""
+"La 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.js.page:232(p)
+msgid ""
+"<code>pack_start</code> takes 4 arguments: the widget that is to be added to "
+"the <code>Gtk.Box</code> (<code>child</code>); whether the <code>Gtk.Box</"
+"code> should grow larger when the new widget is added (<code>expand</code>); "
+"whether the new widget should take up all of the extra space created if the "
+"<code>Gtk.Box</code> gets bigger (<code>fill</code>); and how much space "
+"there should be, in pixels, between the widget and its neighbors inside the "
+"<code>Gtk.Box</code> (<code>padding</code>)."
+msgstr ""
+"<code>pack_start</code> prend 4 argumentsÂ: l'ÃlÃment graphique enfant "
+"(<code>child</code>) qui doit Ãtre ajoutà à la boÃte <code>Gtk.Box</code>Â; "
+"si la boÃte <code>Gtk.Box</code> doit s'agrandir (<code>expand</code>) quand "
+"le nouvel ÃlÃment graphique est ajoutÃÂ; si le nouvel ÃlÃment graphique doit "
+"prendre tout le nouvel espace crÃÃ quand la boÃte <code>Gtk.Box</code> "
+"s'agrandit (<code>fill</code>)Â; et enfin combien d'espace libre "
+"(<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)
+msgid ""
+"Gtk containers (and widgets) dynamically expand to fill the available space, "
+"if you let them. You don't position widgets by giving them a precise x,y-"
+"coordinate location in the window; rather, they are positioned relative to "
+"one another. This makes handling window resizing much easier, and widgets "
+"should automatically take a sensible size in most situations."
+msgstr ""
+"Si vous les laissez faire, les conteneurs Gtk (et les ÃlÃments graphiques) "
+"s'agrandissent dynamiquement pour occuper tout l'espace disponible. Vous ne "
+"positionnez pas les ÃlÃments graphiques dans la fenÃtre en leur spÃcifiant "
+"des coordonnÃes x,y prÃcises mais vous les positionnez les uns par rapport "
+"aux autres. Ceci permet un redimensionnement plus aisà de la fenÃtre et les "
+"Ã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)
+msgid ""
+"Also note how the widgets are organized in a hierarchy. Once packed in the "
+"<code>Gtk.Box</code>, the <code>Gtk.Image</code> is considered a <em>child</"
+"em> of the <code>Gtk.Box</code>. This allows you to treat all of the "
+"children of a widget as a group; for example, you could hide the <code>Gtk."
+"Box</code>, which would also hide all of its children at the same time."
+msgstr ""
+"Notez aussi de quelle maniÃre les ÃlÃments graphiques sont organisÃs "
+"hiÃrarchiquement. Une fois placÃe dans la <code>Gtk.Box</code>, l'image "
+"<code>Gtk.Image</code> est considÃrÃe comme un <em>enfant</em> de la boÃte "
+"<code>Gtk.Box</code>. Ceci vous permet de traiter tous les enfants d'un "
+"ÃlÃment graphique comme un groupeÂ; par exemple, vous pouvez masquer la "
+"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)
+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)
+msgid ""
+"These lines are similar to the first two, but this time they create a "
+"<code>Gtk.Button</code> and add it to <code>main_box</code>. Notice that we "
+"are setting the <code>expand</code> argument (the second one) to "
+"<code>false</code> here, whereas it was set to <code>true</code> for the "
+"<code>Gtk.Image</code>. This will cause the image to take up all available "
+"space and the button to take only the space it needs. When you maximize the "
+"window, the button size will remain the same, but the image size will "
+"increase, taking up all of the rest of the window."
+msgstr ""
+"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 "
+"<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)
+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)
+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.js.page:248(p)
+msgid ""
+"The first step is to connect the <code>clicked</code> signal of the button "
+"to a signal handler function, which we call <code>_openClicked</code>. Put "
+"this code immediately after the <code>var open_button = new Gtk.Button</"
+"code> line where the button was created:"
+msgstr ""
+"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ÃÃÂ:"
+
+#: C/image-viewer.js.page:251(p)
+msgid ""
+"We are using the <em>Lang</em> JavaScript helper here. It allows us to "
+"connect a <em>class method</em> to the signal, rather than a plain function "
+"(without a class) which we had used before for the window's <code>hide</"
+"code> signal. Don't worry about this for now, it's just a technical detail. "
+"For it to work, you also need to put the following line at the top of the "
+"file:"
+msgstr ""
+"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;"
+
+#: C/image-viewer.js.page:256(title) C/image-viewer.py.page:174(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)
+msgid ""
+"Now we can create the <code>_openClicked()</code> method. Insert the "
+"following into the <code>ImageViewer.prototype</code> code block, after the "
+"<code>_init</code> method (and not forgetting the comma):"
+msgstr ""
+"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.js.page:277(p) C/image-viewer.py.page:191(p)
+#: C/image-viewer.cpp.page:172(p) C/image-viewer.c.page:184(p)
+msgid ""
+"This is a bit more complicated than anything we've attempted so far, so "
+"let's break it down:"
+msgstr ""
+"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)
+msgid ""
+"The line beginning with <code>var chooser</code> creates an <gui>Open</gui> "
+"dialog, which the user can use to choose files. We set four properties: the "
+"title of the dialog; the action (type) of the dialog (it's an \"open\" "
+"dialog, but we could have used <code>SAVE</code> if the intention was to "
+"save a file; <code>transient_for</code>, which sets the parent window of the "
+"dialog; and <code>modal</code> which, if set to <code>true</code>, prevents "
+"the user from clicking on another area of the application until the dialog "
+"is closed."
+msgstr ""
+"La 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)Â; <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.js.page:283(p) C/image-viewer.py.page:197(p)
+msgid ""
+"The next two lines add <gui>Cancel</gui> and <gui>Open</gui> buttons to the "
+"dialog. The second argument of the <code>add_button</code> method is the "
+"(integer) value that is returned when the button is pressed: 0 for "
+"<gui>Cancel</gui> and 1 for <gui>Open</gui>."
+msgstr ""
+"Les deux lignes suivantes ajoutent les boutons <gui>Cancel</gui> (Annuler) "
+"et <gui>Open</gui> (Ouvrir) Ã la boÃte de dialogue. Le second argument de la "
+"mÃthode <code>add_button</code> est la valeur (de type entier) qui est "
+"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.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 "
+"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 <em>collection</em> "
+"(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 "
+"seront dÃjà traduites dans la langue de l'utilisateur."
+
+#: C/image-viewer.js.page:287(p) C/image-viewer.py.page:201(p)
+msgid ""
+"<code>set_default_response</code> determines the button that will be "
+"activated if the user double-clicks a file or presses <key>Enter</key>. In "
+"our case, we are using the <gui>Open</gui> button as default (which has the "
+"value 1)."
+msgstr ""
+"<code>set_default_response</code> dÃtermine le bouton qui est activà quand "
+"l'utilisateur fait un double-clic sur un fichier ou appuie sur la touche "
+"<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)
+msgid ""
+"The next three lines restrict the <gui>Open</gui> dialog to only display "
+"files which can be opened by <code>Gtk.Image</code>. A filter object is "
+"created first; we then add all kinds of files supported by <code>Gdk.Pixbuf</"
+"code> (which includes most image formats like PNG and JPEG) to the filter. "
+"Finally, we set this filter to be the <gui>Open</gui> dialog's filter."
+msgstr ""
+"Les trois lignes suivantes limitent la boÃte de dialogue <gui>Ouvrir</gui> Ã "
+"l'affichage des seuls fichiers pouvant Ãtre ouverts par <code>Gtk.Image</"
+"code>. Un objet filtre est d'abord crÃÃÂ; ensuite nous ajoutons tous les "
+"types de fichier pris en charge par <code>Gdk.Pixbuf</code> (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.js.page:293(p)
+msgid ""
+"<code>chooser.run</code> displays the <gui>Open</gui> dialog. The dialog "
+"will wait for the user to choose an image; when they do, <code>chooser.run</"
+"code> will return the value <output>1</output> (it would return <output>0</"
+"output> if the user clicked <gui>Cancel</gui>). The <code>if</code> "
+"statement tests for this."
+msgstr ""
+"<code>chooser.run</code> 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 "
+"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)
+msgid ""
+"Assuming that the user did click <gui>Open</gui>, the next line sets the "
+"<code>file</code> property of the <code>Gtk.Image</code> to the filename of "
+"the image selected by the user. The <code>Gtk.Image</code> will then load "
+"and display the chosen image."
+msgstr ""
+"Supposons que l'utilisateur a cliquà sur le bouton <gui>Ouvrir</gui>, la "
+"ligne suivante dÃfinit la propriÃtà <code>file</code> du <code>Gtk.Image</"
+"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)
+msgid ""
+"All of the code you need should now be in place, so try running the code. "
+"That should be it; a fully-functioning image viewer (and a whistlestop tour "
+"of JavaScript and Gtk) in not much time at all!"
+msgstr ""
+"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Â!"
+
+#: C/image-viewer.js.page:311(p)
+msgid ""
+"If you run into problems with the tutorial, compare your code with this "
+"<link href=\"image-viewer/image-viewer.js\">reference code</link>."
+msgstr ""
+"Si vous rencontrez des difficultÃs avec ce tutoriel, comparez votre "
+"programme à ce <link href=\"image-viewer/image-viewer.js\">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)
+msgid ""
+"Have the user select a directory rather than a file, and provide controls to "
+"cycle through all of the images in a directory."
+msgstr ""
+"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."
+
+#: 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: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: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:327(p) C/image-viewer.py.page:241(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:28(p)
+msgid "Write a basic GTK user interface in Python"
+msgstr "Ãcrire une interface graphique GTK en Python,"
+
+#: 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: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: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:131(p)
+msgid ""
+"Let's add the box and widgets to the window. Insert the following code into "
+"the <code>__init__</code> method, immediately after the <code>window."
+"connect_after</code> line:"
+msgstr ""
+"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>Â:"
+
+#: C/image-viewer.py.page:139(p)
+msgid ""
+"The first line creates a <code>Gtk.Box</code> called <code>box</code> and "
+"the following lines set two of its properties: the <code>orientation</code> "
+"is set to vertical (so the widgets are arranged in a column), and the "
+"<code>spacing</code> between the widgets is set to 5 pixels. The next line "
+"then adds the newly-created <code>Gtk.Box</code> to the window."
+msgstr ""
+"La 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.py.page:145(p)
+msgid ""
+"To add some widgets to the <code>Gtk.Box</code>, insert the following code "
+"directly below the <code>window.add (box)</code> line:"
+msgstr ""
+"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.py.page:149(p)
+msgid ""
+"The first line creates a new <code>Gtk.Image</code> called <code>image</"
+"code>, which will be used to display an image file. As we need that later on "
+"in the signal handler, we will define it as a class-wide variable. You need "
+"to add <code>image = 0</code> to the beginning of the <code>GUI</code> "
+"class. Then, the image widget is added (<em>packed</em>) into the <code>box</"
+"code> container using GtkBox's <link href=\"http://library.gnome.org/devel/";
+"gtk/stable/GtkBox.html#gtk-box-pack-start\"><code>pack_start</code></link> "
+"method."
+msgstr ""
+"La 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.py.page:151(p)
+msgid ""
+"<code>pack_start</code> takes 4 arguments: the widget that is to be added to "
+"the GtkBox (<code>child</code>); whether the <code>Gtk.Box</code> should "
+"grow larger when the new widget is added (<code>expand</code>); whether the "
+"new widget should take up all of the extra space created if the <code>Gtk."
+"Box</code> gets bigger (<code>fill</code>); and how much space there should "
+"be, in pixels, between the widget and its neighbors inside the <code>Gtk."
+"Box</code> (<code>padding</code>)."
+msgstr ""
+"<code>pack_start</code> prend 4 argumentsÂ: l'ÃlÃment graphique enfant "
+"(<code>child</code>) qui doit Ãtre ajoutà à la boÃte <code>Gtk.Box</code>Â; "
+"si la boÃte <code>Gtk.Box</code> doit s'agrandir (<code>expand</code>) quand "
+"le nouvel ÃlÃment graphique est ajoutÃÂ; si le nouvel ÃlÃment graphique doit "
+"prendre tout le nouvel espace crÃÃ quand la boÃte <code>Gtk.Box</code> "
+"s'agrandit (<code>fill</code>)Â; et enfin combien d'espace libre "
+"(<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)
+msgid ""
+"These lines are similar to the first two, but this time they create a "
+"<code>Gtk.Button</code> and add it to <code>box</code>. Notice that we are "
+"setting the <code>expand</code> argument (the second one) to <code>False</"
+"code> here, whereas it was set to <code>True</code> for the <code>Gtk.Image</"
+"code>. This will cause the image to take up all available space and the "
+"button to take only the space it needs. When you maximize the window, the "
+"button size will remain the same, but the image size will increase, taking "
+"up all of the rest of the window."
+msgstr ""
+"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 "
+"<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)
+msgid ""
+"When the user clicks on the <gui>Open Image...</gui> button, a dialog should "
+"appear so that the user can choose a picture. Once chosen, the picture "
+"should be loaded and shown in the image widget."
+msgstr ""
+"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.py.page:165(p)
+msgid ""
+"The first step is to connect the <code>clicked</code> signal of the button "
+"to a signal handler function, which we call <code>on_open_clicked</code>. "
+"Put this code immediately after the <code>button = Gtk.Button()</code> line "
+"where the button was created:"
+msgstr ""
+"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ÃÃÂ:"
+
+#: C/image-viewer.py.page:169(p)
+msgid ""
+"This will connect the <code>clicked</code> signal to <code>on_open_clicked</"
+"code> method that we will define below."
+msgstr ""
+"Cela connecte le signal <code>clicked</code> Ã la mÃthode "
+"<code>on_open_clicked</code> que nous dÃfinirons ci-dessous."
+
+#: C/image-viewer.py.page:175(p)
+msgid ""
+"Now we can create the <code>on_open_clicked</code> method. Insert the "
+"following into the <code>GUI</code> class code block, after the "
+"<code>__init__</code> method:"
+msgstr ""
+"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.py.page:194(p)
+msgid ""
+"The line beginning with <code>dialog</code> creates an <gui>Open</gui> "
+"dialog, which the user can use to choose files. We set three properties: the "
+"title of the dialog; the action (type) of the dialog (it's an \"open\" "
+"dialog, but we could have used <code>SAVE</code> if the intention was to "
+"save a file; and <code>transient_for</code>, which sets the parent window of "
+"the dialog."
+msgstr ""
+"La 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) et <code>transient_for</"
+"code>, qui dÃfinit la fenÃtre parent de la boÃte de dialogue."
+
+#: C/image-viewer.py.page:207(p)
+msgid ""
+"<code>dialog.run</code> displays the <gui>Open</gui> dialog. The dialog will "
+"wait for the user to choose an image; when they do, <code>dialog.run</code> "
+"will return the value <output>1</output> (it would return <output>0</output> "
+"if the user clicked <gui>Cancel</gui>). The <code>if</code> statement tests "
+"for this."
+msgstr ""
+"<code>dialog.run</code> 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 "
+"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)
+msgid ""
+"All of the code you need should now be in place, so try running the code. "
+"That should be it; a fully-functioning image viewer (and a whistlestop tour "
+"of Python and Gtk) in not much time at all!"
+msgstr ""
+"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Â!"
+
+#: C/image-viewer.py.page:225(p)
+msgid ""
+"If you run into problems with the tutorial, compare your code with this "
+"<link href=\"image-viewer/image-viewer.py\">reference code</link>."
+msgstr ""
+"Si vous rencontrez des difficultÃs avec ce tutoriel, comparez votre "
+"programme à ce <link href=\"image-viewer/image-viewer.py\">programme de "
+"rÃfÃrence</link>."
+
+#: C/image-viewer.cpp.page:8(desc)
+msgid "A little bit more than a simple \"Hello world\" GTKmm application."
+msgstr "Un peu plus qu'une simple application GTKmm ÂÂHello worldÂÂ."
+
+#: C/image-viewer.cpp.page:26(p)
+msgid "Some basic concepts of C++/GObject programming"
+msgstr "quelques concepts de base de la programmation en C++/GObject,"
+
+#: C/image-viewer.cpp.page:27(p)
+msgid "How to write a Gtk application in C++"
+msgstr "comment Ãcrire une application Gtk en C++."
+
+#: C/image-viewer.cpp.page:41(p)
+msgid ""
+"Choose <gui>GTKmm (Simple)</gui> from the <gui>C++</gui> tab, click "
+"<gui>Forward</gui>, and fill out your details on the next few pages. Use "
+"<file>image-viewer</file> as project name and directory."
+msgstr ""
+"SÃlectionnez <gui>GTKmm (Simple)</gui> dans l'onglet <gui>C++</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.cpp.page:44(p)
+msgid ""
+"Make sure that <gui>Use GtkBuilder for user interface</gui> is disabled as "
+"we will create the UI manually in this tutorial. Check the <link xref="
+"\"guitar-tuner.cpp\">Guitar-Tuner</link> tutorial if you want to learn how "
+"to use the interface builder."
+msgstr ""
+"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 le tutoriel <link xref=\"guitar-tuner.cpp"
+"\">Guitar-Tuner</link> pour un exemple d'utilisation du constructeur "
+"d'interfaces."
+
+#: C/image-viewer.cpp.page:49(p)
+msgid ""
+"Click <gui>Apply</gui> and the project will be created for you. Open "
+"<file>src/main.cc</file> from the <gui>Project</gui> or <gui>File</gui> "
+"tabs. You should see some code which starts with the lines:"
+msgstr ""
+"Cliquez sur <gui>Appliquer</gui> et le projet est crÃÃ. Ouvrez <file>src/"
+"main.cc</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Â:"
+
+#: C/image-viewer.cpp.page:61(p)
+msgid ""
+"This is a very basic C++ code setting up GTKmm. More details are given "
+"below; skip this list if you understand the basics:"
+msgstr ""
+"C'est un programme C++ trÃs basique pour configurer GTKmm. Vous trouverez "
+"plus de dÃtails ci-dessousÂ; passez cette liste si vous comprenez les basesÂ:"
+
+#: C/image-viewer.cpp.page:64(p)
+msgid ""
+"The three <code>#include</code> lines at the top include the <code>config</"
+"code> (useful autoconf build defines), <code>gtkmm</code> (user interface) "
+"and <code>iostream</code> (C++-STL) libraries. Functions from these "
+"libraries are used in the rest of the code."
+msgstr ""
+"Les trois lignes <code>#include</code> du haut incorporent les bibliothÃques "
+"<code>config</code> (dÃfinitions utiles pour la construction autoconf), "
+"<code>gtkmm</code> (interface utilisateur) et <code>iostream</code> (C++-"
+"STL). Les fonctions de ces bibliothÃques seront utilisÃes dans le reste du "
+"programme."
+
+#: C/image-viewer.cpp.page:67(p)
+msgid ""
+"The <code>main</code> function creates a new (empty) window and sets the "
+"window title."
+msgstr ""
+"La fonction <code>main</code> crÃe une nouvelle fenÃtre (vide) et configure "
+"le titre de la fenÃtre."
+
+#: C/image-viewer.cpp.page:70(p)
+msgid ""
+"The <code>kit::run()</code> call starts the GTKmm main loop, which runs the "
+"user interface and starts listening for events (like clicks and key "
+"presses). As we give the window as an argument to that function, the "
+"application will automatically exit when that window is closed."
+msgstr ""
+"L'appel <code>kit::run()</code> dÃmarre la boucle principale de GTKmm qui "
+"exÃcute l'interface utilisateur et commence à Ãcouter les ÃvÃnements (comme "
+"des clics ou des appuis sur des touches). Comme la fenÃtre est fournie comme "
+"argument de la fonction, l'application quitte automatiquement quand la "
+"fenÃtre est fermÃe."
+
+#: C/image-viewer.cpp.page:77(p) C/image-viewer.c.page:78(p)
+#: C/guitar-tuner.cpp.page:79(p) C/guitar-tuner.c.page:83(p)
+msgid ""
+"Press <gui>Execute</gui> on the next window that appears to configure a "
+"debug build. You only need to do this once, for the first build."
+msgstr ""
+"Cliquez sur <gui>ExÃcuter</gui> dans la fenÃtre suivante pour configurer une "
+"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 "
+"interface with <code>Gtk::Container</code>s that can contain other widgets "
+"and even other containers. Here we will use the simplest available "
+"container, a <code>Gtk::Box</code>:"
+msgstr ""
+"Nous allons maintenant donner vie à la fenÃtre vide. La disposition de "
+"l'interface utilisateur est faite par GTKmm avec les conteneurs <code>Gtk::"
+"Container</code> qui peuvent contenir d'autres ÃlÃments graphiques et mÃme "
+"d'autres conteneurs. Ici, on utilise le plus simple des conteneurs "
+"disponibles, une boÃte <code>Gtk::Box</code>Â:"
+
+#: C/image-viewer.cpp.page:119(p)
+msgid ""
+"The first lines create the widgets we want to use: a button for opening up "
+"an image, the image view widget itself and the box we will use as a "
+"container."
+msgstr ""
+"Les premiÃres lignes 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.cpp.page:122(p)
+msgid ""
+"The calls to <code>pack_start</code> add the two widgets to the box and "
+"define their behaviour. The image will expand into any available space while "
+"the button will just be as big as needed. You will notice that we don't set "
+"explicit sizes on the widgets. In GTKmm this is usually not needed as it "
+"makes it much easier to have a layout that looks good in different window "
+"sizes. Next, the box is added to the window."
+msgstr ""
+"Les appels à <code>pack_start</code> 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 GTKmm, 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.cpp.page:128(p)
+msgid ""
+"We need to define what happens when the user clicks on the button. GTKmm "
+"uses the concept of <em>signals</em>. When the button is clicked, it fires "
+"the <em>clicked</em> signal, which we can connect to some action. This is "
+"done using the <code>signal_clicked().connect</code> method which tells "
+"GTKmm to call the <code>on_open_image</code> function when the button is "
+"clicked and to pass the image as an additional argument to that function. We "
+"will define the <em>callback</em> in the next section."
+msgstr ""
+"Il nous faut dÃfinir ce qui se passe quand l'utilisateur clique sur le "
+"bouton. GTKmm utilise le concept de <em>signaux</em>. Quand le bouton est "
+"cliquÃ, il envoie le signal <em>clicked</em> qu'il est possible de relier à "
+"une action. Cela a Ãtà rÃalisà avec la mÃthode <code>signal_clicked()."
+"connect</code> qui commande à GTKmm d'appeler la fonction "
+"<code>on_open_image</code> quand le bouton est cliquà et de transmettre "
+"l'image à cette fonction comme argument additionnel. Nous dÃfinirons la "
+"<em>fonction de rappel</em> Ã la section suivante."
+
+#: C/image-viewer.cpp.page:133(p)
+msgid ""
+"The last step is to show all widgets in the window using <code>show_all()</"
+"code>. This is equivalent to using the <code>show()</code> method on all our "
+"widgets."
+msgstr ""
+"La derniÃre Ãtape consiste à afficher tous les ÃlÃments graphiques avec la "
+"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 "
+"button we mentioned before. Add this code before the <code>main</code> "
+"method."
+msgstr ""
+"Nous allons maintenant dÃfinir le gestionnaire de signal pour le signal "
+"<em>clicked</em> du bouton ci-dessus. Ajoutez ce code avant la mÃthode "
+"<code>main</code>."
+
+#: C/image-viewer.cpp.page:174(p)
+msgid ""
+"The argument to the signal is the image object that we passed while "
+"connecting the signal. Sometimes there are other arguments related to the "
+"signal, but <em>clicked</em> doesn't have any."
+msgstr ""
+"L'argument du signal est l'objet image qui a Ãtà transmis lors de la "
+"connexion avec le signal. Il y a parfois d'autres arguments attachÃs au "
+"signal, mais <em>clicked</em> n'en a aucun."
+
+#: C/image-viewer.cpp.page:176(p)
+msgid ""
+"The next interesting line is where the dialog for choosing the file is "
+"created using <code>Gtk::FileChooserDialog</code>. The function takes the "
+"title of the dialog and the type of dialog this should be. In our case, it "
+"is an <em>Open</em> dialog."
+msgstr ""
+"L'autre ligne intÃressante est celle oà est crÃÃe la boÃte de dialogue pour "
+"choisir le fichier avec <code>Gtk::FileChooserDialog</code>. La fonction "
+"prend comme argument le titre et le type de la boÃte de dialogue qui "
+"conviennent. Ici, c'est un dialogue <em>OPEN</em> (ouvrir)."
+
+#: C/image-viewer.cpp.page:181(p)
+msgid ""
+"The next two lines add an <em>Open</em> and a <em>Close</em> button to the "
+"dialog."
+msgstr ""
+"Les deux lignes suivantes ajoutent les boutons <em>Open</em> et <em>Close</"
+"em> Ã la boÃte de dialogue."
+
+#: C/image-viewer.cpp.page:183(p)
+msgid ""
+"The second argument to the <code>add_button()</code> method is a value to "
+"identify the clicked button. We use predefined values provided by GTKmm "
+"here, too."
+msgstr ""
+"Le second argument de la mÃthode <code>add_button()</code> est une valeur "
+"identifiant le bouton cliquÃ. Nous utilisons ici aussi les valeurs de GTKmm "
+"fournies par dÃfaut."
+
+#: C/image-viewer.cpp.page:188(p)
+msgid ""
+"The next two lines restrict the <gui>Open</gui> dialog to only display files "
+"which can be opened by <code>Gtk::Image</code>. A filter object is created "
+"first; we then add all kinds of files supported by <code>Gdk::Pixbuf</code> "
+"(which includes most image formats like PNG and JPEG) to the filter. "
+"Finally, we set this filter to be the <gui>Open</gui> dialog's filter."
+msgstr ""
+"Les deux lignes suivantes limitent la boÃte de dialogue <gui>Open</gui> Ã "
+"l'affichage des seuls fichiers pouvant Ãtre ouverts par <code>Gtk::Image</"
+"code>. Un objet filtre est d'abord crÃÃÂ; ensuite nous ajoutons tous les "
+"types de fichier pris en charge par <code>Gdk::Pixbuf</code> (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.cpp.page:189(p)
+msgid ""
+"<code>Glib::RefPtr</code> is a smart pointer used here, that makes sure that "
+"the filter is destroyed when there is no reference to it anymore."
+msgstr ""
+"<code>Glib::RefPtr</code> utilisà ici, est un pointeur intelligent qui "
+"surveille que le filtre soit bien dÃtruit quand il n'a plus de rÃfÃrence "
+"vers lui."
+
+#: C/image-viewer.cpp.page:193(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 <code>Gtk::RESPONSE_ACCEPT</code> (it would return "
+"<code>Gtk::RESPONSE_CANCEL</code> if the user clicked <gui>Cancel</gui>). "
+"The <code>switch</code> statement tests for this."
+msgstr ""
+"<code>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>dialog.run</code> retourne la valeur <code>Gtk::RESPONSE_ACCEPT</"
+"code> (il retourne la valeur <code>Gtk::RESPONSE_CANCEL</code> si "
+"l'utilisateur clique sur <gui>Cancel</gui>). L'instruction <code>switch</"
+"code> teste cette rÃponse."
+
+#: C/image-viewer.cpp.page:195(p)
+msgid ""
+"Assuming that the user did click <gui>Open</gui>, the next line loads the "
+"file into the <code>Gtk::Image</code> so that it is displayed."
+msgstr ""
+"Supposons que l'utilisateur a cliquà sur le bouton <gui>Ouvrir</gui>, la "
+"ligne suivante charge le fichier dans le<code>Gtk::Image</code> afin qu'elle "
+"s'affiche."
+
+#: C/image-viewer.cpp.page:199(p)
+msgid ""
+"In the final line of this method, we hide the <gui>Open</gui> dialog because "
+"we don't need it any more. The dialog would be hidden anyway, as it is only "
+"a local variable and is destroyed (and as such hidden) when the scope ends."
+msgstr ""
+"Dans la derniÃre ligne de cette mÃthode, nous masquons la boÃte de dialogue "
+"<gui>Open</gui> car on n'en a plus besoin. Elle aurait de toute faÃon Ãtà "
+"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</"
+"file> application in the dialog that appears. Finally, hit <gui>Run</gui> "
+"and enjoy!"
+msgstr ""
+"Si ce n'est pas encore fait, sÃlectionnez l'application <file>Debug/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.cpp.page:213(p)
+msgid ""
+"If you run into problems with the tutorial, compare your code with this "
+"<link href=\"image-viewer/image-viewer.cc\">reference code</link>."
+msgstr ""
+"Si vous rencontrez des difficultÃs avec ce tutoriel, comparez votre "
+"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,"
+
+#: C/image-viewer.c.page:27(p)
+msgid "How to write a Gtk application in C"
+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 "
+"<file>image-viewer</file> as project name and directory."
+msgstr ""
+"SÃlectionnez <gui>GTK+ (Simple)</gui> dans l'onglet <gui>C++</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.c.page:44(p)
+msgid ""
+"Make sure that <gui>Use GtkBuilder for user interface</gui> is disabled as "
+"we will create the UI manually in this tutorial. Check the <link xref="
+"\"guitar-tuner.c\">Guitar-Tuner</link> tutorial if you want to learn how to "
+"use the interface builder."
+msgstr ""
+"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 le tutoriel <link xref=\"guitar-tuner.c\">Guitar-"
+"Tuner</link> pour un exemple d'utilisation du constructeur d'interfaces."
+
+#: C/image-viewer.c.page:59(p)
+msgid ""
+"C is a rather verbose language, so don't be surprised that the file contains "
+"quite a lot of code. Most of it is template code. It loads an (empty) window "
+"and shows it. More details are given below; skip this list if you understand "
+"the basics:"
+msgstr ""
+"ÂÂCÂÂ est un langage plutÃt verbeux, donc ne soyez pas surpris par la "
+"quantità de code que contient le fichier. La plupart du code est gÃnÃrique. "
+"Il charge une fenÃtre (vide) et l'affiche. Vous trouverez plus de dÃtails ci-"
+"dessousÂ; passez cette liste si vous comprenez les basesÂ:"
+
+#: C/image-viewer.c.page:63(p) C/guitar-tuner.c.page:68(p)
+msgid ""
+"The three <code>#include</code> lines at the top include the <code>config</"
+"code> (useful autoconf build defines), <code>gtk</code> (user interface) and "
+"<code>gi18n</code> (internationalization) libraries. Functions from these "
+"libraries are used in the rest of the code."
+msgstr ""
+"Les trois lignes <code>#include</code> du haut incorporent les bibliothÃques "
+"<code>config</code> (dÃfinitions utiles pour la construction autoconf), "
+"<code>gtk</code> (interface utilisateur) et <code>gi18n</code> (pour "
+"internationalisation). Les fonctions de ces bibliothÃques seront utilisÃes "
+"dans le reste du programme."
+
+#: C/image-viewer.c.page:66(p)
+msgid ""
+"The <code>create_window</code> function creates a new (empty) window and "
+"connects a signal to exit the application when that window is closed."
+msgstr ""
+"La 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 "
+"application. It calls a few functions which set up and then run the "
+"application. The <code>gtk_main</code> function starts the GTK main loop, "
+"which runs the user interface and starts listening for events (like clicks "
+"and key presses)."
+msgstr ""
+"La fonction <code>main</code> est exÃcutÃe par dÃfaut quand vous lancez une "
+"application C. Elle appelle d'autres fonctions qui configurent puis lancent "
+"l'application. La fonction <code>gtk_main</code> dÃmarre la boucle "
+"principale 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.c.page:73(p) C/guitar-tuner.c.page:78(p)
+msgid ""
+"The <code>ENABLE_NLS</code> conditional definition sets up <code>gettext</"
+"code>, which is a framework for translating applications. These functions "
+"specify how translation tools should handle your app when you run them."
+msgstr ""
+"La dÃfinition conditionnelle <code>ENABLE_NLS</code> configure "
+"<code>gettext</code> qui est un environnement pour la traduction des "
+"applications. Ces fonctions dÃfinissent la faÃon dont les objets de "
+"traduction doivent prendre en charge votre application quand vous l'exÃcutez."
+
+#: C/image-viewer.c.page:83(p)
+msgid ""
+"Now we will bring life into the empty window. GTK organizes the user "
+"interface with <code>GtkContainer</code>s that can contain other widgets and "
+"even other containers. Here we will use the simplest available container, a "
+"<code>GtkBox</code>:"
+msgstr ""
+"Nous allons maintenant donner vie à la fenÃtre vide. GTK organise "
+"l'interface utilisateur avec des <code>GtkContainer</code> 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 <code>GtkBox</"
+"code>Â:"
+
+#: C/image-viewer.c.page:121(p)
+msgid ""
+"The first lines create the widgets we want to use: a button for opening up "
+"an image, the image view widget itself and the box we will use as a "
+"container. The macros like <code>GTK_BOX</code> are used for dynamic type "
+"checking and casting which is needed as C doesn't support object-orientation "
+"out-of-the-box."
+msgstr ""
+"Les premiÃres lignes crÃent les ÃlÃments graphiques que nous voulons "
+"utiliserÂ: un bouton pour pouvoir ouvrir une image, l'ÃlÃment graphique "
+"image lui-mÃme et la boÃte qui nous sert de conteneur. Nous utilisons des "
+"macros comme <code>GTK_BOX</code> pour contrÃler et convertir de maniÃre "
+"dynamique les types d'objet ce qui est nÃcessaire car le C n'est pas prÃvu "
+"nativement pour prendre en charge la programmation orientÃe objets."
+
+#: C/image-viewer.c.page:126(p)
+msgid ""
+"The calls to <code>gtk_box_pack_start</code> add the two widgets to the box "
+"and define their behaviour. The image will expand into any available space "
+"while the button will just be as big as needed. You will notice that we "
+"don't set explicit sizes on the widgets. In GTK this is usually not needed "
+"as it makes it much easier to have a layout that looks good in different "
+"window sizes. Next, the box is added to the window."
+msgstr ""
+"Les appels à <code>gtk_box_pack_start</code> 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.c.page:132(p)
+msgid ""
+"We need to define what happens when the user clicks on the button. GTK uses "
+"the concept of <em>signals</em>. When the button is clicked, it fires the "
+"<em>clicked</em> signal, which we can connect to some action. This is done "
+"using the <code>g_signal_connect</code> function which tells GTK to call the "
+"<code>on_image_open</code> function when the button is clicked and to pass "
+"the image as an additional argument to that function. We will define the "
+"<em>callback</em> in the next section."
+msgstr ""
+"Il nous faut dÃfinir ce qui se passe quand l'utilisateur clique sur le "
+"bouton. GTK utilise le concept de <em>signaux</em>. Quand le bouton est "
+"cliquÃ, il envoie le signal <em>clicked</em> qu'il est possible de relier à "
+"une action. Cela a Ãtà rÃalisà avec la mÃthode <code>g_signal_connect</code> "
+"qui commande à GTK d'appeler la fonction <code>on_open_image</code> quand le "
+"bouton est cliquà et de transmettre l'image à cette fonction comme argument "
+"additionnel. Nous dÃfinirons la <em>fonction de rappel</em> Ã la section "
+"suivante."
+
+#: C/image-viewer.c.page:137(p)
+msgid ""
+"The last <code>g_signal_connect()</code> makes sure that the application "
+"exits when the window is closed."
+msgstr ""
+"Le dernier signal <code>g_signal_connect()</code> assure que l'application "
+"quitte quand la fenÃtre est fermÃe."
+
+#: C/image-viewer.c.page:140(p)
+msgid ""
+"As a last step, make sure to replace the <code>gtk_widget_show</code> call "
+"in the <code>main()</code> function by <code>gtk_widget_show_all()</code> to "
+"show the window and all the widgets it contains."
+msgstr ""
+"Pour finir, assurez-vous de remplacer l'appel <code>gtk_widget_show</code> "
+"de la fonction principale <code>main()</code> par <code>gtk_widget_show_all()"
+"</code> pour afficher la fenÃtre et tous les ÃlÃments graphiques qu'elle "
+"contient."
+
+#: C/image-viewer.c.page:148(p)
+msgid ""
+"We will now define the signal handler for the <em>clicked</em> signal or the "
+"button we mentioned before. Add this code before the <code>create_window()</"
+"code> method."
+msgstr ""
+"Nous allons maintenant dÃfinir le gestionnaire de signal pour le signal "
+"<em>clicked</em> du bouton ci-dessus. Ajoutez ce code avant la mÃthode "
+"<code>create_window()</code>."
+
+#: C/image-viewer.c.page:186(p)
+msgid ""
+"The first argument of the signal is always the widget that sent the signal. "
+"Sometimes other arguments related to the signal come after that, but "
+"<em>clicked</em> doesn't have any. Next is the <code>user_data</code> "
+"argument which is a pointer to the data we passed when connecting the "
+"signal. In this case it is our <code>GtkImage</code> object."
+msgstr ""
+"Le premier argument du signal est toujours l'ÃlÃment graphique qui envoie le "
+"signal. Il y a parfois d'autres arguments attachÃs au signal, mais "
+"<em>clicked</em> n'en a aucun. Ensuite vient l'argument <code>user_data</"
+"code> qui est un pointeur vers les donnÃes transmises en connectant le "
+"signal. Ici, c'est notre objet <code>GtkImage</code>."
+
+#: C/image-viewer.c.page:192(p)
+msgid ""
+"The next interesting line is where the dialog for choosing the file is "
+"created using <code>gtk_file_chooser_dialog_new</code>. The function takes "
+"the title of the dialog, the parent window of the dialog and several options "
+"like the number of buttons and their corresponding values."
+msgstr ""
+"La prochaine ligne intÃressante est celle oà est crÃÃe la boÃte de dialogue "
+"pour choisir le fichier avec <code>gtk_file_chooser_dialog_new</code>. La "
+"fonction prend comme argument le titre et la fenÃtre parente de la boÃte de "
+"dialogue et plusieurs options telles que le numÃro des boutons et leurs "
+"valeurs correspondantes."
+
+#: C/image-viewer.c.page:199(p)
+msgid ""
+"The next two lines restrict the <gui>Open</gui> dialog to only display files "
+"which can be opened by GtkImage. A filter object is created first; we then "
+"add all kinds of files supported by <code>GdkPixbuf</code> (which includes "
+"most image formats like PNG and JPEG) to the filter. Finally, we set this "
+"filter to be the <gui>Open</gui> dialog's filter."
+msgstr ""
+"Les deux lignes suivantes limitent la boÃte de dialogue <gui>Open</gui> Ã "
+"l'affichage des seuls fichiers pouvant Ãtre ouverts par <code>GtkImage</"
+"code>. Un objet filtre est d'abord crÃÃÂ; ensuite nous ajoutons tous les "
+"types de fichier pris en charge par <code>GdkPixbuf</code> (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.c.page:202(p)
+msgid ""
+"<code>gtk_dialog_run</code> displays the <gui>Open</gui> dialog. The dialog "
+"will wait for the user to choose an image; when they do, "
+"<code>gtk_dialog_run</code> will return the value <code>GTK_RESPONSE_ACCEPT</"
+"code> (it would return <code>GTK_RESPONSE_CANCEL</code> if the user clicked "
+"<gui>Cancel</gui>). The <code>switch</code> statement tests for this."
+msgstr ""
+"<code>gtk_dialog_run</code> 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>gtk_dialog_run</code> retourne la valeur "
+"<code>GTK_RESPONSE_ACCEPT</code> (il retourne la valeur "
+"<code>GTK_RESPONSE_CANCEL</code> si l'utilisateur clique sur <gui>Cancel</"
+"gui>). L'instruction <code>switch</code> teste cette rÃponse."
+
+#: C/image-viewer.c.page:204(p)
+msgid ""
+"Assuming that the user did click <gui>Open</gui>, the next line sets the "
+"<code>file</code> property of the GtkImage to the filename of the image "
+"selected by the user. The GtkImage will then load and display the chosen "
+"image."
+msgstr ""
+"Supposons que l'utilisateur a cliquà sur le bouton <gui>Ouvrir</gui>, la "
+"ligne suivante attribue le nom du fichier image choisi par l'utilisateur aux "
+"propriÃtÃs <code>file</code> du GtkImage. Ensuite, GtkImage charge et "
+"affiche l'image choisie."
+
+#: C/image-viewer.c.page:207(p)
+msgid ""
+"In the final line of this method, we destroy the <gui>Open</gui> dialog "
+"because we don't need it any more. Destroying automatically hides the dialog."
+msgstr ""
+"Dans la derniÃre ligne de cette mÃthode, nous dÃtruisons la boÃte de "
+"dialogue <gui>Open</gui> car on n'en a plus besoin. La destruction masque "
+"automatiquement la boÃte de dialogue."
+
+#: C/image-viewer.c.page:221(p)
+msgid ""
+"If you run into problems with the tutorial, compare your code with this "
+"<link href=\"image-viewer/image-viewer.c\">reference code</link>."
+msgstr ""
+"Si vous rencontrez des difficultÃs avec ce tutoriel, comparez votre "
+"programme à ce <link href=\"image-viewer/image-viewer.c\">programme de "
+"rÃfÃrence</link>."
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/guitar-tuner.vala.page:37(None) C/guitar-tuner.py.page:37(None)
+#: C/guitar-tuner.cpp.page:37(None) C/guitar-tuner.c.page:37(None)
+msgid "@@image: 'media/guitar-tuner.png'; md5=f0b7ed4cdc2729d2d0f4d38b829db61e"
+msgstr ""
+"@@image: 'media/guitar-tuner.png'; md5=f0b7ed4cdc2729d2d0f4d38b829db61e"
+
+#. 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.cpp.page:88(None) C/guitar-tuner.c.page:92(None)
+msgid ""
+"@@image: 'media/guitar-tuner-glade.png'; md5=f6606525443ab2160f53a87a454364d0"
+msgstr ""
+"@@image: 'media/guitar-tuner-glade.png'; md5=f6606525443ab2160f53a87a454364d0"
+
+#. 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.cpp.page:117(None) C/guitar-tuner.c.page:137(None)
+msgid ""
+"@@image: 'media/guitar-tuner-pipeline.png'; "
+"md5=5adc952909d92af5dae6954781b4ad5f"
+msgstr ""
+"@@image: 'media/guitar-tuner-pipeline.png'; "
+"md5=5adc952909d92af5dae6954781b4ad5f"
+
+#: C/guitar-tuner.vala.page:8(desc) 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.vala.page:21(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)
+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.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: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"
+msgstr ""
+"crÃer une interface graphique simple avec le concepteur d'interface "
+"utilisateur d'Anjuta,"
+
+#: 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: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:47(p)
+msgid ""
+"Choose <gui>Gtk+ (Simple)</gui> from the <gui>Vala</gui> tab, click "
+"<gui>Forward</gui>, and fill out your details on the next few pages. Use "
+"<file>guitar-tuner</file> as project name and directory."
+msgstr ""
+"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)
+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."
+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."
+
+#: C/guitar-tuner.vala.page:54(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:"
+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Â:"
+
+#: C/guitar-tuner.vala.page:64(p)
+msgid ""
+"The code loads an (empty) window from the user interface description file "
+"and shows it. More details are given below; skip this list if you understand "
+"the basics:"
+msgstr ""
+"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)
+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."
+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 "
+"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)
+msgid ""
+"The static <code>main</code> function is run by default when you start a "
+"Vala application. It calls a few functions which create the Main class, set "
+"up and then run the application. The <code>Gtk.main</code> function starts "
+"the GTK main loop, which runs the user interface and starts listening for "
+"events (like clicks and key presses)."
+msgstr ""
+"La fonction statique <code>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 Main, configurent puis exÃcutent l'application. La fonction <code>Gtk."
+"Main</code> dÃmarre la boucle principale 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/guitar-tuner.vala.page:84(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)
+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 ÃlÃments graphiques disponibles est sur "
+"la droite."
+
+#: 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)
+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.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)
+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.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)
+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.vala.page:100(p) 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.vala.page:103(p)
+msgid ""
+"Switch to the <gui>Signals</gui> tab (inside the <gui>Widgets</gui> tab) and "
+"look for the <code>clicked</code> signal of the button. You can use this to "
+"connect a signal handler that will be called when the button is clicked by "
+"the user. To do this, click on the signal and type "
+"<code>main_on_button_clicked</code> in the <gui>Handler</gui> column and "
+"press <key>Return</key>."
+msgstr ""
+"Passez à l'onglet <gui>Signaux</gui> (dans l'onglet <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.c.page:109(p)
+msgid ""
+"Repeat the above steps for the other buttons, adding the next 5 strings with "
+"the names <em>A</em>, <em>D</em>, <em>G</em>, <em>B</em>, and <em>e</em>."
+msgstr ""
+"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.c.page:112(p)
+msgid ""
+"Save the UI design (by clicking <guiseq><gui>File</gui><gui>Save</gui></"
+"guiseq>) and keep it open."
+msgstr ""
+"Enregistrez le fichier de conception de l'interface utilisateur (en cliquant "
+"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.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)
+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.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)
+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)
+#: C/guitar-tuner.cpp.page:116(p) C/guitar-tuner.c.page:136(p)
+msgid ""
+"Between source and sink, you can apply various filters and converters to "
+"handle effects, format conversions and so on. Each element of the pipeline "
+"has properties which can be used to change its behaviour."
+msgstr ""
+"Entre la source et le collecteur, vous pouvez appliquer diffÃrents filtres "
+"et convertisseurs pour prendre en charge les effets, les conversions de "
+"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.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.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)
+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.vala.page:143(p)
+msgid ""
+"We need to add a line to initialize GStreamer; put the following code on the "
+"line above the <code>Gtk.init</code> call in the <code>main</code> function:"
+msgstr ""
+"Il faut ajouter une ligne pour initialiser GStreamerÂ; Ãcrivez le code "
+"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)
+msgid ""
+"Then, copy the following function into <file>guitar_tuner.vala</file> inside "
+"our <code>Main</code> class:"
+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)
+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 "
+"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 "
+"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)
+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 "
+"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'Ã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)
+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 "
+"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)
+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 à "
+"ÂÂplayingÂÂ (lecture) (<code>Gst.State.PLAYING</code>)."
+
+#: C/guitar-tuner.vala.page:192(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 "
+"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 "
+"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)
+msgid "Define the signal handler"
+msgstr "DÃfinition du gestionnaire de signal"
+
+#: C/guitar-tuner.vala.page:204(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, "
+"<code>on_button_clicked</code>. We could have connected every button to a "
+"different signal handler, but that would lead to a lot of code duplication. "
+"Instead, we can use the label of the button to figure out which button was "
+"clicked:"
+msgstr ""
+"Nous voulons jouer la note adÃquate quand l'utilisateur clique sur un "
+"bouton. Pour cela, nous allons Ãtoffer le gestionnaire de signal dÃfini "
+"auparavant. Nous aurions pu connecter chaque bouton à un gestionnaire "
+"diffÃrent, mais cela aurait dupliquà beaucoup de code. Au lieu de Ãa, nous "
+"allons plutÃt utiliser l'Ãtiquette du bouton pour dÃterminer le bouton "
+"cliquÃÂ:"
+
+#: C/guitar-tuner.vala.page:232(p)
+msgid ""
+"The <code>Gtk.Button</code> that was clicked is passed as an argument "
+"(<code>sender</code>) to <code>on_button_clicked</code>. We can get the "
+"label of that button by using <code>get_child</code>, and then get the text "
+"from that label using <code>get_label</code>."
+msgstr ""
+"Le bouton <code>Gtk.Button</code> qui a Ãtà cliquà est transmis comme "
+"argument (<code>sender</code>) Ã <code>on_button_clicked</code>. Nous "
+"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)
+msgid ""
+"The switch statement compares the label text to the notes that we can play, "
+"and <code>play_sound</code> is called with the frequency appropriate for "
+"that note. This plays the tone; we have a working guitar tuner!"
+msgstr ""
+"L'instruction ÂÂswitch compare le texte de l'Ãtiquette à la note que nous "
+"pouvons jouer et <code>play_sound</code> est appelà avec la frÃquence "
+"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.c.page:251(p)
+msgid ""
+"If you haven't already done so, choose the <file>Debug/src/guitar-tuner</"
+"file> application in the dialog that appears. Finally, hit <gui>Run</gui> "
+"and enjoy!"
+msgstr ""
+"Si ce n'est dÃjà fait, choisissez l'application <file>Debug/src/guitar-"
+"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)
+msgid ""
+"If you run into problems with the tutorial, compare your code with this "
+"<link href=\"guitar-tuner/guitar-tuner.vala\">reference code</link>."
+msgstr ""
+"Si vous rencontrez des difficultÃs avec ce tutoriel, comparez votre "
+"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.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.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.cpp.page:276(p) C/guitar-tuner.c.page:268(p)
+msgid ""
+"To do this, you would need to set up a more complicated GStreamer pipeline "
+"which allows you to load and play back music files. You'll have to choose "
+"<link href=\"http://gstreamer.freedesktop.org/documentation/plugins.html";
+"\">decoder and demuxer</link> GStreamer elements based on the file format of "
+"your recorded sounds â MP3s use different elements to Ogg Vorbis files, for "
+"example."
+msgstr ""
+"Pour y parvenir, vous devrez configurer un pipeline GStreamer un peu plus "
+"sophistiquà qui vous permette de charger et lire des fichiers musicaux. Vous "
+"devrez choisir des ÃlÃments GStreamer <link href=\"http://gstreamer.";
+"freedesktop.org/documentation/plugins.html\">dÃcodeur et dÃmuxeur</link> "
+"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.cpp.page:277(p) C/guitar-tuner.c.page:269(p)
+msgid ""
+"You might need to connect the elements in more complicated ways too. This "
+"could involve using <link href=\"http://gstreamer.freedesktop.org/data/doc/";
+"gstreamer/head/manual/html/chapter-intro-basics.html\">GStreamer concepts</"
+"link> that we didn't cover in this tutorial, such as <link href=\"http://";
+"gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/section-intro-"
+"basics-pads.html\">pads</link>. You may also find the <cmd>gst-inspect</cmd> "
+"command useful."
+msgstr ""
+"Il vous faudra aussi peut-Ãtre connecter les ÃlÃments de faÃon plus "
+"complexe. Vous aurez sans doute besoin de consulter les <link href=\"http://";
+"gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/chapter-intro-"
+"basics.html\">concepts GStreamer</link> que nous ne couvrons pas dans ce "
+"tutoriel, comme les <link href=\"http://gstreamer.freedesktop.org/data/doc/";
+"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.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.cpp.page:281(p) C/guitar-tuner.c.page:273(p)
+msgid ""
+"You could connect a microphone and record sounds from it using an <link href="
+"\"http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good-";
+"plugins/html/gst-plugins-good-plugins-autoaudiosrc.html\">input source</"
+"link>. Perhaps some form of <link href=\"http://gstreamer.freedesktop.org/";
+"data/doc/gstreamer/head/gst-plugins-good-plugins/html/gst-plugins-good-"
+"plugins-plugin-spectrum.html\">spectrum analysis</link> would allow you to "
+"figure out what notes are being played?"
+msgstr ""
+"Vous pourriez branchez un microphone et enregistrez les sons obtenus en "
+"utilisant l'<link href=\"http://gstreamer.freedesktop.org/data/doc/gstreamer/";
+"head/gst-plugins-good-plugins/html/gst-plugins-good-plugins-autoaudiosrc.html"
+"\">entrÃe source</link>. Peut-Ãtre qu'une espÃce d'<link href=\"http://";
+"gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good-plugins/"
+"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:33(p)
+msgid "Basic knowledge of the Python programming language"
+msgstr "de connaissances de base du langage de programmation Python."
+
+#: C/guitar-tuner.py.page:47(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>guitar-tuner</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. Utilisez <file>guitar-tuner</file> comme nom de projet et de "
+"rÃpertoire."
+
+#: C/guitar-tuner.py.page:50(p)
+msgid ""
+"Click <gui>Apply</gui> and the project will be created for you. Open "
+"<file>src/guitar_tuner.py</file> from the <gui>Project</gui> or <gui>File</"
+"gui> tabs. You should see some code which starts with the lines:"
+msgstr ""
+"Cliquez sur <gui>Appliquer</gui> et le projet est crÃÃ. Ouvrez <file>src/"
+"guitar_tuner.py</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Â:"
+
+#: C/guitar-tuner.py.page:59(title)
+msgid "Run the code for the first time"
+msgstr "ExÃcution du programme pour la premiÃre fois"
+
+#: C/guitar-tuner.py.page:60(p)
+msgid ""
+"Most of the code in the file is template code. It loads an (empty) window "
+"from the user interface description file and shows it. More details are "
+"given below; skip this list if you understand the basics:"
+msgstr ""
+"La plupart du code dans ce fichier est gÃnÃrique. Il 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Â:"
+
+# Bruno : Pas de "include the"
+#: C/guitar-tuner.py.page:64(p)
+msgid ""
+"The <code>import</code> lines at the top include the tell Python to load the "
+"user interface and system libraries needed."
+msgstr ""
+"Les lignes <code>import</code> tout en haut, indiquent à Python de charger "
+"l'interface utilisateur et les bibliothÃques systÃme nÃcessaires."
+
+#: C/guitar-tuner.py.page:68(p)
+msgid ""
+"A class is declared that will be the main class for our application. In the "
+"<code>__init__</code> method the main window is loaded from the GtkBuilder "
+"file (<file>src/guitar-tuner.ui</file>) and the signals are connected."
+msgstr ""
+"Nous dÃclarons une classe qui est la classe principale de notre application. "
+"Dans la mÃthode <code>__init__</code>, la fenÃtre principale est chargÃe "
+"depuis le fichier GtkBuilder (<file>src/guitar-tuner.ui</file>) et les "
+"signaux sont connectÃs."
+
+#: C/guitar-tuner.py.page:71(p)
+msgid ""
+"Connecting signals is how you define what happens when you push a button, or "
+"when some other event happens. Here, the <code>destroy</code> method is "
+"called (and quits the app) when you close the window."
+msgstr ""
+"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 "
+"mÃthode <code>destroy</code> est appelÃe (et quitte l'application) quand la "
+"fenÃtre est fermÃe."
+
+#: C/guitar-tuner.py.page:74(p)
+msgid ""
+"The <code>main</code> function is run by default when you start a Python "
+"application. It just creates an instance of the main class and starts the "
+"main loop to bring up the window."
+msgstr ""
+"La fonction <code>main</code> est exÃcutÃe par dÃfaut quand vous lancez une "
+"application Python. Elle crÃe juste une instance de la classe principale et "
+"dÃmarre la boucle principale pour afficher la fenÃtre."
+
+#: C/guitar-tuner.py.page:79(p)
+msgid ""
+"This code is ready to be used, so you can run it by clicking "
+"<guiseq><gui>Run</gui><gui>Execute</gui></guiseq>."
+msgstr ""
+"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:102(p) C/guitar-tuner.c.page:106(p)
+msgid ""
+"Switch to the <gui>Signals</gui> tab (inside the <gui>Widgets</gui> tab) and "
+"look for the <code>clicked</code> signal of the button. You can use this to "
+"connect a signal handler that will be called when the button is clicked by "
+"the user. To do this, click on the signal and type <code>on_button_clicked</"
+"code> in the <gui>Handler</gui> column and press <key>Return</key>."
+msgstr ""
+"Passez à l'onglet <gui>Signaux</gui> (dans l'onglet <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>on_button_clicked</code> dans la colonne <gui>Gestionnaire</"
+"gui> et appuyez sur <key>EntrÃe</key>."
+
+#: C/guitar-tuner.py.page:114(title)
+msgid "Write the signal handler"
+msgstr "Ãcriture du gestionnaire de signal"
+
+#: C/guitar-tuner.py.page:115(p) C/guitar-tuner.c.page:119(p)
+msgid ""
+"In the UI designer, you made it so that all of the buttons will call the "
+"same function, <gui>on_button_clicked</gui>, when they are clicked. We need "
+"to add that function in the source file."
+msgstr ""
+"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. Nous devons ajouter cette fonction dans notre fichier "
+"source."
+
+#: C/guitar-tuner.py.page:116(p)
+msgid ""
+"To do this, open <file>guitar_tuner.py</file> while the user interface file "
+"is still open. Switch to the <gui>Signals</gui> tab, which you already used "
+"to set the signal name. Now take the row where you set the <gui>clicked</"
+"gui> signal and drag it into to the source file inside the main class. The "
+"following code will be added to your source file:"
+msgstr ""
+"Pour cela, ouvrez <file>guitar_tuner.py</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 la "
+"classe principale du fichier source. Le code suivant s'ajoute à votre "
+"fichier sourceÂ:"
+
+#: C/guitar-tuner.py.page:122(p)
+msgid ""
+"This signal handler has two arguments: the usual Python class pointer, and "
+"the <code>Gtk.Button</code> that called the function."
+msgstr ""
+"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:140(p)
+msgid ""
+"Change the import line in <file>guitar_tuner.py</file>, just at the "
+"beginning to :"
+msgstr ""
+"Modifiez la ligne import au dÃbut du fichier <file>guitar_tuner.py</file> "
+"enÂ:"
+
+#: C/guitar-tuner.py.page:142(p)
+msgid ""
+"The <code>Gst</code> includes the GStreamer library. You also need to "
+"initialise GStreamer properly which is done in the <code>main()</code> "
+"method with this call added above the <code>app = GUI()</code> line:"
+msgstr ""
+"<code>Gst</code> contient la bibliothÃque de GStreamer. Il vous faut aussi "
+"initialiser correctement GStreamer ce qui est rÃalisà dans la mÃthode "
+"<code>main()</code> par cet appel à ajouter au-dessus de la ligne <code>app "
+"= GUI()</code>Â:"
+
+#: C/guitar-tuner.py.page:146(p)
+msgid ""
+"Then, copy the following function into the main class in <file>guitar_tuner."
+"py</file> somewhere:"
+msgstr ""
+"Copiez ensuite la fonction suivante quelque part dans la classe principale "
+"de <file>guitar_tuner.py</file>Â:"
+
+#: C/guitar-tuner.py.page:161(p)
+msgid ""
+"The first three lines create source and sink GStreamer elements and a "
+"pipeline element (which will be used as a container for the other two "
+"elements). The pipeline is given the name \"note\"; the source is named "
+"\"source\" and is set to the <code>audiotestsrc</code> source; and the sink "
+"is named \"output\" and set to the <code>autoaudiosink</code> sink (default "
+"sound card output)."
+msgstr ""
+"Les trois premiÃres lignes crÃent les ÃlÃments GStreamer source et sink "
+"(collecteur) et un ÃlÃment pipeline (qui sera utilisà comme conteneur pour "
+"les deux autres ÃlÃments). Le pipeline est nommà ÂÂnoteÂÂÂ; la source est "
+"nommÃe ÂÂsourceÂÂ et est dÃfinie comme Ãtant le connecteur "
+"<code>audiotestsrc</code> 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.py.page:164(p)
+msgid ""
+"The call to <code>source.set_property</code> sets the <code>freq</code> "
+"property of the source element to <code>frequency</code>, which was passed "
+"as an argument to the <code>play_sound</code> function. This is just the "
+"frequency of the note in Hertz; some useful frequencies will be defined "
+"later on."
+msgstr ""
+"L'appel à <code>source.set_property</code> 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.py.page:167(p)
+msgid ""
+"The next two lines call <code>pipeline.add</code>, putting the source and "
+"sink into the pipeline. The pipeline can contain multiple other GStreamer "
+"elements. In general, you can add as many elements as you like to the "
+"pipeline by calling its <code>add</code> method repeatedly."
+msgstr ""
+"Les deux lignes suivantes appellent <code>pipeline.add</code> qui place la "
+"source et le collecteur dans le pipeline. Le pipeline 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>add</code>."
+
+#: C/guitar-tuner.py.page:170(p)
+msgid ""
+"Next <code>pipeline.set_state</code> is used to start playback, by setting "
+"the state of the pipeline to playing (<code>Gst.State.PLAYING</code>)."
+msgstr ""
+"Ensuite, <code>pipeline.set_state</code> est utilisà pour dÃmarrer la "
+"lecture en basculant l'Ãtat du pipeline à ÂÂplaying (lecture) (<code>Gst."
+"State.PLAYING</code>)."
+
+#: C/guitar-tuner.py.page:177(title) C/guitar-tuner.c.page:193(title)
+msgid "Stopping playback"
+msgstr "ArrÃt de la lecture"
+
+#: C/guitar-tuner.py.page:178(p)
+msgid ""
+"We don't want to play an annoying tone forever, so the last thing "
+"<code>play_sound</code> does is to call <code>GObject.timeout_add</code>. "
+"This sets a timeout for stopping the sound; it waits for <code>LENGTH</code> "
+"milliseconds before calling the function <code>pipeline_stop</code>, and "
+"will keep calling it until <code>pipeline_stop</code> returns <code>False</"
+"code>."
+msgstr ""
+"Comme nous ne voulons pas jouer indÃfiniment une note ennuyeuse, la derniÃre "
+"chose que fait <code>play_sound</code> est d'appeler <code>GObject."
+"timeout_add</code> qui dÃfinit un dÃlai avant la coupure du sonÂ; cela "
+"attend <code>LENGTH</code> millisecondes avant d'appeler la fonction "
+"<code>pipeline_stop</code> et continuera à l'appeler jusqu'à ce que "
+"<code>pipeline_stop</code> renvoie la valeur <code>False</code>."
+
+#: C/guitar-tuner.py.page:179(p)
+msgid ""
+"Now, we'll write the <code>pipeline_stop</code> function which is called by "
+"<code>GObject.timeout_add</code>. Insert the following code <em>above</em> "
+"the <code>play_sound</code> function:"
+msgstr ""
+"Ãcrivons maintenant la fonction <code>pipeline_stop</code> qui est appelÃe "
+"par <code>GObject.timeout_add</code>. InsÃrez le code suivant <em>au-dessus</"
+"em> de la fonction <code>play_sound</code>Â:"
+
+#: C/guitar-tuner.py.page:185(p)
+msgid ""
+"You need to define the <code>LENGTH</code> constant inside the class, so add "
+"this code at the beginning of the main class:"
+msgstr ""
+"Vous devez dÃfinir la constante <code>LENGTH</code> dans la classe, donc "
+"ajoutez ce code au dÃbut de la classe principaleÂ:"
+
+#: C/guitar-tuner.py.page:190(p)
+msgid ""
+"The call to <code>pipeline.set_state</code> pauses the playback of the "
+"pipeline."
+msgstr ""
+"L'appel à <code>pipeline.set_state</code> met en pause la lecture du "
+"pipeline."
+
+#: C/guitar-tuner.py.page:194(title) C/guitar-tuner.c.page:211(title)
+msgid "Define the tones"
+msgstr "DÃfinition des notes"
+
+#: C/guitar-tuner.py.page:195(p)
+msgid ""
+"We want to play the correct sound when the user clicks a button. First of "
+"all, we need to know the frequencies for the six guitar strings, which are "
+"defined (at the beginning of the main class) inside a dictionary so we can "
+"easily map them to the names of the strings:"
+msgstr ""
+"Nous voulons jouer la note adÃquate quand l'utilisateur clique sur un "
+"bouton. Avant tout, nous devons connaÃtre la frÃquence de chacune des six "
+"cordes de la guitare qui sont dÃfinies (au dÃbut de la classe principale) "
+"dans un dictionnaire de faÃon à pouvoir facilement les associer aux noms des "
+"cordesÂ:"
+
+#: C/guitar-tuner.py.page:208(p) C/guitar-tuner.c.page:221(p)
+msgid ""
+"Now to flesh out the signal handler that we defined earlier, "
+"<code>on_button_clicked</code>. We could have connected every button to a "
+"different signal handler, but that would lead to a lot of code duplication. "
+"Instead, we can use the label of the button to figure out which button was "
+"clicked:"
+msgstr ""
+"Maintenant, nous allons Ãtoffer le gestionnaire de signal "
+"<code>on_button_clicked</code> dÃfini auparavant. Nous aurions pu connecter "
+"chaque bouton à un gestionnaire diffÃrent, mais cela aurait dupliquà "
+"beaucoup de code. Au lieu de Ãa, nous allons plutÃt utiliser l'Ãtiquette du "
+"bouton pour dÃterminer le bouton cliquÃÂ:"
+
+#: C/guitar-tuner.py.page:216(p)
+msgid ""
+"The button that was clicked is passed as an argument (<code>button</code>) "
+"to <code>on_button_clicked</code>. We can get the label of that button by "
+"using <code>button.get_child</code>, and then get the text from that label "
+"using <code>label.get_label</code>."
+msgstr ""
+"Le bouton qui a Ãtà cliquà est transmis comme argument (<code>button</code>) "
+"Ã <code>on_button_clicked</code>. On peut obtenir l'Ãtiquette de ce bouton "
+"en utilisant <code>button.get_child</code> puis en extrayant le texte de "
+"cette Ãtiquette avec <code>label.get_label</code>."
+
+#: C/guitar-tuner.py.page:217(p)
+msgid ""
+"The label text is then used as a key for the dictionary and "
+"<code>play_sound</code> is called with the frequency appropriate for that "
+"note. This plays the tone; we have a working guitar tuner!"
+msgstr ""
+"Le texte de cette Ãtiquette est alors utilisà comme clà du dictionnaire et "
+"la fonction <code>play_sound</code> est appelÃe avec la frÃquence appropriÃe "
+"Ã cette note. Cela joue la noteÂ; nous avons un accordeur de guitare "
+"opÃrationnelÂ!"
+
+#: C/guitar-tuner.py.page:222(p)
+msgid ""
+"All of the code should now be ready to go. Click <guiseq><gui>Run</"
+"gui><gui>Execute</gui></guiseq> to start the application. Enjoy!"
+msgstr ""
+"Tout le programme nÃcessaire doit maintenant Ãtre fonctionnel. Cliquez sur "
+"<guiseq><gui>ExÃcuter</gui><gui>ExÃcuter</gui></guiseq> pour lancer "
+"l'application. Amusez-vous bienÂ!"
+
+#: C/guitar-tuner.py.page:227(p)
+msgid ""
+"If you run into problems with the tutorial, compare your code with this "
+"<link href=\"guitar-tuner/guitar-tuner.py\">reference code</link>."
+msgstr ""
+"Si vous rencontrez des difficultÃs avec ce tutoriel, comparez votre "
+"programme à ce <link href=\"guitar-tuner/guitar-tuner.py\">programme de "
+"rÃfÃrence</link>."
+
+#: C/guitar-tuner.cpp.page:8(desc)
+msgid ""
+"Use Gtkmm and GStreamermm to build a simple guitar tuner application for "
+"GNOME. Shows off how to use the interface designer."
+msgstr ""
+"Utilisation de Gtkmm et de GStreamermm pour construire une application "
+"accordeur de guitare simple pour GNOME. Explications sur la maniÃre "
+"d'utiliser le concepteur d'interface."
+
+#: C/guitar-tuner.cpp.page:33(p)
+msgid "Basic knowledge of the C++ programming language"
+msgstr "des connaissances de base de la programmation en langage C++."
+
+#: C/guitar-tuner.cpp.page:47(p)
+msgid ""
+"Choose <gui>GTKmm (Simple)</gui> from the <gui>C++</gui> tab, click "
+"<gui>Forward</gui>, and fill out your details on the next few pages. Use "
+"<file>guitar-tuner</file> as project name and directory."
+msgstr ""
+"SÃlectionnez <gui>GTKmm (Simple)</gui> dans l'onglet <gui>C++</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.cpp.page:50(p)
+msgid ""
+"Make sure that <gui>Configure external packages</gui> is selected. On the "
+"next page, select <em>gstreamermm-0.10</em> from the list to include the "
+"GStreamermm library in your project."
+msgstr ""
+"Assurez-vous que <gui>Configuration des paquets externes</gui> est activÃ. "
+"Sur la page suivante, choisissez <em>gstreamermm-0.10</em> dans la liste "
+"pour inclure la bibliothÃque GStreamermm à votre projet."
+
+#: C/guitar-tuner.cpp.page:54(p)
+msgid ""
+"Click <gui>Finished</gui> and the project will be created for you. Open "
+"<file>src/main.cc</file> from the <gui>Project</gui> or <gui>File</gui> "
+"tabs. You should see some code which starts with the lines:"
+msgstr ""
+"Cliquez sur <gui>Appliquer</gui> et votre projet est crÃÃ. Ouvrez <file>src/"
+"main.cc</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Â:"
+
+#: C/guitar-tuner.cpp.page:64(p)
+msgid ""
+"This is a very basic C++ code setting up Gtkmm. More details are given "
+"below; skip this list if you understand the basics:"
+msgstr ""
+"C'est un programme C++ trÃs basique pour configurer GTKmm. Vous trouverez "
+"plus de dÃtails ci-dessousÂ; passez cette liste si vous comprenez les basesÂ:"
+
+#: C/guitar-tuner.cpp.page:68(p)
+msgid ""
+"The three <code>#include</code> lines at the top include the <code>config</"
+"code> (useful autoconf build defines), <code>gtkmm</code> (user interface) "
+"and <code>iostream</code> (STL). Functions from these libraries are used in "
+"the rest of the code."
+msgstr ""
+"Les trois lignes <code>#include</code> du haut incorporent les bibliothÃques "
+"<code>config</code> (dÃfinitions utiles pour la construction autoconf), "
+"<code>gtkmm</code> (interface utilisateur) et <code>iostream</code> (STL). "
+"Les fonctions de ces bibliothÃques seront utilisÃes dans le reste du "
+"programme."
+
+#: C/guitar-tuner.cpp.page:71(p)
+msgid ""
+"The <code>main</code> function creates a new window by opening a GtkBuilder "
+"file (<file>src/guitar-tuner.ui</file>, defined a few lines above) and then "
+"displaying it in a window. The GtkBuilder file contains a description of a "
+"user interface and all of its elements. You can use Anjuta's editor to "
+"design GtkBuilder user interfaces."
+msgstr ""
+"La fonction <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) et en l'affichant. Le fichier GtkBuilder contient une description "
+"de l'interface utilisateur et de tous ses ÃlÃments. Vous pouvez utiliser "
+"l'Ãditeur d'Anjuta pour concevoir des interfaces utilisateur GtkBuilder."
+
+#: C/guitar-tuner.cpp.page:74(p)
+msgid ""
+"Afterwards it calls a few functions which set up and then run the "
+"application. The <code>kit.run</code> function starts the GTKmm main loop, "
+"which runs the user interface and starts listening for events (like clicks "
+"and key presses)."
+msgstr ""
+"Ensuite quelques fonctions sont appelÃes pour configurer puis exÃcuter "
+"l'application. La fonction <code>kit.run</code> dÃmarre la boucle principale "
+"de GTKmm qui affiche l'interface utilisateur et commence à Ãcouter les "
+"ÃvÃnements (comme des clics de souris ou des appuis sur des touches)."
+
+#: C/guitar-tuner.cpp.page:99(p)
+msgid ""
+"While the button is still selected, change the <gui>Label</gui> property in "
+"the <gui>Widgets</gui> tab to <gui>E</gui>. This will be the low E string. "
+"Also change the <gui>Name</gui> property to <gui>button_E</gui>. This is the "
+"name we will refer to the widget later in code."
+msgstr ""
+"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."
+
+#: C/guitar-tuner.cpp.page:103(p)
+msgid ""
+"Repeat the above steps for the other buttons, adding the next 5 strings with "
+"the labels <em>A</em>, <em>D</em>, <em>G</em>, <em>B</em>, and <em>e</em> "
+"and the names <em>button_A</em>, etc."
+msgstr ""
+"RÃpÃtez cette procÃdure pour les autres boutons, en ajoutant les 5 cordes "
+"suivantes avec les Ãtiquettes <em>A</em>, <em>D</em>, <em>G</em>, <em>B</em> "
+"et <em>e</em> et les noms des <em>bouton_A</em>, etc. correspondants."
+
+#: C/guitar-tuner.cpp.page:106(p)
+msgid ""
+"Save the UI design (by clicking <guiseq><gui>File</gui><gui>Save</gui></"
+"guiseq>) and close the file."
+msgstr ""
+"Enregistrez le fichier de conception de l'interface utilisateur (en cliquant "
+"sur <guiseq><gui>Fichier</gui><gui>Enregistrer</gui></guiseq>) et fermez le "
+"fichier."
+
+#: C/guitar-tuner.cpp.page:113(p)
+msgid ""
+"GStreamer is GNOME's multimedia framework â you can use it for playing, "
+"recording, and processing video, audio, webcam streams and the like. Here, "
+"we'll be using it to produce single-frequency tones. GStreamermm is the C++ "
+"binding to GStreamer which we will use here."
+msgstr ""
+"GStreamer 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. GStreamermm est le lien C++ à GStreamer "
+"que nous utilisons dans cet exemple."
+
+#: C/guitar-tuner.cpp.page:123(title)
+msgid "Using GStreamermm"
+msgstr "Utilisation de GStreamermm"
+
+#: C/guitar-tuner.cpp.page:124(p)
+msgid ""
+"To use GStreamermm, it has to be initialised. We do that by adding the "
+"following line of code next to the <code>Gtk::Main kit(argc, argv);</code> "
+"line in <file>main.cc</file>:"
+msgstr ""
+"Pour utiliser GStreamermm, il faut l'initialiser. Ajoutez la ligne de code "
+"suivante en dessous de la ligne <code>Gtk::Main kit(argc, argv);</code> du "
+"fichier <file>main.cc</file>Â:"
+
+#: C/guitar-tuner.cpp.page:126(code)
+#, no-wrap
+msgid "\tGst::init (argc, argv);"
+msgstr "\tGst::init (argc, argv);"
+
+#: C/guitar-tuner.cpp.page:127(p)
+msgid ""
+"While we are on it, also make sure that the <file>gstreamermm.h</file> is "
+"included in <file>main.cc</file> properly."
+msgstr ""
+"VÃrifiez que le fichier <file>gstreamermm.h</file> est correctement inclus "
+"dans <file>main.cc</file>."
+
+#: C/guitar-tuner.cpp.page:131(p)
+msgid ""
+"To simplify the handling of the pipeline we will define a helper class "
+"<code>Sound</code>. We do that in <file>main.cc</file> in order to keep this "
+"example simple, whereas you might usually want to use a separate file:"
+msgstr ""
+"Pour simplifier la gestion du pipeline, nous dÃfinissons une classe "
+"assistant <code>Sound</code>. Ceci est rÃalisà dans le fichier <file>main."
+"cc</file> pour garder toute sa simplicità à cet exemple, alors que "
+"normalement vous le feriez dans un fichier sÃparÃÂ:"
+
+#: C/guitar-tuner.cpp.page:178(p)
+msgid "The code has the following purpose:"
+msgstr "L'objectif du programme est le suivantÂ:"
+
+#: C/guitar-tuner.cpp.page:181(p)
+msgid ""
+"In the constructor, source and sink GStreamer elements (<code>Gst::Element</"
+"code>) are created, and a pipeline element (which will be used as a "
+"container for the other two elements). The pipeline is given the name \"note"
+"\"; the source is named \"source\" and is set to the <code>audiotestsrc</"
+"code> source; and the sink is named \"output\" and set to the "
+"<code>autoaudiosink</code> sink (default sound card output). After the "
+"elements have been added to the pipeline and linked together, the pipeline "
+"is ready to run."
+msgstr ""
+"Le constructeur crÃe 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). Le pipeline est nommà ÂÂnoteÂÂÂ; la source "
+"est nommÃe ÂÂsourceÂÂ et dÃfinie comme Ãtant le connecteur "
+"<code>audiotestsrc</code> et le collecteur est nommà ÂÂoutput et dÃfini "
+"comme Ãtant le connecteur <code>autoaudiosink</code> (qui est la sortie par "
+"dÃfaut de la carte son). AprÃs avoir lià entre eux et ajoutà les ÃlÃments au "
+"pipeline, il est prÃt à fonctionner."
+
+#: C/guitar-tuner.cpp.page:184(p)
+msgid ""
+"<code>start_playing</code> sets the source element to play a particular "
+"frequency and then starts the pipeline so the sound actually starts playing. "
+"As we don't want to have the annoying sound for ages, a timeout is set up to "
+"stop the pipeline after 200 ms by calling <code>stop_playing</code>."
+msgstr ""
+"<code>start_playing</code> dÃfinit l'ÃlÃment source à une frÃquence donnÃe "
+"et dÃmarre rÃellement le pipeline pour commencer à diffuser le son. Comme "
+"nous ne voulons pas jouer indÃfiniment une note ennuyeuse, un dÃlai de 200 "
+"ms est dÃfini avant d'interrompre le pipeline en appelant la fonction "
+"<code>stop_playing</code>."
+
+#: C/guitar-tuner.cpp.page:189(p)
+msgid ""
+"In <code>stop_playing</code> which is called when the timeout has elapsed, "
+"the pipeline is stopped and as such there isn't any sound output anymore. As "
+"GStreamermm uses reference counting through the <code>Glib::RefPtr</code> "
+"object, the memory is automatically freed once the <code>Sound</code> class "
+"is destroyed."
+msgstr ""
+"Dans <code>stop_playing</code>, aprÃs que la durÃe soit Ãchue, le pipeline "
+"s'arrÃte et donc il n'y a plus de sortie son. Comme GStreamer utilise le "
+"comptage des rÃfÃrences à l'objet <code>Glib::RefPtr</code>, la mÃmoire est "
+"automatiquement libÃrÃe dÃs que la classe <code>Sound</code> est dÃtruite."
+
+#: C/guitar-tuner.cpp.page:197(title)
+msgid "Connecting the signals"
+msgstr "Connexion des signaux"
+
+#: C/guitar-tuner.cpp.page:198(p)
+msgid ""
+"We want to play the correct sound when the user clicks a button. That means "
+"that we have to connect to the signal that is fired when the user clicks the "
+"button. We also want to provide information to the called function which "
+"tone to play. GTKmm makes that quite easy as we can easily bind information "
+"with the <em>sigc</em> library."
+msgstr ""
+"Nous voulons jouer la note adÃquate quand l'utilisateur clique sur un "
+"bouton. Cela signifie que nous devons connecter le signal Ãmis par ce "
+"bouton. Nous voulons aussi informer la fonction appelÃe du son à diffuser. "
+"GTKmm rend la chose facile car il est facile de lier des informations avec "
+"la bibliothÃque <em>sigc</em>."
+
+#: C/guitar-tuner.cpp.page:203(p)
+msgid ""
+"The function that is called when the user clicks a button can be pretty "
+"simple, as all the interesting stuff is done in the helper class now:"
+msgstr ""
+"La fonction appelÃe lors d'un clic sur un bouton peut Ãtre trÃs simple, car "
+"tout le travail intÃressant se fait maintenant dans la classe assistantÂ:"
+
+#: C/guitar-tuner.cpp.page:212(p)
+msgid ""
+"It only calls the helper class we defined before to play the correct "
+"frequencies. With some more clever code we would also have been able to "
+"directly connect to the class without using the function but we will leave "
+"that to use as an exercise."
+msgstr ""
+"Elle ne fait qu'appeler la classe assistant que nous avons configurÃe "
+"auparavant pour diffuser la frÃquence appropriÃe. Avec un programme un peu "
+"plus malin, nous aurions pu aussi nous connecter directement à la classe "
+"sans passer par la fonction, mais laissons cela pour un exercice futur."
+
+#: C/guitar-tuner.cpp.page:216(p)
+msgid ""
+"The code to set up the signals should be added to the <code>main()</code> "
+"function just after the <code>builder-&gt;get_widget(\"main_window\", "
+"main_win);</code> line:"
+msgstr ""
+"Le code qui configure les signaux doit Ãtre ajoutà à la fonction <code>main()"
+"</code>, juste aprÃs la ligne <code>builder-&gt;get_widget(\"main_window\","
+"main_win);</code>Â:"
+
+#: C/guitar-tuner.cpp.page:228(p)
+msgid ""
+"At first we create an instance of our helper class that we want to use now "
+"and declare a variable for the button we want to connect to."
+msgstr ""
+"D'abord, nous crÃons une instance de notre classe assistant que nous voulons "
+"maintenant utiliser et dÃclarons une variable pour le bouton que nous "
+"voulons connecter."
+
+#: C/guitar-tuner.cpp.page:232(p)
+msgid ""
+"Next, we receive the button object from the user interface that was created "
+"out of the user interface file. Remember that <em>button_E</em> is the name "
+"we gave to the first button."
+msgstr ""
+"Ensuite, nous rÃcupÃrons l'objet bouton de l'interface utilisateur qui a Ãtà "
+"crÃÃ Ã partir du fichier de l'interface utilisateur. Souvenez-vous que "
+"<em>bouton_E</em> est le nom que nous avons donnà au premier bouton."
+
+#: C/guitar-tuner.cpp.page:236(p)
+msgid ""
+"Finally we connect the <em>clicked</em> signal. This isn't fully "
+"straightforward because this is done in a fully type-safe way and we "
+"actually want to pass the frequency and our helper class to the signal "
+"handler. <code>sigc::ptr_fun(&amp;on_button_clicked)</code> creates a "
+"<em>slot</em> for the <code>on_button_clicked</code> method we defined "
+"above. With <code>sigc::bind</code> we are able to pass additional arguments "
+"to the slot and in this case we pass the frequency (as double) and our "
+"helper class."
+msgstr ""
+"Enfin, nous connectons le signal <em>clicked</em>. Il est vrai que cela ne "
+"paraÃt pas trÃs simple car nous prenons beaucoup de prÃcautions sur le type "
+"des variables et que nous dÃsirons en rÃalità transmettre notre classe "
+"assistant et la frÃquence au rÃcepteur de signal. <code>sigc::ptr_fun(&amp;"
+"on_button_clicked)</code> crÃe un <em>connecteur</em> pour la mÃthode "
+"<code>on_button_clicked</code> dÃfinie plus haut. Nous pouvons transmettre "
+"d'autres arguments avec <code>sigc::bind</code> et dans notre exemple, nous "
+"transmettons la frÃquence (de type ÂÂdoubleÂÂ) et notre classe assistant."
+
+#: C/guitar-tuner.cpp.page:243(p)
+msgid ""
+"Now that we have set up the <em>E</em> button we also need to connect the "
+"other buttons according to their frequencies: 440 for A, 587.33 for D, "
+"783.99 for G, 987.77 for B and 1318.5 for the high E. This is done in the "
+"same way, just passing a different frequency to the handler."
+msgstr ""
+"AprÃs avoir configurà le bouton <em>E</em>, nous devons connecter les autres "
+"boutons en fonction de leur frÃquenceÂ: 440 pour A, 587,33 pour D, 783,99 "
+"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:256(p)
+msgid ""
+"If you run into problems with the tutorial, compare your code with this "
+"<link href=\"guitar-tuner/guitar-tuner.cc\">reference code</link>."
+msgstr ""
+"Si vous rencontrez des difficultÃs avec ce tutoriel, comparez votre "
+"programme à ce <link href=\"guitar-tuner/guitar-tuner.cc\">programme de "
+"rÃfÃrence</link>."
+
+#: C/guitar-tuner.cpp.page:260(title)
+msgid "Further Reading"
+msgstr "Lecture complÃmentaire"
+
+#: C/guitar-tuner.cpp.page:261(p)
+msgid ""
+"Many of the things shown above are explained in detail in the <link href="
+"\"http://library.gnome.org/devel/gtkmm-tutorial/stable/\";>GTKmm book</link> "
+"which also covers a lot more key concept for using the full power of GTKmm. "
+"You might also be interested in the <link href=\"http://library.gnome.org/";
+"devel/gstreamermm/\">GStreamermm reference documentation</link>."
+msgstr ""
+"Pour des informations plus dÃtaillÃes sur les exemples ci-dessus, consultez "
+"le <link href=\"http://library.gnome.org/devel/gtkmm-tutorial/stable/";
+"\">manuel de GTKmm</link> qui couvre beaucoup plus de sujets clÃs pour "
+"utiliser toute la puissance de GTKmm, ainsi que la <link href=\"http://";
+"library.gnome.org/devel/gstreamermm/\">documentation de rÃfÃrence de "
+"gstreamermm</link>."
+
+#: C/guitar-tuner.c.page:33(p)
+msgid "Basic knowledge of the C programming language"
+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 "
+"<file>guitar-tuner</file> as project name and directory."
+msgstr ""
+"SÃlectionnez <gui>Gtk+ (Simple)</gui> dans l'onglet <gui>C</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.c.page:64(p)
+msgid ""
+"C is a rather verbose language, so don't be surprised that the file contains "
+"quite a lot of code. Most of it is template code. It loads an (empty) window "
+"from the user interface description file and shows it. More details are "
+"given below; skip this list if you understand the basics:"
+msgstr ""
+"ÂÂCÂÂ est un langage plutÃt verbeux, donc ne soyez pas surpris par la "
+"quantità de code que contient le fichier. La plupart du code est gÃnÃrique. "
+"Il 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.c.page:71(p)
+msgid ""
+"The <code>create_window</code> function creates a new window by opening a "
+"GtkBuilder file (<file>src/guitar-tuner.ui</file>, defined a few lines "
+"above), connecting its signals and then displaying it in a window. The "
+"GtkBuilder file contains a description of a user interface and all of its "
+"elements. You can use Anjuta's editor to design GtkBuilder user interfaces."
+msgstr ""
+"La fonction <code>create_window</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 ses signaux et en l'affichant dans une "
+"fenÃtre. Le fichier GtkBuilder contient une description de l'interface "
+"utilisateur et de tous ses ÃlÃments. Vous pouvez utiliser l'Ãditeur d'Anjuta "
+"pour concevoir des interfaces utilisateur GtkBuilder."
+
+#: C/guitar-tuner.c.page:120(p)
+msgid ""
+"To do this, open <file>main.c</file> while the user interface file is still "
+"open. Switch to the <gui>Signals</gui> tab, which you already used to set "
+"the signal name. Now take the row where you set the <gui>clicked</gui> "
+"signal and drag it into to the source file at a position that is outside any "
+"function. The following code will be added to your source file:"
+msgstr ""
+"Pour cela, ouvrez <file>main.c</file> pendant que le fichier de l'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 quelque part à "
+"l'extÃrieur d'une fonction dans le fichier source. Le code suivant s'ajoute "
+"Ã votre fichier sourceÂ:"
+
+#: C/guitar-tuner.c.page:128(p)
+msgid ""
+"This signal handler has two arguments: a pointer to the <code>GtkWidget</"
+"code> that called the function (in our case, always a <code>GtkButton</"
+"code>), and a pointer to some \"user data\" that you can define, but which "
+"we won't be using here. (You can set the user data by calling "
+"<code>gtk_builder_connect_signals</code>; it is normally used to pass a "
+"pointer to a data structure that you might need to access inside the signal "
+"handler.)"
+msgstr ""
+"Ce rÃcepteur de signal a deux argumentsÂ: un pointeur vers le "
+"<code>GtkWidget</code> qui a appelà la fonction (dans notre cas, toujours un "
+"<code>GtkButton</code>) et un pointeur sur des ÂÂdonnÃes "
+"utilisateurÂÂ (user_data) que vous pouvez dÃfinir, mais que nous n'utilisons "
+"pas ici (les donnÃes utilisateur peuvent Ãtre dÃfinies par un appel à la "
+"fonction <code>gtk_builder_connect_signals</code>Â; il sert normalement à "
+"transmettre un pointeur à une structure de donnÃes auxquelles vous pouvez "
+"avoir besoin d'accÃder à l'intÃrieur du gestionnaire de signal)."
+
+#: C/guitar-tuner.c.page:146(p)
+msgid ""
+"Insert the following line into <file>main.c</file>, just below the <code><!"
+"[CDATA[#include <gtk/gtk.h>]]></code> line:"
+msgstr ""
+"InsÃrez la ligne suivante dans le fichier <file>main.c</file>, juste en "
+"dessous de la ligne <code><![CDATA[#include <gtk/gtk.h>]]></code>Â:"
+
+#: C/guitar-tuner.c.page:148(p)
+msgid ""
+"This includes the GStreamer library. You also need to add a line to "
+"initialize GStreamer; put the following code on the line above the "
+"<code>gtk_init</code> call in the <code>main</code> function:"
+msgstr ""
+"Cela inclut la bibliothÃque de GStreamer. Ajoutez aussi une ligne pour "
+"initialiser GStreamerÂ; mettez le code suivant dans la ligne au-dessus de "
+"<code>gtk_init</code> dans la fonction <code>main</code>Â:"
+
+#: C/guitar-tuner.c.page:150(p)
+msgid ""
+"Then, copy the following function into <file>main.c</file> above the empty "
+"<code>on_button_clicked</code> function:"
+msgstr ""
+"Ensuite, copiez la fonction suivante dans le fichier <file>main.c</file> au-"
+"dessus de la fonction vide <code>on_button_clicked</code>Â:"
+
+#: C/guitar-tuner.c.page:177(p)
+msgid ""
+"The first five lines create source and sink GStreamer elements "
+"(<code>GstElement</code>), and a pipeline element (which will be used as a "
+"container for the other two elements). The pipeline is given the name \"note"
+"\"; the source is named \"source\" and is set to the <code>audiotestsrc</"
+"code> source; and the sink is named \"output\" and set to the "
+"<code>autoaudiosink</code> sink (default sound card output)."
+msgstr ""
+"Les cinq premiÃres lignes crÃent les ÃlÃments GStreamer source et sink "
+"(collecteur) et un ÃlÃment pipeline (qui sera utilisà comme conteneur pour "
+"les deux autres ÃlÃments). Le pipeline est nommà ÂÂnoteÂÂÂ; la source est "
+"nommÃe ÂÂsourceÂÂ et dÃfinie comme Ãtant le connecteur <code>audiotestsrc</"
+"code> et le collecteur est nommà ÂÂoutput et dÃfini comme Ãtant le "
+"connecteur <code>autoaudiosink</code> (qui est la sortie par dÃfaut de la "
+"carte son)."
+
+#: C/guitar-tuner.c.page:180(p)
+msgid ""
+"The call to <code>g_object_set</code> sets the <code>freq</code> property of "
+"the source element to <code>frequency</code>, which is passed as an argument "
+"to the <code>play_sound</code> function. This is just the frequency of the "
+"note in Hertz; some useful frequencies will be defined later on."
+msgstr ""
+"L'appel à <code>g_object_set</code> 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.c.page:183(p)
+msgid ""
+"<code>gst_bin_add_many</code> puts the source and sink into the pipeline. "
+"The pipeline is a <code>GstBin</code>, which is just an element that can "
+"contain multiple other GStreamer elements. In general, you can add as many "
+"elements as you like to the pipeline by adding more arguments to "
+"<code>gst_bin_add_many</code>."
+msgstr ""
+"<code>gst_bin_add_many</code> place la source et le collecteur dans le "
+"pipeline. Le pipeline est un <code>GstBin</code> qui est 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 ajoutant "
+"d'autres d'arguments à <code>gst_bin_add_many</code>."
+
+#: C/guitar-tuner.c.page:186(p)
+msgid ""
+"Next, <code>gst_element_link</code> is used to connect the elements "
+"together, so the output of <code>source</code> (a tone) goes into the input "
+"of <code>sink</code> (which is then output to the sound card). "
+"<code>gst_element_set_state</code> is then used to start playback, by "
+"setting the state of the pipeline to playing (<code>GST_STATE_PLAYING</"
+"code>)."
+msgstr ""
+"Ensuite, <code>gst_element_link</code> est utilisà pour connecter 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>gst_element_set_state</code> sert enfin à dÃmarrer la lecture en "
+"basculant l'Ãtat du pipeline à ÂÂplaying (lecture) "
+"(<code>GST_STATE_PLAYING</code>)."
+
+#: C/guitar-tuner.c.page:194(p)
+msgid ""
+"We don't want to play an annoying tone forever, so the last thing "
+"<code>play_sound</code> does is to call <code>g_timeout_add</code>. This "
+"sets a timeout for stopping the sound; it waits for <code>LENGTH</code> "
+"milliseconds before calling the function <code>pipeline_stop</code>, and "
+"will keep calling it until <code>pipeline_stop</code> returns <code>FALSE</"
+"code>."
+msgstr ""
+"Comme nous ne voulons pas jouer indÃfiniment une note ennuyeuse, la derniÃre "
+"chose que fait <code>play_sound</code> est d'appeler <code>g_timeout_add</"
+"code> qui dÃfinit un dÃlai avant la coupure du sonÂ; cela attend "
+"<code>LENGTH</code> millisecondes avant d'appeler la fonction "
+"<code>pipeline_stop</code> et continuera à l'appeler jusqu'à ce que "
+"<code>pipeline_stop</code> renvoie la valeur <code>FALSE</code>."
+
+#: C/guitar-tuner.c.page:195(p)
+msgid ""
+"Now, we'll write the <code>pipeline_stop</code> function which is called by "
+"<code>g_timeout_add</code>. Insert the following code <em>above</em> the "
+"<code>play_sound</code> function:"
+msgstr ""
+"Ãcrivons maintenant la fonction <code>pipeline_stop</code> qui est appelÃe "
+"par <code>g_timeout_add</code>. InsÃrez le code suivant <em>au-dessus</em> "
+"de la fonction <code>play_sound</code>Â:"
+
+#: C/guitar-tuner.c.page:207(p)
+msgid ""
+"The call to <code>gst_element_set_state</code> pauses the playback of the "
+"pipeline and <code>g_object_unref</code> unreferences the pipeline, "
+"destroying it and freeing its memory."
+msgstr ""
+"L'appel à <code>gst_element_set_state</code> met en pause la lecture du "
+"pipeline et <code>g_object_unref</code> dÃrÃfÃrence le pipeline, le "
+"dÃtruisant ainsi et effaÃant sa mÃmoire."
+
+#: C/guitar-tuner.c.page:212(p)
+msgid ""
+"We want to play the correct sound when the user clicks a button. First of "
+"all, we need to know the frequencies for the six guitar strings, which are "
+"defined (at the top of <file>main.c</file>) as follows:"
+msgstr ""
+"Nous voulons jouer la note adÃquate quand l'utilisateur clique sur un "
+"bouton. Avant tout, nous devons connaÃtre la frÃquence de chacune des six "
+"cordes de la guitare qui sont dÃfinies (au dÃbut du fichier <file>main.c</"
+"file>) ainsiÂ:"
+
+#: C/guitar-tuner.c.page:244(p)
+msgid ""
+"A pointer to the <code>GtkButton</code> that was clicked is passed as an "
+"argument (<code>button</code>) to <code>on_button_clicked</code>. We can get "
+"the label of that button by using <code>gtk_bin_get_child</code>, and then "
+"get the text from that label using <code>gtk_label_get_label</code>."
+msgstr ""
+"Un pointeur vers le bouton <code>GtkButton</code> qui a Ãtà cliquà est "
+"transmis comme argument (<code>button</code>) Ã <code>on_button_clicked</"
+"code>. On peut obtenir l'Ãtiquette de ce bouton en utilisant "
+"<code>gtk_bin_get_child</code> puis en extrayant le texte de cette Ãtiquette "
+"avec <code>gtk_label_get_label</code>."
+
+#: C/guitar-tuner.c.page:245(p)
+msgid ""
+"The label text is then compared to the notes that we have using "
+"<code>g_str_equal</code>, and <code>play_sound</code> is called with the "
+"frequency appropriate for that note. This plays the tone; we have a working "
+"guitar tuner!"
+msgstr ""
+"On compare ensuite le texte de cette Ãtiquette à la note à l'aide de la "
+"fonction <code>g_str_equal</code> et <code>play_sound</code> est appelÃe "
+"avec la frÃquence appropriÃe à cette note. Cela joue la noteÂ; nous avons un "
+"accordeur de guitare opÃrationnelÂ!"
+
+#: C/guitar-tuner.c.page:256(p)
+msgid ""
+"If you run into problems with the tutorial, compare your code with this "
+"<link href=\"guitar-tuner/guitar-tuner.c\">reference code</link>."
+msgstr ""
+"Si vous rencontrez des difficultÃs avec ce tutoriel, comparez votre "
+"programme à ce <link href=\"guitar-tuner/guitar-tuner.c\">programme de "
+"rÃfÃrence</link>."
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/getting-ready.page:40(None)
+msgid "@@image: 'media/ubuntu.png'; md5=40845e4a40b335b1958da1403f01c13f"
+msgstr "@@image: 'media/ubuntu.png'; md5=40845e4a40b335b1958da1403f01c13f"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/getting-ready.page:45(None)
+msgid "@@image: 'media/fedora.png'; md5=19add55f4349fd9e90f3a50b344ba626"
+msgstr "@@image: 'media/fedora.png'; md5=19add55f4349fd9e90f3a50b344ba626"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/getting-ready.page:50(None)
+msgid "@@image: 'media/opensuse.png'; md5=a852a94199328e2f978c7f6a55bf8b54"
+msgstr "@@image: 'media/opensuse.png'; md5=a852a94199328e2f978c7f6a55bf8b54"
+
+#: C/getting-ready.page:8(desc)
+msgid "Install GNOME development tools"
+msgstr "Installer les objets de dÃveloppement GNOME"
+
+#: C/getting-ready.page:17(title)
+msgid "Getting ready for GNOME development"
+msgstr "PrÃparation de l'environnement pour le dÃveloppement avec GNOME"
+
+#: C/getting-ready.page:20(title)
+msgid "Install the required tools"
+msgstr "Installation des outils nÃcessaires"
+
+#: C/getting-ready.page:21(p)
+msgid ""
+"Before you can start coding you will have to install the required tools for "
+"GNOME development on your computer. This shouldn't take you more than ten "
+"minutes."
+msgstr ""
+"Avant de pouvoir commencer à programmer, vous devez installer sur votre "
+"ordinateur les outils nÃcessaires au dÃveloppement avec GNOME. Cela ne "
+"devrait pas vous prendre plus de dix minutes."
+
+#: C/getting-ready.page:26(title)
+msgid "Automatic installation"
+msgstr "Installation automatique"
+
+#: C/getting-ready.page:27(p)
+msgid ""
+"On an up-to-date distribution you should be able to simply install the "
+"required packages by clicking on <link href=\"media/gnome-devtools.catalog"
+"\">Install now</link>."
+msgstr ""
+"Avec une distribution à jour, vous devriez pouvoir installer les paquets "
+"nÃcessaires tout simplement en cliquant sur <link href=\"media/gnome-"
+"devtools.catalog\">Installer maintenant</link>."
+
+#: C/getting-ready.page:32(title)
+msgid "Manual installation"
+msgstr "Installation manuelle"
+
+#: C/getting-ready.page:33(p)
+msgid ""
+"If you prefer manual installation you can find the instructions for the "
+"various distributions in the <link href=\"http://live.gnome.org/";
+"DeveloperTools/Installation\">GNOME wiki</link>. Click on the image to go "
+"directly to the installation page for your distribution:"
+msgstr ""
+"Si vous prÃfÃrez faire une installation manuelle, consultez les instructions "
+"pour les diffÃrentes distributions sur le <link href=\"http://live.gnome.org/";
+"DeveloperTools/Installation\">wiki GNOME</link>. Cliquez sur l'image pour "
+"aller directement à la page d'installation pour votre distributionÂ:"
+
+#: C/getting-ready.page:40(media)
+msgid "Ubuntu"
+msgstr "Ubuntu"
+
+#: C/getting-ready.page:45(media)
+msgid "Fedora"
+msgstr "Fedora"
+
+#: C/getting-ready.page:50(media)
+msgid "OpenSuSE"
+msgstr "OpenSuSE"
+
+#: C/getting-ready.page:53(link)
+msgid "Others"
+msgstr "Autres"
+
+#: C/getting-ready.page:60(title)
+msgid "Required versions"
+msgstr "Versions requises"
+
+#: C/getting-ready.page:61(p)
+msgid ""
+"The guides assume that you have at least the following versions of the tools "
+"installed:"
+msgstr ""
+"Dans ce manuel, il est supposà que vous possÃdez au minimum les versions "
+"suivantes des outils installÃesÂ:"
+
+#: C/getting-ready.page:64(p)
+msgid "Anjuta - 3.0"
+msgstr "Anjuta - 3.0"
+
+#: C/getting-ready.page:65(p)
+msgid "Devhelp - 3.0"
+msgstr "Devhelp - 3.0"
+
+#: C/getting-ready.page:66(p)
+msgid "Glade - 3.10"
+msgstr "Glade - 3.10"
+
+#: C/getting-ready.page:68(p)
+msgid ""
+"Of course, any newer version will also work. Now, we wish you a lot of fun "
+"with the <link xref=\"index\">Demos</link>."
+msgstr ""
+"Bien sÃr, n'importe quelle version supÃrieure convient aussi. Maintenant, "
+"nous vous souhaitons de prendre beaucoup de plaisir avec ces <link xref="
+"\"index\">exemples</link>."
+
+#. 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"



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