commit-gnue
[Top][All Lists]
Advanced

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

[gnue] r9695 - in trunk: gnue-appserver/po gnue-common/po gnue-forms/def


From: reinhard
Subject: [gnue] r9695 - in trunk: gnue-appserver/po gnue-common/po gnue-forms/defaults/default gnue-forms/po
Date: Fri, 8 Jun 2007 10:26:50 -0500 (CDT)

Author: reinhard
Date: 2007-06-08 10:26:47 -0500 (Fri, 08 Jun 2007)
New Revision: 9695

Added:
   trunk/gnue-appserver/po/fr.po
   trunk/gnue-forms/defaults/default/fr.gfd
Modified:
   trunk/gnue-common/po/fr.po
   trunk/gnue-forms/po/fr.po
Log:
Updated French translations, thanks to Didier Belot (aka electrolinux).


Added: trunk/gnue-appserver/po/fr.po
===================================================================
--- trunk/gnue-appserver/po/fr.po       2007-06-08 15:04:07 UTC (rev 9694)
+++ trunk/gnue-appserver/po/fr.po       2007-06-08 15:26:47 UTC (rev 9695)
@@ -0,0 +1,836 @@
+# GNU Enterprise Appserver - French Translation
+# Copyright (C) 2004-2006 Free Software Foundation
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: GNUe-AppServer 0.5\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-08-24 10:53+CEST\n"
+"PO-Revision-Date: 2006-08-22 21:47+0200\n"
+"Last-Translator: Didier Belot <address@hidden>\n"
+"Language-Team: French\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: data.py:30
+msgid ""
+"Changing state from '%(oldstate)s' to 'initialized' not allowed in table '%"
+"(table)s' row %(row)s"
+msgstr ""
+"Changement d'état depuis '%(oldstate)s' vers 'initialized' non autorisé "
+"dans la ligne %(row)s de la table '%(table)s'"
+
+#: data.py:37
+msgid "Row '%(row)s' of table '%(table)s' has an invalid state '%(state)s'"
+msgstr "La ligne '%(row)s' de la table '%(table)s' a un état incorrect 
'%(state)s'"
+
+#: data.py:47
+msgid "Data contains circular references"
+msgstr "Les données contiennent des références circulaires"
+
+#: data.py:52
+msgid "Duplicate instance '%(row)s' in class '%(table)s'"
+msgstr "Instance dupliquée '%(row)s' dans la classe '%(table)s'"
+
+#: data.py:1901 geasInstance.py:470
+msgid "Order-by sequence mismatch: '%(self)s' and '%(other)s'"
+msgstr "Les éléments de tri '%(self)s' et '%(other)s' ne correspondent pas"
+
+#: data.py:1910 geasInstance.py:479
+msgid ""
+"Order-by sequence element has different directions: '%(self)s', '%(other)s'"
+msgstr "Les éléments de tri ont des directions différentes : '%(self)s', 
'%(other)s'"
+
+#: gcd/GCParser.py:47 gld/GLParser.py:41
+msgid "Class '%s' has no module"
+msgstr "La classe '%s' n'a pas de module"
+
+#: gcd/GCParser.py:53
+msgid "'%s' has a length in type and an extra length attribute"
+msgstr "'%s' a un champ length dans son type et un attribut supplémentaire 
length"
+
+#: gcd/GCParser.py:55
+msgid "'%s' has a scale in type and an extra scale attribute"
+msgstr "'%s' a un champ scale dans son type et un attribut supplémentaire 
scale"
+
+#: gcd/GCParser.py:60 gld/GLParser.py:46
+msgid ""
+"The class '%(class)s' mismatches the given module attribute '%(module)s'"
+msgstr ""
+"l'attribut de module '%(module)s' et le module de la classe '%(class)s' "
+"ne correspondent pas"
+
+#: gcd/GCParser.py:66
+msgid "Calculated property '%(class)s.%(property)s' has parameters"
+msgstr "La propriété calculée '%(class)s.%(property)s' a des paramètres"
+
+#: gcd/GCParser.py:75
+msgid "The module name '%s' contains underscores"
+msgstr "Le nom de module '%s' ne doit pas contenir de souligné ('_')"
+
+#: gcd/GCParser.py:80
+msgid "Reference '%(ref)s' not allowed for '%(type)s' instance %(name)s"
+msgstr ""
+"Référence '%(ref)s' non autorisée pour l'instance %(name)s de type '%(type)s' 
"
+
+#: gcd/GCParser.py:316
+msgid "Reference type '%s' must not have a length"
+msgstr "Une référence du type '%s' ne doit pas avoir de longueur"
+
+#: gcd/GCParser.py:319
+msgid "Reference type '%s' must not have a scale"
+msgstr "Une référence du type '%s' ne doit pas avoir d'échelle"
+
+#: gcd/GCParser.py:343
+msgid "Module has no name"
+msgstr "Le module n'a pas de nom"
+
+#: gcd/GCParser.py:368
+msgid "Class has no name"
+msgstr "La classe n'a pas de nom"
+
+#: gcd/readgcd.py:47
+msgid "Cannot find '%(key)s' named '%(value)s in lookup dictionary"
+msgstr ""
+"La clé '%(key)s' nommée '%(value)s n'existe pas dans le dictionnaire"
+
+#: gcd/readgcd.py:60 gld/readgld.py:53
+msgid "In file(s) '%s':"
+msgstr "Dans le fichier '%s' :"
+
+#: gcd/readgcd.py:68 repository.py:35
+msgid "Module '%s' not found in class repository"
+msgstr "Le module '%s' est introuvable dans le référentiel de classes"
+
+#: gcd/readgcd.py:73 gld/readgld.py:60 repository.py:40
+msgid "Class '%s' not found in class repository"
+msgstr "La classe '%s' est introuvable dans le référentiel de classes"
+
+#: gcd/readgcd.py:78
+msgid "Filter '%(filter)s' of class '%(class)s' not found in class repository"
+msgstr ""
+"Le filtre '%(filter)s' de la classe '%(class)s' est introuvable dans le 
référentiel de classes"
+
+#: gcd/readgcd.py:85
+msgid "Changing filter of existing class '%s' is not allowed"
+msgstr ""
+"Changer le filter de la classe existante '%s' n'est pas autorisé"
+
+#: gcd/readgcd.py:90
+msgid ""
+"Property '%s' cannot be added to existing class with 'NOT NULL' constraint"
+msgstr ""
+"La propriété '%s' ne peut être ajouté à une classe existante avec une 
contrainte 'NOT NULL'"
+
+#: gcd/readgcd.py:96
+msgid "Class '%s' is defined multiple times"
+msgstr "La classe '%s' est définie plusieurs fois"
+
+#: gcd/readgcd.py:111
+msgid ""
+"Create or update a database schema from a GNUe Class Definition (gcd) file\n"
+"and maintain data for all gnue_* classes"
+msgstr ""
+"Créer ou modifier un schéma de base de données depuis un fichier de 
définition\n"
+"de classe GNUe (gcd) et gérer les données pour toutes les classes gnue_*"
+
+#: gcd/readgcd.py:121 geasGsdGen.py:82 gld/readgld.py:101
+msgid "connectionname"
+msgstr "nom_de_connexion"
+
+#: gcd/readgcd.py:122 gld/readgld.py:102
+msgid "Use the connection <connectionname> for creating the schema"
+msgstr ""
+"Utilise la connexion <nom_de_connexion> pour créer le schéma"
+
+#: gcd/readgcd.py:124
+msgid "filename"
+msgstr "nom_de_fichier"
+
+#: gcd/readgcd.py:125
+msgid "Also send the code for creating the schema to this file."
+msgstr ""
+"Envoyer aussi le code de création du schéma dans ce fichier"
+
+#: gcd/readgcd.py:128
+msgid ""
+"If this flag is set, only code is sent to the output file and the schema is "
+"not created automatically."
+msgstr "Si ce drapeau est activé, le code est simplement affiché et le schéma "
+"n'est pas créé automatiquement."
+
+#: gcd/readgcd.py:131 gld/readgld.py:104
+msgid "user"
+msgstr "utilisateur"
+
+#: gcd/readgcd.py:132 gld/readgld.py:105
+msgid ""
+"Set the username for the database. If the database is to be created, this "
+"username will be it's owner."
+msgstr ""
+"Défini l'utilisateur de la base de données. Si la base "
+"de données doit être créée, cet utilisateur en sera le propriétaire."
+
+
+#: gcd/readgcd.py:135 gld/readgld.py:108
+msgid "password"
+msgstr "mot_de_passe"
+
+#: gcd/readgcd.py:136 gld/readgld.py:109
+msgid "Set the password for the database."
+msgstr "Mot de passe pour la connexion à la base de donnée"
+
+#: gcd/readgcd.py:256 gld/readgld.py:213
+msgid "No input file specified."
+msgstr "Pas de fichier d'entrée spécifié."
+
+#: gcd/readgcd.py:259 gld/readgld.py:216
+msgid "No connection specified."
+msgstr "Aucune connexion spécifiée."
+
+#: gcd/readgcd.py:263
+msgid "Output to file only requested, but no filename specified."
+msgstr "Sortie demandée uniquement vers un fichier, mais aucun "
+"nom de fichier spécifié."
+
+#: gcd/readgcd.py:274 gld/readgld.py:227
+msgid "Unable to open input file: %s"
+msgstr "Impossible d'ouvrir le fichier d'entrée %s."
+
+#: gcd/readgcd.py:294
+msgid "Loading gcd files ..."
+msgstr "Chargement des fichiers gcd ..."
+
+#: gcd/readgcd.py:338
+msgid "Updating schema ..."
+msgstr "Mise à jour du schéma ..."
+
+#: gcd/readgcd.py:359
+msgid "Updating class repository ..."
+msgstr "Mise à jour du référentiel de classes ..."
+
+#: gcd/readgcd.py:815
+msgid "  Modules   : %(ins)3d inserted, %(upd)3d updated, %(kept)3d unchanged."
+msgstr ""
+"  Modules    : %(ins)3d insérés, %(upd)3d modifiés, %(kept)3d préservés."
+
+#: gcd/readgcd.py:876
+msgid "  Classes   : %(ins)3d inserted, %(upd)3d updated, %(kept)3d unchanged."
+msgstr ""
+"  Classes    : %(ins)3d insérées, %(upd)3d modifiées, %(kept)3d préservées."
+
+#: gcd/readgcd.py:907
+msgid "  Properties: %(ins)3d inserted, %(upd)3d updated, %(kept)3d unchanged."
+msgstr ""
+"  Propriétés : %(ins)3d insérées, %(upd)3d modifiées, %(kept)3d préservées."
+
+#: gcd/readgcd.py:939
+msgid "  Procedures: %(ins)3d inserted, %(upd)3d updated, %(kept)3d unchanged."
+msgstr ""
+"  Procédures : %(ins)3d insérées, %(upd)3d modifiées, %(kept)3d préservées."
+
+#: gcd/readgcd.py:973
+msgid "  Parameters: %(ins)3d inserted, %(upd)3d updated, %(kept)3d unchanged."
+msgstr ""
+"  Paramètres : %(ins)3d insérés, %(upd)3d modifiés, %(kept)3d préservés."
+
+#: geasAuthentication.py:103
+msgid "User '%s' does not exist."
+msgstr "l'utilisateur '%s' n'existe pas."
+
+#: geasAuthentication.py:107
+msgid ""
+"Internal Error: More than one (%(numrec)s) record for user '%(username)s'."
+msgstr ""
+"Erreur interne : Plus d'un (%(numrec)s) enregistrement pour l'utilisateur 
'%(username)s'."
+
+#: geasAuthentication.py:113
+msgid "Invalid password for user '%s'"
+msgstr "Mot de passe incorrect pour l'utilisateur '%s'"
+
+#: geasAuthentication.py:175
+msgid "User '%s' logged in."
+msgstr "Utilisateur '%s' connecté."
+
+#: geasConfiguration.py:35 geasConfiguration.py:37
+msgid ""
+"Depreciated: Name of the database connection appserver is using. Use "
+"connection instead."
+msgstr ""
+"Déprécié : Nom de la connexion à la base de données utilisée par appserver. "
+"Utiliser l'option 'connection' à la place."
+
+#: geasConfiguration.py:44 geasConfiguration.py:45
+msgid "Name of the database connection appserver is using"
+msgstr "Nom de la connection utilisée par appserver"
+
+#: geasConfiguration.py:51 geasConfiguration.py:52
+msgid "RPC Interface Type appserver is providing"
+msgstr "Types d'interfaces RPC fournies par appserver"
+
+#: geasConfiguration.py:58 geasConfiguration.py:59
+msgid "Port (if needed) for RPC Interface"
+msgstr "Port (si nécessaire) de l'interface RPC"
+
+#: geasConfiguration.py:65 geasConfiguration.py:66
+msgid "Hosts which are allowed to access appserver"
+msgstr "Hôtes autorisés à accéder à appserver"
+
+#: geasConfiguration.py:72 geasConfiguration.py:73
+msgid "Hostname of the interface to bind services to"
+msgstr ""
+"Nom d'hôte de l'interface à laquelle attacher les services"
+
+#: geasConfiguration.py:79 geasConfiguration.py:80
+msgid "Null values appear first in ascending sort"
+msgstr "Les valeurs NULL apparaissent en premier dans le tri ascendant"
+
+#: geasConfiguration.py:86 geasConfiguration.py:87
+msgid "Null values appear first in descending sort"
+msgstr "Les valeurs NULL apparaissent en premier dans le tri descendant"
+
+#: geasConfiguration.py:93 geasConfiguration.py:94 geasRpcServer.py:154
+msgid "Semicolon-separated list of paths to load modules from"
+msgstr ""
+"Liste de chemins séparés par deux-points (:) d'où charger les modules"
+
+#: geasConfiguration.py:100 geasConfiguration.py:101
+msgid "Type of UUID to use. Can be 'time' or 'random'"
+msgstr ""
+"Type d'UUID à utiliser. Peut-être 'time' ou 'random'"
+
+#: geasConfiguration.py:107 geasConfiguration.py:108
+msgid "Directory for webfrontend http documents"
+msgstr "Répertoire des documents http de l'interface web"
+
+#: geasConfiguration.py:113 geasConfiguration.py:115
+msgid "Type of the HTTP server to use. Can be 'threading' or 'forking'"
+msgstr "Type de serveur HTTP à utiliser. Peut être 'threading' ou 'forking'"
+
+#: geasGsdGen.py:46
+msgid "Classes have circular or unresolveable references"
+msgstr "Les classes ont des références circulaires ou irresolvable"
+
+#: geasGsdGen.py:51
+msgid "The class '%s' contains circular data-references"
+msgstr "La classe '%s' contient des références circulaires"
+
+#: geasGsdGen.py:68
+msgid ""
+"A tool to dump data from a database into a GNUe Schema Definition (gsd) file."
+msgstr ""
+"Un outil pour vider les données d'une base de données\n"
+"dans un fichier de définition de schéma GNUe (gsd)."
+
+#: geasGsdGen.py:77
+msgid "database"
+msgstr "base_de_données"
+
+#: geasGsdGen.py:78
+msgid ""
+"Depreciated: Set the Database to use for data to <name>. gnue-appserver will "
+"search for it in connections.conf. Use '--connection' instead."
+msgstr ""
+"Déprécié : Défini la base de donnée à utiliser. gnue-appserver la recherche 
dans "
+"connections.conf. Utiliser plutôt '--connection'."
+
+#: geasGsdGen.py:83
+msgid "Use the connection <connectionname> for data retrieval."
+msgstr ""
+"Utiliser la connexion <nom_de_connexion> pour récupérer les données."
+
+#: geasGsdGen.py:85
+msgid "file"
+msgstr "fichier"
+
+#: geasGsdGen.py:86
+msgid "Name of the resulting gsd-file"
+msgstr "Nom du fichier gsd résultant"
+
+#: geasGsdGen.py:89
+msgid "If flag is set include system classes ('gnue_*')"
+msgstr "Inclure aussi les classe système ('gnue_*')"
+
+#: geasGsdGen.py:92
+msgid "If set all detail-classes of the requestd classes will be exported too"
+msgstr ""
+"Inclure aussi toutes les classes détails des classes demandées."
+
+#: geasGsdGen.py:137
+msgid "No output file specified."
+msgstr "Pas de fichier de sortie spécifié."
+
+#: geasGsdGen.py:142
+msgid "Loading class repository ..."
+msgstr "Chargement du référentiel de classes ..."
+
+#: geasGsdGen.py:148
+msgid "Building list of classes and calculating dependencies ..."
+msgstr "Construction de la liste des classes et calcul des dépendances ..."
+
+#: geasGsdGen.py:153
+msgid "Generating schema definition ..."
+msgstr "Génération de la définition du schéma ..."
+
+#: geasGsdGen.py:169
+msgid "Generation run complete."
+msgstr "Génération terminée."
+
+#: geasGsdGen.py:184
+msgid "Exporting data of class '%s' ..."
+msgstr "Les données de la classe '%s' sont exportées ..."
+
+#: geasGsdGen.py:361
+msgid "%s is not a valid date object"
+msgstr "%s n'est pas un objet date correct"
+
+#: geasGsdGen.py:378
+msgid "%s is not a valid time object"
+msgstr "%s n'est pas un objet heure correct"
+
+#: geasGsdGen.py:390
+msgid "%s is not a valid datetime object"
+msgstr "%s n'est pas un objet date/heure correct"
+
+#: geasGsdGen.py:423
+msgid "Invalid command line argument '='"
+msgstr "Argument de ligne de commande incorrect '='"
+
+#: geasGsdGen.py:426
+msgid "Filter '%s' started, but no value given"
+msgstr "Filtre '%s' démarré, mais aucune valeur donnée"
+
+#: geasGsdGen.py:463
+msgid "Filter class '%s' not found"
+msgstr "Classe filtre '%s' introuvable"
+
+#: geasGsdGen.py:469
+msgid "Filter '%(class)s' has no property '%(property)s'"
+msgstr "La classe filtre '%(classname)s' n'a pas de propriété '%(property)s'"
+
+#: geasGsdGen.py:507
+msgid "No filter '%s' found matching the requested values"
+msgstr "Aucun filtre '%s' ne correspond aux valeurs demandées"
+
+#: geasInstance.py:40
+msgid "Database returned invalid value '%(value)s' for property '%(property)s'"
+msgstr ""
+"La base de donnée à renvoyé une valeur invalide '%(value)s' pour la propriété 
"
+"'%(property)s'"
+
+#: geasInstance.py:48
+msgid "Invalid value '%(value)s' for property '%(property)s'"
+msgstr "Ungültiger Wert '%(value)s' für die Eigenschaft '%(property)s'"
+
+#: geasInstance.py:55
+msgid "Invalid value '%(value)s' for parameter '%(parameter)s'"
+msgstr "Valeur incorrecte '%(value)s' pour le paramètre '%(parameter)s'"
+
+#: geasInstance.py:62
+msgid ""
+"Procedure '%(procedure)s' expected a result of type '%(type)s', but got type "
+"'%(resulttype)s'"
+msgstr ""
+"La procédure '%(procedure)s' attendait un résultat de type '%(type)s', mais a 
"
+"reçu un '%(resulttype)s'"
+
+#: geasInstance.py:71
+msgid "Calculated field '%(property)s' is a read-only field"
+msgstr "La champ calculé '%(property)s' est en lecture-seule"
+
+#: geasInstance.py:77
+msgid ""
+"Cannot resolve propertyname '%(name)s' because '%(part)s' is not a reference "
+"property"
+msgstr ""
+"Ne peut résoudre le nom de propriété '%(name)s' car '%(part)s' n'est pas une 
référence "
+
+#: geasRpcServer.py:107
+msgid ""
+"The GNUe Application Server is the core of the n-tier variant of the\n"
+"GNU Enterprise system. To the front end (be it GNUe Forms, GNUe Reports or\n"
+"any other tool), it provides user-defineable business objects with arbitary\n"
+"fields and methods. While transforming access to those fields and methods\n"
+"into database communication and calling of scripts, it cares about "
+"stability,\n"
+"security, speed, and consistency."
+msgstr ""
+"Le serveur d'application GNUe est le coeur de la variante n-tiers du\n"
+"système GNU Enterprise. Pour le frontal (que ce soit GNUe Forms, GNUe 
Reports\n"
+"ou n'importe quel autre outil), il fournit des objets-métiers définis par\n"
+"l'utilisateur, possédant des champs et méthodes arbitraires.\n"
+"Tandis qu'il transforme l'accès à ces champs et méthodes en communications\n"
+"avec la base de donnée et appels de scripts, il veille à la stabilité\n"
+"la sécurité, la vitesse et la cohérence."
+
+#: geasRpcServer.py:117
+msgid ""
+"Set the GNURPC connection type.  The currently supported values for <type>\n"
+"are 'xmlrpc', 'xmlrpc.py_xmlrpc', 'xmlrpc.pw_xmlrpc' and 'pyro'.  For more\n"
+"information on GNURPC connection types have a look at\n"
+"common/doc/RPC-abstraction."
+msgstr ""
+"Défini le type de connexion GNURPC. Les valeurs actuellement supportées 
sont\n"
+"'xmlrpc', 'xmlrpc.py_xmlrpc', 'xmlrpc.pw_xmlrpc' and 'pyro'.  Pour plus\n"
+"d'information sur les types de connexion GNURPC, regardez dans\n"
+"common/doc/RPC-abstraction."
+
+#: geasRpcServer.py:123
+msgid ""
+"Set the GNURPC port.  For more information on GNURPC have a look at\n"
+"common/doc/RPC-abstraction."
+msgstr ""
+"Défini le port GNURPC.  Pour plus d'information sur GNURPC, regardez dans\n"
+"common/doc/RPC-abstraction."
+
+#: geasRpcServer.py:127
+msgid ""
+"Depreciated: Set the Database to use for loading and storing data to "
+"<name>.\n"
+"gnue-appserver will search for it in connections.conf."
+msgstr ""
+"Déprécié : Défini la base de donnés à utiliser pour lire et écrire les 
données.\n"
+"gnue-appserver recherche ce nom dans connections.conf"
+
+#: geasRpcServer.py:131
+msgid ""
+"Set the Database to use for loading and storing data to <name>.\n"
+"gnue-appserver will search for it in connections.conf."
+msgstr ""
+"Défini la base de donnés à utiliser pour lire et écrire les données.\n"
+"gnue-appserver recherche ce nom dans connections.conf"
+
+#: geasRpcServer.py:135
+msgid "Set the username for the used database."
+msgstr "Nom d'utilisateur pour la base de donnée utilisée"
+
+#: geasRpcServer.py:138
+msgid "Set the password for the used database."
+msgstr "Mot de passe pour la base de donnée utilisée"
+
+#: geasRpcServer.py:141
+msgid ""
+"Test appservers connection to the backend database, check correctness of\n"
+"global settings, etc."
+msgstr ""
+"Teste les connexions au moteur de base de données, vérifie l'exactitude\n"
+"des réglages globaux, etc."
+
+#: geasRpcServer.py:145
+msgid ""
+"Enable appservers web frontend. Just works for the rpc-type XMLRPC.  The\n"
+"webfrontend is at the same port as XMLRPC."
+msgstr ""
+"Active le frontal web du serveur d'application. Ne fonctionne que pour le 
type\n"
+"XMLRPC. Le frontal est sur le même port que XMLRPC."
+
+#: geasRpcServer.py:149
+msgid ""
+"If set to 1, provides information on data dispatched to the RPC\n"
+"interface."
+msgstr ""
+"Mis à 1, fourni des informations sur les données traitées via\n"
+"l'interface RPC"
+
+#: geasRpcServer.py:156
+msgid "Special option for windows service install/update command."
+msgstr "Option spéciale pour la commande d'installation/mise à jour\n"
+"du service windows."
+
+#: geasRpcServer.py:218 geasRpcServer.py:238 geasRpcServer.py:247
+msgid "Exporting our services via %(rpctype)s (port %(port)s) ..."
+msgstr "Les services sont exportés via %(rpctype)s (Port %(port)s) ..."
+
+#: geasRpcServer.py:257
+msgid "Exporting our services via sockets (EXPERIMENTAL!) ..."
+msgstr "Les services sont exportés via sockets (EXPERIMENTAL!) ..."
+
+#: geasRpcServer.py:262
+msgid "The protocol you've set is currently not supported."
+msgstr "Vous avez défini un protocole qui n'est pas supporté actuellement."
+
+#: geasRpcServer.py:271
+msgid "Status: %s Sessions opened"
+msgstr "Etat : %s sessions ouvertes"
+
+#: geasRpcServer.py:310
+msgid ""
+"\n"
+"... GNUe Application Server up and running ...\n"
+msgstr ""
+"\n"
+"... Le serveur d'application GNUe a démarré ...\n"
+
+#: geasRpcServer.py:333
+msgid "Appserver is shutting down....ok"
+msgstr "Le serveur d'application s'arrête ... Ok"
+
+#: geasRpcServer.py:373
+msgid ""
+"\n"
+"GNUe Application Server is running a simple self test\n"
+"=====================================================\n"
+"\n"
+"PREREQUISITE: You have to populate the backend db with\n"
+"'the \"address_person\" example.\n"
+msgstr ""
+"\n"
+"Le serveur d'application GNUe exécute un auto-test\n"
+"==================================================\n"
+"\n"
+"PRE-REQUIS : Vous devez remplire la base de données\n"
+"avec les données de l'exemple \"address_person\".\n"
+
+
+#: geasRpcServer.py:382
+msgid "Step 1: Starting Session Manager ..."
+msgstr "Etape 1: Démarrage du gestionnaire de session-Manager ..."
+
+#: geasRpcServer.py:385
+msgid "Step 2: Opening session (user 'hacker', password 'secret') ..."
+msgstr "Etape 2: Ouverture de session (user 'hacker', password 'secret') ..."
+
+#: geasRpcServer.py:390
+msgid "Step 3: Creating object list ..."
+msgstr "Etape 3: Création de la liste des objets ..."
+
+#: geasRpcServer.py:394
+msgid "Step 4: Retrieving first instance ..."
+msgstr "Etape 4: Récupération de la première instance ..."
+
+#: geasRpcServer.py:398
+msgid ""
+"\n"
+"These are the values of the first instance:\n"
+"  Name  : %(name)s\n"
+"  Street: %(street)s\n"
+"  City  : %(city)s\n"
+msgstr ""
+"\n"
+"Voici les valeurs de la première instance:\n"
+"  Nom   : %(name)s\n"
+"  Rue   : %(street)s\n"
+"  Ville : %(city)s\n"
+
+#: geasRpcServer.py:406
+msgid "Step 5: Retrieving defined filters ..."
+msgstr "Etape 5: Récupération des filtres définis ..."
+
+#: geasRpcServer.py:410
+msgid "Selftest passed!"
+msgstr "Autotest passé!"
+
+#: geasSession.py:40
+msgid "Instance '%(objectId)s' of class '%(classname)s' not found"
+msgstr "Instance '%(objectId)s' de la classe '%(classname)s' introuvable"
+
+#: geasSession.py:47
+msgid "Access to class '%s' denied"
+msgstr "Accès à la classe '%s' refusé"
+
+#: geasSession.py:52
+msgid "Cannot find a list with ID '%s'"
+msgstr "Ne peut trouver une liste avec l'ID '%s'"
+
+#: geasSession.py:57
+msgid "No parameter for the filter %s specified"
+msgstr "Aucun paramètre pour le filtre %s spéficié"
+
+#: geasSession.py:62
+msgid "'%(value)s' is not a valid filter of the type '%(name)s'"
+msgstr "'%(value)s' n'est pas un filtre correct pour le type '%(name)s'"
+
+#: geasSession.py:69
+msgid ""
+"Multiple instances of the filter '%(name)s' matches the value '%(value)s'"
+msgstr ""
+"De multiple instances du filtre  '%(name)s' correspondent à la valeur 
'%(value)s'"
+
+#: geasSession.py:77
+msgid "Maximum validation cycle reached. Classes in current cycle: %s"
+msgstr ""
+
+#: geasSessionManager.py:43
+msgid "Cannot find a session with ID '%s'"
+msgstr "Ne peut trouver une session avec l'ID '%s'"
+
+#: geasSessionManager.py:120
+msgid "Failed reloading repository: %s"
+msgstr "Impossible de recharger le référentiel : %s"
+
+#: geasSessionManager.py:137
+msgid "Reloading class repository ..."
+msgstr "Rechargement du référentiel de classe ..."
+
+#: geasSessionManager.py:141
+msgid "Class repository loaded"
+msgstr "Référentiel de classes chargé"
+
+#: generator/classdef.py:35
+msgid "The class '%s' has no properties to be displayed"
+msgstr "La classe '%s' n'a aucune propriété affichable"
+
+#: generator/form.py:66
+msgid "GNU Enterprise Application Server"
+msgstr "Serveur d'application GNU Enterprise"
+
+#: generator/form.py:69
+msgid "Generated form for class \"%s\""
+msgstr "Formulaire généré pour la classe \"%s\""
+
+#: generator/layout.py:45
+msgid "Created"
+msgstr "Création"
+
+#: generator/layout.py:47
+msgid "Last modified"
+msgstr "Dernière modification"
+
+#: gld/GLParser.py:52
+msgid "Element '%s' can either have a search- or info-attribute."
+msgstr ""
+
+#: gld/readgld.py:65
+msgid ""
+"Duplicate definition of element '%(itemname)s' for language '%(language)s'"
+msgstr ""
+"Définition dupliquée de l'élément '%(itemname)s' pour le langage 
'%(language)s'"
+
+#: gld/readgld.py:72 repository.py:50
+msgid "Class '%(classname)s' has no property '%(property)s'"
+msgstr "La classe '%(classname)s' n'a aucune propriété '%(property)s'"
+
+#: gld/readgld.py:78 repository.py:56
+msgid "Class '%(classname)s' has no procedure '%(procedure)s'"
+msgstr "La classe '%(classname)s' n'a aucune procédure '%(procedure)s'"
+
+#: gld/readgld.py:93
+msgid "Read GNUe Language Definitions and update the class repository"
+msgstr ""
+"Lit les définitions de langage GNUe et actualise le référentiel de classes"
+
+#: gld/readgld.py:244
+msgid "Loading GNUe language definitions"
+msgstr "Chargement des définitions de langage GNUe"
+
+#: gld/readgld.py:642
+msgid "  Labels  : %(ins)3d inserted, %(upd)3d updated, %(kept)3d unchanged."
+msgstr "  Etiquettes  : %(ins)3d insérées, %(upd)3d modifiées, %(kept)3d 
préservées."
+
+#: gld/readgld.py:675
+msgid "  Messages: %(ins)3d inserted, %(upd)3d updated, %(kept)3d unchanged."
+msgstr "  Messages : %(ins)3d insérés, %(upd)3d modifiés, %(kept)3d préservés."
+
+#: language/App.py:42
+msgid "name"
+msgstr "Nom"
+
+#: language/App.py:44
+msgid "Connect to the appserver using the connection <name>"
+msgstr ""
+
+#: language/Object.py:35
+msgid "Class '%(classname)s' has no member '%(member)s'"
+msgstr "La classe '%(classname)s' n'a pas d'attribut/méthode '%(member)s'"
+
+#: language/Session.py:35
+msgid "Cannot qualifiy name '%s', no context specified"
+msgstr ""
+"Ne peut qualifier le nom '%s', aucun contexte spécifié"
+
+#: language/Session.py:40
+msgid "Message '%s' not found"
+msgstr "Message '%s' introuvable"
+
+#: language/Session.py:63
+msgid ""
+"RPC Interface Version Mismatch!Please update to Appserver Version 0.4.4 or "
+"higher!"
+msgstr ""
+""
+
+#: repository.py:45
+msgid "Filter '%s' not found in class repository"
+msgstr "Filtre '%s' introuvable dans le référentiel"
+
+#: repository.py:62
+msgid "Procedure '%(procedure)s' has no parameter '%(parameter)s'"
+msgstr "La procédure '%(procedure)s' n'a aucun paramètre '%(parameter)s'"
+
+#: repository.py:68
+msgid "Property '%(prname)s' has no label '%(name)s'"
+msgstr "La propriété '%(prname)s' n'a pas d'étiquette '%(name)s'"
+
+#: repository.py:74
+msgid "Procedure '%(prname)s' has no label '%(name)s'"
+msgstr "La procédure '%(prname)s' n'a aucune étiquette '%(name)s'"
+
+#: repository.py:80
+msgid "Class '%(class)s' has no label for language '%(language)s'"
+msgstr "La classe '%(class)s' n'a aucune étiquette dans la langue 
'%(language)s'"
+
+#: repository.py:86
+msgid ""
+"Filter '%(filter)s' defined in class '%(classname)s' not found in class "
+"repository"
+msgstr ""
+"Le filtre '%(filter)s' de la classe '%(class)s' introuvable dans le "
+"référentiel"
+
+#: repository.py:96
+msgid "'%s' is not a valid type"
+msgstr "'%s' n'est pas un type correct"
+
+#: repository.py:104
+msgid ""
+"Error validating parameter '%(parameter)s' of procedure '%(procedure)s': %"
+"(errors)s"
+msgstr ""
+""
+
+#: repository.py:111
+msgid "'%s' is not a valid, fully qualified identifier"
+msgstr ""
+
+#: repository.py:116
+msgid "The filters have circular references"
+msgstr ""
+
+#: repository.py:121
+msgid "'%(property)s' of class '%(class)s' is not a reference property"
+msgstr ""
+
+#: repository.py:1336
+msgid "string does not support 'scale'"
+msgstr ""
+
+#: repository.py:1341
+msgid "%s does not support 'length'"
+msgstr ""
+
+#: repository.py:1343
+msgid "%s does not support 'scale'"
+msgstr ""
+
+#: repository.py:1348
+msgid "number without 'length'"
+msgstr ""
+
+#: repository.py:1373
+msgid "Reference types must not have a 'length'"
+msgstr ""
+
+#: repository.py:1376
+msgid "Reference types must not have a 'scale'"
+msgstr ""
+
+#: repository.py:1404
+msgid "%s: Procedure has no result, but a 'length' is specified."
+msgstr ""
+
+#: repository.py:1407
+msgid "%s: Procedure has no result, but a 'scale' is specified."
+msgstr ""
+

Modified: trunk/gnue-common/po/fr.po
===================================================================
--- trunk/gnue-common/po/fr.po  2007-06-08 15:04:07 UTC (rev 9694)
+++ trunk/gnue-common/po/fr.po  2007-06-08 15:26:47 UTC (rev 9695)
@@ -1,16 +1,17 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR ORGANIZATION
-# FIRST AUTHOR <address@hidden>, YEAR.
+# GNU Enterprise Common - French Translation
+# Copyright (C) 2004-2007 Free Software Foundation
+# Laurent Savaete <address@hidden>
+# Didier Belot <address@hidden>, 2007
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2007-04-11 10:32+CEST\n"
-"PO-Revision-Date: 2004-04-14 19:00+0200\n"
-"Last-Translator: Laurent Savaete <address@hidden>\n"
+"Project-Id-Version: GNUe-Common 0.6\n"
+"POT-Creation-Date: 2007-06-08 00:20+CEST\n"
+"PO-Revision-Date: 2007-06-08 00:00+0200\n"
+"Last-Translator: Didier Belot <address@hidden>\n"
 "Language-Team: Francais <address@hidden>\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Generated-By: pygettext.py 1.5\n"
 
@@ -28,9 +29,9 @@
 "display (e.g., \"--debug-level 5\" displays all debugging messages at level "
 "5 or below.)"
 msgstr ""
-"Active les messages de d�bogage. L'argument sp�cifie le niveau des messages "
-"� afficher (par ex: \"--debug-level 5\" affiche tous les  messages de "
-"d�bogage de niveau 5 ou moins.)"
+"Active les messages de débogage. L'argument spécifie le niveau des messages "
+"à afficher (par ex: \"--debug-level 5\" affiche tous les  messages de "
+"débogage de niveau 5 ou moins.)"
 
 #: apps/GBaseApp.py:128 apps/GBaseApp.py:167 datasources/readgsd.py:142
 msgid "filename"
@@ -41,32 +42,32 @@
 "Sends all debugging messages to a specified file (e.g., \"--debug-file trace."
 "log\" sends all output to \"trace.log\")"
 msgstr ""
-"Envoie tous les messages de d�bogage vers le fichier sp�cifi� (par ex: \"--"
-"debug-file trave.log\" envoie toutes les sorties vers \"trace.log\")"
+"Envoie tous les messages de débogage vers le fichier spécifié (par ex: \"--"
+"debug-file trace.log\" envoie toutes les sorties vers \"trace.log\")"
 
 #: apps/GBaseApp.py:136
 msgid "All python imports are logged to stdout"
-msgstr ""
+msgstr "Tous les imports python sont affichés sur la sortie standard"
 
 #: apps/GBaseApp.py:139
 msgid "Displays no output at all."
-msgstr ""
+msgstr "N'affiche rien du tout."
 
 #: apps/GBaseApp.py:142
 msgid "Displays this help screen."
-msgstr "Affiche cet �cran d'aide."
+msgstr "Affiche cet écran d'aide."
 
 #: apps/GBaseApp.py:146
 msgid ""
 "Displays a list of valid configuration file entries, their purpose, and "
 "their default values."
 msgstr ""
-"Affiche une liste des entr�es valides de fichier de configuration, leur "
-"r�le, et leur valeur par d�faut."
+"Affiche une liste des entrées valides de fichier de configuration, leur "
+"rôle, et leur valeur par défaut."
 
 #: apps/GBaseApp.py:154
 msgid "Display all options of interest to core developers. "
-msgstr "Affiche toutes les options utiles pour les d�veloppeurs."
+msgstr "Affiche toutes les options utiles pour les développeurs."
 
 #: apps/GBaseApp.py:157
 msgid "type[,subtype]"
@@ -74,7 +75,7 @@
 
 #: apps/GBaseApp.py:158
 msgid "Generates self-documentation."
-msgstr "G�n�re l'auto-documentation."
+msgstr "Génère l'auto-documentation."
 
 #: apps/GBaseApp.py:161
 msgid "format"
@@ -85,16 +86,16 @@
 "Format to output the self-documentation in. Supported formats are dependent "
 "on the type of selfdoc being created."
 msgstr ""
-"Formatte l'auto-documentation pour la sortie. Les formats support�s "
-"d�pendent du type d'autodoc cr��."
+"Formatte l'auto-documentation pour la sortie. Les formats supportés "
+"dépendent du type d'autodoc créé."
 
 #: apps/GBaseApp.py:168
 msgid ""
 "Specifies the filename that selfdoc should write to. If not provided, output "
 "is sent to stdout."
 msgstr ""
-"Sp�cifie le nom du fichier autodoc � cr�er. S'il n'est pas sp�cifi�, la "
-"sortie est envoy�e sur la sortie standard."
+"Spécifie le nom du fichier autodoc à créer. S'il n'est pas spécifié, la "
+"sortie est envoyée sur la sortie standard."
 
 #: apps/GBaseApp.py:172
 msgid "options"
@@ -102,28 +103,29 @@
 
 #: apps/GBaseApp.py:173
 msgid "Options specific to individual selfdoc types."
-msgstr "Options sp�cifiques � certains types d'autodoc."
+msgstr "Options spécifiques à certains types d'autodoc."
 
 #: apps/GBaseApp.py:176
 msgid ""
 "Run Python's built-in profiler and display the resulting run statistics."
 msgstr ""
-"Ex�cute le profiler int�gr� � Python et affiche les statistiques d'ex�cution."
+"Exécute le profiler intégré à Python et affiche les statistiques d'exécution."
 
 #: apps/GBaseApp.py:180
 msgid "Run the app inside Python's built-in debugger "
-msgstr "Ex�cute l'application dans le d�bogueur int�gr� � Python."
+msgstr "Exécute l'application dans le débogueur intégré à Python."
 
 #: apps/GBaseApp.py:184
 msgid ""
 "Debug Python's garbage collection on a SIGUSR1. If the argument is empty "
 "'garbage.log' will be used as logfile."
 msgstr ""
+"Débogue le ramasse-miettes Python sur un SIGUSR1. Si l'argument est vide, le "
+"fichier 'garbage.log' sera utilisé."
 
 #: apps/GBaseApp.py:195 utils/tree.py:713
-#, fuzzy
 msgid "name"
-msgstr "nom de fichier"
+msgstr "nom"
 
 #: apps/GBaseApp.py:196
 msgid ""
@@ -131,17 +133,15 @@
 "be used for all databases.  If not supplied, the program will prompt for "
 "username."
 msgstr ""
-"Nom d'utilisateur utilis� pour se connecter � la base de donn�es. S'il est "
-"sp�cifi�, il sera utilis� pour toutes les bases de donn�es. Sinon, le "
+"Nom d'utilisateur utilisé pour se connecter à la base de données. S'il est "
+"spécifié, il sera utilisé pour toutes les bases de données. Sinon, le "
 "programme demandera un nom d'utilisateur."
 
 #: apps/GBaseApp.py:201
-#, fuzzy
 msgid "passwd"
-msgstr "Mot de passe"
+msgstr "mot_de_passe"
 
 #: apps/GBaseApp.py:202
-#, fuzzy
 msgid ""
 "Password used to log into the database.  Note that if specified, this will "
 "be used for all databases.  If not supplied, the program will prompt for "
@@ -149,27 +149,25 @@
 "NOTE: SUPPLYING A PASSWORD VIA THE COMMAND LINE MAY BE CONSIDERED A SECURITY "
 "RISK AND IS NOT RECOMMENDED."
 msgstr ""
-"Mot de passe utilis� pour se connecter � la base de donn�es. S'il est "
-"sp�cifi�, il sera utilis� pour toutes les bases de donn�es. Sinon, le "
-"programme demandera un mot de passe si n�cessaire.\n"
-"NOTE: FOURNIR UN MOT DE PASSE VIA LA LIGNE DE COMMANDE PEUT ETRE CONSIDER� "
-"COMME UN RISQUE DE S�CURIT� ET N'EST PAS RECOMMEND�."
+"Mot de passe utilisé pour se connecter à la base de données. S'il est "
+"spécifié, il sera utilisé pour toutes les bases de données. Sinon, le "
+"programme demandera un mot de passe si nécessaire.\n"
+"NOTE: FOURNIR UN MOT DE PASSE VIA LA LIGNE DE COMMANDE PEUT ETRE CONSIDERÉ "
+"COMME UN RISQUE DE SÉCURITÉ ET N'EST PAS RECOMMANDÉ."
 
 #: apps/GBaseApp.py:212
 msgid ""
 "Display help information related to database connections, including a list "
 "of available drivers."
 msgstr ""
-"Affiche l'aide concernant les connexions aux bases de donn�es, avec une "
+"Affiche l'aide concernant les connexions aux bases de données, avec une "
 "liste des pilotes disponibles."
 
 #: apps/GBaseApp.py:216
-#, fuzzy
 msgid "location"
-msgstr "options"
+msgstr "emplacement"
 
 #: apps/GBaseApp.py:217
-#, fuzzy
 msgid ""
 "Specifies the location of the connection definition file. <location> may "
 "specify a file name (/usr/local/gnue/etc/connections.conf),or a URL location "
@@ -177,60 +175,59 @@
 "environent variable GNUE_CONNECTIONS is checked.If neither of them is set, "
 "\"%s\" is used as a default."
 msgstr ""
-"Sp�cifi� la localisation du fichier de d�finition des connexions. <loc> peut "
-"sp�cifier un nom de fichier (/usr/local/gnue/etc/connections.conf), ou un "
-"URL (http://localhost/connections.conf). Si cette option n'est pas "
-"sp�cifi�e, la variable d'environnement GNUE_CONNECTIONS est utilis�e. Si "
-"aucun des deux n'est initialis�, \"%s\" est utilis� par d�faut."
+"Défini l'emplacement du fichier de définition des connexions. <emplacement> "
+"peut spécifier un nom de fichier (/usr/local/gnue/etc/connections.conf), ou "
+"une URL (http://localhost/connections.conf). Si cette option n'est pas "
+"spécifiée, la variable d'environnement GNUE_CONNECTIONS est utilisée. Si "
+"aucun des deux n'est initialisé, \"%s\" est utilisé par défaut."
 
 #: apps/GBaseApp.py:229
-#, fuzzy
 msgid "This application requires Python 2.3 or greater."
-msgstr "Cette application n�cessite Python 2.1 ou plus."
+msgstr "Cette application nécessite Python 2.3 ou plus."
 
 #: apps/GBaseApp.py:231
-#, fuzzy
 msgid ""
 "This application requires Python 2.3 or greater. You are running Python %s"
 msgstr ""
-"Cette application n�cessite Python 2.1 ou plus. Vous utilisez Python %s."
+"Cette application nécessite Python 2.3 ou plus. Vous utilisez Python %s."
 
 #: apps/GBaseApp.py:335
-#, fuzzy
 msgid "The debug_level option (\"-d\") expects numerical values."
-msgstr "L'option debug_level (\"-d\") requiert une valeur num�rique."
+msgstr "L'option debug_level (\"-d\") requiert une valeur numérique."
 
 #: apps/GBaseApp.py:349
-#, fuzzy
 msgid ""
 "The gnue.conf file is incomplete:\n"
 "   %s"
-msgstr "Le fichier gnue.conf est incomplet: "
+msgstr ""
+"Le fichier gnue.conf est incomplet :\n"
+"   %s"
 
 #: apps/GBaseApp.py:390
-#, fuzzy
 msgid ""
 "Unable to load the connections definition file.\n"
 "\n"
 "The connections file is in an invalid format.\n"
 "%s"
-msgstr "Impossible de charger le fichier de d�finition de connections.\n"
+msgstr ""
+"Impossible de charger le fichier de définition de connexions.\n"
+"\n"
+"Le fichier de connexions est dans un format incorrect.\n"
+"%s"
 
 #: apps/GBaseApp.py:395
-#, fuzzy
 msgid "Unable to load the connections definition file: %s."
-msgstr "Impossible de charger le fichier de d�finition de connections.\n"
+msgstr "Impossible de charger le fichier de définition de connections : %s"
 
 #: apps/GBaseApp.py:436
-#, fuzzy
 msgid ""
 "\n"
 "%(name)s\n"
 "Version %(version)s\n"
 msgstr ""
 "\n"
-"%s\n"
-"Version %s\n"
+"%(name)s\n"
+"Version %(version)s\n"
 
 #: apps/GBaseApp.py:438
 msgid "GNUe Common Version %s\n"
@@ -238,41 +235,41 @@
 
 #: apps/GBaseApp.py:523
 msgid "Usage:  "
-msgstr "Utilisation:  "
+msgstr "Utilisation :  "
 
 #: apps/GBaseApp.py:554
 msgid "Available command line options:"
-msgstr "Options de ligne de commande disponibles:"
+msgstr "Options de ligne de commande disponibles :"
 
 #: apps/GBaseApp.py:573
 msgid "The following options are mainly of interest to GNUe developers."
-msgstr "Les options suivantes sont surtout utiles pour les d�veloppeurs GNUe."
+msgstr "Les options suivantes sont surtout utiles pour les développeurs GNUe."
 
 #: apps/GBaseApp.py:575 apps/GBaseApp.py:598
 msgid "To view general help, run this command with the --help option."
 msgstr ""
-"Pour afficher l'aide g�n�rale, ex�cuter cette commande avec l'option --help."
+"Pour afficher l'aide générale, exécuter cette commande avec l'option --help."
 
 #: apps/GBaseApp.py:578
 msgid "Developer-specific command line options:"
-msgstr "Options de ligne de commande sp�cial d�veloppeur:"
+msgstr "Options de ligne de commande spécial développeur :"
 
 #: apps/GBaseApp.py:596
 msgid "The following connection/database-related options are available."
-msgstr "Les options de connexion/base de donn�es suivantes sont disponibles."
+msgstr "Les options de connexion/base de données suivantes sont disponibles."
 
 #: apps/GBaseApp.py:601
 msgid "Database/connection command line options:"
-msgstr "Options de ligne de commande de base de donn�es/connexion:"
+msgstr "Options en ligne de commande de base de données/connexion:"
 
 #: apps/GBaseApp.py:604
 msgid "The following database drivers are installed on your system:"
 msgstr ""
-"Les pilotes de base de donn�es suivants sont install�s sur votre syst�me:"
+"Les pilotes de base de données suivants sont installés sur votre système :"
 
 #: apps/GBaseApp.py:679
 msgid "Error: %s"
-msgstr "Erreur: %s"
+msgstr "Erreur : %s"
 
 #: apps/GBaseApp.py:683
 msgid ""
@@ -281,45 +278,39 @@
 "   %s --help\n"
 msgstr ""
 "\n"
-"Pour l'aide, taper:\n"
+"Pour l'aide, taper :\n"
 "   %s --help\n"
 
 #: apps/GBaseApp.py:818
-#, fuzzy
 msgid "For help, type: %s --help"
 msgstr ""
 "\n"
-"Pour l'aide, taper:\n"
-"   %s --help\n"
+"Pour l'aide, taper : %s --help\n"
 
 #: apps/GConfig.py:116
-#, fuzzy
 msgid "Configuration file has duplicate sections."
-msgstr "Le fichier a plusieurs d�finitions sources."
+msgstr "Le fichier de configuration a des sections dupliquées."
 
 #: apps/GConfig.py:119
-#, fuzzy
 msgid "Configuration file has no sections."
-msgstr "Le fichier n'a pas de d�finition source."
+msgstr "Le fichier de configuration n'a pas de sections."
 
 #: apps/GConfig.py:122
-#, fuzzy
 msgid ""
 "Configuration file cannot be parsed:\n"
 "%s"
 msgstr ""
-"Le fichier de connexions ne peut pas �tre analys�.\n"
-"\n"
-"Fichier: %s"
+"Le fichier de configuration ne peut pas être analysé :\n"
+"%s"
 
 #: apps/GConfig.py:220
-#, fuzzy
 msgid "Config option %(field)s is of wrong type in [%(section)s]"
-msgstr "Mauvais type pour l'option de configuration %s dans [%s]"
+msgstr ""
+"Mauvais type pour l'option de configuration %(field)s dans [%(section)s]"
 
 #: apps/GServerApp.py:44
 msgid "The server is already running on pid %s"
-msgstr ""
+msgstr "Le serveur s'exécute déjà avec le pid %s"
 
 #: apps/GServerApp.py:54
 msgid ""
@@ -327,21 +318,22 @@
 "keeps the server process from forking and detaching from its controlling "
 "terminal."
 msgstr ""
+"Ne pas mettre le serveur en arrière-plan. Sur un système POSIX, cette option "
+"empêche le processus serveur de se détacher de son terminal de contrôle."
 
 #: apps/GServerApp.py:61
 msgid "pid-file"
-msgstr ""
+msgstr "fichier-pid"
 
 #: apps/GServerApp.py:62
 msgid "Filename to store the server's process id."
-msgstr ""
+msgstr "Nom du fichier stockant l'id du processus serveur."
 
 #: apps/RuntimeSettings.py:94
-#, fuzzy
 msgid "Warning: Unable to save all session data to %s"
 msgstr ""
-"\n"
-"Attention: Impossible de sauvegarder les donn�es de la session vers %s\n"
+"Attention : impossible de sauvegarder toutes les données de la session vers %"
+"s\n"
 
 #: apps/RuntimeSettings.py:107
 msgid ""
@@ -349,128 +341,146 @@
 "Warning: Unable to save session data to %s\n"
 msgstr ""
 "\n"
-"Attention: Impossible de sauvegarder les donn�es de la session vers %s\n"
+"Attention : impossible de sauvegarder les données de la session vers %s\n"
 
 #: apps/checktype.py:77
 msgid ""
 "\"%(varname)s\" is expected to be of %(expected)s but is of %(actual)s and "
 "has value %(value)s"
 msgstr ""
+"\"%(varname)s\" devrait être du type %(expected)s mais est du type %(actual)"
+"s avec la valeur %(value)s"
 
 #: apps/manpage.py:130
 msgid "value"
 msgstr "valeur"
 
 #: apps/plugin.py:91
-#, fuzzy
 msgid "Cannot load plugin '%s'"
-msgstr "Impossible de trouver la table '%s'"
+msgstr "Ne peut charger le plugin '%s'"
 
 #: apps/plugin.py:92
 msgid "The following plugins failed:\n"
-msgstr ""
+msgstr "Les plugins suivants ont échoués :\n"
 
 #: apps/plugin.py:99
-#, fuzzy
 msgid "Cannot find plugin '%s'"
-msgstr "Impossible de trouver la table '%s'"
+msgstr "Impossible de trouver le plugin '%s'"
 
 #: datasources/Exceptions.py:82
-#, fuzzy
 msgid "Cannot insert a new record into a read only datasource"
-msgstr "Tentative d'insertion sur une source de donn�es en lecture seule."
+msgstr "Tentative d'insertion sur une source de données en lecture seule."
 
 #: datasources/Exceptions.py:92
-#, fuzzy
 msgid "Cannot modify data of a read only datasource"
-msgstr "Tentative de suppression sur une source de donn�es en lecture seule."
+msgstr ""
+"Ne peut modifier un enregistrement sur une source de données en lecture "
+"seule."
 
 #: datasources/Exceptions.py:102
-#, fuzzy
 msgid "Cannot delete a record from a read only datasource"
-msgstr "Tentative de suppression sur une source de donn�es en lecture seule."
+msgstr ""
+"Ne peut supprimer un enregistrement sur une source de données en lecture "
+"seule."
 
 #: datasources/Exceptions.py:123
 msgid "Datasource %s is of type 'sql', but has no <sql> definition."
 msgstr ""
+"La source de donnée %s est du type 'sql', mais n'a aucune définition <sql>."
 
 #: datasources/Exceptions.py:134
 msgid "Datasource %s is not of type 'sql', but has an <sql> definition."
 msgstr ""
+"La source de donnée '%s' n'est pas du type 'sql', mais possède une "
+"définition <sql>."
 
 #: datasources/Exceptions.py:145
-#, fuzzy
 msgid ""
 "Detail datasource '%(name)s' references non-existant master '%(master)s'"
-msgstr "La source de d�tail '%s' fait r�f�rence � un ma�tre non-existant '%s'."
+msgstr ""
+"La source de détail '%(name)s' fait référence à un maître non-existant '%"
+"(master)s'."
 
 #: datasources/Exceptions.py:156
 msgid ""
 "Datasource '%s' contains a 'master' attribute, but no 'masterlink' attribute"
 msgstr ""
+"La source de donnée '%s' contient un attribut 'master', mais aucun attribut "
+"'masterlink'"
 
 #: datasources/Exceptions.py:167
 msgid ""
 "Datasource '%s' contains a 'master' attribute, but no 'detaillink' attribute"
 msgstr ""
+"La source de donnée '%s' contient un attribut 'master', mais aucun attribut "
+"'detaillink'"
 
 #: datasources/Exceptions.py:179
 msgid ""
 "Number of fields in 'masterlink' and 'detaillink' attributes does not match "
 "for datasource '%s'"
 msgstr ""
+"Le nombre de champs des attributs 'masterlink' et 'detaillink' ne "
+"correspondent pas pour la source de donnée '%s'"
 
 #: datasources/Exceptions.py:193
 msgid "Cannot use 'update' and 'call' functions on this datasource"
 msgstr ""
+"Ne peut utiliser les fonctions 'update' et 'call' sur cette source de donnée"
 
 #: datasources/Exceptions.py:206
 msgid "Cannot call a function on an empty record"
-msgstr ""
+msgstr "Ne peut appeler une fonction sur un enregistrement vide"
 
 #: datasources/Exceptions.py:219
 msgid "Record not found on attempt to requery changed record"
 msgstr ""
+"Enregistrement introuvable lors du rechargement de l'enregistremenrt modifié"
 
 #: datasources/GConditions.py:72
 msgid ""
 "Conditionelement '%(element)s' was expected to have '%(wanted)d'arguments, "
 "but only has %(real)d'"
 msgstr ""
+"Conditionelement '%(element)s' devrait avoir '%(wanted)d' arguments, mais "
+"n'en a que %(real)d'"
 
 #: datasources/GConditions.py:90
 msgid "The field '%(field)s' has no entry in the given lookup-table"
 msgstr ""
+"Le champ '%(field)s' n'a aucune entrée dans la table de recherche spécifiée"
 
 #: datasources/GConditions.py:112
 msgid "No unification rule for combination '%(type1)s' and '%(type2)s'"
 msgstr ""
+"Pas de règle d'unification pour la combinaison '%(type1)s' et '%(type2)s'"
 
 #: datasources/GConditions.py:125
 msgid ""
 "Value '%(value1)s' of type '%(type1)s' cannot be converted into type '%"
 "(type2)s'"
 msgstr ""
+"La valeur '%(value1)s' de type '%(type1)s' ne peut être convertie vers le "
+"type '%(type2)s'"
 
 #: datasources/GConnections.py:47
-#, fuzzy
 msgid ""
 "The connections file does not contain a definition for \"%(connection)s\".\n"
 "\n"
 "File: %(file)s"
 msgstr ""
-"Le fichier de connexions ne contient aucune d�finition \n"
-"    pour \"%s\".\n"
+"Le fichier de connexions ne contient aucune définition pour \"%(connection)s"
+"\".\n"
 "\n"
-"Fichier: %s"
+"Fichier : %(file)s"
 
 #: datasources/GConnections.py:64
 msgid "Module '%s' is not installed."
-msgstr ""
+msgstr "Le module '%s' n'est pas installé."
 
 #: datasources/GConnections.py:66
 msgid "  You can download it from %s."
-msgstr ""
+msgstr "  Vous pouvez le télécharger depuis %s."
 
 #: datasources/GConnections.py:139
 msgid ""
@@ -478,7 +488,7 @@
 "\n"
 "File: %s"
 msgstr ""
-"Le fichier de connexions a plusieurs d�finitions sources.\n"
+"Le fichier de connexions a des définitions sources dupliquées.\n"
 "\n"
 "Fichiers: %s"
 
@@ -488,7 +498,7 @@
 "\n"
 "File: %s"
 msgstr ""
-"Le fichier de connexions n'a aucune d�finition source.\n"
+"Le fichier de connexions n'a aucune définition source.\n"
 "\n"
 "Fichier: %s"
 
@@ -498,17 +508,17 @@
 "\n"
 "File: %s"
 msgstr ""
-"Le fichier de connexions ne peut pas �tre analys�.\n"
+"Le fichier de connexions ne peut pas être analysé.\n"
 "\n"
-"Fichier: %s"
+"Fichier : %s"
 
 #: datasources/GConnections.py:459
 msgid "Login required for %(newline)s\"%(description)s\""
-msgstr ""
+msgstr "Identification requise pour %(newline)s\"%(description)s\""
 
 #: datasources/GConnections.py:463
 msgid "GNU Enterprise: Login to %s"
-msgstr ""
+msgstr "GNU Enterprise : connexion à %s"
 
 #: datasources/GConnections.py:498
 msgid ""
@@ -516,177 +526,207 @@
 "\n"
 "Error: %s"
 msgstr ""
-"La connexion a echou� apr�s 4 essais.\n"
+"La connexion a echoué après 4 essais.\n"
 "\n"
-"Erreur: %s"
+"Erreur : %s"
 
-#: datasources/GDataSource.py:830
+#: datasources/GDataSource.py:834
 msgid "Unknown type/format of 'order-by' attribute"
-msgstr ""
+msgstr "Type/format inconnu pour l'attribut 'order-by'"
 
-#: datasources/GDataSource.py:1044
+#: datasources/GDataSource.py:1048
 msgid ""
 "A datasource provides a link to a database table or some similar data store."
 msgstr ""
+"Une source de donnée fournit un lien vers une base de données ou d'autres "
+"magasins de données."
 
-#: datasources/GDataSource.py:1051
+#: datasources/GDataSource.py:1055
 msgid "Unique name of the datasource."
-msgstr ""
+msgstr "Nom unique de la source de données."
 
-#: datasources/GDataSource.py:1053
+# (type objet de donnée ??)
+#: datasources/GDataSource.py:1057
 msgid "Data Object Type"
-msgstr ""
+msgstr "Type de donnée objet"
 
-#: datasources/GDataSource.py:1057
-#, fuzzy
+#: datasources/GDataSource.py:1061
 msgid "Connection Name"
-msgstr "Connexion refus�e"
+msgstr "Nom de la connexion "
 
-#: datasources/GDataSource.py:1059
+#: datasources/GDataSource.py:1063
 msgid ""
 "The name of the connection as in connections.conf that points to a valid "
 "database."
 msgstr ""
+"Le nom de la connexion (dans connections.conf) indiquant une source de "
+"données valide."
 
-#: datasources/GDataSource.py:1066
-#, fuzzy
+#: datasources/GDataSource.py:1070
 msgid "Table Name"
-msgstr "Table"
+msgstr "Nom de la table"
 
-#: datasources/GDataSource.py:1069
+#: datasources/GDataSource.py:1073
 msgid "The table in the database this datasource will point to."
 msgstr ""
+"La table de la base de données vers laquelle pointe cette source de données."
 
-#: datasources/GDataSource.py:1072
+#: datasources/GDataSource.py:1076
 msgid "Cache Size"
-msgstr ""
+msgstr "Taille du cache"
 
-#: datasources/GDataSource.py:1073
+#: datasources/GDataSource.py:1077
 msgid "Cache this number of records"
-msgstr ""
+msgstr "Cache ce nombre d'enregistrements"
 
-#: datasources/GDataSource.py:1077
+#: datasources/GDataSource.py:1081
 msgid "Query on Startup"
-msgstr ""
+msgstr "Requête au démarrage"
 
-#: datasources/GDataSource.py:1078
+#: datasources/GDataSource.py:1082
 msgid ""
 "If true, the datasource is populated on form startup. If false (default), "
 "the form starts out with an empty record until the user or a trigger queries "
 "the database."
 msgstr ""
+"Si vrai, la source de données est remplie au démarrage du formulaire. Si "
+"faux (defaut), le formulaire démarre avec un enregistrement vide jusqu'à ce "
+"que l'utilisateur ou une procédure interroge la base de données."
 
-#: datasources/GDataSource.py:1091
+#: datasources/GDataSource.py:1095
 msgid "M/D Master DataSource"
-msgstr ""
+msgstr "Source de données maître (M/D)"
 
-#: datasources/GDataSource.py:1092
+#: datasources/GDataSource.py:1096
 msgid ""
 "If this datasource is the child in a master/detail relationship, this "
 "property contains the name of the master datasource."
 msgstr ""
+"Si cette source de données est l'enfant d'une relation maître/détails, cette "
+"propriété contient le nom de la source de données maître."
 
-#: datasources/GDataSource.py:1097
+#: datasources/GDataSource.py:1101
 msgid "M/D Master Field(s)"
-msgstr ""
+msgstr "Champ(s) maître (M/D)"
 
-#: datasources/GDataSource.py:1098
+#: datasources/GDataSource.py:1102
 msgid ""
 "If this datasource is the child in a master/detail relationship, this "
 "property contains a comma-separated list of the master datasource's field(s) "
 "used for linking."
 msgstr ""
+"Si cette source de données est l'enfant d'une relation maître/détails, cette "
+"propriété contient la liste (séparée par des virgule) des champs de la "
+"source de données maître utilisés pour le lien."
 
-#: datasources/GDataSource.py:1105
+#: datasources/GDataSource.py:1109
 msgid "M/D Detail Field(s)"
-msgstr ""
+msgstr "Champ(s) détail (M/D)"
 
-#: datasources/GDataSource.py:1106
+#: datasources/GDataSource.py:1110
 msgid ""
 "If this datasource is the child in a master/detail relationship, this "
 "property contains a comma-separated list of the this (child's) datasource's "
 "field(s) used for linking."
 msgstr ""
+"Si cette source de données est l'enfant d'une relation maître/détails, cette "
+"propriété contient la liste (séparée par des virgule) des champs de la "
+"source de données détails utilisés pour le lien."
 
-#: datasources/GDataSource.py:1114
+#: datasources/GDataSource.py:1118
 msgid "Explicit Fields"
-msgstr ""
+msgstr "Champs explicites"
 
-#: datasources/GDataSource.py:1118
-#, fuzzy
+#: datasources/GDataSource.py:1122
 msgid "Primary Key Field(s)"
-msgstr "Cl� primaire: %s"
+msgstr "Champ(s) de clé primaire"
 
-#: datasources/GDataSource.py:1119
+#: datasources/GDataSource.py:1123
 msgid "Comma-separated list of the fields that make up the primary key."
-msgstr ""
+msgstr "Liste séparée par des virgules des champs constituant la clé primaire."
 
-#: datasources/GDataSource.py:1123
-#, fuzzy
+#: datasources/GDataSource.py:1127
 msgid "Primary Key Sequence"
-msgstr "Cl� primaire: %s"
+msgstr "Séquence de la clé primaire"
 
-#: datasources/GDataSource.py:1124
+#: datasources/GDataSource.py:1128
 msgid ""
 "Name of the sequence used to populate a primary key (only applies to "
 "relational backends that support sequences; requires a single {primarykey} "
 "value."
 msgstr ""
+"Nom de la séquence utilisée pour remplir la clé primaire (s'applique "
+"seulement auxSGBD relationnels suportant les séquences); nécessite une "
+"valeur  unique de {primarykey}."
 
-#: datasources/GDataSource.py:1130
+#: datasources/GDataSource.py:1134
+msgid "Row-ID field"
+msgstr "Champ ID-Ligne"
+
+#: datasources/GDataSource.py:1135
+msgid ""
+"Name of the field to use as Row-ID if the connection does not support row "
+"ids."
+msgstr "Nom du champ à utilisercomme ID-Ligne si la connexion ne supporte "
+"pas les ids ligne."
+
+#: datasources/GDataSource.py:1139
 msgid "Re-query on commit?"
-msgstr ""
+msgstr "Ré-interroger après validation ?"
 
-#: datasources/GDataSource.py:1132
+#: datasources/GDataSource.py:1141
 msgid ""
 "Requery a record after posting it; requires {primarykey} support and a non-"
 "null primary key value at the time of update (whether via a trigger or by "
 "the use of {primarykeyseq}."
 msgstr ""
+"Redemande l'enregistrement après l'avoir posté; nécessite le support de "
+"{primarykey} et une clé primaire non nulle au moment de la mise à jour (via "
+"une procédure ou par l'utilisation de {primarykeyseq})."
 
-#: datasources/GDataSource.py:1152
+#: datasources/GDataSource.py:1161
 msgid "The name of the field by which the datasource will be ordered."
-msgstr ""
+msgstr "Le nom du champ utilisé pour ordonner la source de données."
 
-#: datasources/GDataSource.py:1157
+#: datasources/GDataSource.py:1166
 msgid ""
 "Selects if the ordering is done in ascending (default) or in descending "
 "order."
-msgstr ""
+msgstr "Sélection d'un classement ascendant (défaut) ou descendant."
 
-#: datasources/GDataSource.py:1165
+#: datasources/GDataSource.py:1174
 msgid "Selects wether the ordering is case-sensitive or not."
-msgstr ""
+msgstr "Sélection d'un classement sensible à la casse ou non."
 
-#: datasources/GDataSource.py:1311
+#: datasources/GDataSource.py:1320
 msgid "The URL '%s' is not a valid application server resource locator"
 msgstr ""
+"L'URL '%s' n'est pas un localisateur de ressource valide pour le serveur "
+"d'application."
 
-#: datasources/GDataSource.py:1322
+#: datasources/GDataSource.py:1331
 msgid "Resource type '%s' is not supported"
-msgstr ""
+msgstr "Le type de ressource '%s' n'est pas supporté"
 
-#: datasources/GDataSource.py:1332
-#, fuzzy
+#: datasources/GDataSource.py:1341
 msgid "Resource '%(name)s' of type '%(type)s' not found"
-msgstr "La ligne %d de la table %s n'a pas de champ cl�."
+msgstr "La ressource '%(name)s' de type '%(type)s' est introuvable"
 
 #: datasources/GLoginHandler.py:44
 msgid "User canceled the login request."
-msgstr "Demande de connexion annul�e par l'utilisateur."
+msgstr "Demande de connexion annulée par l'utilisateur."
 
 #: datasources/drivers/Base/Behavior.py:44
-#, fuzzy
 msgid "No type transformation for '%s' found"
-msgstr "de liaison pour %s "
+msgstr "Aucun transformation de type trouvée pour '%s'"
 
 #: datasources/drivers/Base/Behavior.py:190
 msgid "DB-Export of %s"
-msgstr ""
+msgstr "Exportation de %s"
 
 #: datasources/drivers/Base/Behavior.py:258
 msgid "Cannot merge triples of different length"
-msgstr ""
+msgstr "Ne peut fusionner des triples de différentes longueur"
 
 #: datasources/drivers/DBSIG2/Connection.py:111
 #: datasources/drivers/other/appserver.py:333
@@ -704,6 +744,7 @@
 #: datasources/drivers/DBSIG2/ResultSet.py:45
 msgid "The driver '%(driver)s' returned an invalid row count '%(count)s'"
 msgstr ""
+"Le pilote '%(driver)s a retourné un compte incorrect de lignes '%(count)s'"
 
 #: datasources/drivers/file/Base.py:240
 #: datasources/drivers/sql/interbase/Behavior.py:57
@@ -717,12 +758,11 @@
 
 #: datasources/drivers/file/inifile.py:86
 msgid "Duplicate section name %s"
-msgstr ""
+msgstr "Nom de section '%s' dupliqué"
 
 #: datasources/drivers/file/inifile.py:93
-#, fuzzy
 msgid "Missing section name"
-msgstr "Connexion refus�e"
+msgstr "Nom de section manquant"
 
 #: datasources/drivers/other/appserver.py:116
 msgid "Business Object Class"
@@ -730,7 +770,7 @@
 
 #: datasources/drivers/other/appserver.py:426
 msgid "'%(value)s' is not a valid filter-value for '%(filter)s'"
-msgstr ""
+msgstr "'%(value)s' n'est pas une valeur de filtre correcte pour '%(filter)s'"
 
 #: datasources/drivers/sql/interbase/Behavior.py:58
 #: datasources/drivers/sql/maxdb/Behavior.py:56
@@ -742,56 +782,53 @@
 
 #: datasources/drivers/sql/interbase/Behavior.py:94
 msgid "Logon for SYSDBA into Security Database"
-msgstr ""
+msgstr "Identification pour SYSDBA dans la base de données de sécurité"
 
 #: datasources/drivers/sql/interbase/Behavior.py:101
 msgid "Please specify a password"
-msgstr ""
+msgstr "Veuillez SVP spécifier un mot de passe"
 
 #: datasources/drivers/sql/maxdb/Behavior.py:93
 msgid "OS User for host %s"
-msgstr ""
+msgstr "Utilisateur système pour l'hôte %s"
 
 #: datasources/drivers/sql/maxdb/Behavior.py:104
-#, fuzzy
 msgid "Unable to establish session: %s"
-msgstr ""
-"\n"
-"Attention: Impossible de sauvegarder les donn�es de la session vers %s\n"
+msgstr "Impossible d'établir la session : %s"
 
 #: datasources/drivers/sql/maxdb/Behavior.py:113
 msgid "Creating database instance %s"
-msgstr ""
+msgstr "Création de l'instance de base de données %s"
 
 #: datasources/drivers/sql/maxdb/Behavior.py:117
 msgid "Setting up parameters ..."
-msgstr ""
+msgstr "Définition des paramètres ..."
 
 #: datasources/drivers/sql/maxdb/Behavior.py:126
 msgid "Adding log- and data-volumes ..."
-msgstr ""
+msgstr "Ajout des volumes log et data ..."
 
 #: datasources/drivers/sql/maxdb/Behavior.py:130
 msgid "Entering administration mode"
-msgstr ""
+msgstr "Entrée dans le mode administratif"
 
 #: datasources/drivers/sql/maxdb/Behavior.py:133
 msgid "Activating instance with initial user %s"
-msgstr ""
+msgstr "Activation de l'instance avec l'utilisateur initial %s"
 
 #: datasources/drivers/sql/maxdb/Behavior.py:136
-#, fuzzy
 msgid "Loading system tables ..."
-msgstr "Chargement du fichier gsd '%s' ..."
+msgstr "Chargement des tables systèmes ..."
 
 #: datasources/drivers/sql/maxdb/Behavior.py:139
 msgid "Database instance created."
-msgstr ""
+msgstr "Instance de base de données créée."
 
 #: datasources/drivers/sql/mysql/Behavior.py:304
-#, fuzzy
 msgid "WARNING: changing column type of '%(table)s.%(column)s' to 'timestamp'"
-msgstr "ATTENTION: changement du type de colonne de '%s.%s' en 'timestamp'."
+msgstr ""
+"ATTENTION: changement du type de colonne de '%(table)s.%(column)s' en "
+"'timestamp'."
 
 #: datasources/drivers/sql/oracle/Behavior.py:52
 msgid "User Tables"
@@ -807,114 +844,115 @@
 
 #: datasources/drivers/sql/oracle/Behavior.py:55
 msgid "System Tables"
-msgstr "Tables syst�me"
+msgstr "Tables système"
 
 #: datasources/drivers/sql/oracle/Behavior.py:56
 msgid "System Views"
-msgstr "Vues syst�me"
+msgstr "Vues système"
 
 #: datasources/drivers/sql/oracle/Behavior.py:57
 msgid "System Synonyms"
-msgstr "Synonymes syst�me"
+msgstr "Synonymes système"
 
 #: datasources/drivers/sql/sqlite2/Behavior.py:67
-#, fuzzy
 msgid "Cannot find table '%s' anymore"
-msgstr "Impossible de trouver la table '%s'"
+msgstr "Impossible de retrouver la table '%s'"
 
 #: datasources/drivers/sql/sqlite2/Behavior.py:75
 msgid "Cannot split SQL command: '%s'"
-msgstr ""
+msgstr "Ne peut découper la commande SQL : '%s'"
 
 #: datasources/readgsd.py:45
-#, fuzzy
 msgid "Table '%(table)s' not found in the schema"
-msgstr "La table '%s' n'a pas de champ '%s'."
+msgstr "Table '%(table)s' introuvable dans le schéma"
 
 #: datasources/readgsd.py:50
 msgid "Key field(s) '%(fields)s' missing in row '%(row)s' of table '%(table)s'"
 msgstr ""
+"Champ(s) clé '%(field)s' manquant dans la ligne '%(row)s' de la table '%"
+"(table)s'"
 
 #: datasources/readgsd.py:58
-#, fuzzy
 msgid "Table '%(table)s' has no field '%(fields)s'"
-msgstr "La table '%s' n'a pas de champ '%s'."
+msgstr "La table '%(table)s' n'a pas de champ '%(field)s'"
 
 #: datasources/readgsd.py:64
 msgid "Tables have circular or unresolveable references"
-msgstr ""
+msgstr "Les tables ont des références circulaires ou irresolvable"
 
 #: datasources/readgsd.py:69
 msgid "Table '%s' contains circular/unresolvable record references"
 msgstr ""
+"La table '%(table)s' contient des enregistrements avec des références "
+"circulaires/irrésolvable"
 
 #: datasources/readgsd.py:75
-#, fuzzy
 msgid "The value '%(value)s' is not a valid number (%(length)s.%(scale)s)"
-msgstr "n'est pas un nombre (%d.%d)"
+msgstr ""
+"La valeur '%(value)s' n'est pas un nombre valide (%(length)s.%(scale)s)"
 
 #: datasources/readgsd.py:82
-#, fuzzy
 msgid "The value '%(value)s' is out of range (%(length)s.%(scale)s)"
-msgstr "%s Valeur '%s' hors de la plage (%s)"
+msgstr "La valeur '%(value)s' est en-dehors de la plage (%(length)s.%(scale)s)"
 
 #: datasources/readgsd.py:89
 msgid "'%(value)s' is not a valid boolean value"
-msgstr ""
+msgstr "'%(value)s' n'est pas une valeur booléenne correcte"
 
 #: datasources/readgsd.py:94
-#, fuzzy
 msgid "'%s' is not a vaild date, use 'YYYY-MM-DD' (ISO)"
-msgstr "n'est pas une date (AAAA-MM-JJ)"
+msgstr "'%s' n'est pas une date correcte, utiliser 'AAAA-MM-JJ' (ISO)"
 
 #: datasources/readgsd.py:99
-#, fuzzy
 msgid "'%s' is not a vaild time, use 'HH[:MM[:SS[.ss]]]' (ISO)"
-msgstr "n'est pas une heure (HH:MM:SS.ss)"
+msgstr "'%s' n'est pas une heure correcte, utiliser 'HH[:MM[:SS[.ss]]]' (ISO)"
 
 #: datasources/readgsd.py:105
-#, fuzzy
 msgid "'%s' is not a vaild date/time, use 'YYYY-MM-DD HH[:MM[:SS[.ss]]]' (ISO)"
-msgstr "n'est pas une horodate (AAAA-MM-JJ HH:MM:SS.ss)"
+msgstr ""
+"'%s' n'est pas une date/heure correcte , utiliser 'YYYY-MM-DD HH[:MM[:SS[."
+"ss]]]' (ISO)"
 
 #: datasources/readgsd.py:111
 msgid "'%s' is not a recognized field type"
-msgstr ""
+msgstr "'%s' n'est pas un type de champ reconnu"
 
 #: datasources/readgsd.py:128
-#, fuzzy
 msgid "Import GNUe Schema Definition files into a given connection"
-msgstr "de sch�ma GNUe et les importe vers une connexion."
+msgstr ""
+"Importe des fichiers de définitions de schéma GNUe vers une connexion donnée."
 
 #: datasources/readgsd.py:137
-#, fuzzy
 msgid "connectionname"
-msgstr "Connexion refus�e"
+msgstr "nom_de_connexion"
 
 #: datasources/readgsd.py:139
-#, fuzzy
 msgid "Use the connection <connectionname> for creating the schema"
-msgstr "Utiliser la connexion <nom_de_connexion> pour importer les donn�es."
+msgstr "Utiliser la connexion <nom_de_connexion> pour créer le schéma."
 
 #: datasources/readgsd.py:143
 msgid "Also send the code for creating the schema to this file."
-msgstr ""
+msgstr "Envoyer aussi le code de création du schéma vers ce fichier."
 
 #: datasources/readgsd.py:147
 msgid ""
 "If this flag is set, only code is sent to the output file and the schema is "
 "not created automatically."
 msgstr ""
+"Si ce drapeau est activé, le code est simplement affiché et le schéma n'est "
+"pas créé automatiquement."
 
 #: datasources/readgsd.py:152
 msgid ""
 "Mode of operation. If mode is 'schema', only schema creation is done. If "
 "mode is 'data' only data integration is done."
 msgstr ""
+"Mode opératoire. Si le mode est 'schema', seule lacréation du schéma est "
+"faite. Si le mode est 'data', seule l'intégration des données est faite."
 
 #: datasources/readgsd.py:156
 msgid "user"
-msgstr ""
+msgstr "utilisateur"
 
 #: datasources/readgsd.py:157
 msgid ""
@@ -922,33 +960,37 @@
 "created and no owner (--owner) is specified, this username will be it's "
 "owner."
 msgstr ""
+"Défini l'utilisateur pour se connecter à la base de données. Si la base de "
+"données doit être créée et aucun propriétaire (--owner) n'est spécifié, cet "
+"utilisateur en sera le propriétaire."
 
 #: datasources/readgsd.py:161
-#, fuzzy
 msgid "password"
-msgstr "Mot de passe"
+msgstr "mot_de_passe"
 
 #: datasources/readgsd.py:162
 msgid "Set the password to connect to the database."
-msgstr ""
+msgstr "Mot de passe pour la connexion à la base de donnée"
 
 #: datasources/readgsd.py:164
 msgid "owner"
-msgstr ""
+msgstr "propriétaire"
 
 #: datasources/readgsd.py:165
 msgid "If the database is to be created this will be its owner."
-msgstr ""
+msgstr "Si la base de données doit être créée, il en sera propriétaire."
 
 #: datasources/readgsd.py:168
 msgid "ownerpwd"
-msgstr ""
+msgstr "mot_de_passe_proprio"
 
 #: datasources/readgsd.py:169
 msgid ""
 "If the database is to be created this will be the password used for the "
 "database owner."
 msgstr ""
+"Si la base de données doit être créée, ce sera le mot de passe pour son "
+"propriétaire."
 
 #: datasources/readgsd.py:173
 msgid ""
@@ -957,196 +999,202 @@
 "connection-configuration or from the command line. This user becomes the "
 "owner of the database and will be implicitly created."
 msgstr ""
+"Si cette option est activée, la base de données sera créée avant toute "
+"création de schéma. Il doit y avoir un propriétaire ou un utilisateur, soit "
+"depuis la configuration, soit depuis la ligne de commande. Cet utilisateur "
+"devient le propriétaire de la base de données et sera créé implicitement."
 
 #: datasources/readgsd.py:181
 msgid ""
 "If this option is set, the program runs in batch-mode, which means all "
 "questions are answered with 'yes' automatically."
 msgstr ""
+"Si cette option ectivé, le programme s'exécute en mode 'batch', et répondra "
+"automatiquement 'oui' à toutes les questions."
 
 #: datasources/readgsd.py:223
 msgid "No input file specified."
-msgstr "Pas de fichier d'entr�e sp�cifi�."
+msgstr "Pas de fichier d'entrée spécifié."
 
 #: datasources/readgsd.py:234
-#, fuzzy
 msgid "Unable to open input file: %s"
-msgstr "Impossible d'ouvrir le fichier d'entr�e %s."
+msgstr "Impossible d'ouvrir le fichier d'entrée %s."
 
 #: datasources/readgsd.py:242
 msgid "Output to file only requested, but no filename specified."
 msgstr ""
+"Sortie demandée uniquement vers un fichier, mais aucun nom de fichier "
+"spécifié."
 
 #: datasources/readgsd.py:253
 msgid "Mode of operation must be one of 'both', 'schema' or 'data'."
-msgstr ""
+msgstr "Le mode opératoire doit être choisi parmi 'both', 'schema' ou 'data'."
 
 #: datasources/readgsd.py:313
 msgid "You are about to create the new database '%s'. Continue"
-msgstr ""
+msgstr "Vous allez créer la nouvelle base de données '%s'. Continuer "
 
 #: datasources/readgsd.py:315 datasources/readgsd.py:325
 #: datasources/readgsd.py:382
-#, fuzzy
 msgid "n"
-msgstr "non"
+msgstr "n"
 
 #: datasources/readgsd.py:315 datasources/readgsd.py:325
 #: datasources/readgsd.py:382 datasources/readgsd.py:773
 msgid "y"
-msgstr ""
+msgstr "o"
 
 #: datasources/readgsd.py:323
 msgid "You are about to change the database '%s'. Continue"
-msgstr ""
+msgstr "Vous allez modifier la base de données '%s'. Continuer "
 
 #: datasources/readgsd.py:330
-#, fuzzy
 msgid "Updating schema ..."
-msgstr "Ecriture du sch�ma dans %s ..."
+msgstr "Mise à jour du schéma ..."
 
 #: datasources/readgsd.py:356
 msgid "Updating data ..."
-msgstr ""
+msgstr "Mise à jour des données ..."
 
 #: datasources/readgsd.py:380
 msgid "The table '%s' has no key defined. Shall i insert all rows"
 msgstr ""
+"La table '%s' n'a aucune clé définie. Faut-il insérer toutes les lignes "
 
 #: datasources/readgsd.py:517
-#, fuzzy
 msgid "  updating table '%s' ..."
-msgstr "Chargement du fichier gsd '%s' ..."
+msgstr "  mise à jour de la table '%s' ..."
 
 #: datasources/readgsd.py:544
 msgid "    Rows: %(ins)d inserted, %(upd)d updated, %(kept)d unchanged."
-msgstr ""
+msgstr "    Lignes: %(ins)d insérées, %(upd)d modifiées, %(kept)d préservées."
 
 #: datasources/readgsd.py:583
-#, fuzzy
 msgid "  inserting into table '%s' ..."
-msgstr "Chargement du fichier gsd '%s' ..."
+msgstr "  insertion dans la table '%s' ..."
 
 #: datasources/readgsd.py:593
 msgid "    Rows: %(ins)d inserted"
-msgstr ""
+msgstr "    Lignes: %(ins)d insérées"
 
 #: definitions/GBinary.py:42
 msgid "Unsupported binary format: '%(format)s'"
-msgstr ""
+msgstr "Format binaire non supporté : '%(format)s'"
 
 #: definitions/GParser.py:70
 msgid "XML markup error in '%(url)s' at line %(line)s:"
-msgstr ""
+msgstr "Erreur XML dans '%(url)s' à la ligne %(line)s :"
 
 #: definitions/GParser.py:73
 msgid "XML markup error in '%(url)s':"
-msgstr ""
+msgstr "Erreur XML dans '%(url)s' :"
 
 #: definitions/GParser.py:83
 msgid ""
 "'%(value)s' is not valid for %(attr)s-attribute which allows these values "
 "only: %(allowed)s"
 msgstr ""
+"'%(value)s' est incorrect pour l'attribut %(attr)s; valeurs autorisées : %"
+"(allowed)s"
 
-#: definitions/GParser.py:155
+#: definitions/GParser.py:156
 msgid "Error loading %s: empty definition file"
-msgstr "Erreur lors du chargement %s: fichier de d�finition vide"
+msgstr "Erreur lors du chargement de %s: fichier de définition vide"
 
-#: definitions/GParser.py:159
-#, fuzzy
+#: definitions/GParser.py:160
 msgid ""
 "Error loading %(filetype)s: not a valid %(filetype)s definition (expected: %"
 "(expected)s, got: %(got)s)"
 msgstr ""
-"Erreur lors du chargement %s: d�finition %s non valide (attendu: %s, re�u: %"
-"s)"
+"Erreur lors du chargement de %(filetype)s : définition %(filetype)s "
+"incorrecte (attendu : %(excepted)s, reçu : %(got)s"
 
-#: definitions/GParser.py:326
+#: definitions/GParser.py:309
 msgid "File is missing required tag <%s>"
 msgstr "Le fichier ne contient pas le tag requis <%s>"
 
-#: definitions/GParser.py:375
-#, fuzzy
+#: definitions/GParser.py:358
 msgid ""
 "Error processing <%(tagname)s> tag [I do not know what a <%(tagname)s> tag "
 "does]"
-msgstr "Erreur lors du traitement du tag <%s> [ je ne sais pas ce qu'il fait]"
+msgstr ""
+"Erreur lors du traitement du tag <%(tagname)s> [ je ne sais pas ce que fait "
+"le tag <%(tagname)s> ]"
 
-#: definitions/GParser.py:397
-#, fuzzy
+#: definitions/GParser.py:380
 msgid "Error processing <%(tagname)s> tag [tag not allowed at this position]"
-msgstr "Erreur lors du traitement du tag <%s> [ je ne sais pas ce qu'il fait]"
+msgstr ""
+"Erreur lors du traitement du tag <%(tagname)s> [ tag non autorisé à cette "
+"position ]"
 
-#: definitions/GParser.py:411
+#: definitions/GParser.py:394
 msgid "Unexpected namespace on attribute"
-msgstr "Nom d'espace (namespace) inattendu sur l'attribut"
+msgstr "Espace de nommage inattendu sur l'attribut"
 
-#: definitions/GParser.py:428
-#, fuzzy
+#: definitions/GParser.py:411
 msgid ""
 "Error processing <%(tagname)s> tag [I do not recognize the \"%(attribute)s\" "
 "attribute]"
 msgstr ""
-"Erreur lors du traitement du tag <%s> [je ne reconnais pas l'attribut \"%s\"]"
+"Erreur lors du traitement du tag <%(tagname)s> [ je ne reconnais pas "
+"l'attribut \"%(attribute)s\" ]"
 
-#: definitions/GParser.py:449
-#, fuzzy
+#: definitions/GParser.py:432
 msgid ""
 "Error processing <%(tag)s> tag [\"%(attribute)s\" attribute should be "
 "unique; duplicate value is \"%(duplicate)s\"]"
 msgstr ""
-"Erreur lors du traitement du tag <%s> [L'attribut \"%s\" devrait �tre "
-"unique; la valeur \"%s\" est dupliqu�e]"
+"Erreur lors du traitement du tag <%(tag)s> [ L'attribut \"%(attribute)s\" "
+"devrait être unique; la valeur \"%(duplicate)s\" est dupliquée ]"
 
-#: definitions/GParser.py:473
-#, fuzzy
+#: definitions/GParser.py:456
 msgid ""
 "Error processing <%(tagname)s> tag [required attribute \"%(attribute)s\" not "
 "present]"
 msgstr ""
-"Erreur lors du traitement du tag <%s> [L'attribut \"%s\" requis n'est pas "
-"pr�sent]"
+"Erreur lors du traitement du tag <%(tagname)s> [ L'attribut \"%(attribute)s"
+"\" requis n'est pas présent ]"
 
-#: definitions/GParser.py:480
-#, fuzzy
+#: definitions/GParser.py:463
 msgid ""
 "Error in GParser xmlElement definition for %(tag)s/%(attr)s\n"
 "%(message)s"
-msgstr "Erreur lors du chargement %s: fichier de d�finition vide"
+msgstr ""
+"Erreur dans GParser xmlElement definition pour %(tag)s/%(attr)s\n"
+"%(message)s"
 
-#: definitions/GParser.py:519
-#, fuzzy
+#: definitions/GParser.py:502
 msgid ""
 "Error processing <%(namespace)s:%(name)s> tag: root element needs to be in "
 "default namespace"
 msgstr ""
-"Erreur lors du traitement du tag <%s:%s>: l'�l�ment racine doit �tre dans le "
-"namespace par d�faut."
+"Erreur lors du traitement du tag <%(namespace)s:%(name)s>: l'élément racine "
+"doit être dans l'espace de nommage par défaut."
 
-#: definitions/GParser.py:539
+#: definitions/GParser.py:522
 msgid "WARNING: Markup includes unsupported namespace '%s'."
 msgstr ""
+"AVERTISSEMENT: Le marquage inclut l'espace de nommage '%s' non supporté."
 
-#: definitions/GParser.py:776
-#, fuzzy
+#: definitions/GParser.py:750
 msgid "Unable to find an importable object named %(name)s in %(library)s"
-msgstr "Impossible de trouver un objet importable nomm� %s dans %s."
+msgstr ""
+"Impossible de trouver un objet importable nommé %(name)s dans %(library)s."
 
 #: definitions/GParserHelpers.py:40
 msgid "Cannot assign class '%(source)s' to class '%(dest)s'"
-msgstr ""
+msgstr "Ne peut assigner la classe '%(source)s' à la classe '%(dest)s'"
 
 #: formatting/BaseMask.py:142
-#, fuzzy
 msgid ""
 "The requested format mask \"%(mask)s\" is not defined for %(type)s fields"
-msgstr "Le masque de format requis \"%s\" n'est pas d�fini pour les champs %s."
+msgstr ""
+"Le masque de format requis \"%(mask)s\" n'est pas défini pour les champs %"
+"(type)s."
 
 #: formatting/BaseMask.py:159
-#, fuzzy
 msgid "Unexpected character \"%(char)s\" in %(type)s mask."
-msgstr "Caract�re \"%s\" inattendu dans le masque %s."
+msgstr "Caractère \"%(char)s\" inattendu dans le masque %(type)s."
 
 #: formatting/DateMask.py:139
 msgid "inputMaskPos=%s"
@@ -1158,31 +1206,31 @@
 
 #: formatting/GTypecast.py:166
 msgid "Whole numbers must be positive or 0"
-msgstr "Les nombres entiers doivent �tre positifs ou nuls (0)."
+msgstr "Les nombres entiers doivent être positifs ou nuls (0)."
 
 #: formatting/NumberMask.py:203 formatting/TextMask.py:192
 msgid "Invalid Entry"
-msgstr "Entr�e invalide"
+msgstr "Entrée incorrecte"
 
 #: formatting/masks/GMask.py:66
 msgid "Mask Type"
-msgstr ""
+msgstr "Type de masque"
 
 #: formatting/masks/GMask.py:69
 msgid "Display/Output"
-msgstr ""
+msgstr "Affichage/sortie"
 
 #: formatting/masks/GMask.py:70
 msgid "Input Validation/Reformatting"
-msgstr ""
+msgstr "Validation en entrée/formattage"
 
 #: formatting/masks/GMask.py:71
 msgid "Storage"
-msgstr ""
+msgstr "Stockage"
 
 #: formatting/masks/GMask.py:72
 msgid "Validation"
-msgstr ""
+msgstr "Validation"
 
 #: formatting/masks/InputMask.py:157
 msgid ""
@@ -1190,158 +1238,156 @@
 "%(exType)s\n"
 "%(exMessage)s"
 msgstr ""
+"erreur d'entrée :\n"
+"%(exType)s\n"
+"%(exMessage)s"
 
 #: logic/GTrigger.py:45
-#, fuzzy
 msgid "Invalid trigger type '%s'"
-msgstr "Trigger invalide"
+msgstr "Type de trigger '%s' incorrect"
 
 #: logic/GTrigger.py:58
-#, fuzzy
 msgid "Invalid trigger type '%s' fired by %s"
-msgstr "Type de contrainte invalide '%s'."
+msgstr "Type de trigger '%s' incorrect déclenché par '%s'"
 
 #: logic/GTrigger.py:251
 msgid "A piece of code that can be bound to a specific event."
-msgstr ""
+msgstr "Un morceau de code attaché à un évènement spécifique."
 
 #: logic/GTrigger.py:261 logic/usercode.py:262
-#, fuzzy
 msgid "Name"
-msgstr "Nom d'utilisateur"
+msgstr "Nom"
 
 #: logic/GTrigger.py:262 logic/usercode.py:263 utils/tree.py:714
 msgid "Name of this element"
-msgstr ""
+msgstr "Nom de cet élément"
 
 #: logic/GTrigger.py:266
 msgid "Type"
-msgstr ""
+msgstr "Type"
 
 #: logic/GTrigger.py:267
 msgid ""
 "Type of the trigger. Can be either the name of the event that should fire "
 "this trigger, or 'NAMED' for named triggers"
 msgstr ""
+"Type de cette procédure. Peut être soit le nom de l'événement qui doit "
+"déclencher cette procédure, soit 'NAMED' pour les procédures nommées"
 
 #: logic/GTrigger.py:273 logic/usercode.py:280
 msgid "Language"
-msgstr ""
+msgstr "Langage"
 
 #: logic/GTrigger.py:274 logic/usercode.py:281
 msgid "Programming language the code is written in"
-msgstr ""
+msgstr "Langage de programmation utilisé par la procédure"
 
 #: logic/GTrigger.py:281 logic/usercode.py:288
-#, fuzzy
 msgid "Source file"
-msgstr "Trigger source"
+msgstr "Fichier source"
 
 #: logic/GTrigger.py:282 logic/usercode.py:289
 msgid "External file containing the source code"
-msgstr ""
+msgstr "Fichier externe contenant le code-source"
 
 #: logic/GTrigger.py:286
 msgid "Source Trigger"
-msgstr "Trigger source"
+msgstr "Procédure source"
 
 #: logic/GTrigger.py:287
 msgid "Name of a named trigger that contains the program code"
-msgstr ""
+msgstr "Nom d'une procédure nommée contenant le code du programme"
 
 #: logic/GTriggerCore.py:224
 msgid "Cannot set value of object '%s'"
-msgstr ""
+msgstr "Ne peut définir la valeur de l'objet '%s'"
 
 #: logic/GTriggerCore.py:234
 msgid "Cannot set readonly property '%s'"
-msgstr ""
+msgstr "Ne peut définir la propriété en lecture seule '%s'"
 
 #: logic/adapters/python.py:96
 msgid "Sourcecode contains tab character at position %d"
-msgstr ""
+msgstr "Le code source contient un caractère tabulation à la position %d"
 
 #: logic/language.py:60
-#, fuzzy
 msgid "No adapter available for language '%s'"
-msgstr "Pas d'aide disponible pour %s"
+msgstr "Pas d'adaptateur disponible pour le langage %s"
 
 #: logic/language.py:70
 msgid "The class '%(class)s' has no implementation for '%(method)s'"
-msgstr ""
+msgstr "La classe '%(class)s' n'a pas d'implémentation pour '%(method)s'"
 
 #: logic/usercode.py:252
 msgid ""
 "A piece of code that can be bound to a button, a menu item, a toolbar button "
 "or a trigger."
 msgstr ""
+"Un morceau de code attaché à un bouton, un élément de menu, un bouton de "
+"barre d'outil ou un déclencheur (trigger)."
 
 #: logic/usercode.py:268
 msgid "Icon"
-msgstr ""
+msgstr "Icône"
 
 #: logic/usercode.py:269
 msgid "Icon assigned with this action"
-msgstr ""
+msgstr "Icône assignée à cette action"
 
 #: logic/usercode.py:272
-#, fuzzy
 msgid "Label"
-msgstr "Table"
+msgstr "étiquette"
 
 #: logic/usercode.py:273
 msgid "Short text to use for this action"
-msgstr ""
+msgstr "Texte court utilisé pour cette action"
 
 #: logic/usercode.py:276
 msgid "Description"
-msgstr ""
+msgstr "Description"
 
 #: logic/usercode.py:277
 msgid "Long text to use for this action"
-msgstr ""
+msgstr "Texte long utilisé pour cette action"
 
 #: logic/usercode.py:293
-#, fuzzy
 msgid "Enabled"
-msgstr "Table"
+msgstr "Activé"
 
 #: logic/usercode.py:294
 msgid "Determines whether this action can be run"
-msgstr ""
+msgstr "Détermine si cette action peut être exécutée"
 
 #: rpc/RpcDoc.py:43
 msgid "GNUe RPC Documentation Generator"
-msgstr "G�n�rateur de Documentation GNUe RPC"
+msgstr "Générateur de Documentation GNUe RPC"
 
 #: rpc/RpcDoc.py:45
 msgid "Error: the module %s does not exist or cannot be loaded"
-msgstr "Erreur: le module %s n'existe pas ou ne peut �tre charg�"
+msgstr "Erreur: le module %s n'existe pas ou ne peut être chargé"
 
 #: rpc/client.py:112
 msgid "Access to services at '%s' denied"
-msgstr ""
+msgstr "Accès aux services refusé sur '%s'"
 
 #: rpc/drivers/Base.py:362
-#, fuzzy
 msgid "Required parameter 'port' not supplied"
-msgstr "Param�tre requis \"port\" non fourni"
+msgstr "Paramètre requis 'port' non fourni"
 
 #: rpc/drivers/hessian/ServerAdapter.py:43
 #: rpc/drivers/xmlrpc/ServerAdapter.py:43
 msgid "Element of type '%(type)s' with id '%(id)s' not found in store"
-msgstr ""
+msgstr "Element de type '%(type)s' ayant l'id '%(id)s' introuvable en stock"
 
 #: rpc/drivers/pyro/ClientAdapter.py:38 rpc/drivers/pyro/ServerAdapter.py:41
-#, fuzzy
 msgid ""
 "Unable to load Pyro. To use the Pyro interface, please install pyro from "
 "http://pyro.sf.net";
 msgstr ""
 "\n"
-"Impossible de charger xmlrpclib. Pour utiliser l'interface XML-RPC, \n"
-"installez xmlrpc depuis:\n"
-"   http://www.pythonware.com/products/xmlrpc/";
+"Impossible de charger Pyro. Pour utiliser l'interface Pyro, \n"
+"veuillez installez pyro depuis:\n"
+"   http://www.pyro.sf.net/";
 
 #: rpc/drivers/xmlrpc/RpcDoc.py:69 rpc/drivers/xmlrpc/RpcDoc.py:80
 #: rpc/drivers/xmlrpc/RpcDoc.py:91
@@ -1362,1009 +1408,56 @@
 
 #: rpc/drivers/xmlrpc/RpcDoc.py:411
 msgid "RpcDoc.py has to be called with an command argument. "
-msgstr "RpcDoc.py doit �tre appel� avec un argument."
+msgstr "RpcDoc.py doit être appelé avec un argument de commande."
 
 #: rpc/drivers/xmlrpc/RpcDoc.py:412
 msgid "call 'RpcDoc.py help' for more information."
-msgstr "ex�cutez 'RpcDoc.py help' pour plus d'information."
+msgstr "exécutez 'RpcDoc.py help' pour plus d'information."
 
 #: utils/GDateTime.py:156
 msgid "Dates before 0001/01/01 are not supported by datetime library"
 msgstr ""
+"Les dates précédant le 01/01/0001 ne sont pas supportées par la bibliothèque "
+"datetime"
 
 #: utils/GDateTime.py:392
 msgid "Not a valid date"
-msgstr "Date invalide"
+msgstr "Date incorrecte"
 
 #: utils/tree.py:53
 msgid "Setting parent would create a circular reference"
-msgstr ""
+msgstr "Définir le parent créerait une référence circulaire"
 
 #: utils/tree.py:70
 msgid "Duplicate child name '%(child_name)s' for parent node '%(parent_node)s'"
 msgstr ""
+"Nom d'enfant dupliqué '%(child_name)s' pour le noeud parent '%(parent_node)s'"
 
 #: utils/tree.py:93
 msgid ""
 "Duplicate node name '%(descendant_name)s' in descendants of node type %"
 "(descendant_type)s of node '%(ancestor_node)s'"
 msgstr ""
+"Nom de noeud dupliqué '%(descendant_name)s' dans les descendants du noeud '%"
+"(ancestor_node)s' de type %(descendant_type)s"
 
 #: utils/tree.py:111
 msgid ""
 "Node '%(node_name)s' of class '%(node_class)s' does not maintain a node "
 "dictionary for node type '%(node_type)s'"
 msgstr ""
+"Le noeud '%(node_name)s' de classe '%(node_class)s' ne maintient pas un "
+"dictionnaire de noeud pour le type '%(node_type)s'"
 
 #: utils/uuid.py:69
 msgid "The version '%s' is not a valid UUID version"
-msgstr ""
+msgstr "La version '%s' n'est pas une version UUID correcte"
 
 #: utils/uuid.py:84
 msgid "'%s' is not recognized as valid namespace argument"
-msgstr ""
+msgstr "'%s' n'est pas reconnu comme un argument 'espace de nommage' correct"
 
 #: utils/uuid.py:98
 msgid "No namespace given for namebased UUID generation"
 msgstr ""
-
-#, fuzzy
-#~ msgid "The file cannot be parsed. %(exType)s :: %(exValue)s"
-#~ msgstr "Le fichier ne peut �tre analys�. %s :: %s"
-
-#~ msgid "The file cannot be parsed."
-#~ msgstr "Le fichier ne peut �tre analys�."
-
-#~ msgid ""
-#~ "Unable to read the GNUE_INSTALLED_SITE_CFG file... There is a problem "
-#~ "with your installation"
-#~ msgstr ""
-#~ "Impossible de lire le fichier GNUE_INSTALLED_SITE_CFG... Il y a un "
-#~ "probl�me avec votre installation."
-
-#, fuzzy
-#~ msgid "The requested method '%s' does not exist"
-#~ msgstr "La m�thode demand�e n'existe pas"
-
-#, fuzzy
-#~ msgid "Missing Binding information. Please add binding information for %s"
-#~ msgstr "Information de liaison manquante. Ajoutez l'information "
-
-#, fuzzy
-#~ msgid "GNURPC cannot bind service '%(name)s' to service '%(destination)s'"
-#~ msgstr "GNURPC ne peut lier le service '%s' au service '%s'"
-
-#, fuzzy
-#~ msgid ""
-#~ "GNURPC cannot bind method/attribut '%(name)s' to service '%(service)s'"
-#~ msgstr "GNURPC ne peut lier la m�thode/attribut '%s' au service '%s'"
-
-#~ msgid "Dispatching: "
-#~ msgstr "R�partition: "
-
-#, fuzzy
-#~ msgid "Server XML-RPC method '%s' is not bound to real method"
-#~ msgstr "La m�thode '%s' XML-RPC du serveur n'est pas "
-
-#, fuzzy
-#~ msgid "Server does not have XML-RPC procedure %s"
-#~ msgstr "Le serveur n'a pas la proc�dure"
-
-#, fuzzy
-#~ msgid ""
-#~ "Internal Server XML-RPC error: method type (get/set attribute) couldn't "
-#~ "be detected (method %s)"
-#~ msgstr "(lire/�crire l'attribut) n'a pas pu �tre d�t�ct�e (m�thode %s)"
-
-#, fuzzy
-#~ msgid ""
-#~ "Server XML-RPC procedure %(method)s accepts just %(attr)s as attributs"
-#~ msgstr "du serveur XML-RPC n'accepte que %s comme attributs"
-
-#~ msgid "No help available for %s"
-#~ msgstr "Pas d'aide disponible pour %s"
-
-#~ msgid "InvalidMethodName"
-#~ msgstr "Nom de m�thode invalide"
-
-#~ msgid "Requested method does not exist"
-#~ msgstr "La m�thode demand�e n'existe pas"
-
-#, fuzzy
-#~ msgid "Wrong format of object handler in method call %s"
-#~ msgstr "Mauvais format de gestionnaire d'objet"
-
-#~ msgid "Object handle not returned"
-#~ msgstr "Handle sur l'objet non renvoy�"
-
-#~ msgid "Invalid object handle"
-#~ msgstr "Handle objet invalide"
-
-#~ msgid "Proxy client adapter should be called with the server object"
-#~ msgstr "L'adaptateur client proxy devrait �tre appel� avec l'objet serveur."
-
-#, fuzzy
-#~ msgid ""
-#~ "\n"
-#~ "Unable to load pyro. To use the Pyro interface, \n"
-#~ "please install xmlrpc from:\n"
-#~ "    http://sourceforge.net/projects/pyro the appropriate DEBIAN package "
-#~ "is python-pyro.deb"
-#~ msgstr ""
-#~ "\n"
-#~ "Impossible de charger xmlrpc. Pour utiliser l'interface XML-RPC,\n"
-#~ "installez xmlrpc depuis:\n"
-#~ "   http://sourceforge.net/projects/py-xmlrpc\n";
-#~ "Le package DEBIAN est python-xmlrpc.deb"
-
-#, fuzzy
-#~ msgid ""
-#~ "py-xmlrpc just support http as a transport. If you need https please have "
-#~ "a look at the 'pw_xmlrpc' adapter."
-#~ msgstr ""
-#~ "py-xmlrpc ne supporte que http comme transport. Si vous avez besoin de "
-#~ "https, jetez un oeil � l'adaptateur 'pw_xmlrpc'"
-
-#, fuzzy
-#~ msgid ""
-#~ "To use Pyro, you must either specify a 'url' or\n"
-#~ "a 'host' and 'port' setting."
-#~ msgstr "Pour utiliser XML-RPC, vous devez soit sp�cifier un url ou\n"
-
-#, fuzzy
-#~ msgid "Unable to initialize the Pyro interface at %s"
-#~ msgstr "Impossible d'initialiser l'interface XML-RPC � %s"
-
-#, fuzzy
-#~ msgid "Wrong format of object handle in method call %s"
-#~ msgstr "Mauvais format de handle objet"
-
-#, fuzzy
-#~ msgid ""
-#~ "\n"
-#~ "Unable to load soaplib. To use the SOAP interface, please install soaplib "
-#~ "from:\n"
-#~ "    http://www.pythonware.com/products/soap/\n";
-#~ msgstr ""
-#~ "\n"
-#~ "Impossible de charger xmlrpclib. Pour utiliser l'interface XML-RPC, \n"
-#~ "installez xmlrpc depuis:\n"
-#~ "   http://www.pythonware.com/products/xmlrpc/";
-
-#~ msgid ""
-#~ "\n"
-#~ "Unable to load SOAP.py.  To use the SOAP interface,\n"
-#~ "please install SOAP.py from:\n"
-#~ "    http://sourceforge.net/projects/pywebsvcs\n";
-#~ "the appropriate DEBIAN package is python-soappy"
-#~ msgstr ""
-#~ "\n"
-#~ "Impossible de charger SOAP.py. Pour utiliser l'interface SOAP,\n"
-#~ "installez SOAP.py depuis:\n"
-#~ "   http://sourceforge.net/projects/pywebsvcs\n";
-#~ "Le package DEBIAN est python-soappy"
-
-#, fuzzy
-#~ msgid ""
-#~ "Internal server error occured:\n"
-#~ " server %(server)s \n"
-#~ " on source %(source)s."
-#~ msgstr ""
-#~ "Erreur interne au serveur:\n"
-#~ " serveur %s\n"
-#~ " sur la source %s."
-
-#, fuzzy
-#~ msgid ""
-#~ "Your configuration references a file-based sockets connection.\n"
-#~ "However, your operating system does not support file-based sockets."
-#~ msgstr ""
-#~ "Cependant, votre syst�me d'exploitation ne supporte pas ce type de socket."
-
-#~ msgid "Unable to initialize the requested socket located at %s"
-#~ msgstr "Impossible d'initialiser le socket demand�, situ� � %s"
-
-#, fuzzy
-#~ msgid ""
-#~ "To use the sockets commdriver, you must specify either a sockets\n"
-#~ "file or a host and port number. Please see documentation."
-#~ msgstr ""
-#~ "Pour utiliser le pilote de socket commdriver, vous devez sp�cifier soit"
-
-#, fuzzy
-#~ msgid ""
-#~ "Unable to initialize the requested socket located at %(host)s:%(port)s"
-#~ msgstr "Impossible d'initialiser le socket demand�, situ� � %s:%s"
-
-#~ msgid ""
-#~ "\n"
-#~ "Unable to load xmlrpclib.  To use the XML-RPC interface, \n"
-#~ "please install xmlrpc from:\n"
-#~ "    http://www.pythonware.com/products/xmlrpc/";
-#~ msgstr ""
-#~ "\n"
-#~ "Impossible de charger xmlrpclib. Pour utiliser l'interface XML-RPC, \n"
-#~ "installez xmlrpc depuis:\n"
-#~ "   http://www.pythonware.com/products/xmlrpc/";
-
-#, fuzzy
-#~ msgid ""
-#~ "Server XML-RPC procedure %(method)s accepts just %(attr)s as attributes"
-#~ msgstr "du serveur XML-RPC n'accepte que %s comme attributs"
-
-#~ msgid ""
-#~ "\n"
-#~ "Unable to load xmlrpc.  To use the XML-RPC interface, \n"
-#~ "please install xmlrpc from:\n"
-#~ "    http://sourceforge.net/projects/py-xmlrpc\n";
-#~ "the appropriate DEBIAN package is python-xmlrpc.deb"
-#~ msgstr ""
-#~ "\n"
-#~ "Impossible de charger xmlrpc. Pour utiliser l'interface XML-RPC,\n"
-#~ "installez xmlrpc depuis:\n"
-#~ "   http://sourceforge.net/projects/py-xmlrpc\n";
-#~ "Le package DEBIAN est python-xmlrpc.deb"
-
-#~ msgid ""
-#~ "py-xmlrpc only supports http as a transport.  If you need https, please "
-#~ "have a look at the 'pw_xmlrpc' adapter."
-#~ msgstr ""
-#~ "py-xmlrpc ne supporte que http comme transport. Si vous avez besoin de "
-#~ "https, jetez un oeil � l'adaptateur 'pw_xmlrpc'"
-
-#, fuzzy
-#~ msgid "No valid condition tree"
-#~ msgstr "Date invalide"
-
-#, fuzzy
-#~ msgid ""
-#~ "Condition element \"%(element)s\" expects at most %(expected)s arguments; "
-#~ "found %(found)s"
-#~ msgstr ""
-#~ "L'�l�ment de condition \\\"%s\\\" attend au plus %s arguments, mais en a "
-#~ "re�u %s."
-
-#, fuzzy
-#~ msgid ""
-#~ "Condition clause \"%s\" is not supported by the condition to prefix table "
-#~ "conversion."
-#~ msgstr ""
-#~ "La clause de condition \"%s\" n'est pas support�e par ce pilote de base "
-#~ "de donn�es."
-
-#, fuzzy
-#~ msgid ""
-#~ "DB Driver '%(connection)s' does not support source type '%(conType)s'"
-#~ msgstr ""
-#~ "Le pilote de base de donn�es '%s' ne supporte pas le type de source '%s'."
-
-#~ msgid "Backend doesn't support the trigger 'call' function"
-#~ msgstr "Le backend ne supporte pas la fonction trigger 'call'."
-
-#, fuzzy
-#~ msgid "Backend does not support the 'update' function"
-#~ msgstr "Le backend ne supporte pas la fonction trigger 'call'."
-
-#~ msgid "This database adapter doesn't have 'schema writing' support"
-#~ msgstr ""
-#~ "Cet adaptateur de base de donn�es ne supporte pas 'l'�criture de sch�ma'."
-
-#~ msgid "master=%s; detail=%s"
-#~ msgstr "maitre=%s; d�tail=%s"
-
-#~ msgid "Attempted to modify read only field '%s'"
-#~ msgstr "Tentative de modification du champ en lecture seule '%s'."
-
-#, fuzzy
-#~ msgid "The definition has no attribute '%s'"
-#~ msgstr "L'instance %s n'a pas d'attribut %s."
-
-#, fuzzy
-#~ msgid "The table definition has no attribute '%s'"
-#~ msgstr "D�finition de table dans '%s'"
-
-#, fuzzy
-#~ msgid "The field definition has no attribute '%s'"
-#~ msgstr "L'instance %s n'a pas d'attribut %s."
-
-#, fuzzy
-#~ msgid "Primarykey definition has no attribute '%s'"
-#~ msgstr "L'instance %s n'a pas d'attribut %s."
-
-#, fuzzy
-#~ msgid "Primarykey '%(name)s' of table '%(table)s' has no fields"
-#~ msgstr "La ligne %d de la table %s n'a pas de champ cl�."
-
-#, fuzzy
-#~ msgid "Index definition has no attribute '%s'"
-#~ msgstr "L'instance %s n'a pas d'attribut %s."
-
-#, fuzzy
-#~ msgid "Index '%(name)s' of table '%(table)s' has no fields"
-#~ msgstr "La ligne %d de la table %s n'a pas de champ cl�."
-
-#, fuzzy
-#~ msgid "Constraint definition has no attribute '%s'"
-#~ msgstr "L'instance %s n'a pas d'attribut %s."
-
-#~ msgid "Object of unknown type (%s) passed to DBSIG2 based dbdriver."
-#~ msgstr ""
-#~ "Objet de type inconnu (%s) pass� au pilote de base de donn�es DBSIG2."
-
-#, fuzzy
-#~ msgid ""
-#~ "Condition element \"%(element)s\" expects at least %(expected)s "
-#~ "arguments; found %(found)s"
-#~ msgstr ""
-#~ "L'�l�ment de condition \"%s\" attend au moins %s arguments, mais n'en a "
-#~ "re�u que %s."
-
-#~ msgid "Condition clause \"%s\" is not supported by this db driver."
-#~ msgstr ""
-#~ "La clause de condition \"%s\" n'est pas support�e par ce pilote de base "
-#~ "de donn�es."
-
-#~ msgid "adodbapi"
-#~ msgstr "adodbapi"
-
-#~ msgid "MS Access database"
-#~ msgstr "Base de donn�es MS Access"
-
-#~ msgid "MS SQL Server database"
-#~ msgstr "Base de donn�es MS SQL Server"
-
-#, fuzzy
-#~ msgid "Module '%s' not found."
-#~ msgstr "Fichier CSV non trouv�."
-
-#~ msgid "GNUe AppServer Driver"
-#~ msgstr "Pilote GNUe AppServer"
-
-#~ msgid "CSV file not found."
-#~ msgstr "Fichier CSV non trouv�."
-
-#~ msgid "Wrong file format."
-#~ msgstr "Erreur de format de fichier."
-
-#~ msgid "Python 2.3+ CSV Driver"
-#~ msgstr "Pilote Python 2.3+ CSV"
-
-#~ msgid "Aliases"
-#~ msgstr "Alias"
-
-#~ msgid "Summary Tables"
-#~ msgstr "Tables de synth�se"
-
-#~ msgid "IBM DB2 Data Driver"
-#~ msgstr "Pilote de donn�es IBM DB2"
-
-#~ msgid "DBF file not found."
-#~ msgstr "Fichier DBF non trouv�."
-
-#~ msgid "DBF File Data Driver"
-#~ msgstr "Pilote de donn�es fichier DBF"
-
-#~ msgid "Gadfly Driver"
-#~ msgstr "Pilote Gadfly"
-
-#~ msgid "Kinfxdb Informix driver"
-#~ msgstr "Pilote Informix Kinfxdb"
-
-#~ msgid "ingmod Ingres Driver"
-#~ msgstr "Pilote Ingres ingmod"
-
-#, fuzzy
-#~ msgid ""
-#~ "Encoding '%s' is not supported by interbase dbdriver. Using default "
-#~ "encoding."
-#~ msgstr ""
-#~ "L'encodage '%s' n'est pas support� par le pilote de base de donn�es "
-#~ "Interbase."
-
-#~ msgid "kinterbasdb Firebird/Interbase Driver"
-#~ msgstr "Pilote Firebird/Interbase kinterbasdb"
-
-#~ msgid "Objects"
-#~ msgstr "Objets"
-
-#, fuzzy
-#~ msgid ""
-#~ "The MySQL driver returned the following error:\n"
-#~ "%s"
-#~ msgstr ""
-#~ "Le pilote PostgreSQL a renvoy� l'erreur suivante:\n"
-#~ "   %s"
-
-#~ msgid "MySQLdb"
-#~ msgstr "Base de donn�es MySQL"
-
-#, fuzzy
-#~ msgid ""
-#~ "Driver not installed: win32all ODBC driver\n"
-#~ "\n"
-#~ "[%s]"
-#~ msgstr ""
-#~ "Pilote non install�: win32all ODBC\n"
-#~ "\n"
-#~ "%s"
-
-#~ msgid "PythonWin ODBC Driver"
-#~ msgstr "Pilote ODBC PythonWin"
-
-#~ msgid ""
-#~ "Driver not installed: win32all ODBC driver\n"
-#~ "\n"
-#~ "[%s"
-#~ msgstr ""
-#~ "Pilote non install�: win32all ODBC\n"
-#~ "\n"
-#~ "%s"
-
-#, fuzzy
-#~ msgid ""
-#~ "The Oracle driver returned the following error:\n"
-#~ "%s"
-#~ msgstr ""
-#~ "Le pilote PostgreSQL a renvoy� l'erreur suivante:\n"
-#~ "   %s"
-
-#, fuzzy
-#~ msgid "This feature is currently not supported by this driver"
-#~ msgstr ""
-#~ "La clause de condition \"%s\" n'est pas support�e par ce pilote de base "
-#~ "de donn�es."
-
-#~ msgid "cx_Oracle SQLNet Driver"
-#~ msgstr "Pilote SQLNet cx_Oracle"
-
-#~ msgid "DCOracle2 OCI Driver"
-#~ msgstr "Pilote OCI DCOracle2"
-
-#~ msgid "DCOracle2 Data Driver for Oracle 7.3/8i/9i+ (OCI8)"
-#~ msgstr "Pilote de donn�es DCOracle2 pour Oracle 7.3/8i/9i+ (OCI8)"
-
-#~ msgid ""
-#~ "The PostgreSQL driver returned the following error:\n"
-#~ "\t%s"
-#~ msgstr ""
-#~ "Le pilote PostgreSQL a renvoy� l'erreur suivante:\n"
-#~ "   %s"
-
-#, fuzzy
-#~ msgid ""
-#~ "Encoding '%s' is not supported by postgresql dbdriver. Using default "
-#~ "encoding."
-#~ msgstr ""
-#~ "L'encodage '%s' n'est pas support� par le pilote de base de donn�es "
-#~ "Interbase."
-
-#~ msgid "popy"
-#~ msgstr "popy"
-
-#~ msgid "Psycopg"
-#~ msgstr "Psycopg"
-
-#~ msgid "PyGreSQL"
-#~ msgstr "PyGreSQL"
-
-#~ msgid "pyPgSQL"
-#~ msgstr "pyPgSQL"
-
-#~ msgid "Synonyms"
-#~ msgstr "Synonymes"
-
-#~ msgid "Result Table"
-#~ msgstr "Table de r�sultat"
-
-#, fuzzy
-#~ msgid ""
-#~ "The MaxDB/SAP-DB driver returned the following error:\n"
-#~ "%s"
-#~ msgstr ""
-#~ "Le pilote PostgreSQL a renvoy� l'erreur suivante:\n"
-#~ "   %s"
-
-#~ msgid "MySQL's MaxDB driver"
-#~ msgstr "Pilote MySQL MaxDB"
-
-#~ msgid "Error opening config file %s"
-#~ msgstr "Erreur lors de l'ouverture du fichier de configuration %s"
-
-#~ msgid ""
-#~ "This database driver always shows all sections             of a config "
-#~ "file. You cannot execute querys on it."
-#~ msgstr ""
-#~ "Ce pilote de base de donn�es montre toujours toutes les sections d'un "
-#~ "fichier de configuration. Vous ne pouvez pas ex�cuter de requ�tes sur "
-#~ "celui-ci."
-
-#~ msgid "The section name you have provided for this record already exists."
-#~ msgstr ""
-#~ "Le nom de section que vous avez fourni pour cet enregistrement existe "
-#~ "d�j�."
-
-#~ msgid "You have to provide a section name for this record!"
-#~ msgstr "Vous devez fournir un nom de section pour cet enregistrement!"
-
-#~ msgid "ConfigFile Special Data Driver"
-#~ msgstr "Pilote de donn�es sp�cial pour fichier de configuration"
-
-#~ msgid "Static Special Data Driver"
-#~ msgstr "Pilote de donn�es sp�cial statique"
-
-#~ msgid "Unbound Special Data Driver"
-#~ msgstr "Pilote de donn�es sp�cial non li�"
-
-#, fuzzy
-#~ msgid ""
-#~ "The SQLite driver returned the following error:\n"
-#~ "\t%s"
-#~ msgstr ""
-#~ "Le pilote PostgreSQL a renvoy� l'erreur suivante:\n"
-#~ "   %s"
-
-#~ msgid "PySQLite Driver"
-#~ msgstr "Pilote PySQLite"
-
-#~ msgid ""
-#~ "Driver not installed: SQLRelay Python API\n"
-#~ "[%s]"
-#~ msgstr ""
-#~ "Pilote non install�: SQLRelay Python API\n"
-#~ "[%s]"
-
-#~ msgid "SQLRelay Python Client"
-#~ msgstr "Client Python SQLRelay"
-
-#~ msgid "Driver not installed: Sybase.py for Sybase ASE 11.0/11.9 [%s]"
-#~ msgstr "Pilote non install�: Sybase.py pour Sybase ASE 11.0/11.9 [%s]"
-
-#~ msgid "Sybase Python Driver"
-#~ msgstr "Pilote Python Sybase"
-
-#, fuzzy
-#~ msgid "%(fieldname)sInvalid datatype '%(datatype)s'."
-#~ msgstr "%s Type de donn�es invalide '%s'."
-
-#~ msgid "is not a boolean (TRUE or FALSE)"
-#~ msgstr "n'est pas un bool�en (TRUE ou FALSE)"
-
-#~ msgid "Errors found while processing GSD file."
-#~ msgstr "Erreurs lors du traitement du fichier GSD."
-
-#~ msgid "Constraint '%s' has no reference fields."
-#~ msgstr "La contrainte '%s' n'a pas de champs de r�f�rence."
-
-#, fuzzy
-#~ msgid "Constraint '%(name)s' has more fields than the table '%(table)s'"
-#~ msgstr "La contrainte '%s' n'a pas de champs de r�f�rence."
-
-#, fuzzy
-#~ msgid "Constraint '%(name)s': typemismatch in reference field '%(field)s'."
-#~ msgstr "La contrainte '%s' n'a pas de champs de r�f�rence."
-
-#~ msgid "GSD-Error: can't find myself in the XML tree?!"
-#~ msgstr "Erreur GSD: je ne me trouve pas dans l'arbre XML ?!"
-
-#, fuzzy
-#~ msgid "Data row of table '%s' has no key fields"
-#~ msgstr "La ligne %d de la table %s n'a pas de champ cl�."
-
-#, fuzzy
-#~ msgid ""
-#~ "GNUe Schema Scripter creates database schemas based on GNUe Schema "
-#~ "Definitions."
-#~ msgstr ""
-#~ "GNUe Schema Scripter cr�e un fichier SQL bas� sur un d�finition de sch�ma "
-#~ "GNUe."
-
-#~ msgid "Loading gsd file '%s' ..."
-#~ msgstr "Chargement du fichier gsd '%s' ..."
-
-#, fuzzy
-#~ msgid "Unable to initialize the XML-RPC interface at %s: Connection refused"
-#~ msgstr "Impossible d'initialiser l'interface XML-RPC � %s: "
-
-#~ msgid ""
-#~ "Driver not installed: sapdbapi for SAP-DB 7.x \n"
-#~ "[%s]"
-#~ msgstr ""
-#~ "Pilote non install�: sapdbapi pour SAB-DB 7.x.\n"
-#~ "[%s]"
-
-#, fuzzy
-#~ msgid "    Inserted %d row(s), updated %d row(s)"
-#~ msgstr "  %d lignes ins�r�es, %d lignes mises � jour."
-
-#, fuzzy
-#~ msgid "Row %(row)d of table %(table)s has no key fields."
-#~ msgstr "La ligne %d de la table %s n'a pas de champ cl�."
-
-#~ msgid "Use the connection <connectionname> for importing data."
-#~ msgstr "Utiliser la connexion <nom_de_connexion> pour importer les donn�es."
-
-#~ msgid "GNUe Schema Importer reads data from a GNUe Schema "
-#~ msgstr "L'importateur de sch�ma GNUe lit les donn�es depuis une d�finition "
-
-#~ msgid "Importing into %s"
-#~ msgstr "Import vers %s"
-
-#, fuzzy
-#~ msgid "  Inserted %(inserted)d row(s), updated %(updated)d row(s)"
-#~ msgstr "  %d lignes ins�r�es, %d lignes mises � jour."
-
-#, fuzzy
-#~ msgid "No connection specified."
-#~ msgstr "Pas de fichier d'entr�e sp�cifi�."
-
-#, fuzzy
-#~ msgid ""
-#~ "%(exType)s while reading gnue.conf:\n"
-#~ "   %(message)s"
-#~ msgstr "%s pendant la lecture de gnue.conf: "
-
-#, fuzzy
-#~ msgid ""
-#~ "\n"
-#~ "Could not load MySQLdb. For MySQL support, please install mysql-python "
-#~ "0.9.0 or later from\n"
-#~ "http://sourceforge.net/projects/mysql-python\n";
-#~ msgstr ""
-#~ "\n"
-#~ "Impossible de charger la base MySQL. Pour le support MySQL, installez \n"
-
-#, fuzzy
-#~ msgid "Server XML-RPC method %s is not bound to real method"
-#~ msgstr "La m�thode '%s' XML-RPC du serveur n'est pas "
-
-#, fuzzy
-#~ msgid ""
-#~ "GNURPC can't bind method/attribut '%(name)s' to service '%(service)s'"
-#~ msgstr "GNURPC ne peut lier la m�thode/attribut '%s' au service '%s'"
-
-#~ msgid "Wrong format of object handle "
-#~ msgstr "Mauvais format de handle objet"
-
-#~ msgid "in method call %s"
-#~ msgstr "dans l'appel � la m�thode %s"
-
-#~ msgid "Internal XMLRPC server error: method %s can be "
-#~ msgstr "Erreur interne du serveur XMLRPC: la m�thode %s peut �tre "
-
-#~ msgid "found in the directory (build out of a .grpc file),"
-#~ msgstr "trouv�e dans le r�pertoir (construite � partir d'un fichier .grpc),"
-
-#~ msgid " but the object doesn't contain this method/attribut."
-#~ msgstr "mais l'objet ne contient pas cette m�thode/attribut."
-
-#~ msgid " Please check you .grpc file for wrong return types."
-#~ msgstr ""
-#~ "V�rifiez que votre fichier .grpc ne contient pas d'erreur de type de "
-#~ "retour."
-
-#~ msgid "bound to real method"
-#~ msgstr "li�e � la m�thode r�elle"
-
-#~ msgid "Server does not have XML-RPC "
-#~ msgstr "Le serveur n'a pas la proc�dure"
-
-#~ msgid "procedure %s"
-#~ msgstr "XML-RPC %s"
-
-#~ msgid "Server XML-RPC "
-#~ msgstr "La proc�dure %s "
-
-#~ msgid "procedure %s accepts just %s as attributs"
-#~ msgstr "du serveur XML-RPC n'accepte que %s comme attributs"
-
-#~ msgid "Internal Server XML-RPC error: method type"
-#~ msgstr "Erreur interne du serveur XML-RPC: le type de la m�thode"
-
-#~ msgid "(get/set attribute) couldn't be detected (method %s)"
-#~ msgstr "(lire/�crire l'attribut) n'a pas pu �tre d�t�ct�e (m�thode %s)"
-
-#~ msgid ""
-#~ "Internal server error occured:\n"
-#~ " server %s \n"
-#~ " on source %s."
-#~ msgstr ""
-#~ "Erreur interne au serveur:\n"
-#~ " serveur %s\n"
-#~ " sur la source %s."
-
-#, fuzzy
-#~ msgid "Missing Binding information. Please add binding information for %s "
-#~ msgstr "Information de liaison manquante. Ajoutez l'information "
-
-#, fuzzy
-#~ msgid "GNURPC cannot bind service '%(name)s' to service'%(destination)s'"
-#~ msgstr "GNURPC ne peut lier le service '%s' au service '%s'"
-
-#~ msgid ""
-#~ "\n"
-#~ "   The connections file is in an invalid format. "
-#~ msgstr ""
-#~ "\n"
-#~ "Le fichier de connections n'a pas un format valide. "
-
-#~ msgid ""
-#~ "\n"
-#~ "   The connections file specified either does "
-#~ msgstr ""
-#~ "\n"
-#~ "Le fichier de connections sp�cifi� n'existe pas"
-
-#~ msgid ""
-#~ "\n"
-#~ "   not exist or is not readable by your account.\n"
-#~ msgstr ""
-#~ "\n"
-#~ "ou n'est pas lisible par votre compte.\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "   Location: \"%s\""
-#~ msgstr ""
-#~ "\n"
-#~ "   Localisation: \"%s\""
-
-#~ msgid "Do not send the server into the background. For a POSIX system, "
-#~ msgstr "Ne pas envoyer le serveur en t�che de fond. Sur un syst�me POSIX, "
-
-#~ msgid "this option keeps the server process from forking and detaching "
-#~ msgstr ""
-#~ "cette option emp�che le processus serveur de forker et de se d�tacher "
-
-#~ msgid "from its controlling terminal."
-#~ msgstr "de son terminal parent."
-
-#~ msgid "mysql-python 0.9.0 or later from"
-#~ msgstr "mysql-python 0.9.0 ou plus r�cent depuis"
-
-#~ msgid "Error:  %s"
-#~ msgstr "Erreur:  %s"
-
-#~ msgid "Encoding '%s' is not supported by postgresql dbdriver."
-#~ msgstr "L'encodage '%s' n'est pas support� par le pilote PostgreSQL."
-
-#~ msgid "Using default encoding."
-#~ msgstr "Utilisation de l'encodage par d�faut."
-
-#~ msgid "Starting cursor: %s; shift: %s"
-#~ msgstr "Curseur de d�part: %s; d�calage: %s."
-
-#~ msgid "Ending cursor: %s; shift: %s"
-#~ msgstr "Curseur de fin: %s; d�calage: %s."
-
-#~ msgid "relative=%s"
-#~ msgstr "relatif=%s"
-
-#~ msgid "direction=%s"
-#~ msgstr "direction=%s"
-
-#~ msgid "cursor #1: %s"
-#~ msgstr "curseur #1: %s"
-
-#~ msgid "cursor #2: %s"
-#~ msgstr "curseur #2: %s"
-
-#~ msgid "pos=%s"
-#~ msgstr "pos=%s"
-
-#~ msgid "section=%s"
-#~ msgstr "section=%s"
-
-#~ msgid "cursor #2b: %s"
-#~ msgstr "curseur #2b: %s"
-
-#~ msgid "cursor #3: %s"
-#~ msgstr "curseur #3: %s"
-
-#~ msgid "cursor #4: %s"
-#~ msgstr "curseur #4: %s"
-
-#~ msgid "New cursor position: %s"
-#~ msgstr "Nouvelle position curseur: %s"
-
-#~ msgid "after processEdit, index=%s;cursor=%s"
-#~ msgstr "apr�s processEdit, index=%s;curseur=%s"
-
-#~ msgid "information for %s "
-#~ msgstr "de liaison pour %s "
-
-#~ msgid "GNURPC: cannot bind service '%s' to %s"
-#~ msgstr "GNURPC ne peut lier le service '%s' au service '%s'"
-
-#~ msgid ""
-#~ "\n"
-#~ "Unable to load pyro.  To use the Pyro interface, \n"
-#~ msgstr ""
-#~ "\n"
-#~ "Impossible de charger pyro. Pour utiliser l'interface pyro, \n"
-
-#~ msgid "please install xmlrpc from:\n"
-#~ msgstr "installez xmlrpc depuis:\n"
-
-#~ msgid "the appropriate DEBIAN package is python-pyro.deb"
-#~ msgstr "le package DEBIAN est python-pyro.deb"
-
-#~ msgid "py-xmlrpc just support http as a transport. "
-#~ msgstr "py-xmlrpc ne supporte que http comme transport. "
-
-#~ msgid "If you need https please have a look at the "
-#~ msgstr "Si vous avez besoin de https, utilisez plut�t"
-
-#~ msgid "'pw_xmlrpc' adapter."
-#~ msgstr "l'adaptateur 'pw_xmlrpc'."
-
-#~ msgid "a 'host' and 'port' setting."
-#~ msgstr "un 'hote' et un 'port'."
-
-#~ msgid "Connection refused"
-#~ msgstr "Connexion refus�e"
-
-#~ msgid ""
-#~ "\n"
-#~ "Unable to load Pyro.  To use the Pyro interface, \n"
-#~ msgstr ""
-#~ "\n"
-#~ "Impossible de charger Pyro. Pour utiliser l'interface Pyro, \n"
-
-#~ msgid "please install pyro from:\n"
-#~ msgstr "installez pyro depuis:\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "Unable to load soaplib.  To use the SOAP interface, \n"
-#~ msgstr ""
-#~ "\n"
-#~ "Impossible de charger soaplib. Pour utiliser l'interface SOAP, \n"
-
-#~ msgid "please install soaplib from:\n"
-#~ msgstr "installez soaplib depuis:\n"
-
-#~ msgid "Your configuration references a file-based sockets connection.\n"
-#~ msgstr ""
-#~ "Votre configuration fait r�f�rence � une connexion sur un socket file-"
-#~ "based.\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "file or a host and port number.  Please see documentation."
-#~ msgstr ""
-#~ "\n"
-#~ "un fichier de socket, soit un h�te et un num�ro de port. Consultez la "
-#~ "documentation."
-
-#~ msgid "%sValue '%s' %s"
-#~ msgstr "%s Valeur '%s' %s"
-
-#~ msgid ""
-#~ "Driver not installed: SQLitedbapi for SQLite 7.x \n"
-#~ "[%s]"
-#~ msgstr ""
-#~ "Pilote non install�: SQLitedbapi pour SQLite 7.x \n"
-#~ "[%s]"
-
-#~ msgid "Generate commands to drop relevant tables.  * NOT IMPLEMENTED"
-#~ msgstr ""
-#~ "G�n�rer les commandes pour supprimer les tables correspondantes.  * NON "
-#~ "IMPLEMENTE"
-
-#~ msgid "Do not generate schema creation code.  * NOT IMPLEMENTED"
-#~ msgstr "Ne pas g�n�rer le code de cr�ation du sch�ma.  * NON IMPLEMENTE"
-
-#~ msgid "Do not generate data insertion code.  * NOT IMPLEMENTED"
-#~ msgstr "Ne pas g�n�rer le code d'insertion des donn�es.  * NON IMPLEMENTE"
-
-#~ msgid "encoding"
-#~ msgstr "encodage"
-
-#~ msgid ""
-#~ "The generated SQL script will be encoded using <encoding>. Default "
-#~ "encoding is UTF-8"
-#~ msgstr ""
-#~ "Le script SQL g�n�r� sera encod� en utilisant <encodage>. L'encodage par "
-#~ "d�faut est UTF-8."
-
-#~ msgid ""
-#~ "Generate code to upgrade an older version of a schema to the recent "
-#~ "version. You must specify a previous schema on the command line.  * NOT "
-#~ "IMPLEMENTED"
-#~ msgstr ""
-#~ "G�n�rer le code pour mettre � jour une ancienne version d'un sch�ma vers "
-#~ "sa nouvelle version. Vous devez sp�cifier un ancien sch�ma sur la ligne "
-#~ "de commande.  * NON IMPLEMENTE"
-
-#~ msgid ""
-#~ "Generate code to upgrade an older version of schema data to the recent "
-#~ "version. You must specify a previous schema on the command line.  * NOT "
-#~ "IMPLEMENTED"
-#~ msgstr ""
-#~ "G�n�rer le code pour mettre � jour les donn�es d'une ancienne version "
-#~ "d'un sch�ma vers sa nouvelle version. Vous devez sp�cifier un ancien "
-#~ "sch�ma sur la ligne de commande.  * NON IMPLEMENTE"
-
-#~ msgid "List all supported vendors."
-#~ msgstr "Lister tous les constructeurs support�s."
-
-#~ msgid ""
-#~ "The destination for the created schemas. This can be in several formats. "
-#~ "If <dest> is a file name, then output is written to this file. If <dest> "
-#~ "is a directory, then <dest>/<Vendor>.sql is created. The default is to "
-#~ "create <Vendor>.sql in the current directory. NOTE: the first form "
-#~ "(<dest> as a filename) is not supported for --vendors all."
-#~ msgstr ""
-#~ "La destination pour les sch�mas cr��s. Elle peut utiliser divers "
-#~ "formats.\n"
-#~ " Si <dest> est un nom de fichier, la sortie est �crite dans ce fichier.\n"
-#~ " Si <dest> est un r�pertoire, alors <dest>/<constructeur>.sql est cr��.\n"
-#~ " Par d�faut, <constructeur>.sql est cr�� dans le r�pertoire courant.\n"
-#~ " NOTE: la premi�re solution n'est pas compatible avec --vendors all."
-
-#~ msgid ""
-#~ "The vendor to create a script for. If <vendor> is 'all', then scripts for "
-#~ "all supported vendors will be created. <vendor> can also be a comma-"
-#~ "separated list."
-#~ msgstr ""
-#~ "Le constructeur pour lequel cr�er un script. Si <constructeur> est 'all', "
-#~ "alors des scripts pour tous les constructeurs sont cr��s. <constructeur> "
-#~ "peut aussi �tre une liste de nom s�par�s pas des virgules."
-
-#~ msgid "--no-schema and --no-data cannot be used together. What to export?"
-#~ msgstr ""
-#~ "--no-schema et --no-data ne peuvent �tre utilis�e ensemble. Exporter "
-#~ "quoi ?"
-
-#~ msgid ""
-#~ "--drop-tables, --upgrade-schema and --upgrade-data\n"
-#~ " are not implemented yet."
-#~ msgstr ""
-#~ "--drop-tables, --upgrade-schema et --upgrade-data ne sont pas encore "
-#~ "impl�ment�s."
-
-#~ msgid ""
-#~ "If multiply vendors are specified --output must be a directory or\n"
-#~ " left empty."
-#~ msgstr ""
-#~ "Si plusieurs constructeurs sont sp�cifi�s --output doit �tre un "
-#~ "r�pertoire ou laiss� vide."
-
-#~ msgid "Unable to create output file %s."
-#~ msgstr "Impossible de cr�er le fichier de sortie %s."
-
-#~ msgid "WARNING: datatype 'timestamp' is depreciated. Use datetime instead."
-#~ msgstr ""
-#~ "ATTENTION: le type de donn�es 'timestamp' est d�pr�ci�. Utilisez "
-#~ "'datetime'."
-
-#~ msgid ""
-#~ "WARNING: datatype 'text' is depreciated. Use 'string' without length "
-#~ "instead."
-#~ msgstr ""
-#~ "ATTENTION: le type de donn�es 'text' est d�pr�ci�. Utilisez 'string' sans "
-#~ "longueur � la place."
-
-#~ msgid "Table definition of '%s'"
-#~ msgstr "D�finition de table pour '%s'"
-
-#~ msgid "List of fields"
-#~ msgstr "Liste de champs"
-
-#~ msgid "Unique Index"
-#~ msgstr "Index unique"
-
-#~ msgid "Index"
-#~ msgstr "Index"
-
-#~ msgid "Foreign Key"
-#~ msgstr "Cl� �trang�re"
-
-#~ msgid "references"
-#~ msgstr "r�f�rence"
-
-#~ msgid "yes"
-#~ msgstr "oui"
-
-#~ msgid "Generated on"
-#~ msgstr "G�n�r� le"
+"Aucun espace de nommage donné pour la génération UUID basée sur les noms"

Added: trunk/gnue-forms/defaults/default/fr.gfd
===================================================================
--- trunk/gnue-forms/defaults/default/fr.gfd    2007-06-08 15:04:07 UTC (rev 
9694)
+++ trunk/gnue-forms/defaults/default/fr.gfd    2007-06-08 15:26:47 UTC (rev 
9695)
@@ -0,0 +1,93 @@
+<?xml version="1.0"?>
+
+<!--
+  GNU Enterprise default menu definition
+
+  Copyright 2001-2007 Free Software Foundation
+
+  This file is part of GNU Enterprise
+
+  GNU Enterprise is free software; you can redistribute it
+  and/or modify it under the terms of the GNU General Public
+  License as published by the Free Software Foundation; either
+  version 2, or (at your option) any later version.
+
+  GNU Enterprise is distributed in the hope that it will be
+  useful, but WITHOUT ANY WARRANTY; without even the implied
+  warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+  PURPOSE. See the GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public
+  License along with program; see the file COPYING. If not,
+  write to the Free Software Foundation, Inc., 59 Temple Place
+  - Suite 330, Boston, MA 02111-1307, USA.
+
+  Version française: didier Belot <address@hidden>, 2007
+
+-->
+
+<form>
+  <!-- Clipboard and selection -->
+  <action name="act__cut__" label="Co&amp;uper"    description="Couper le 
texte sélectioné" />
+  <action name="act__copy__" label="&amp;Copier"   description="Copier le 
texte sélectionné vers le presse-papier" />
+  <action name="act__paste__" label="Co&amp;ller"  description="Coller le 
contenu du presse-papier à la position courante" />
+  <action name="act__select_all__" label="Tout sélectionner"  
description="Sélectionner tout le champ" />
+
+  <!-- Focus management -->
+  <action name="act__next_block__" label="Bloc suivant"    description="Aller 
au bloc suivant" />
+  <action name="act__previous_block__" label="Bloc précédent"   
description="Aller au bloc précédent" />
+  <action name="act__next_page__" label="Page suivante"    description="Aller 
à la page suivante" />
+  <action name="act__previous_page__" label="Page précédente"  
description="Aller à la page précédente" />
+
+  <!-- Record navigation -->
+  <action name="act__first_record__" icon="firstrecord" label="Premier 
enregistrement" 
+       description="Déplacer le bloc courant vers le premier enregistrement" />
+  <action name="act__prev_record__" icon="prevrecord" label="Enregistrement 
préc."
+    description="Déplacer le bloc courant vers l'enreistrement précédent" />
+  <action name="act__next_record__" icon="nextrecord" label="Enregistrement 
suiv."
+    description="Déplacer le bloc courant vers l'enregistrement suivant" />
+  <action name="act__last_record__" icon="lastrecord" label="Dernier 
enregistrement"
+    description="Déplacer le bloc courant vers le dernier enregistrement" />
+  <action name="act__ask_record__" icon="jumpprompt" label="Aller à 
l'enregistrement"
+    description="Saisir un n° d'enregistrement et se déplacer vers cet 
enregistrement" />
+
+  <!-- Record insertion and deletion -->
+  <action name="act__new_record__" icon="newrecord" label="Nouvel 
enregistrement"
+    description="Insérer un nouvel enregistrement dans le bloc courant" />
+  <action name="act__delete_record__" icon="deleterecord" label="Supprimer 
l'enregistrement"
+    description="Marquer l'enregistrement actuel pour suppression" />
+  <action name="act__undelete_record__" label="Restaurer l'enregistrement"
+    description="Annuler la suppression de l'enregistrement" />
+
+  <!-- Filter -->
+  <action name="act__init_filter__" icon="init_filter" label="Définir un 
filtre"
+    description="Définir un nouveau critère de filtrage" />
+  <action name="act__change_filter__" label="Modifier le filtre"
+    description="Modifier le critère de filtrage" />
+  <action name="act__discard_filter__" label="Annuler les modifications du 
filtre"
+    description="Annule les modification du critère de filtrage et rétabli le 
filtrage précédent" />
+  <action name="act__apply_filter__" icon="apply_filter" label="Appliquer le 
filtre"
+    description="Applique le critère de filtrage" />
+
+  <!-- Transactions -->
+  <action name="act__commit__" icon="commit" label="Enregistrer les 
modifications"
+    description="Enregistrer tous les changements dans la base de données" />
+  <action name="act__rollback__" icon="rollback" label="Annuler les 
modifications"
+    description="Annuler les modifications et ré-initialiser le formulaire" />
+
+  <!-- Other stuff -->
+  <action name="act__show_about__" label="A propos"    description="Affiche 
les informations du formulaire" />
+  <action name="act__printout__" icon="printout" label="Imprimer le formulaire"
+    description="Imprime le contenu du formulaire" />
+  <action name="act__close__" icon="exit" label="Fermer la fenêtre"    
description="Ferme cette fenêtre" />
+
+
+  <menu name="__main_menu__" label="Menu Principal">
+    <menu name="__file__" label="&amp;Fichier" />
+    <menu name="__edit__" label="&amp;Edition" />
+    <menu name="__filter__" label="F&amp;iltre" />
+  </menu>
+  <menu name="__help_menu__">
+    <menu name="__help__" label="Aide" />
+  </menu>
+</form>

Modified: trunk/gnue-forms/po/fr.po
===================================================================
--- trunk/gnue-forms/po/fr.po   2007-06-08 15:04:07 UTC (rev 9694)
+++ trunk/gnue-forms/po/fr.po   2007-06-08 15:26:47 UTC (rev 9695)
@@ -1,23 +1,25 @@
 # French translation for GNUe Forms
 # Copyright (C) 2004 Free Software Foundation
 # Laurent Savaete <address@hidden>, 2004.
+# Didier Belot <address@hidden>, 2007.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: GNUe-Forms 0.6\n"
+"Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2007-06-04 21:28+CEST\n"
 "PO-Revision-Date: 2004-04-10 19:29+0200\n"
-"Last-Translator: Laurent Savaete <address@hidden>\n"
+"Last-Translator: Didier Belot <address@hidden>\n"
 "Language-Team: Francais <address@hidden>\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Generated-By: pygettext.py 1.5\n"
 
 #: GFClient.py:62
 msgid "GNUe Forms is the primary user interface to the GNU Enterprise system."
 msgstr ""
-"GNUe Forms est l'interface utilisateur principale pour le syst�me GNU "
+"GNUe Forms est l'interface utilisateur principale pour le système GNU "
 "Enterprise."
 
 #: GFClient.py:76
@@ -25,170 +27,161 @@
 "The name of the user interface to use to display your form. For a list of "
 "interfaces, use the --help-ui options."
 msgstr ""
-"Le nom de l'interface utilisateur � utiliser pour afficher votre formulaire. "
-"our obtenir une liste d'interfaces, utilisez l'option --hel-ui."
+"Le nom de l'interface utilisateur à utiliser pour afficher votre formulaire. "
+"Pour obtenir une liste d'interfaces, utilisez l'option --help-ui."
 
 #: GFClient.py:80
 msgid "Prints a list of user interfaces that forms supports."
-msgstr "Affiche une liste des interfaces utilisateur support�es par Forms."
+msgstr "Affiche une liste des interfaces utilisateur supportées par Forms."
 
 #: GFClient.py:83
 msgid "Disables the splash screen"
-msgstr "D�sactive l'�cran de d�marrage"
+msgstr "Désactive l'écran de démarrage"
 
 #: GFClient.py:135
 msgid "Unknown UI driver specified: %s"
-msgstr "Pilote d'UI sp�cifi� inconnu: %s"
+msgstr "Pilote d'UI spécifié inconnu : %s"
 
 #: GFClient.py:142
-#, fuzzy
 msgid "Unable to load UI driver: %s"
-msgstr "Impossible de charger un pilote d'UI valide. Abandon."
+msgstr "Impossible de charger  pilote d'UI : %s"
 
 #: GFClient.py:194 uidrivers/html/GFServer.py:81
 msgid "No Forms Definition File Specified."
-msgstr "Pas de fichier de d�finition de formulaire sp�cifi�."
+msgstr "Pas de fichier de définition de formulaire spécifié."
 
 #: GFClient.py:217
 msgid ""
 "The following interfaces are supported by GNUe Forms. You can select an\n"
 "interface via the --interface option."
 msgstr ""
-"Les interfaces suivantes sont support�es par GNUe Forms. Vous\n"
-"pouvez s�lectionner une interface avec l'option --interface."
+"Les interfaces suivantes sont supportées par GNUe Forms. Vous\n"
+"pouvez sélectionner une interface avec l'option --interface."
 
 #: GFClient.py:220
 msgid "To view general help, run this command with the --help option."
 msgstr ""
-"Pour obtenir l'aide g�n�rale, executez cette commande avec l'option --help."
+"Pour obtenir l'aide générale, executez cette commande avec l'option --help."
 
 #: GFClient.py:222
 msgid "User interface command line options:"
-msgstr "Options de la ligne de commande de l'interface utilisateur:"
+msgstr "Options de la ligne de commande de l'interface utilisateur :"
 
 #: GFForm.py:53
-#, fuzzy
 msgid "Form is read only"
 msgstr "Formulaire en lecture seule"
 
 #: GFForm.py:62 GFObjects/GFParameter.py:201
 msgid "Parameter '%(name)s' not defined in the form"
-msgstr ""
+msgstr "Paramètre '%(name)s' indéfini dans le formulaire"
 
 #: GFForm.py:1182 GFForm.py:1199
 msgid "Recordnumber"
-msgstr ""
+msgstr "Enregistrement n°"
 
 #: GFForm.py:1186
-#, fuzzy
 msgid "Jump to record"
-msgstr "Aller � l'enregistrement..."
+msgstr "Aller à l'enregistrement"
 
 #: GFForm.py:1197
 msgid "Invalid numeric value entered."
-msgstr "Valeur num�rique saisie incorrecte."
+msgstr "Valeur numérique saisie incorrecte."
 
 #: GFForm.py:1282 GFForm.py:1309
 msgid "Enter your filter criteria."
-msgstr ""
+msgstr "Entrez vos critères de tri"
 
 #: GFForm.py:1328
 msgid "Query canceled."
-msgstr ""
+msgstr "Requête annulée"
 
 #: GFForm.py:1380
 msgid "Query returned no results."
-msgstr ""
+msgstr "La requête n'a retourné aucun résultat."
 
 #: GFForm.py:1382
 msgid "Query successful."
-msgstr ""
+msgstr "Requête réussie."
 
 #: GFForm.py:1868
-#, fuzzy
 msgid "Save changes?"
-msgstr "Enregistrer les changements"
+msgstr "Enregistrer les changements ?"
 
 #: GFInstance.py:53
-#, fuzzy
 msgid "Unable to open file: %s"
-msgstr ""
-"Ouverture du fichier impossible\n"
-"\n"
-"%s"
+msgstr "Impossible d'ouvrir le fichier : %s"
 
 #: GFObjects/GFBlock.py:1639
 msgid "Datasource '%(datasource)s' in block '%(block)s' not found"
-msgstr ""
+msgstr "Datatasource '%(datasource)s' dans le bloc '%(block)s' introuvable"
 
 #: GFObjects/GFField.py:316 GFObjects/GFField.py:346 GFObjects/GFField.py:642
 msgid "(all)"
-msgstr ""
+msgstr "(tous)"
 
 #: GFObjects/GFField.py:318 GFObjects/GFField.py:344 GFObjects/GFField.py:642
 msgid "(empty)"
-msgstr ""
+msgstr "(vide)"
 
 #: GFObjects/GFField.py:734
 msgid "Field '%(name)s' has a fk_source specified, but no fk_key"
-msgstr ""
+msgstr "Le champ '%(name)s' spécifie un fk_source, mais aucun fk_key"
 
 #: GFObjects/GFField.py:744
 msgid "'length' attribute not allowed for field '%(name)s'"
-msgstr ""
+msgstr "Attribut 'Length' interdit pour le champ '%(name)s'"
 
 #: GFObjects/GFField.py:754
 msgid "'minLength' attribute not allowed for field '%(name)s'"
-msgstr ""
+msgstr "Attribut 'minlength' interdit pour le champ '%(name)s'"
 
 #: GFObjects/GFField.py:764
 msgid "Datasource '%(name)s' not found"
-msgstr ""
+msgstr "Datasource '%(name)s' introuvable"
 
 #: GFObjects/GFField.py:780
-#, fuzzy
 msgid "Invalid database value '%(value)s' for field '%(field)s'"
-msgstr "Valeur '%s' incorrecte pour le champ"
+msgstr "Valeur '%(value)s' incorrecte pour le champ '%(field)s' dans la base 
de données"
 
 #: GFObjects/GFField.py:790
 msgid ""
 "Value '%(value)s' for field '%(field)s' does not reach minimum length of %"
 "(min_length)s"
-msgstr ""
+msgstr "La valeur '%(value)s' pour le champ '%(field)s' n'atteind pas la 
longueur minimum de"
+" %(min_length)s'"
 
 #: GFObjects/GFField.py:805
-#, fuzzy
 msgid "Invalid value '%(value)s' for field '%(field)s'"
-msgstr "Valeur '%s' incorrecte pour le champ"
+msgstr "Valeur '%(value)s' incorrecte pour le champ '%(field)s'"
 
 #: GFObjects/GFLayout.py:42
 msgid "%(item)s '%(name)s' not allowed in a managed layout"
-msgstr ""
+msgstr "%(item)s '%(name)s' interdit dans une mise en page gérée"
 
 #: GFObjects/GFLayout.py:45
 msgid "%(item)s '%(name)s' uses positioning information in a managed layout"
-msgstr ""
+msgstr "%(item)s '%(name)s' utilise les informations de position dans une "
+"mise en page gérée"
 
 #: GFObjects/GFLayout.py:49
 msgid "%(item)s '%(name)s' not allowed in a positioned layout"
-msgstr ""
+msgstr "%(item)s '%(name)s' interdit dans une mise en page positionnée"
 
 #: GFObjects/GFObj.py:41
 msgid "%(item)s '%(name)s' references non-existent block '%(block)s'"
-msgstr ""
+msgstr "%(item)s '%(name)s' référence un bloc inexistant : '%(block)s'"
 
 #: GFObjects/GFObj.py:52
 msgid "%(item)s '%(name)s' references non-existent field '%(field)s'"
-msgstr ""
+msgstr "%(item)s '%(name)s' référence un champ inexistant : '%(field)s'"
 
 #: GFObjects/GFParameter.py:189
 msgid "Value %(value)r is not valid for parameter '%(name)s'"
-msgstr ""
+msgstr "La valeur %(value)r est incorrecte pour le paramètre '%(name)s'"
 
 #: GFParser.py:86
-#, fuzzy
 msgid "Form"
-msgstr "Normal"
+msgstr "Formulaire"
 
 #: GFParser.py:91
 msgid "Title"
@@ -201,12 +194,11 @@
 #: GFParser.py:103 GFParser.py:126 GFParser.py:143 GFParser.py:202
 #: GFParser.py:214 GFParser.py:298 GFParser.py:1110 GFParser.py:1188
 msgid "Name"
-msgstr ""
+msgstr "Nom"
 
 #: GFParser.py:107
-#, fuzzy
 msgid "Style"
-msgstr "Titre"
+msgstr "Style"
 
 #: GFParser.py:109 GFParser.py:323
 msgid "Normal"
@@ -218,179 +210,171 @@
 
 #: GFParser.py:119
 msgid "A menu or submenu containing menu items and/or submenus"
-msgstr ""
+msgstr "Un menu ou sous-menu contenant des éléments de menu et/ou des 
sous-menus"
 
 #: GFParser.py:123
 msgid "Menu"
-msgstr ""
+msgstr "Menu"
 
 #: GFParser.py:127 GFParser.py:144 GFParser.py:203 GFParser.py:215
 msgid "Name of this element"
-msgstr ""
+msgstr "Nom de cet élément"
 
 #: GFParser.py:132 GFParser.py:154 GFParser.py:224 GFParser.py:498
 msgid "Label"
-msgstr ""
+msgstr "Étiquette"
 
 #: GFParser.py:133
 msgid "Text to use if this is a submenu"
-msgstr ""
+msgstr "Texte à utiliser si c'est un sous-menu"
 
 #: GFParser.py:136
 msgid "A menu item that fires a trigger when selected"
-msgstr ""
+msgstr "Un élément de menu déclenchant une procédure (trigger) lors de sa 
sélection"
 
 #: GFParser.py:139
 msgid "Menu Item"
-msgstr ""
+msgstr "Élément de menu"
 
 #: GFParser.py:149 GFParser.py:220
 msgid "Icon"
-msgstr ""
+msgstr "Icône"
 
 #: GFParser.py:150
 msgid "Icon to display besides this menu item"
-msgstr ""
+msgstr "Icône affichée à côté de cet élément de menu"
 
 #: GFParser.py:155
 msgid "Text to use for this menu item"
-msgstr ""
+msgstr "Texte à utiliser pour cet élément de menu"
 
 #: GFParser.py:158 GFParser.py:228 GFParser.py:1146 GFParser.py:1234
-#, fuzzy
 msgid "Description"
-msgstr "Champ de description F/K"
+msgstr "Description"
 
 #: GFParser.py:159
 msgid "Text to display in the status bar for this menu item"
-msgstr ""
+msgstr "Texte affiché dans la barre de statut pour cet élément de menu"
 
 #: GFParser.py:164 GFParser.py:233
 msgid "Action"
-msgstr ""
+msgstr "Action"
 
 #: GFParser.py:165
 msgid "Name of the trigger to run whenever this menu item is selected"
-msgstr ""
+msgstr "Nom de la procédure (trigger) à exécuter lorsque cet élément est 
sélectionné"
 
 #: GFParser.py:171 GFParser.py:240
 msgid "Action Off"
-msgstr ""
+msgstr "Action si inactif"
 
 #: GFParser.py:172
 msgid "Name of the trigger to run whenever this menu item is switched to off"
-msgstr ""
+msgstr "Nom de la procédure à exécuter lorsque cet élément est désactivé"
 
 #: GFParser.py:178
 msgid "Hotkey"
-msgstr ""
+msgstr "Raccourci"
 
 #: GFParser.py:179
 msgid "Hotkey to assign to this menu item"
-msgstr ""
+msgstr "Raccourci clavier affecté à cet élément"
 
 #: GFParser.py:182 GFParser.py:247
-#, fuzzy
 msgid "State"
-msgstr "Titre"
+msgstr "État"
 
 #: GFParser.py:183
 msgid "Determines whether this menu item will be switched on by default"
-msgstr ""
+msgstr "Détermine si cet élément sera sélectionné par défaut"
 
 #: GFParser.py:189 GFParser.py:254
 msgid "Enabled"
-msgstr ""
+msgstr "Actif"
 
 #: GFParser.py:190
 msgid "Determines whether this menu item will be enabled by default"
-msgstr ""
+msgstr "Détermine si cet élément sera actif par défaut"
 
 #: GFParser.py:196
 msgid "A toolbar containing tool buttons"
-msgstr ""
+msgstr "Une barre d'outils contenant des boutons"
 
 #: GFParser.py:199
 msgid "Toolbar"
-msgstr ""
+msgstr "Barre d'outils"
 
 #: GFParser.py:208
 msgid "A button on a toolbar"
-msgstr ""
+msgstr "Un bouton sur une barre d'outils"
 
 #: GFParser.py:211
 msgid "Toolbar Button"
-msgstr ""
+msgstr "Bouton (de barre d'outil)"
 
 #: GFParser.py:221
 msgid "Icon to display on the button"
-msgstr ""
+msgstr "Icône affichée sur le bouton"
 
 #: GFParser.py:225
 msgid "Text to display on the button"
-msgstr ""
+msgstr "Texte affiché sur le bouton"
 
 #: GFParser.py:229
 msgid "Text to display in a tooltip window"
-msgstr ""
+msgstr "Texte affiché dans une bulle d'aide"
 
 #: GFParser.py:234
 msgid "Name of the trigger to run whenever this button is clicked"
-msgstr ""
+msgstr "Nom de la procédure (trigger) a exécuter lorsque ce bouton est cliqué"
 
 #: GFParser.py:241
 msgid "Name of the trigger to run whenever this button is switched to off"
-msgstr ""
+msgstr "Nom de la procédure à exécuter lorsque ce bouton est désactivé"
 
 #: GFParser.py:248
 msgid "Determines whether this button will be switched on by default"
-msgstr ""
+msgstr "Détermine si ce bouton sera sélectionné par défaut"
 
 #: GFParser.py:255
 msgid "Determines whether this button will be enabled by default"
-msgstr ""
+msgstr "Détermine si ce bouton sera activé par défaut"
 
 #: GFParser.py:266
-#, fuzzy
 msgid "Logic"
 msgstr "Connexion"
 
 #: GFParser.py:275
 msgid "Layout"
-msgstr ""
+msgstr "Mise en page"
 
 #: GFParser.py:281
 msgid "Tab Location"
-msgstr ""
+msgstr "Position des onglets"
 
 #: GFParser.py:283
 msgid "No tabs"
-msgstr "Pas de tabulations"
+msgstr "Pas d'onglets"
 
 #: GFParser.py:284
-#, fuzzy
 msgid "Left tabs"
-msgstr "Pas de tabulations"
+msgstr "Onglets à gauche"
 
 #: GFParser.py:285
-#, fuzzy
 msgid "Right tabs"
-msgstr "Droite"
+msgstr "Onglets à droite"
 
 #: GFParser.py:286
-#, fuzzy
 msgid "Botton tabs"
-msgstr "Pas de tabulations"
+msgstr "Onglets en bas"
 
 #: GFParser.py:287
-#, fuzzy
 msgid "Top tabs"
-msgstr "Pas de tabulations"
+msgstr "Onglets en haut"
 
 #: GFParser.py:333
-#, fuzzy
 msgid "Page"
-msgstr "C&oller"
+msgstr "Page"
 
 #: GFParser.py:356 GFParser.py:493 GFParser.py:729 GFParser.py:1034
 msgid "Row Spacing"
@@ -398,7 +382,7 @@
 
 #: GFParser.py:362
 msgid "Startup state"
-msgstr ""
+msgstr "État à l'ouverture"
 
 #: GFParser.py:363
 msgid ""
@@ -406,98 +390,95 @@
 "filled with a single empty record, 'full' means the block is populated with "
 "the result of a full query."
 msgstr ""
+"État dans lequel se trouve le bloc à l'ouverture du formulaire. 'Vide' 
signifie que le bloc "
+"est rempli avec un seul enregistrement vide, 'Complet' signifie que le bloc 
est rempli avec "
+"le résultat d'une requête complète."
 
 #: GFParser.py:370
 msgid "Empty"
-msgstr ""
+msgstr "Vide"
 
 #: GFParser.py:371
 msgid "Full"
-msgstr ""
+msgstr "Complet"
 
 #: GFParser.py:375
 msgid "Transparent Nav"
-msgstr ""
+msgstr "Navigation tranparente"
 
 #: GFParser.py:385
-#, fuzzy
 msgid "Auto Create Record"
-msgstr "Supprimer l'enregistrement courant"
+msgstr "Créer automatiquement l'enregistrement"
 
 #: GFParser.py:391
-#, fuzzy
 msgid "Auto Next Record"
-msgstr "Enregistrement suivant"
+msgstr "Passer automatiquement à l'enregistrement suivant"
 
 #: GFParser.py:399
 msgid "Auto Commit"
-msgstr ""
+msgstr "Validation automatique"
 
 #: GFParser.py:406
 msgid "Auto Clear on Commit"
-msgstr ""
+msgstr "Effacement automatique après validation"
 
 #: GFParser.py:412 GFParser.py:650 GFParser.py:947
 msgid "Allow Editing"
-msgstr ""
+msgstr "Autoriser la modification"
 
 #: GFParser.py:414 GFParser.py:652 GFParser.py:673 GFParser.py:949
 #: uidrivers/curses/UIdriver.py:218
 msgid "Yes"
-msgstr ""
+msgstr "Oui"
 
 #: GFParser.py:415 GFParser.py:653 GFParser.py:674 GFParser.py:950
 #: uidrivers/curses/UIdriver.py:219
 msgid "No"
-msgstr ""
+msgstr "Non"
 
 #: GFParser.py:416 GFParser.py:655 GFParser.py:952
-#, fuzzy
 msgid "Update Only"
-msgstr "Lecture seule"
+msgstr "Mise à jour seulement"
 
 #: GFParser.py:417 GFParser.py:656 GFParser.py:953
-#, fuzzy
 msgid "New Records Only"
-msgstr "Enregistrement suivant"
+msgstr "Nouvel enregistrement seulement"
 
 #: GFParser.py:422
 msgid "Allow Querying"
-msgstr ""
+msgstr "Autoriser les requêtes"
 
 #: GFParser.py:427
 msgid "Allow Deletes"
-msgstr ""
+msgstr "Autoriser les suppressions"
 
 #: GFParser.py:432 GFParser.py:1018
-#, fuzzy
 msgid "Navigable"
-msgstr "&Navigation"
+msgstr "Parcourable"
 
 #: GFParser.py:439
 msgid "Prevent Deletes"
-msgstr "Emp�cher les suppressions"
+msgstr "Empêcher les suppressions"
 
 #: GFParser.py:445
 msgid "Prevent Inserts"
-msgstr "Emp�cher les insertions"
+msgstr "Empêcher les insertions"
 
 #: GFParser.py:456
-#, fuzzy
 msgid "Block"
-msgstr "&Bloc suivant"
+msgstr "Bloc"
 
 #: GFParser.py:466
 msgid "The unique ID of the label."
-msgstr ""
+msgstr "L'ID unique de l'étiquette."
 
 #: GFParser.py:470
 msgid "The text to be displayed."
-msgstr ""
+msgstr "Le texte affiché"
 
 #: GFParser.py:475
 msgid "If this label is for a specific object, name it here."
-msgstr ""
+msgstr "Si cette étiquette est pour un objet spécifique, nommez-le ici."
 
 #: GFParser.py:480
 msgid "Left"
@@ -509,69 +490,64 @@
 
 #: GFParser.py:482
 msgid "Centered"
-msgstr "Centr�"
+msgstr "Centré"
 
 #: GFParser.py:513
 msgid "Field (Database)"
-msgstr "Champ (base de donn�es)"
+msgstr "Champ (base de données)"
 
 #: GFParser.py:517 GFParser.py:1194
-#, fuzzy
 msgid "Datatype"
-msgstr "Type de donn�es"
+msgstr "Type de données"
 
 #: GFParser.py:518
 msgid "The type of data stored in this field."
-msgstr ""
+msgstr "Le type de donnée stockée dans ce champ"
 
 #: GFParser.py:521 GFParser.py:1198
 msgid "Text"
 msgstr "Texte"
 
 #: GFParser.py:522 GFParser.py:1199
-#, fuzzy
 msgid "Number"
-msgstr "Num�rique"
+msgstr "Numérique"
 
 #: GFParser.py:523 GFParser.py:1200
-#, fuzzy
 msgid "Date"
-msgstr "Type de donn�es"
+msgstr "Date"
 
 #: GFParser.py:524 GFParser.py:1201
-#, fuzzy
 msgid "Time"
-msgstr "Titre"
+msgstr "Heure"
 
 #: GFParser.py:525 GFParser.py:1202
-#, fuzzy
 msgid "Date and time"
 msgstr "Date/Heure"
 
 #: GFParser.py:526 GFParser.py:1203
 msgid "Boolean"
-msgstr ""
+msgstr "Booléen"
 
 #: GFParser.py:527 GFParser.py:1204
 msgid "Raw data"
-msgstr ""
+msgstr "Données brutes"
 
 #: GFParser.py:530 GFParser.py:1207
-#, fuzzy
 msgid "Length"
-msgstr "Gauche"
+msgstr "Longueur"
 
 #: GFParser.py:531
 msgid ""
 "Maximum length of data stored in this field. Applies only to fields with a "
 "datatype of 'string' or 'number'. For numbers, this is the total number of "
 "digits, including the fractional digits."
-msgstr ""
+msgstr "Longueur maximum des données stockées dans ce champs. S'applique 
uniquement aux champs de type "
+"'chaîne' ou 'numérique'. Pour les nombres, c'est le nombre total de chiffres, 
"
+"y-compris la partie fractionnaire."
 
 #: GFParser.py:538 GFParser.py:1215
-#, fuzzy
 msgid "Scale"
-msgstr "Titre"
+msgstr "Échelle"
 
 #: GFParser.py:539
 msgid ""
@@ -580,47 +556,47 @@
 msgstr ""
 
 #: GFParser.py:544
-#, fuzzy
 msgid "Case"
-msgstr "Fermer"
+msgstr "Casse"
 
 #: GFParser.py:545
 msgid ""
 "Convert the value to uppercase/lowercase or leave it as it is. Applies only "
 "to fields with a datatype of 'string'."
-msgstr ""
+msgstr "Convertir la valeur en majuscule/minuscule ou laisser tel quel. 
S'applique "
+"seulement aux champs de type 'chaîne'."
 
 #: GFParser.py:551
 msgid "Mixed case"
-msgstr ""
+msgstr "Telle quelle"
 
 #: GFParser.py:552
 msgid "Upper case"
-msgstr ""
+msgstr "Majuscules"
 
 #: GFParser.py:553
 msgid "Lower case"
-msgstr ""
+msgstr "Minuscules"
 
 #: GFParser.py:556 GFParser.py:1221
 msgid "Required"
-msgstr ""
+msgstr "Requis"
 
 #: GFParser.py:557
 msgid "If set, empty values can not be stored in this field."
-msgstr ""
+msgstr "Si oui, des valeurs vides ne peuvent pas être stockées dans ce champ."
 
 #: GFParser.py:566
 msgid "Min Text Length"
-msgstr ""
+msgstr "Longueur de texte minimum"
 
 #: GFParser.py:590
 msgid "F/K Datasource"
-msgstr "Source de donn�es F/K"
+msgstr "Source de données F/K"
 
 #: GFParser.py:594
 msgid "F/K Bound Field"
-msgstr "Champ li� F/K"
+msgstr "Champ lié F/K"
 
 #: GFParser.py:600
 msgid "F/K Description Field"
@@ -628,40 +604,35 @@
 
 #: GFParser.py:610
 msgid "F/K Refresh Method"
-msgstr "M�thode de rafraichissment F/K"
+msgstr "Méthode de rafraichissment F/K"
 
 #: GFParser.py:612
-#, fuzzy
 msgid "On form startup"
-msgstr "Mettre � jour seulement au lancement"
+msgstr "À l'ouverture du formulaire"
 
 #: GFParser.py:613
-#, fuzzy
 msgid "On field modification"
-msgstr "Mettre � jour sur modification du champ"
+msgstr "Après modification du champ"
 
 #: GFParser.py:614
 msgid "On commit"
-msgstr ""
+msgstr "Après validation"
 
 #: GFParser.py:620
-#, fuzzy
 msgid "Default (New Records)"
-msgstr "D�faut (Nouveau champ)"
+msgstr "Défaut (Nouveaux enregistrements)"
 
 #: GFParser.py:627
-#, fuzzy
 msgid "Default to last entry"
-msgstr "Derni�re valeur par d�faut ?"
+msgstr "Dernière valeur par défaut ?"
 
 #: GFParser.py:635
-#, fuzzy
 msgid "Default (Querying)"
-msgstr "D�faut (Requ�te)"
+msgstr "Défaut (Requête)"
 
 #: GFParser.py:642
 msgid "Perform queries case-sensitive"
-msgstr ""
+msgstr "Effectuer des requêtes sensibles à la casse"
 
 #: GFParser.py:654 GFParser.py:951
 msgid "Null Only"
@@ -669,64 +640,63 @@
 
 #: GFParser.py:661
 msgid "Allow Query"
-msgstr ""
+msgstr "Autoriser requête"
 
 #: GFParser.py:671
 msgid "Automatic Query"
-msgstr ""
+msgstr "Requête automatique"
 
 #: GFParser.py:675
 msgid "Empty forms only"
-msgstr ""
+msgstr "Seulement les formulaires vides"
 
 #: GFParser.py:679
 msgid "Trim left spaces"
-msgstr "Enlever les espaces � gauche"
+msgstr "Enlever les espaces à gauche"
 
 #: GFParser.py:685
 msgid "Trim right spaces"
-msgstr "Enlever les espaces � droite"
+msgstr "Enlever les espaces à droite"
 
 #: GFParser.py:691
-#, fuzzy
 msgid "Field"
-msgstr "&Fichier"
+msgstr "Champ"
 
 #: GFParser.py:720
 msgid "Focus Order"
-msgstr ""
+msgstr "Ordre de focus"
 
 #: GFParser.py:745
 msgid "Automatic"
-msgstr ""
+msgstr "Automatique"
 
 #: GFParser.py:746
 msgid "Default"
-msgstr "D�faut"
+msgstr "Défaut"
 
 #: GFParser.py:747
 msgid "Password/Hidden"
-msgstr "Mot de passe/Cach�"
+msgstr "Mot de passe/Caché"
 
 #: GFParser.py:748
 msgid "Dropdown/Combo box"
-msgstr "Menu d�roulant"
+msgstr "Menu déroulant"
 
 #: GFParser.py:749
 msgid "Listbox"
-msgstr ""
+msgstr "Liste"
 
 #: GFParser.py:750
 msgid "Checkbox"
-msgstr "Case � cocher"
+msgstr "Case à cocher"
 
 #: GFParser.py:751
 msgid "Multiline-Edit"
-msgstr ""
+msgstr "Zone de texte sur plusieurs ignes"
 
 #: GFParser.py:752
 msgid "Label (non-editable)"
-msgstr "Etiquette (non �ditable)"
+msgstr "Étiquette (non éditable)"
 
 #: GFParser.py:763
 msgid "Format Mask"
@@ -741,51 +711,51 @@
 msgstr "Masque d'affichage"
 
 #: GFParser.py:777
-#, fuzzy
 msgid "Entry"
-msgstr "E&ntr�e suivante"
+msgstr "Entrée"
 
 #: GFParser.py:800
 msgid "Scrollbar"
-msgstr ""
+msgstr "Barre de défilement"
 
 #: GFParser.py:823
 msgid "Box (Vertical)"
-msgstr ""
+msgstr "Boîte (verticale)"
 
 #: GFParser.py:846
 msgid "Box (Horizontal)"
-msgstr ""
+msgstr "Boîte (horizontale)"
 
 #: GFParser.py:867
 msgid "Box"
-msgstr ""
+msgstr "Boîte"
 
 #: GFParser.py:868
 msgid ""
 "A box is a visual element that draws a box around other visual elements, "
 "thus providing logical separation for them."
-msgstr ""
+msgstr "Une boîte est un élément visuel entourant d'autres éléments visuel, "
+"leur assurant ainsi une séparation logique."
 
 #: GFParser.py:884
 msgid "Overrides the rows setting defined at the block level."
-msgstr ""
+msgstr "Remplace le réglage des lignes défini au niveau du bloc."
 
 #: GFParser.py:890
 msgid "Grid"
-msgstr ""
+msgstr "Grille"
 
 #: GFParser.py:891
 msgid "A grid is a layout container grouping fields into repeating rows."
-msgstr ""
+msgstr "Une grille est un conteneur groupant les champs en lignes successives."
 
 #: GFParser.py:902
 msgid "Grid Row"
-msgstr ""
+msgstr "Ligne de grille"
 
 #: GFParser.py:903
 msgid "Contains all elements of a single line in a grid"
-msgstr ""
+msgstr "Contient tous les éléments d'une ligne dans une grille"
 
 #: GFParser.py:925
 msgid "Field contains the URL of the image"
@@ -797,27 +767,27 @@
 
 #: GFParser.py:934
 msgid "Full-size image (no scaling)"
-msgstr ""
+msgstr "Image sans mise à l'échelle"
 
 #: GFParser.py:935
 msgid "Scale to width"
-msgstr ""
+msgstr "Redimensionner à la largeur"
 
 #: GFParser.py:936
 msgid "Scale to height"
-msgstr ""
+msgstr "Redimensionner à la hauteur"
 
 #: GFParser.py:937
 msgid "Scale width and height (may distort image)"
-msgstr ""
+msgstr "Redimensionner largeur et hauteur (peut déformer l'image)"
 
 #: GFParser.py:938
 msgid "Use a best-fit algorithm"
-msgstr ""
+msgstr "Utiliser un algorithme 'best-fit'"
 
 #: GFParser.py:966
 msgid "Image"
-msgstr ""
+msgstr "Image"
 
 #: GFParser.py:993
 msgid "Field contains the URL of the component"
@@ -826,56 +796,56 @@
 #: GFParser.py:994
 #, fuzzy
 msgid "Field contains the data of the component in Base64 encoding"
-msgstr "Le champ contient l'URL du composant"
+msgstr "Le champ contient les données du composant (encodé en Base64)"
 
 #: GFParser.py:1004
 msgid "Embedded Component"
-msgstr ""
+msgstr "Composant inclut"
 
 #: GFParser.py:1049
 msgid "Button"
-msgstr ""
+msgstr "Bouton"
 
 #: GFParser.py:1058
 msgid "Options"
-msgstr ""
+msgstr "Options"
 
 #: GFParser.py:1073
 msgid "Option"
-msgstr ""
+msgstr "Option"
 
 #: GFParser.py:1092
-#, fuzzy
 msgid "Form Title"
-msgstr "Titre"
+msgstr "Titre du formulaire"
 
 #: GFParser.py:1128
 msgid "Form Author"
-msgstr ""
+msgstr "Auteur du formulaire"
 
 #: GFParser.py:1164
-#, fuzzy
 msgid "Version"
-msgstr "Version %s"
+msgstr "Version"
 
 #: GFParser.py:1182
 msgid "Tip"
-msgstr ""
+msgstr "Astuce"
 
 #: GFParser.py:1189
 msgid "Unique name of the parameter."
-msgstr ""
+msgstr "Nom unique du paramètre."
 
 #: GFParser.py:1195
 msgid "The type of data for this parameter."
-msgstr ""
+msgstr "Le type de données pour ce paramètre."
 
 #: GFParser.py:1208
 msgid ""
 "Maximum length of data stored in this parameter. Applies only to parameters "
 "with a datatype of 'string' or 'number'. For numbers, this is the total "
 "number of digits, including the fractional digits."
-msgstr ""
+msgstr "Longueur maximum des données stockées dans ce paramètre. S'applique "
+"uniquement aux paramètres de type 'chaîne' ou 'numérique'. Pour les nombres, "
+"c'est le nombre total de chiffres, y-compris la partie fractionnaire."
 
 #: GFParser.py:1216
 msgid ""
@@ -888,199 +858,196 @@
 msgstr ""
 
 #: GFParser.py:1228
-#, fuzzy
 msgid "Default value"
-msgstr "D�faut"
+msgstr "Valeur par défaut"
 
 #: GFParser.py:1229
 msgid ""
 "Default value for the parameter, if the user does not provide a value for it."
 msgstr ""
+"Valeur par défaut pour le paramètre, si l'utilisateur n'en fournit pas."
 
 #: GFParser.py:1235
 msgid "Description of the parameter for the help text."
-msgstr ""
+msgstr "Description du paramètre pour le texte d'aide."
 
 #: GFParser.py:1242
 msgid "Parameter"
-msgstr ""
+msgstr "Paramètre"
 
 #: GFParser.py:1281
 msgid "M/D Min Child Rows"
-msgstr ""
+msgstr "Nombre de lignes enfant mini (M/D)"
 
 #: GFParser.py:1292
 msgid "M/D Max Child Rows"
-msgstr ""
+msgstr "Nombre de lignes enfant maxi (M/D)"
 
 #: GFParser.py:1325
 msgid "Text Field"
-msgstr ""
+msgstr "Champ texte"
 
 #: GFParser.py:1326
 msgid "List Box"
-msgstr ""
+msgstr "Boîte liste"
 
 #: GFParser.py:1327
-#, fuzzy
 msgid "Drop Down Box"
-msgstr "Menu d�roulant"
+msgstr "Menu déroulant"
 
 #: GFParser.py:1328
 msgid "Label-like Field"
-msgstr ""
+msgstr "Champ étiquette"
 
 #: GFParser.py:1329
-#, fuzzy
 msgid "Check Box"
-msgstr "Case � cocher"
+msgstr "Case à cocher"
 
 #: input/GFKeyMapper.py:136
-#, fuzzy
 msgid "Invalid keystroke id '%(key)s' in keymap for '%(event)s'"
-msgstr "Touche incorrecte '%s' dans le mappage clavier pour '%s'"
+msgstr "Ide de touche incorrect '%(key)s' dans le mappage clavier pour 
'%(event)s'"
 
 #: input/GFKeyMapper.py:141
-#, fuzzy
 msgid "Invalid keystroke combination '%(comb)s' in keymap for '%(event)s'"
-msgstr "Combinaison clavier incorrecte '%s' dans le mappage clavier pour '%s'"
+msgstr "Combinaison clavier incorrecte '%(comb)s' dans le mappage clavier pour 
'%(event)s'"
 
 #: input/displayHandlers/Cursor.py:290
 msgid "This field can not be changed"
-msgstr ""
+msgstr "Ce champ ne peut être modifié"
 
 #: input/displayHandlers/Cursor.py:303
 msgid "This field allows numeric input only"
-msgstr ""
+msgstr "Ce champ n'autorise que les valeurs numériques"
 
 #: input/displayHandlers/Cursor.py:313
 msgid "Maximum input length reached"
-msgstr ""
+msgstr "Longueur de saisie maximum atteinte"
 
 #: input/displayHandlers/Image.py:40
 msgid "Form contains a <image> but python image support not installed"
-msgstr ""
+msgstr "Le formulaire contient une <image> mais le support image de python "
+"n'est pas installé"
 
 #: input/displayHandlers/datehandler.py:42
 msgid "'%(value)s' is not a valid date-literal"
-msgstr ""
+msgstr "'%(value)s' n'est pas une entrée correcte pour 'date-literal'"
 
 #: input/displayHandlers/datehandler.py:47
 msgid "'%(value)s' is not a valid time-literal"
-msgstr ""
+msgstr "'%(value)s' n'est pas une entrée correcte pour 'time-literal'"
 
 #: input/displayHandlers/datehandler.py:129
 #: input/displayHandlers/datehandler.py:130
 msgid "H"
-msgstr ""
+msgstr "H"
 
 #: input/displayHandlers/datehandler.py:131
 #: input/displayHandlers/datehandler.py:134
 #: input/displayHandlers/datehandler.py:135
 msgid "M"
-msgstr ""
+msgstr "M"
 
 #: input/displayHandlers/datehandler.py:132
 msgid "S"
-msgstr ""
+msgstr "S"
 
 #: input/displayHandlers/datehandler.py:133
 msgid "D"
-msgstr ""
+msgstr "J"
 
 #: input/displayHandlers/datehandler.py:136
 #: input/displayHandlers/datehandler.py:137
 msgid "Y"
-msgstr ""
+msgstr "A"
 
 #: uidrivers/_base/UIdriver.py:41
 msgid "The UI-Driver %(name)s has no implementation of %(method)s"
-msgstr ""
+msgstr "Le pilote d'UI %(name)s n'a pas d'implémentation de %(method)s"
 
 #: uidrivers/_base/widgets/_base.py:45
 msgid "Widget %(cur_type)s '%(cur_name)s' overlaps %(cmp_type)s '%(cmp_name)s'"
-msgstr ""
+msgstr "Le widget %(cur_type)s '%(cur_name)s' chevauche %(cmp_type)s 
'%(cmp_name)s'"
 
 #: uidrivers/_base/widgets/_base.py:57
 msgid "Widget %(type)s '%(name)s' has an invalid width or height"
-msgstr ""
+msgstr "Le widget %(type)s '%(name)s' a une largeur ou hauteur incorrecte"
 
 #: uidrivers/curses/UIdriver.py:220 uidrivers/qt3/dialogs.py:192
 #: uidrivers/qt3/dialogs.py:436 uidrivers/qt4/dialogs.py:196
 #: uidrivers/qt4/dialogs.py:441 uidrivers/win32/dialog.py:62
 msgid "Ok"
-msgstr ""
+msgstr "Ok"
 
 #: uidrivers/curses/widgets/entry.py:740
 msgid "Select option"
-msgstr ""
+msgstr "Sélectionnez une option "
 
 #: uidrivers/curses/widgets/form.py:140
 msgid "processing..."
-msgstr ""
+msgstr "traitement en cours..."
 
 #: uidrivers/curses/widgets/form.py:218
-#, fuzzy
 msgid "Filename"
-msgstr "&Fichier"
+msgstr "Fichier"
 
 #: uidrivers/curses/widgets/form.py:221
 msgid "File '%s' already exists. Overwrite"
-msgstr ""
+msgstr "Le fichier '%s' existe déjà. Remplacer"
 
 #: uidrivers/curses/widgets/form.py:222
 msgid "n"
-msgstr ""
+msgstr "n"
 
 #: uidrivers/curses/widgets/form.py:222 uidrivers/curses/widgets/form.py:223
 msgid "y"
-msgstr ""
+msgstr "o"
 
 #: uidrivers/curses/widgets/form.py:229
 msgid "File '%s' does not exist."
-msgstr ""
+msgstr "Le fichier '%s' n'existe pas."
 
 #: uidrivers/curses/widgets/form.py:258
 msgid "Directory"
-msgstr ""
+msgstr "Répertoire"
 
 #: uidrivers/curses/widgets/form.py:495
 msgid "Hit <Return> to continue."
-msgstr ""
+msgstr "Appuyez sur <Entrée> pour continuer."
 
 #: uidrivers/curses/widgets/page.py:224
 msgid "Not enough space available to display the page."
-msgstr ""
+msgstr "Pas assez d'espace disponible pour afficher le formulaire."
 
 #: uidrivers/gtk2/UIdriver.py:43
 msgid "Import error: You need pygtk 2.4 to use the gtk2 user interface driver."
-msgstr ""
+msgstr "Erreur d'import : vous avez besoin de pygtk 2.4 pour utiliser le 
pilote "
+"d'interface gtk2."
 
 #: uidrivers/gtk2/UIdriver.py:45
 msgid "You are actually using gtk %s and pygtk %s"
-msgstr ""
+msgstr "Vous utilisez gtk %s et pygtk %s"
 
 #: uidrivers/gtk2/UIdriver.py:53
 msgid "The GNUe-Forms GTK driver requires PyGTK and GTK 2.x."
-msgstr "Le pilote GTK pour GNUe Forms n�cessite PyGTK et GTK 2.x."
+msgstr "Le pilote GTK pour GNUe Forms nécessite PyGTK et GTK 2.x."
 
 #: uidrivers/gtk2/UIdriver.py:232 uidrivers/qt3/dialogs.py:43
 #: uidrivers/qt4/dialogs.py:43 uidrivers/win32/dialogs.py:493
 #: uidrivers/wx26/dialogs.py:429
 msgid "GNUe Internal System Error"
-msgstr ""
+msgstr "Erreur interne au système GNUe"
 
 #: uidrivers/gtk2/UIdriver.py:233 uidrivers/qt3/dialogs.py:44
 #: uidrivers/qt4/dialogs.py:44 uidrivers/win32/dialogs.py:494
 #: uidrivers/wx26/dialogs.py:430
 msgid "GNUe Unexpected Error"
-msgstr ""
+msgstr "Erreur inattendue de GNUe"
 
 #: uidrivers/gtk2/UIdriver.py:234 uidrivers/qt3/dialogs.py:45
 #: uidrivers/qt4/dialogs.py:45 uidrivers/win32/dialogs.py:495
 #: uidrivers/wx26/dialogs.py:431
 msgid "GNUe Application Error"
-msgstr ""
+msgstr "Erreur d'application GNUe"
 
 #: uidrivers/gtk2/UIdriver.py:237 uidrivers/qt3/dialogs.py:48
 #: uidrivers/qt4/dialogs.py:48 uidrivers/wx26/dialogs.py:434
@@ -1089,7 +1056,10 @@
 "%s.\n"
 "This means you have found a bug in GNU Enterprise. Please report it to gnue-"
 "address@hidden"
-msgstr ""
+msgstr "Une erreur interne inattendue est arrivée :\n"
+"%s.\n"
+"Vous venez de découvrir un bug dans GNU enterprise. Merci d'en faire part à "
+"address@hidden"
 
 #: uidrivers/gtk2/UIdriver.py:240 uidrivers/gtk2/UIdriver.py:242
 #: uidrivers/qt3/dialogs.py:51 uidrivers/qt3/dialogs.py:53
@@ -1099,96 +1069,96 @@
 "An unexpected error has occured:\n"
 "%s.\n"
 "Please contact your system administrator."
-msgstr ""
+msgstr "Une erreur inattendue est arrivée :\n"
+"%s.\n"
+"Merci de contacter votre administrateur système."
 
 #: uidrivers/gtk2/UIdriver.py:251 uidrivers/qt3/widgets/form.py:59
 #: uidrivers/qt4/widgets/form.py:61 uidrivers/win32/dialogs.py:512
 #: uidrivers/win32/widgets/form/widget.py:59 uidrivers/wx26/dialogs.py:449
 #: uidrivers/wx26/widgets/form.py:49
-#, fuzzy
 msgid "Error"
-msgstr "Erreur: %s"
+msgstr "Erreur"
 
 #: uidrivers/gtk2/UIdriver.py:256 uidrivers/qt3/dialogs.py:97
 #: uidrivers/qt3/dialogs.py:115 uidrivers/qt4/dialogs.py:99
 #: uidrivers/qt4/dialogs.py:117
 msgid ">> Detail"
-msgstr ""
+msgstr ">> Détails"
 
 #: uidrivers/gtk2/UIdriver.py:313 uidrivers/win32/dialogs.py:534
 #: uidrivers/win32/dialogs.py:574
 msgid ">> Details"
-msgstr ""
+msgstr ">> Détails"
 
 #: uidrivers/gtk2/UIdriver.py:317 uidrivers/win32/dialogs.py:569
 msgid "<< Details"
-msgstr ""
+msgstr "<< Détails"
 
 #: uidrivers/gtk2/dialogs.py:40 uidrivers/win32/dialogs.py:50
 msgid "%s is not a valid type for an input field"
-msgstr ""
+msgstr "%s n'est pas un type correct pour un champ d'entrée"
 
 #: uidrivers/gtk2/dialogs.py:66 uidrivers/qt3/dialogs.py:149
 #: uidrivers/qt4/dialogs.py:151 uidrivers/win32/dialogs.py:360
 #: uidrivers/wx26/dialogs.py:55
-#, fuzzy
 msgid "About %s"
-msgstr "A propos..."
+msgstr "A propos de %s"
 
 #: uidrivers/gtk2/dialogs.py:81 uidrivers/gtk2/dialogs.py:100
 #: uidrivers/win32/dialogs.py:369 uidrivers/win32/dialogs.py:378
-#, fuzzy
 msgid "Version:"
-msgstr "Version %s"
+msgstr "Version :"
 
 #: uidrivers/gtk2/dialogs.py:82 uidrivers/win32/dialogs.py:370
 msgid "Driver:"
-msgstr ""
+msgstr "Pilote :"
 
 #: uidrivers/gtk2/dialogs.py:91
 msgid " Form Information "
-msgstr ""
+msgstr "Information sur le formulaire"
 
 #: uidrivers/gtk2/dialogs.py:99 uidrivers/win32/dialogs.py:377
 msgid "Name:"
-msgstr ""
+msgstr "Nom :"
 
 #: uidrivers/gtk2/dialogs.py:101 uidrivers/win32/dialogs.py:379
 msgid "Author:"
-msgstr ""
+msgstr "Auteur :"
 
 #: uidrivers/gtk2/dialogs.py:102 uidrivers/win32/dialogs.py:380
-#, fuzzy
 msgid "Description:"
-msgstr "Champ de description F/K"
+msgstr "Description :"
 
 #: uidrivers/html/UIdriver.py:99
 msgid ""
 "The following error occured in GNU Enterprise:\n"
 "%s"
 msgstr ""
+"L'erreur suivante s'est produite dans GNU enterprise :\n"
+"%s"
 
 #: uidrivers/html/UIdriver.py:110
 #, fuzzy
 msgid "Title: %s"
-msgstr "Titre"
+msgstr "Titre : %s"
 
 #: uidrivers/html/UIdriver.py:111
 #, fuzzy
 msgid "Group: %s"
-msgstr "Erreur: %s"
+msgstr "Groupe : %s"
 
 #: uidrivers/html/UIdriver.py:112
 msgid "Name: %s"
-msgstr ""
+msgstr "Nom : %s"
 
 #: uidrivers/html/UIdriver.py:113
 msgid "Message: %s"
-msgstr ""
+msgstr "Message : %s"
 
 #: uidrivers/html/UIdriver.py:114
 msgid "Detail: %s "
-msgstr ""
+msgstr "Détails : %s"
 
 #: uidrivers/html/widgets/form.py:188
 msgid ""
@@ -1198,14 +1168,19 @@
 "Author: %s\n"
 "Description: %s"
 msgstr ""
+"GNUe Forms :\n"
+"Nom : %s\n"
+"Version : %s\n"
+"Auteur : %s\n"
+"Description : %s"
 
 #: uidrivers/html/widgets/form.py:197
 msgid "Printout currently not supported"
-msgstr ""
+msgstr "L'impression n'est pas encore supportée."
 
 #: uidrivers/qt3/UIdriver.py:37
 msgid "The GNUe-Forms QT3 driver requires PyQT."
-msgstr "Le pilote QT3 pour GNUe Forms n�cessite PyQT."
+msgstr "Le pilote QT3 pour GNUe-Forms nécessite PyQT."
 
 #: uidrivers/qt3/dialogs.py:92 uidrivers/qt4/dialogs.py:94
 #: uidrivers/win32/dialogs.py:530
@@ -1214,13 +1189,13 @@
 
 #: uidrivers/qt3/dialogs.py:113 uidrivers/qt4/dialogs.py:115
 msgid "<< Detail"
-msgstr ""
+msgstr "<< Détail"
 
 #: uidrivers/qt3/dialogs.py:164 uidrivers/qt4/dialogs.py:166
 #: uidrivers/wx26/UISplashScreen.py:54 uidrivers/wx26/dialogs.py:82
 #, fuzzy
 msgid "Version: %s"
-msgstr "Version %s"
+msgstr "Version : %s"
 
 #: uidrivers/qt3/dialogs.py:430 uidrivers/qt4/dialogs.py:435
 #: uidrivers/win32/dialog.py:66
@@ -1230,50 +1205,49 @@
 #: uidrivers/qt3/widgets/form.py:49 uidrivers/qt4/widgets/form.py:51
 #: uidrivers/wx26/widgets/form.py:40
 msgid "Information"
-msgstr ""
+msgstr "Information"
 
 #: uidrivers/qt3/widgets/form.py:52 uidrivers/qt4/widgets/form.py:54
 #: uidrivers/win32/widgets/form/widget.py:53 uidrivers/wx26/widgets/form.py:43
 #, fuzzy
 msgid "Warning"
-msgstr "Impression en cours"
+msgstr "Avertissement"
 
 #: uidrivers/qt3/widgets/form.py:55 uidrivers/qt4/widgets/form.py:57
 #: uidrivers/win32/widgets/form/widget.py:56 uidrivers/wx26/widgets/form.py:46
 msgid "Question"
-msgstr ""
+msgstr "Question"
 
 #: uidrivers/qt3/widgets/form.py:364
 msgid "The file '%(file)s' already exists. Overwrite it?"
-msgstr ""
+msgstr "Le fichier '%(file)s existe déjà. Le remplacer ?"
 
 #: uidrivers/qt3/widgets/form.py:366
 msgid "File already exists"
-msgstr ""
+msgstr "Le fichier existe déjà"
 
 #: uidrivers/qt3/widgets/image.py:43 uidrivers/qt4/widgets/image.py:43
 #: uidrivers/wx26/widgets/image.py:42
 msgid "Image '%(name)s' is missing one of Sizer:width or Sizer:height"
-msgstr ""
+msgstr "L'image '%(name)s' requiert soit Sizer:width, soit Sizer:height"
 
 #: uidrivers/qt4/UIdriver.py:37
 #, fuzzy
 msgid "The GNUe-Forms qt4 driver requires PyQT 4.1+"
-msgstr "Le pilote QT3 pour GNUe Forms n�cessite PyQT."
+msgstr "Le pilote qt4 pour GNUe-Forms nécessite PyQT 4.1+"
 
 #: uidrivers/win32/UIdriver.py:33
 msgid "The GNUe-Forms Win32 driver requires PyWin32."
-msgstr "Le pilote Win32 pour GNUe Forms n�cessite PyWin32."
+msgstr "Le pilote Win32 pour GNUe-Forms nécessite PyWin32."
 
 #: uidrivers/win32/dialogs.py:368
 #, fuzzy
 msgid "GNUe Forms"
-msgstr "GNU Enterprise Forms"
+msgstr "GNUe Forms"
 
 #: uidrivers/win32/dialogs.py:376
-#, fuzzy
 msgid "Form Information"
-msgstr "Navigation dans les formulaire"
+msgstr "Information formulaire"
 
 #: uidrivers/win32/dialogs.py:498
 msgid ""
@@ -1282,6 +1256,10 @@
 "This means you have found a bug in GNU Enterprise. Please report it to gnue-"
 "address@hidden"
 msgstr ""
+"Une erreur inattendue s'est produite :\n"
+"%s.\r\n"
+"Vous venez de découvrir un bug dans GNU enterprise. Merci d'en faire part à "
+"address@hidden"
 
 #: uidrivers/win32/dialogs.py:501 uidrivers/win32/dialogs.py:503
 msgid ""
@@ -1289,518 +1267,25 @@
 "%s.\r\n"
 "Please contact your system administrator."
 msgstr ""
+"Une erreur inattendue est arrivée :\r\n"
+"%s.\r\n"
+"Veuillez contacter votre administrateur système."
 
 #: uidrivers/win32/widgets/form/widget.py:50
 msgid "Info"
-msgstr ""
+msgstr "Info"
 
 #: uidrivers/win32/widgets/form/widget.py:291
 #: uidrivers/wx26/widgets/form.py:471
 msgid "All files"
-msgstr ""
+msgstr "Tous les fichiers"
 
 #: uidrivers/wx26/UIdriver.py:45
 #, fuzzy
 msgid "This GNUe-Forms UI Driver requires at least wx %s."
-msgstr "Le pilote GTK pour GNUe Forms n�cessite PyGTK et GTK 2.x."
+msgstr "Ce pilote pour GNUe-Forms nécessite au minimum wx %s."
 
 #: uidrivers/wx26/widgets/form.py:683
 msgid "Login: "
-msgstr "Login: "
+msgstr "Identifiant : "
 
-#~ msgid "Printing"
-#~ msgstr "Impression en cours"
-
-#~ msgid ""
-#~ "There was a problem printing.\n"
-#~ "Please verify your printer setup and try again."
-#~ msgstr ""
-#~ "Probl�me lors de l'impression.\n"
-#~ "V�rifiez votre configuration d'imprimante et r�essayez."
-
-#~ msgid "Page 1 of 1"
-#~ msgstr "Page 1 de 1"
-
-#~ msgid "GNU Enterprise Forms"
-#~ msgstr "GNU Enterprise Forms"
-
-#~ msgid "Version %s"
-#~ msgstr "Version %s"
-
-#~ msgid "Protected by GNU General Public Licence 2.0"
-#~ msgstr "Prot�g� par la GNU General Public Licence 2.0"
-
-#~ msgid "The GNUe-Forms wx driver requires wxPython."
-#~ msgstr "Le pilote wx pour GNUe Forms n�cessite wxPython."
-
-#~ msgid "Encoding %s is not supported by the wx UI driver"
-#~ msgstr "l'encodage %s n'est pas support� par le pilote wx UI."
-
-#~ msgid "Save all changes to the database."
-#~ msgstr "Sauvegarder tous les changements dans la base de donn�es."
-
-#~ msgid "Clear form."
-#~ msgstr "Effacer le formulaire."
-
-#~ msgid "Clear form and revert back to your original data."
-#~ msgstr "Effacer le formulaire et revenir aux donn�es originales."
-
-#~ msgid "Perform print routine for this form."
-#~ msgstr "Executer la routine d'impression pour ce formulaire."
-
-#~ msgid "Leave the application."
-#~ msgstr "Quitter l'application."
-
-#~ msgid "Cut the selected text"
-#~ msgstr "Couper le texte s�lectionn�"
-
-#~ msgid "Copy the selected text"
-#~ msgstr "Copier le texte s�lectionn�"
-
-#~ msgid "Copy the current record to the clipboard."
-#~ msgstr "Copier l'enregistrement courant vers le presse papier."
-
-#~ msgid ""
-#~ "Copy the current record to the clipboard. The record is copied with tabs "
-#~ "separating values."
-#~ msgstr ""
-#~ "Copier l'enregistrement courant vers le presse papier. Les valeurs sont "
-#~ "s�par�es par des tabulations."
-
-#~ msgid "Copy the current screen to the clipboard as plain text."
-#~ msgstr "Copier l'�cran courant vers le presse papier comme texte seul."
-
-#~ msgid "Paste text into the current field."
-#~ msgstr "Coller le texte dans le champ courant."
-
-#~ msgid "Select all text."
-#~ msgstr "S�lectionner tout le texte."
-
-#~ msgid "Move to the previous logical field."
-#~ msgstr "Aller au champ logique pr�c�dent."
-
-#~ msgid "Move to the next logical field."
-#~ msgstr "Aller au champ logique suivant."
-
-#~ msgid "Jump to the first record in the current block."
-#~ msgstr "Aller au premier enregistrement dans le bloc courant."
-
-#~ msgid "Jump to the previous record in the current block."
-#~ msgstr "Aller � l'enregistrement pr�c�dent dans le bloc courant."
-
-#~ msgid "Jump to the next record in the current block."
-#~ msgstr "Aller � l'enregistrement suivant dans le bloc courant."
-
-#~ msgid "Jump to the last record in the current block."
-#~ msgstr "Aller au dernier enregistrement dans le bloc courant."
-
-#~ msgid "Prompts for a record number to which the system should jump."
-#~ msgstr "Atteindre l'enregistrement num�ro..."
-
-#~ msgid "Insert a new record into the current block."
-#~ msgstr "Ins�rer un enregistrement dans le bloc courant."
-
-#~ msgid "Mark record for removal at next commit."
-#~ msgstr ""
-#~ "Marquer l'enregistrement pour suppression � la prochaine validation."
-
-#, fuzzy
-#~ msgid "Unmark record for removal at next commit."
-#~ msgstr ""
-#~ "Marquer l'enregistrement pour suppression � la prochaine validation."
-
-#~ msgid "Navigate to the next data block."
-#~ msgstr "Aller au bloc de donn�es suivant."
-
-#~ msgid "Navigate to the previous data block."
-#~ msgstr "Aller au bloc de donn�es pr�c�dent."
-
-#~ msgid "Navigate to the next page."
-#~ msgstr "Aller � la page suivante."
-
-#~ msgid "Navigate to the previous page."
-#~ msgstr "Aller � la page pr�c�dente."
-
-#~ msgid ""
-#~ "Switch to query mode. Select Execute Query once your criteria has been "
-#~ "entered."
-#~ msgstr ""
-#~ "Passer en mode requ�te. Cliquez sur 'Ex�cuter la requ�te' une fois vos "
-#~ "crit�res entr�s."
-
-#~ msgid ""
-#~ "Switch to query mode (if not already) and retrieve the last query "
-#~ "parameters. Select Execute Query once your criteria has been entered."
-#~ msgstr ""
-#~ "Passer en mode requ�te (si besoin) et r�cup�rer les derniers param�tres "
-#~ "de recherche. Cliquez sur 'Ex�cuter la requ�te' une fois vos crit�res "
-#~ "entr�s."
-
-#~ msgid "Cancel query mode."
-#~ msgstr "Quitter le mode requ�te."
-
-#~ msgid "Perform a query and show the results."
-#~ msgstr "Ex�cuter une requ�te et afficher les r�sultats."
-
-#~ msgid "Display info about GNUe Forms."
-#~ msgstr "Afficher les infos sur GNUe Forms."
-
-#~ msgid "Display the keystroke bindings currently in use."
-#~ msgstr "Afficher les raccourcis clavier."
-
-#~ msgid "&File"
-#~ msgstr "&Fichier"
-
-#~ msgid "&Save Changes"
-#~ msgstr "&Enregistrer les changements"
-
-#~ msgid "&Revert Changes"
-#~ msgstr "&Annuler les changements"
-
-#~ msgid "&Print"
-#~ msgstr "&Imprimer"
-
-#~ msgid "&Close"
-#~ msgstr "&Fermer"
-
-#~ msgid "&Edit"
-#~ msgstr "&Edition"
-
-#~ msgid "C&ut"
-#~ msgstr "&Couper"
-
-#~ msgid "&Copy"
-#~ msgstr "Co&pier"
-
-#~ msgid "&Paste"
-#~ msgstr "C&oller"
-
-#~ msgid "Select &All"
-#~ msgstr "&Tout s�lectionner"
-
-#~ msgid "&Insert New Record"
-#~ msgstr "&Ins�rer un nouvel enregistrement"
-
-#~ msgid "&Delete Current Record"
-#~ msgstr "S&upprimer l'enregistrement courant"
-
-#, fuzzy
-#~ msgid "&Undelete Current Record"
-#~ msgstr "S&upprimer l'enregistrement courant"
-
-#~ msgid "&Navigation"
-#~ msgstr "&Navigation"
-
-#~ msgid "&Next Entry"
-#~ msgstr "E&ntr�e suivante"
-
-#~ msgid "&Previous Entry"
-#~ msgstr "Entr�e &pr�c�dente"
-
-#~ msgid "Next &Record"
-#~ msgstr "En&registrement suivant"
-
-#~ msgid "Previous R&ecord"
-#~ msgstr "&Enregistrement pr�c�dent"
-
-#~ msgid "&First Record"
-#~ msgstr "Pre&mier enregistrement"
-
-#~ msgid "&Last Record"
-#~ msgstr "&Dernier enregistrement"
-
-#~ msgid "&Go to record..."
-#~ msgstr "&Atteindre l'enregistrement..."
-
-#~ msgid "Next &Block"
-#~ msgstr "&Bloc suivant"
-
-#~ msgid "Previous Bl&ock"
-#~ msgstr "B&loc pr�c�dent"
-
-#~ msgid "Next P&age"
-#~ msgstr "Pa&ge suivante"
-
-#~ msgid "Pre&vious Page"
-#~ msgstr "Page pr�&c�dente"
-
-#~ msgid "&Search"
-#~ msgstr "&Chercher"
-
-#~ msgid "Enter Query Mode"
-#~ msgstr "Passer en mode requ�te"
-
-#~ msgid "Cancel Query Mode"
-#~ msgstr "Annuler le mode requ�te"
-
-#~ msgid "Repeat Last Query"
-#~ msgstr "Refaire la derni�re requ�te"
-
-#~ msgid "Perform Query"
-#~ msgstr "Ex�cuter la requ�te"
-
-#~ msgid "&Help"
-#~ msgstr "A&ide"
-
-#~ msgid "About..."
-#~ msgstr "A propos..."
-
-#~ msgid "Save Changes"
-#~ msgstr "Enregistrer les changements"
-
-#~ msgid "Insert New Record"
-#~ msgstr "Ins�rer un nouvel enregistrement"
-
-#~ msgid "Delete Current Record"
-#~ msgstr "Supprimer l'enregistrement courant"
-
-#~ msgid "First Record"
-#~ msgstr "Permier enregistrement"
-
-#~ msgid "Previous Record"
-#~ msgstr "Enregistrement pr�c�dent"
-
-#~ msgid "Next Record"
-#~ msgstr "Enregistrement suivant"
-
-#~ msgid "Last Record"
-#~ msgstr "Dernier enregistrement"
-
-#~ msgid "Go to record..."
-#~ msgstr "Aller � l'enregistrement..."
-
-#~ msgid "Enter Search Mode"
-#~ msgstr "Passer en mode recherche"
-
-#~ msgid "Perform Search"
-#~ msgstr "Lancer la recherche"
-
-#, fuzzy
-#~ msgid "Print Form"
-#~ msgstr "&Imprimer"
-
-#~ msgid "Revert Changes"
-#~ msgstr "Annuler les changements"
-
-#, fuzzy
-#~ msgid "Revert"
-#~ msgstr "Annuler les changements"
-
-#, fuzzy
-#~ msgid "Delete"
-#~ msgstr "D�faut"
-
-#, fuzzy
-#~ msgid "Exit"
-#~ msgstr "&Edition"
-
-#~ msgid "Invalid value '%s' for keyed pull-down field"
-#~ msgstr "Valeur '%s' incorrecte pour le menu d�roulant"
-
-#~ msgid "Trigger Exception :\n"
-#~ msgstr "D�clencher l'exception : \n"
-
-#~ msgid "Data not saved. Save changes or clear the form to proceed."
-#~ msgstr ""
-#~ "Donn�es non sauvegard�es. Enregistrez les changements ou effacez le "
-#~ "formulaire pour continuer."
-
-#~ msgid "Form not in query mode"
-#~ msgstr "Le formulaire n'est pas en mode recherche."
-
-#, fuzzy
-#~ msgid ""
-#~ "Database query error:\n"
-#~ "%(exType)s\n"
-#~ "%(exMessage)s"
-#~ msgstr ""
-#~ "Erreur de requ�te sur la base de donn�es:\n"
-#~ "%s\n"
-#~ "%s "
-
-#~ msgid "Form trigger returned error"
-#~ msgstr "Le trigger du formulaire a renvoy� une erreur."
-
-#~ msgid "Block trigger returned error"
-#~ msgstr "Le trigger du bloc a renvoy� une erreur."
-
-#, fuzzy
-#~ msgid "You cannot do that in query mode."
-#~ msgstr "Le formulaire n'est pas en mode recherche."
-
-#, fuzzy
-#~ msgid "There are no navigable widgets in this form. Unable to display."
-#~ msgstr ""
-#~ "Il n'y a pas de composants navigables dans ce formulaire. Affichage "
-#~ "impossible."
-
-#~ msgid "Current data is saved"
-#~ msgstr "Donn�es actuelles sauvegard�es"
-
-#~ msgid "Block does not allow delete"
-#~ msgstr "Le bloc n'autorise pas la suppression"
-
-#~ msgid "Block does not allow insert"
-#~ msgstr "Le bloc n'autorise pas l'insertion"
-
-#, fuzzy
-#~ msgid "As Entered"
-#~ msgstr "Centr�"
-
-#~ msgid "Ignore Case on Queries"
-#~ msgstr "Ignorer la casse dans les requ�tes"
-
-#, fuzzy
-#~ msgid "Description field"
-#~ msgstr "Champ de description F/K"
-
-#, fuzzy
-#~ msgid "Parent ID field"
-#~ msgstr "Emp�cher les suppressions"
-
-#~ msgid "Invalid value '%s' for field"
-#~ msgstr "Valeur '%s' incorrecte pour le champ"
-
-#~ msgid "Forms Navigation"
-#~ msgstr "Navigation dans les formulaire"
-
-#~ msgid ""
-#~ "Login required for\n"
-#~ "\"%s\""
-#~ msgstr ""
-#~ "Login requis pour\n"
-#~ "\"%s\""
-
-#~ msgid "Login required for %s"
-#~ msgstr "Login requis pour %s"
-
-#~ msgid "GNU Enterprise: Login to %s"
-#~ msgstr "GNU Enterprise: Connexion en tant que %s"
-
-#, fuzzy
-#~ msgid ""
-#~ "Database commit error:\n"
-#~ "%(exType)s\n"
-#~ "%(exMessage)s"
-#~ msgstr ""
-#~ "Erreur de mise � jour de la base de donn�es:\n"
-#~ "%s\n"
-#~ "%s"
-
-#, fuzzy
-#~ msgid "Edit Current Record"
-#~ msgstr "Supprimer l'enregistrement courant"
-
-#, fuzzy
-#~ msgid "Unable to login to datasource: %s"
-#~ msgstr ""
-#~ "Connexion � la source de donn�es impossible.\n"
-#~ "\n"
-#~ "%s"
-
-#, fuzzy
-#~ msgid "Error while communicating with datasource: %s"
-#~ msgstr ""
-#~ "Erreur lors de la communication avec la source de donn�es.\n"
-#~ "\n"
-#~ "%s"
-
-#, fuzzy
-#~ msgid "Login required for \"%s\""
-#~ msgstr ""
-#~ "Login requis pour\n"
-#~ "\"%s\""
-
-#, fuzzy
-#~ msgid "Login required for %(newline)s\"%(description)s\""
-#~ msgstr ""
-#~ "Login requis pour\n"
-#~ "\"%s\""
-
-#~ msgid "The win32 forms driver supports only BMP format logo files!"
-#~ msgstr ""
-#~ "Le pilote de formulaire pour Win32 ne supporte que les logos au format "
-#~ "BMP!"
-
-#, fuzzy
-#~ msgid "Unknown UI Driver: %s"
-#~ msgstr "Pilote d'UI inconnu:"
-
-#, fuzzy
-#~ msgid "Unable to load any valid UI drivers.Aborting."
-#~ msgstr "Impossible de charger un pilote d'UI valide. Abandon."
-
-#, fuzzy
-#~ msgid ""
-#~ "GFForm: Unexcpected Exception:\n"
-#~ "%s"
-#~ msgstr ""
-#~ "\n"
-#~ "\n"
-#~ "GFForm: Exception inattendue:"
-
-#, fuzzy
-#~ msgid ""
-#~ "Unable to start GNUe Forms:\n"
-#~ "\n"
-#~ "%s"
-#~ msgstr "Impossible de lancer GNUe Forms:"
-
-#, fuzzy
-#~ msgid ""
-#~ "Exception occured in GNUe Forms:\n"
-#~ "%(exType)s\n"
-#~ "%(exValue)s\n"
-#~ "\n"
-#~ "%(trace)s"
-#~ msgstr "Exception dans GNUe Forms:"
-
-#~ msgid "Unable to start GNUe Forms:"
-#~ msgstr "Impossible de lancer GNUe Forms:"
-
-#~ msgid "Unknown UI driver"
-#~ msgstr "Pilote d'UI inconnu"
-
-#~ msgid "Move to the next logicalfield."
-#~ msgstr "Aller au champ logique suivant."
-
-#~ msgid "Move to the previous logicalfield."
-#~ msgstr "Aller au champ logique pr�c�dent."
-
-#~ msgid ""
-#~ "The GNUe-Forms Curses driver requires Python 2.1+ and the ncurses library."
-#~ msgstr ""
-#~ "Le pilote Curses pour GNUe Forms n�cessite Python 2.1+ et la librairie "
-#~ "ncurses."
-
-#~ msgid "_LOGIN"
-#~ msgstr "_LOGIN"
-
-#~ msgid "_CANCEL"
-#~ msgstr "_CANCEL"
-
-#~ msgid "Wrong Place to execute set CursorPosition (%s,%s), widget is a %s"
-#~ msgstr ""
-#~ "Mauvais endroit pour ex�cuter set CursorPosition (%s,%s), le composant "
-#~ "est un %s"
-
-#~ msgid "Cannot modify field.  Form is read only"
-#~ msgstr "Impossible de modifier le champ. Formulaire en lecture seule"
-
-#~ msgid "Cannot modify field after initial creation."
-#~ msgstr "Impossible de modifier le champ apr�s sa cr�ation."
-
-#~ msgid "Mixed case (no conversion)"
-#~ msgstr "Casse m�lang�e (pas de conversion)"
-
-#~ msgid "Convert to upper case"
-#~ msgstr "Convertir en majuscules"
-
-#~ msgid "Convert to lower case"
-#~ msgstr "Convertir en minuscules"
-
-#~ msgid "Refresh after record is committed"
-#~ msgstr "Mettre � jour lorsque l'enregistrement est enregistr�"
-
-#~ msgid "Edit Only When Null"
-#~ msgstr "Editer seulement si Null"





reply via email to

[Prev in Thread] Current Thread [Next in Thread]