Update list of messages to be translated for internationalization and french translations
authorlaurent
Sat, 25 Aug 2012 14:50:48 +0200
changeset 801 435e49e80832
parent 800 e9406586bb14
child 802 25731f454a64
Update list of messages to be translated for internationalization and french translations
Beremiz.py
ConfigTreeNode.py
ProjectController.py
c_ext/CFileEditor.py
i18n/Beremiz_fr_FR.po
i18n/app.fil
i18n/messages.pot
locale/fr_FR/LC_MESSAGES/Beremiz.mo
util/BrowseValuesLibraryDialog.py
util/FileManagementPanel.py
--- a/Beremiz.py	Sat Aug 25 14:49:15 2012 +0200
+++ b/Beremiz.py	Sat Aug 25 14:50:48 2012 +0200
@@ -1033,7 +1033,10 @@
             
     def DeleteConfNode(self, confnode):
         if self.CTR.CheckProjectPathPerm():
-            dialog = wx.MessageDialog(self, _("Really delete confnode ?"), _("Remove confnode"), wx.YES_NO|wx.NO_DEFAULT)
+            dialog = wx.MessageDialog(self, 
+                _("Really delete node '%s'?") % confnode.CTNName(), 
+                _("Remove %s node") % confnode.CTNType, 
+                wx.YES_NO|wx.NO_DEFAULT)
             if dialog.ShowModal() == wx.ID_YES:
                 confnode.CTNRemove()
                 del confnode
--- a/ConfigTreeNode.py	Sat Aug 25 14:49:15 2012 +0200
+++ b/ConfigTreeNode.py	Sat Aug 25 14:50:48 2012 +0200
@@ -368,7 +368,7 @@
             shutil.move(oldname, self.CTNPath())
         # warn user he has two left hands
         if DesiredName != res:
-            self.GetCTRoot().logger.write_warning(_("A child names \"%s\" already exist -> \"%s\"\n")%(DesiredName,res))
+            self.GetCTRoot().logger.write_warning(_("A child named \"%s\" already exist -> \"%s\"\n")%(DesiredName,res))
         return res
 
     def GetAllChannels(self):
--- a/ProjectController.py	Sat Aug 25 14:49:15 2012 +0200
+++ b/ProjectController.py	Sat Aug 25 14:50:48 2012 +0200
@@ -251,7 +251,7 @@
         self.CreateNewProject(
             {"projectName": _("Unnamed"),
              "productName": _("Unnamed"),
-             "productVersion": _("1"),
+             "productVersion": "1",
              "companyName": _("Unknown"),
              "creationDateTime": datetime(*localtime()[:6])})
         self.ProjectAddConfiguration("config")
@@ -1118,9 +1118,9 @@
                         if IEC_Type in DebugTypesSize: 
                             Idxs.append((Idx, IEC_Type, fvalue, IECPath))
                         else:
-                            self.logger.write_warning(_("Debug : Unsuppoted type to debug %s\n")%IEC_Type)
+                            self.logger.write_warning(_("Debug: Unsupported type to debug '%s'\n")%IEC_Type)
                     else:
-                        self.logger.write_warning(_("Debug : Unknown variable %s\n")%IECPath)
+                        self.logger.write_warning(_("Debug: Unknown variable '%s'\n")%IECPath)
             for IECPathToPop in IECPathsToPop:
                 self.IECdebug_datas.pop(IECPathToPop)
 
@@ -1351,7 +1351,7 @@
                 uri = dialog.GetURI()
                 dialog.Destroy()
             except:
-                self.logger.write_error(_("Local service discovery failed !\n"))
+                self.logger.write_error(_("Local service discovery failed!\n"))
                 self.logger.write_error(traceback.format_exc())
                 uri = None
             
--- a/c_ext/CFileEditor.py	Sat Aug 25 14:49:15 2012 +0200
+++ b/c_ext/CFileEditor.py	Sat Aug 25 14:50:48 2012 +0200
@@ -644,7 +644,7 @@
 
     def OnVariablesGridEditorShown(self, event):
         row, col = event.GetRow(), event.GetCol() 
-        if self.Table.GetColLabelValue(col) == "Type":
+        if self.Table.GetColLabelValue(col, False) == "Type":
             type_menu = wx.Menu(title='')
             base_menu = wx.Menu(title='')
             for base_type in self.Controler.GetBaseTypes():
--- a/i18n/Beremiz_fr_FR.po	Sat Aug 25 14:49:15 2012 +0200
+++ b/i18n/Beremiz_fr_FR.po	Sat Aug 25 14:50:48 2012 +0200
@@ -7,16 +7,16 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-05-20 18:25+0200\n"
-"PO-Revision-Date: 2012-05-20 18:38+0100\n"
-"Last-Translator: \n"
+"POT-Creation-Date: 2012-08-24 18:28+0200\n"
+"PO-Revision-Date: 2012-08-24 18:46+0100\n"
+"Last-Translator: Laurent BESSARD <laurent.bessard@gmail.com>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: ../Beremiz.py:1846
+#: ../Beremiz.py:1069
 #, python-format
 msgid ""
 "\n"
@@ -41,105 +41,91 @@
 "\n"
 "Trace d'exécution:\n"
 
-#: ../ProjectController.py:845
+#: ../ProjectController.py:891
 msgid " generation failed !\n"
 msgstr "la construction a échouée !\n"
 
-#: ../Beremiz.py:1739
+#: ../Beremiz.py:892
 #, python-format
 msgid "\"%s\" folder is not a valid Beremiz project\n"
 msgstr "Le dossier \"%s\" ne contient pas de projet Beremiz valide\n"
 
-#: ../canfestival/NetworkEditor.py:78
-#: ../canfestival/SlaveEditor.py:48
+#: ../canfestival/SlaveEditor.py:42
+#: ../canfestival/NetworkEditor.py:72
 #, python-format
 msgid "%s Profile"
-msgstr ""
-
-#: ../Beremiz.py:394
-msgid "&ConfNode"
-msgstr ""
-
-#: ../Beremiz.py:426
-msgid "&Properties"
-msgstr "&Propriétés"
-
-#: ../Beremiz.py:407
+msgstr "Profil %s"
+
+#: ../Beremiz.py:308
 msgid "&Recent Projects"
 msgstr "Projets &récent"
 
-#: ../Beremiz.py:1834
-#: ../Beremiz.py:1836
-#: ../Beremiz.py:1837
-msgid ",   "
-msgstr ",   "
-
-#: ../Beremiz.py:1832
-msgid ". "
-msgstr ". "
-
-#: ../ProjectController.py:1146
+#: ../Beremiz.py:350
+msgid "&Resource"
+msgstr "&Ressource"
+
+#: ../connectors/PYRO/__init__.py:51
+#, python-format
+msgid "'%s' is located at %s\n"
+msgstr "'%s' is disponible à l'adresse %s\n"
+
+#: ../ProjectController.py:1269
 msgid "... debugger recovered\n"
 msgstr "... déboggueur operationel\n"
 
-#: ../ConfigTreeNode.py:369
-#, python-format
-msgid "A child names \"%s\" already exist -> \"%s\"\n"
-msgstr ""
-
-#: ../Beremiz.py:451
+#: ../ConfigTreeNode.py:371
+#, python-format
+msgid "A child named \"%s\" already exist -> \"%s\"\n"
+msgstr "Un noeud enfant nommé \"%s\" existe déjà -> \"%s\"\n"
+
+#: ../Beremiz.py:360
 msgid "About"
 msgstr "A propos"
 
-#: ../Beremiz.py:1771
+#: ../Beremiz.py:929
 msgid "About Beremiz"
 msgstr "A propos de Beremiz"
 
-#: ../canfestival/NetworkEditor.py:90
-#: ../canfestival/SlaveEditor.py:60
+#: ../canfestival/SlaveEditor.py:54
+#: ../canfestival/NetworkEditor.py:84
 msgid "Add"
-msgstr ""
-
-#: ../features.py:6
+msgstr "Ajouter"
+
+#: ../features.py:7
 msgid "Add C code accessing located variables synchronously"
-msgstr ""
-
-#: ../Beremiz.py:1802
-msgid "Add ConfNode"
-msgstr ""
-
-#: ../features.py:7
+msgstr "Ajoute un code C ayant accès à des variables localisées de façon synchrone"
+
+#: ../util/discovery.py:115
+msgid "Add IP"
+msgstr "Ajouter IP"
+
+#: ../features.py:8
 msgid "Add Python code executed asynchronously"
-msgstr ""
-
-#: ../features.py:8
+msgstr "Ajoute un code Python executé de façon asynchone"
+
+#: ../features.py:9
 msgid "Add a simple WxGlade based GUI."
-msgstr ""
-
-#: ../Beremiz.py:886
-#: ../Beremiz.py:1231
-msgid "Add a sub confnode"
-msgstr "Add a sub confnode"
-
-#: ../canfestival/NetworkEditor.py:92
+msgstr "Ajoute une interface simple utilisant WxGlade"
+
+#: ../canfestival/NetworkEditor.py:86
 msgid "Add slave"
-msgstr ""
-
-#: ../ProjectController.py:1213
+msgstr "Ajouter un esclave"
+
+#: ../util/FileManagementPanel.py:35
+msgid "All files (*.*)|*.*|CSV files (*.csv)|*.csv"
+msgstr "Tous les fichiers|*.*|Fichiers CSV (*.csv)|*.csv"
+
+#: ../ProjectController.py:1336
 msgid "Already connected. Please disconnect\n"
 msgstr "Déjà connecté. Veuillez déconnecter\n"
 
-#: ../Beremiz.py:1428
-msgid "Append "
-msgstr "Ajouter "
-
 #: ../util/Zeroconf.py:599
 msgid "Bad domain name (circular) at "
-msgstr ""
+msgstr "Mauvais nom de domaine (circulaire) à l'adresse"
 
 #: ../util/Zeroconf.py:602
 msgid "Bad domain name at "
-msgstr ""
+msgstr "Mauvais nom de domaine à l'adresse"
 
 #: ../canfestival/config_utils.py:341
 #: ../canfestival/config_utils.py:623
@@ -147,36 +133,36 @@
 msgid "Bad location size : %s"
 msgstr "Mauvaise taille d'adresse : %s"
 
-#: ../Beremiz.py:592
+#: ../Beremiz.py:484
 msgid "Beremiz"
 msgstr "Beremiz"
 
 #: ../util/BrowseValuesLibraryDialog.py:37
 #, python-format
-msgid "Browse %s library"
-msgstr ""
-
-#: ../ProjectController.py:1345
+msgid "Browse %s values library"
+msgstr "Explorer la liste des valeurs du paramètre '%s'"
+
+#: ../ProjectController.py:1485
 msgid "Build"
 msgstr "Compiler"
 
-#: ../ProjectController.py:929
+#: ../ProjectController.py:1052
 msgid "Build directory already clean\n"
 msgstr "Le répertoire de compilation est déjà nettoyé\n"
 
-#: ../ProjectController.py:1346
+#: ../ProjectController.py:1486
 msgid "Build project into build folder"
 msgstr "Compiler le projet dans le répertoire ce compilation"
 
-#: ../ProjectController.py:865
+#: ../ProjectController.py:911
 msgid "C Build crashed !\n"
 msgstr "La compilation du C a mal fonctionné !\n"
 
-#: ../ProjectController.py:862
+#: ../ProjectController.py:908
 msgid "C Build failed.\n"
 msgstr "La compilation du C a échouée !\n"
 
-#: ../ProjectController.py:850
+#: ../ProjectController.py:896
 msgid "C code generated successfully.\n"
 msgstr "Code C généré avec succès.\n"
 
@@ -185,36 +171,36 @@
 msgid "C compilation of %s failed.\n"
 msgstr "La compilation C de %s a échouée.\n"
 
-#: ../features.py:6
+#: ../features.py:7
 msgid "C extension"
 msgstr "Extension C"
 
-#: ../features.py:5
+#: ../features.py:6
 msgid "CANopen support"
-msgstr ""
-
-#: ../ConfigTreeNode.py:460
+msgstr "Support CANopen"
+
+#: ../ConfigTreeNode.py:470
 #, python-format
 msgid "Cannot create child %s of type %s "
 msgstr "Impossible d'ajouter un élément \"%s\" de type \"%s\""
 
-#: ../ConfigTreeNode.py:398
+#: ../ConfigTreeNode.py:400
 #, python-format
 msgid "Cannot find lower free IEC channel than %d\n"
 msgstr "Impossible de trouver un numéro IEC inférieur à %d libre\n"
 
-#: ../connectors/PYRO/__init__.py:75
+#: ../connectors/PYRO/__init__.py:92
 msgid "Cannot get PLC status - connection failed.\n"
 msgstr "Impossible d'obtenir le statut de l'automate - la connexion a échoué.\n"
 
-#: ../ProjectController.py:671
+#: ../ProjectController.py:716
 msgid "Cannot open/parse VARIABLES.csv!\n"
 msgstr "Impossible d'ouvrir ou d'analyser le fichier VARIABLES.csv !\n"
 
 #: ../canfestival/config_utils.py:371
 #, python-format
 msgid "Cannot set bit offset for non bool '%s' variable (ID:%d,Idx:%x,sIdx:%x))"
-msgstr ""
+msgstr "Impossible de définir un numéro de bit sur la variable '%s' non booléenne (ID:%d,Idx:%x,sIdx:%x)"
 
 #: ../Beremiz_service.py:322
 msgid "Change IP of interface to bind"
@@ -232,98 +218,117 @@
 msgid "Change working directory"
 msgstr "Changer le dossier de travail"
 
-#: ../util/BrowseValuesLibraryDialog.py:42
-#, python-format
-msgid "Choose a %s:"
-msgstr "Choisissez un %s:"
-
 #: ../svgui/svgui.py:92
 msgid "Choose a SVG file"
 msgstr "Choisissez un fichier SVG"
 
-#: ../ProjectController.py:311
+#: ../ProjectController.py:354
 msgid "Choose a directory to save project"
 msgstr "Choisissez un dossier où enregistrer le projet"
 
-#: ../Beremiz.py:1680
-#: ../Beremiz.py:1713
+#: ../canfestival/canfestival.py:118
+msgid "Choose a file"
+msgstr "Choisissez un fichier"
+
+#: ../Beremiz.py:829
+#: ../Beremiz.py:864
 msgid "Choose a project"
 msgstr "Choisissez un projet"
 
+#: ../util/BrowseValuesLibraryDialog.py:42
+#, python-format
+msgid "Choose a value for %s:"
+msgstr "Choisissez une valeur pour le paramètre %s :"
+
 #: ../Beremiz_service.py:373
 msgid "Choose a working directory "
 msgstr "Choisissez un dossier de travail"
 
-#: ../ProjectController.py:265
+#: ../ProjectController.py:282
 msgid "Chosen folder doesn't contain a program. It's not a valid project!"
 msgstr "Le répertoire ne contient pas de programme. Ce n'est pas un projet valide !"
 
-#: ../ProjectController.py:230
+#: ../ProjectController.py:248
 msgid "Chosen folder isn't empty. You can't use it for a new project!"
 msgstr "Le répertoire n'est pas vide. Vous ne pouvez pas l'utiliser pour créer un nouveau projet !"
 
-#: ../ProjectController.py:1349
+#: ../ProjectController.py:1489
 msgid "Clean"
 msgstr "Nettoyer"
 
-#: ../ProjectController.py:1351
+#: ../ProjectController.py:1491
 msgid "Clean project build folder"
 msgstr "Nettoyer le répertoire de compilation"
 
-#: ../ProjectController.py:926
+#: ../ProjectController.py:1049
 msgid "Cleaning the build directory\n"
 msgstr "Répertoire de compilation en cours de nettoyage\n"
 
-#: ../Beremiz.py:698
+#: ../Beremiz.py:596
 msgid "Close Application"
 msgstr "Fermer l'application"
 
-#: ../Beremiz.py:658
+#: ../Beremiz.py:550
 msgid "Close Project"
 msgstr "Fermer le projet"
 
-#: ../Beremiz.py:416
+#: ../Beremiz.py:317
 msgid "Close Project\tCTRL+SHIFT+W"
 msgstr "Fermer le project\tCTRL+SHIFT+W"
 
-#: ../Beremiz.py:414
+#: ../Beremiz.py:315
 msgid "Close Tab\tCTRL+W"
 msgstr "Fermer l'onglet\tCTRL+W"
 
-#: ../ProjectController.py:494
+#: ../ProjectController.py:539
 msgid "Compiling IEC Program into C code...\n"
 msgstr "Compilation du program en IEC vers du code C en cours...\n"
 
-#: ../ProjectController.py:1364
+#: ../ProjectController.py:1504
 msgid "Connect"
 msgstr "Connecter"
 
-#: ../ProjectController.py:1365
+#: ../ProjectController.py:1505
 msgid "Connect to the target PLC"
 msgstr "Connecter à l'automate cible"
 
-#: ../connectors/PYRO/__init__.py:38
+#: ../connectors/PYRO/__init__.py:40
 #, python-format
 msgid "Connecting to URI : %s\n"
 msgstr "Connection à l'URI %s en cours...\n"
 
-#: ../ProjectController.py:1232
+#: ../ProjectController.py:1360
 msgid "Connection canceled!\n"
 msgstr "La connection a été abandonnée !\n"
 
-#: ../ProjectController.py:1249
+#: ../ProjectController.py:1385
 #, python-format
 msgid "Connection failed to %s!\n"
 msgstr "La connection à \"%s\" a échouée !\n"
 
-#: ../ConfigTreeNode.py:572
+#: ../connectors/PYRO/__init__.py:63
+#, python-format
+msgid "Connection to '%s' failed.\n"
+msgstr "La connexion à l'adresse '%s' a échouée.\n"
+
+#: ../util/FileManagementPanel.py:283
+msgid "Copy file from left folder to right"
+msgstr "Copier un fichier du dossier de gauche vers celui de droite"
+
+#: ../util/FileManagementPanel.py:282
+msgid "Copy file from right folder to left"
+msgstr "Copier un fichier du dossier de droite vers celui de gauche"
+
+#: ../ConfigTreeNode.py:582
 #, python-format
 msgid ""
 "Could not add child \"%s\", type %s :\n"
 "%s\n"
 msgstr ""
-
-#: ../ConfigTreeNode.py:549
+"Impossible d'ajouter le noeud enfant \"%s\",  de type %s :\n"
+"%s\n"
+
+#: ../ConfigTreeNode.py:559
 #, python-format
 msgid ""
 "Couldn't load confnode base parameters %s :\n"
@@ -332,7 +337,7 @@
 "Impossible de charger les paramètres de base du plugin %s :\n"
 " %s"
 
-#: ../ConfigTreeNode.py:560
+#: ../ConfigTreeNode.py:570
 #, python-format
 msgid ""
 "Couldn't load confnode parameters %s :\n"
@@ -341,15 +346,15 @@
 "Impossible de charger les paramètres du plugin %s :\n"
 " %s"
 
-#: ../ProjectController.py:1195
+#: ../ProjectController.py:1318
 msgid "Couldn't start PLC !\n"
 msgstr "Impossible de démarrer l'automate !\n"
 
-#: ../ProjectController.py:1203
+#: ../ProjectController.py:1326
 msgid "Couldn't stop PLC !\n"
 msgstr "Impossible d'arrêter l'automate !\n"
 
-#: ../ProjectController.py:1173
+#: ../ProjectController.py:1296
 msgid "Couldn't stop debugger.\n"
 msgstr "Impossible d'arrêter le débogage de l'automate !\n"
 
@@ -357,83 +362,82 @@
 msgid "Create HMI"
 msgstr "Créer une IHM"
 
-#: ../canfestival/NetworkEditor.py:86
-#: ../canfestival/SlaveEditor.py:56
+#: ../canfestival/SlaveEditor.py:50
+#: ../canfestival/NetworkEditor.py:80
 msgid "DS-301 Profile"
-msgstr ""
-
-#: ../canfestival/NetworkEditor.py:87
-#: ../canfestival/SlaveEditor.py:57
+msgstr "Profil DS-301"
+
+#: ../canfestival/SlaveEditor.py:51
+#: ../canfestival/NetworkEditor.py:81
 msgid "DS-302 Profile"
-msgstr ""
-
-#: ../ProjectController.py:1000
-#, python-format
-msgid "Debug : Unknown variable %s\n"
-msgstr "Débogage : variable \"%s\" inconnue\n"
-
-#: ../ProjectController.py:998
-#, python-format
-msgid "Debug : Unsuppoted type to debug %s\n"
-msgstr ""
-
-#: ../ProjectController.py:1270
+msgstr "Profil DS-302"
+
+#: ../ProjectController.py:1406
 msgid "Debug connect matching running PLC\n"
 msgstr "L'automate connecté correspond au project ouvert.\n"
 
-#: ../ProjectController.py:1273
+#: ../ProjectController.py:1409
 msgid "Debug do not match PLC - stop/transfert/start to re-enable\n"
 msgstr "L'automate connecté ne correspond pas au project ouvert - Arrêter/transférez/démarrer pour pouvoir débogguer.\n"
 
-#: ../ProjectController.py:1163
+#: ../ProjectController.py:1123
+#, python-format
+msgid "Debug: Unknown variable '%s'\n"
+msgstr "Débogage : Variable '%s' inconnue\n"
+
+#: ../ProjectController.py:1121
+#, python-format
+msgid "Debug: Unsupported type to debug '%s'\n"
+msgstr "Débogage : Type non supporté dans le débogage '%'\n"
+
+#: ../ProjectController.py:1286
 msgid "Debugger disabled\n"
 msgstr "Débogueur désactivé\n"
 
-#: ../ProjectController.py:1175
+#: ../ProjectController.py:1298
 msgid "Debugger stopped.\n"
 msgstr "Débogueur désactivé\n"
 
-#: ../Beremiz.py:1222
-msgid "Delete this confnode"
-msgstr "Supprimer ce plugin"
-
-#: ../ProjectController.py:1373
+#: ../Beremiz.py:956
+msgid "Delete"
+msgstr "Supprimer"
+
+#: ../util/FileManagementPanel.py:371
+msgid "Delete File"
+msgstr "Supprimer un fichier"
+
+#: ../ProjectController.py:1513
 msgid "Disconnect"
 msgstr "Déconnecter"
 
-#: ../ProjectController.py:1375
+#: ../ProjectController.py:1515
 msgid "Disconnect from PLC"
 msgstr "Déconnecter l'automate"
 
-#: ../c_ext/c_ext.py:143
-#: ../c_ext/c_ext.py:144
-msgid "Edit C File"
-msgstr "Editer le fichier C"
-
-#: ../canfestival/canfestival.py:274
-msgid "Edit CanOpen Network with NetworkEdit"
-msgstr "Editer le réseau CANOpen à l'aide de NetworkEdit"
-
-#: ../py_ext/PythonFileCTNMixin.py:19
-#: ../py_ext/PythonFileCTNMixin.py:20
-msgid "Edit Python File"
-msgstr "Editer le fichier Python"
+#: ../util/FileManagementPanel.py:370
+#, python-format
+msgid "Do you really want to delete the file '%s'?"
+msgstr "Êtes-vous sûr de vouloir supprimer le fichier '%s' ?"
+
+#: ../canfestival/canfestival.py:118
+msgid "EDS files (*.eds)|*.eds|All files|*.*"
+msgstr "Fichiers EDS (*.eds)|*.eds|Tous les fichiers|*.*"
 
 #: ../wxglade_hmi/wxglade_hmi.py:12
 msgid "Edit a WxWidgets GUI with WXGlade"
 msgstr "Editer une IHM WxWidgets à l'aide de WXGlade"
 
-#: ../canfestival/canfestival.py:273
-msgid "Edit network"
-msgstr "Editer le réseau"
-
-#: ../ProjectController.py:1384
+#: ../util/FileManagementPanel.py:284
+msgid "Edit file"
+msgstr "Editer un fichier"
+
+#: ../ProjectController.py:1527
 msgid "Edit raw IEC code added to code generated by PLCGenerator"
 msgstr "Editer le code IEC ajouté au code généré par PLCGenerator"
 
-#: ../Beremiz.py:948
-msgid "Enable/Disable this confnode"
-msgstr "Activer/Désactiver le plugin"
+#: ../ProjectController.py:1014
+msgid "Editor selection"
+msgstr "Selection d'un éditeur"
 
 #: ../Beremiz_service.py:380
 msgid "Enter a name "
@@ -447,24 +451,25 @@
 msgid "Enter the IP of the interface to bind"
 msgstr "Saisissez l'adresse IP de l'interface à lier"
 
-#: ../util/BrowseValuesLibraryDialog.py:83
-#: ../Beremiz.py:1858
-#: ../ProjectController.py:210
 #: ../Beremiz_service.py:270
 #: ../Beremiz_service.py:394
+#: ../Beremiz.py:1081
+#: ../ProjectController.py:222
+#: ../util/BrowseValuesLibraryDialog.py:83
+#: ../util/FileManagementPanel.py:210
 msgid "Error"
 msgstr "Erreur"
 
-#: ../ProjectController.py:543
+#: ../ProjectController.py:588
 msgid "Error : At least one configuration and one resource must be declared in PLC !\n"
 msgstr "Erreur : Au moins une configuration ou une ressource doit être déclarée dans l'automate !\n"
 
-#: ../ProjectController.py:535
+#: ../ProjectController.py:580
 #, python-format
 msgid "Error : IEC to C compiler returned %d\n"
 msgstr "Erreur : Le compilateur d'IEC en C a retourné %d\n"
 
-#: ../ProjectController.py:476
+#: ../ProjectController.py:521
 #, python-format
 msgid ""
 "Error in ST/IL/SFC code generator :\n"
@@ -473,49 +478,70 @@
 "Erreur dans le générateur de code ST/IL/SFC :\n"
 "%s\n"
 
-#: ../ConfigTreeNode.py:180
+#: ../ConfigTreeNode.py:182
 #, python-format
 msgid "Error while saving \"%s\"\n"
 msgstr "Erreur lors de l'enregistrement de \"%s\"\n"
 
-#: ../canfestival/canfestival.py:255
+#: ../canfestival/canfestival.py:122
+msgid "Error: Export slave failed\n"
+msgstr "Erreur : L'export de l'esclave a échoué\n"
+
+#: ../canfestival/canfestival.py:270
 msgid "Error: No Master generated\n"
 msgstr "Erreur : Aucun maître généré\n"
 
-#: ../canfestival/canfestival.py:250
+#: ../canfestival/canfestival.py:265
 msgid "Error: No PLC built\n"
 msgstr "Erreur : Aucun automate compilé\n"
 
-#: ../ProjectController.py:1243
+#: ../ProjectController.py:1379
 #, python-format
 msgid "Exception while connecting %s!\n"
 msgstr "Une exception est apparu au cours de la connexion %s !\n"
 
-#: ../features.py:9
+#: ../features.py:10
 msgid "Experimental web based HMI"
-msgstr ""
-
-#: ../ProjectController.py:547
+msgstr "IHM expérimentale utilisant les technologies web"
+
+#: ../canfestival/canfestival.py:128
+msgid "Export CanOpen slave to EDS file"
+msgstr "Exporter un esclave CANopen sous la forme d'un fichier EDS"
+
+#: ../canfestival/canfestival.py:127
+msgid "Export slave"
+msgstr "Exporter un esclave"
+
+#: ../ProjectController.py:592
 msgid "Extracting Located Variables...\n"
 msgstr "Extraction des variables adressées en cours...\n"
 
-#: ../ProjectController.py:1310
+#: ../ProjectController.py:1446
 msgid "Failed : Must build before transfer.\n"
 msgstr "Echec : Le projet doit être compilé avant d'être transféré.\n"
 
-#: ../ProjectController.py:855
+#: ../ProjectController.py:901
 msgid "Fatal : cannot get builder.\n"
 msgstr "Erreur fatale : impossible de trouver un compilateur.\n"
 
-#: ../connectors/PYRO/__init__.py:108
+#: ../util/FileManagementPanel.py:209
+#, python-format
+msgid "File '%s' already exists!"
+msgstr "Le fichier '%s' existe déjà !"
+
+#: ../connectors/PYRO/__init__.py:125
 msgid "Force runtime reload\n"
 msgstr "Redémarrage du runtime forcé\n"
 
-#: ../ProjectController.py:466
+#: ../ProjectController.py:511
 msgid "Generating SoftPLC IEC-61131 ST/IL/SFC code...\n"
 msgstr "Création du code ST/IL/SFC de l'automate IEC-61131 en cours...\n"
 
-#: ../ProjectController.py:782
+#: ../util/FileManagementPanel.py:303
+msgid "Home Directory:"
+msgstr "Répertoire utilisateur :"
+
+#: ../ProjectController.py:828
 msgid "IEC-61131-3 code generation failed !\n"
 msgstr "La création du code IEC-61131-3 a échouée !\n"
 
@@ -539,7 +565,7 @@
 msgid "Invalid type \"%s\"-> %d != %d  for location\"%s\""
 msgstr "Type invalide \"%s\"-> %d != %d pour cette adresse \"%s\""
 
-#: ../ProjectController.py:1316
+#: ../ProjectController.py:1452
 msgid "Latest build already matches current target. Transfering anyway...\n"
 msgstr "La dernière compilation correspond à la cible actuelle...\n"
 
@@ -555,45 +581,58 @@
 msgid "Linking :\n"
 msgstr "Linkage :\n"
 
-#: ../util/discovery.py:107
+#: ../util/discovery.py:110
 msgid "Local"
 msgstr "Local"
 
-#: ../Beremiz.py:514
+#: ../ProjectController.py:1354
+msgid "Local service discovery failed!\n"
+msgstr "Echec de la sélection d'un service!\n"
+
+#: ../Beremiz.py:391
 msgid "Log Console"
 msgstr "Console de log"
 
-#: ../canfestival/NetworkEditor.py:73
-#: ../canfestival/SlaveEditor.py:43
+#: ../connectors/PYRO/__init__.py:55
+#, python-format
+msgid "MDNS resolution failure for '%s'\n"
+msgstr "Echec de la résolution MDNS pour '%s'\n"
+
+#: ../canfestival/SlaveEditor.py:37
+#: ../canfestival/NetworkEditor.py:67
 msgid "Map Variable"
-msgstr ""
-
-#: ../features.py:5
+msgstr "Variable mappable"
+
+#: ../features.py:6
 msgid "Map located variables over CANopen"
-msgstr ""
-
-#: ../canfestival/NetworkEditor.py:95
+msgstr "Mappe des variables localisées sur un bus CANopen"
+
+#: ../canfestival/NetworkEditor.py:89
 msgid "Master"
 msgstr "Maître"
 
-#: ../ConfigTreeNode.py:470
+#: ../ConfigTreeNode.py:480
 #, python-format
 msgid "Max count (%d) reached for this confnode of type %s "
 msgstr "Nombre limite(%d) atteint pour les plugin de type %s"
 
+#: ../util/FileManagementPanel.py:301
+msgid "My Computer:"
+msgstr "Poste de travail :"
+
 #: ../Beremiz_service.py:381
 msgid "Name must not be null!"
 msgstr "Le nom ne doit pas être vide !"
 
-#: ../Beremiz.py:443
+#: ../Beremiz.py:340
 msgid "New"
-msgstr ""
-
-#: ../Beremiz.py:404
+msgstr "Nouveau"
+
+#: ../Beremiz.py:305
 msgid "New\tCTRL+N"
 msgstr "Nouveau\tCTRL+N"
 
-#: ../ProjectController.py:1339
+#: ../ProjectController.py:1479
 msgid "No PLC to transfer (did build succeed ?)\n"
 msgstr "Aucun automate à transférer (la compilation a-t-elle réussi ?)\n"
 
@@ -618,12 +657,12 @@
 
 #: ../util/BrowseValuesLibraryDialog.py:83
 msgid "No valid value selected!"
-msgstr ""
-
-#: ../canfestival/NetworkEditor.py:85
-#: ../canfestival/SlaveEditor.py:55
+msgstr "Aucune valeur valide sélectionnée !"
+
+#: ../canfestival/SlaveEditor.py:49
+#: ../canfestival/NetworkEditor.py:79
 msgid "Node infos"
-msgstr ""
+msgstr "Propriétés du noeud"
 
 #: ../canfestival/config_utils.py:354
 #, python-format
@@ -635,11 +674,11 @@
 msgid "Not PDO mappable variable : '%s' (ID:%d,Idx:%x,sIdx:%x))"
 msgstr "Variable non mappable dans un PDO : '%s' (ID:%d,Idx:%x,sIdx:%x))"
 
-#: ../Beremiz.py:444
+#: ../Beremiz.py:341
 msgid "Open"
-msgstr ""
-
-#: ../Beremiz.py:406
+msgstr "Ouvrir"
+
+#: ../Beremiz.py:307
 msgid "Open\tCTRL+O"
 msgstr "Ouvrir\tCTRL+O"
 
@@ -647,43 +686,43 @@
 msgid "Open Inkscape"
 msgstr "Ouverture de Inkscape"
 
+#: ../ProjectController.py:1531
+msgid "Open a file explorer to manage project files"
+msgstr "Ouvrir un explorateur de fichier pour gérer les fichiers de projet"
+
 #: ../wxglade_hmi/wxglade_hmi.py:109
 msgid "Open wxGlade"
 msgstr "Ouverture de wxGlade"
 
-#: ../canfestival/NetworkEditor.py:83
-#: ../canfestival/SlaveEditor.py:53
+#: ../canfestival/SlaveEditor.py:47
+#: ../canfestival/NetworkEditor.py:77
 msgid "Other Profile"
-msgstr ""
-
-#: ../canfestival/NetworkEditor.py:72
-#: ../canfestival/SlaveEditor.py:42
+msgstr "Autre profil"
+
+#: ../canfestival/SlaveEditor.py:36
+#: ../canfestival/NetworkEditor.py:66
 msgid "PDO Receive"
-msgstr ""
-
-#: ../canfestival/NetworkEditor.py:71
-#: ../canfestival/SlaveEditor.py:41
+msgstr "PDO reçu"
+
+#: ../canfestival/SlaveEditor.py:35
+#: ../canfestival/NetworkEditor.py:65
 msgid "PDO Transmit"
-msgstr ""
+msgstr "PDO transmis"
 
 #: ../targets/toolchain_gcc.py:107
 msgid "PLC :\n"
 msgstr "Automate :\n"
 
-#: ../ProjectController.py:974
-#: ../ProjectController.py:1263
+#: ../ProjectController.py:1097
+#: ../ProjectController.py:1399
 #, python-format
 msgid "PLC is %s\n"
 msgstr "L'automate est dans l'état %s\n"
 
-#: ../Beremiz.py:419
+#: ../Beremiz.py:320
 msgid "Page Setup\tCTRL+ALT+P"
 msgstr "Mise en page\tCTRL+ALT+P"
 
-#: ../Beremiz.py:1802
-msgid "Please enter a name for confnode:"
-msgstr "Saisissez un nom pour le plugin :"
-
 #: ../Beremiz_service.py:366
 msgid "Port number must be 0 <= port <= 65535!"
 msgstr "Le numéro de port doit être compris entre 0 et 65535 !"
@@ -692,28 +731,28 @@
 msgid "Port number must be an integer!"
 msgstr "Le numéro de port doit être un entier !"
 
-#: ../Beremiz.py:421
+#: ../Beremiz.py:322
 msgid "Preview\tCTRL+SHIFT+P"
 msgstr "Preview\tCTRL+SHIFT+P"
 
-#: ../Beremiz.py:447
+#: ../Beremiz.py:344
 msgid "Print"
 msgstr "Imprimer"
 
-#: ../Beremiz.py:423
+#: ../Beremiz.py:324
 msgid "Print\tCTRL+P"
 msgstr "Imprimer\tCTRL+P"
 
-#: ../ProjectController.py:239
-msgid "Project not created"
-msgstr "Le projet n'a pu être créé"
-
-#: ../ConfigTreeNode.py:496
+#: ../ProjectController.py:1530
+msgid "Project Files"
+msgstr "Fichiers de projet"
+
+#: ../ConfigTreeNode.py:506
 #, python-format
 msgid "Project tree layout do not match confnode.xml %s!=%s "
 msgstr "L'organisation du projet ne correspond pas à plugin.xml %s!=%s"
 
-#: ../features.py:7
+#: ../features.py:8
 msgid "Python file"
 msgstr "Fichier Python"
 
@@ -721,108 +760,126 @@
 msgid "Quit"
 msgstr "Quitter"
 
-#: ../Beremiz.py:429
+#: ../Beremiz.py:327
 msgid "Quit\tCTRL+Q"
 msgstr "Quitter\tCTRL+Q"
 
-#: ../ProjectController.py:1383
+#: ../ProjectController.py:1526
 msgid "Raw IEC code"
 msgstr "Ajout code IEC"
 
-#: ../Beremiz.py:1813
-msgid "Really delete confnode ?"
-msgstr "Voulez-vous réellement supprimer le plugin ?"
-
-#: ../util/discovery.py:102
+#: ../Beremiz.py:1037
+#, python-format
+msgid "Really delete node '%s'?"
+msgstr "Êtes-vous sûr de vouloir supprimer le noeud '%s' ?"
+
+#: ../util/discovery.py:105
 msgid "Refresh"
 msgstr "Actualiser"
 
-#: ../Beremiz.py:1813
-msgid "Remove confnode"
-msgstr ""
-
-#: ../canfestival/NetworkEditor.py:93
+#: ../Beremiz.py:1038
+#, python-format
+msgid "Remove %s node"
+msgstr "Enlever un noeud %s"
+
+#: ../util/FileManagementPanel.py:281
+msgid "Remove file from left folder"
+msgstr "Supprimer un fichier du dossier de gauche"
+
+#: ../canfestival/NetworkEditor.py:87
 msgid "Remove slave"
 msgstr "Enlever l'esclave"
 
-#: ../ProjectController.py:1354
+#: ../util/FileManagementPanel.py:399
+msgid "Replace File"
+msgstr "Remplacer un fichier"
+
+#: ../ProjectController.py:1494
 msgid "Run"
 msgstr "Exécuter"
 
-#: ../ProjectController.py:796
-#: ../ProjectController.py:805
+#: ../ProjectController.py:842
+#: ../ProjectController.py:851
 msgid "Runtime extensions C code generation failed !\n"
 msgstr "La génération du code des plugins a échoué !\n"
 
-#: ../canfestival/NetworkEditor.py:70
-#: ../canfestival/SlaveEditor.py:40
+#: ../canfestival/SlaveEditor.py:34
+#: ../canfestival/NetworkEditor.py:64
 msgid "SDO Client"
-msgstr ""
-
-#: ../canfestival/NetworkEditor.py:69
-#: ../canfestival/SlaveEditor.py:39
+msgstr "Client SDO"
+
+#: ../canfestival/SlaveEditor.py:33
+#: ../canfestival/NetworkEditor.py:63
 msgid "SDO Server"
-msgstr ""
+msgstr "Serveur SDO"
 
 #: ../svgui/svgui.py:92
 msgid "SVG files (*.svg)|*.svg|All files|*.*"
 msgstr "Fichiers SVG (*.svg)|*.svg|Tous les fichiers|*.*"
 
-#: ../features.py:9
+#: ../features.py:10
 msgid "SVGUI"
-msgstr ""
-
-#: ../Beremiz.py:445
+msgstr "SVGUI"
+
+#: ../Beremiz.py:342
 msgid "Save"
 msgstr "Enregistrer"
 
-#: ../Beremiz.py:410
+#: ../Beremiz.py:311
 msgid "Save\tCTRL+S"
 msgstr "Enregistrer\tCTRL+S"
 
-#: ../Beremiz.py:446
+#: ../Beremiz.py:343
 msgid "Save As..."
-msgstr ""
-
-#: ../Beremiz.py:412
+msgstr "Enregistrer sous..."
+
+#: ../Beremiz.py:313
 msgid "Save as\tCTRL+SHIFT+S"
 msgstr "Enregistrer sous...\tCTRL+SHIFT+S"
 
-#: ../util/discovery.py:81
+#: ../ProjectController.py:1014
+msgid "Select an editor:"
+msgstr "Sélectionner un éditeur :"
+
+#: ../util/discovery.py:84
 msgid "Services available:"
 msgstr "Services disponibles:"
 
-#: ../ProjectController.py:1380
+#: ../ProjectController.py:1520
 msgid "Show IEC code generated by PLCGenerator"
 msgstr "Afficher le code IEC généré par PLCGenerator"
 
-#: ../canfestival/canfestival.py:277
+#: ../canfestival/canfestival.py:288
 msgid "Show Master"
 msgstr "Afficher le maître"
 
-#: ../canfestival/canfestival.py:278
+#: ../canfestival/canfestival.py:289
 msgid "Show Master generated by config_utils"
 msgstr "Afficher le maître généré par config_utils"
 
-#: ../ProjectController.py:1378
+#: ../ProjectController.py:1518
 msgid "Show code"
 msgstr "Afficher le code"
 
-#: ../ProjectController.py:1356
 #: ../Beremiz_service.py:319
+#: ../ProjectController.py:1496
 msgid "Start PLC"
 msgstr "Démarrer l'automate"
 
-#: ../ProjectController.py:774
+#: ../ProjectController.py:820
 #, python-format
 msgid "Start build in %s\n"
 msgstr "Début de la compilation dans %s\n"
 
-#: ../ProjectController.py:1192
+#: ../ProjectController.py:1315
 msgid "Starting PLC\n"
 msgstr "Démarrer l'automate\n"
 
-#: ../ProjectController.py:1359
+#: ../Beremiz.py:401
+msgid "Status ToolBar"
+msgstr "Barre d'outils de statut"
+
+#: ../ProjectController.py:1499
 msgid "Stop"
 msgstr "Arrêter"
 
@@ -830,40 +887,44 @@
 msgid "Stop PLC"
 msgstr "Arrêter l'automate"
 
-#: ../ProjectController.py:1361
+#: ../ProjectController.py:1501
 msgid "Stop Running PLC"
 msgstr "Arrêter l'automate en cours d'exécution"
 
-#: ../ProjectController.py:1170
+#: ../ProjectController.py:1293
 msgid "Stopping debugger...\n"
 msgstr "Arrêt du débogage en cours\n"
 
-#: ../ProjectController.py:870
+#: ../ProjectController.py:916
 msgid "Successfully built.\n"
+msgstr "Compilé avec succès.\n"
+
+#: ../util/FileManagementPanel.py:398
+#, python-format
+msgid ""
+"The file '%s' already exist.\n"
+"Do you want to replace it?"
 msgstr ""
-
-#: ../Beremiz.py:661
+"Le fichier '%s' existe déjà.\n"
+"Voulez-vous le remplacer ?"
+
+#: ../Beremiz.py:553
 msgid "There are changes, do you want to save?"
 msgstr "Le projet a été modifié, voulez-vous l'enregistrer ?"
 
-#: ../Beremiz.py:507
-#: ../Beremiz.py:508
-msgid "Topology"
-msgstr "Topologie"
-
-#: ../ProjectController.py:1368
+#: ../ProjectController.py:1508
 msgid "Transfer"
 msgstr "Transférer"
 
-#: ../ProjectController.py:1370
+#: ../ProjectController.py:1510
 msgid "Transfer PLC"
 msgstr "Transférer l'automate"
 
-#: ../ProjectController.py:1335
+#: ../ProjectController.py:1475
 msgid "Transfer completed successfully.\n"
 msgstr "Transfert effectué avec succès.\n"
 
-#: ../ProjectController.py:1337
+#: ../ProjectController.py:1477
 msgid "Transfer failed\n"
 msgstr "Le transfert a échoué\n"
 
@@ -884,30 +945,35 @@
 msgid "Unable to get Xenomai's %s \n"
 msgstr "Unable to get Xenomai's %s \n"
 
-#: ../canfestival/NetworkEditor.py:74
-#: ../canfestival/SlaveEditor.py:44
+#: ../ProjectController.py:255
+msgid "Unknown"
+msgstr "Inconnu"
+
+#: ../ProjectController.py:252
+#: ../ProjectController.py:253
+msgid "Unnamed"
+msgstr "SansNom"
+
+#: ../canfestival/SlaveEditor.py:38
+#: ../canfestival/NetworkEditor.py:68
 msgid "User Type"
-msgstr ""
+msgstr "Type utilisateur"
 
 #: ../wxglade_hmi/wxglade_hmi.py:11
 msgid "WXGLADE GUI"
 msgstr "IHM WXGlade"
 
-#: ../ProjectController.py:1154
+#: ../ProjectController.py:1277
 msgid "Waiting debugger to recover...\n"
 msgstr "En attente de la mise en route du déboggueur...\n"
 
-#: ../ProjectController.py:471
+#: ../ProjectController.py:516
 msgid "Warnings in ST/IL/SFC code generator :\n"
 msgstr "Mises en garde du generateur de code ST/IL/SFC :\n"
 
-#: ../connectors/PYRO/__init__.py:46
-msgid "Wrong URI, please check it !\n"
-msgstr "URI inconnue, veuillez vérifier l'adresse !\n"
-
-#: ../features.py:8
+#: ../features.py:9
 msgid "WxGlade GUI"
-msgstr ""
+msgstr "Interface WxGlade"
 
 #: ../svgui/svgui.py:106
 msgid ""
@@ -925,7 +991,7 @@
 "Vous n'avez pas les permissions d'écriture.\n"
 "Ouvrir wxGlade tout de même ?"
 
-#: ../ProjectController.py:209
+#: ../ProjectController.py:221
 msgid ""
 "You must have permission to work on the project\n"
 "Work on a project copy ?"
@@ -933,25 +999,45 @@
 "Vous n'avez pas la permission de travailler sur le projet.\n"
 "Travailler sur une copie du projet ?"
 
-#: ../util/ProcessLogger.py:158
+#: ../util/ProcessLogger.py:161
 #, python-format
 msgid "exited with status %s (pid %s)\n"
 msgstr "a quitté avec le status %s (pid %s)\n"
 
-#: ../Beremiz.py:1834
-#: ../Beremiz.py:1836
-msgid "file : "
-msgstr "fichier :"
-
-#: ../Beremiz.py:1837
-msgid "function : "
-msgstr "fonction :"
-
-#: ../Beremiz.py:1837
-msgid "line : "
-msgstr "ligne :"
-
 #: Extra XSD strings
+msgid "CanFestivalSlaveNode"
+msgstr "Noeud esclave CanFestival"
+
+msgid "CAN_Device"
+msgstr "Port CAN"
+
+msgid "CAN_Baudrate"
+msgstr "Vitesse CAN"
+
+msgid "NodeId"
+msgstr "NodeId"
+
+msgid "Sync_Align"
+msgstr "Aligner sur synchro"
+
+msgid "Sync_Align_Ratio"
+msgstr "Rapport d'alignement"
+
+msgid "CanFestivalNode"
+msgstr "Noeud CanFestival"
+
+msgid "Sync_TPDOs"
+msgstr "TPDOs sur synchro"
+
+msgid "CanFestivalInstance"
+msgstr "Instance CanFestival"
+
+msgid "CAN_Driver"
+msgstr "Driver CAN"
+
+msgid "Debug_mode"
+msgstr "Mode de débogage"
+
 msgid "CExtension"
 msgstr "Extension C"
 
@@ -973,57 +1059,24 @@
 msgid "Enabled"
 msgstr "Actif"
 
+msgid "Linux"
+msgstr "Linux"
+
+msgid "Compiler"
+msgstr "Compileur"
+
+msgid "Linker"
+msgstr "Linkeur"
+
+msgid "Win32"
+msgstr "Win32"
+
 msgid "Xenomai"
 msgstr "Xenomai"
 
 msgid "XenoConfig"
 msgstr "Config Xenomai"
 
-msgid "Win32"
-msgstr "Win32"
-
-msgid "Linux"
-msgstr "Linux"
-
-msgid "Compiler"
-msgstr "Compileur"
-
-msgid "Linker"
-msgstr "Linkeur"
-
-msgid "CanFestivalSlaveNode"
-msgstr "Noeud esclave CanFestival"
-
-msgid "CAN_Device"
-msgstr "Port CAN"
-
-msgid "CAN_Baudrate"
-msgstr "Vitesse CAN"
-
-msgid "NodeId"
-msgstr "NodeId"
-
-msgid "Sync_Align"
-msgstr "Aligner sur synchro"
-
-msgid "Sync_Align_Ratio"
-msgstr "Rapport d'alignement"
-
-msgid "CanFestivalNode"
-msgstr "Noeud CanFestival"
-
-msgid "Sync_TPDOs"
-msgstr "TPDOs sur synchro"
-
-msgid "CanFestivalInstance"
-msgstr "Instance CanFestival"
-
-msgid "CAN_Driver"
-msgstr "Driver CAN"
-
-msgid "Debug_mode"
-msgstr "Mode de débogage"
-
 msgid "BeremizRoot"
 msgstr "Racine de Beremiz"
 
@@ -1031,7 +1084,7 @@
 msgstr "Type de cible"
 
 msgid "Libraries"
-msgstr ""
+msgstr "Librairies"
 
 msgid "URI_location"
 msgstr "Adresse URI"
@@ -1039,3 +1092,53 @@
 msgid "Disable_Extensions"
 msgstr "Disable_Extensions"
 
+#~ msgid "&Properties"
+#~ msgstr "&Propriétés"
+
+#~ msgid ",   "
+#~ msgstr ",   "
+
+#~ msgid ". "
+#~ msgstr ". "
+
+#~ msgid "Add a sub confnode"
+#~ msgstr "Add a sub confnode"
+
+#~ msgid "Append "
+#~ msgstr "Ajouter "
+
+#~ msgid "Delete this confnode"
+#~ msgstr "Supprimer ce plugin"
+
+#~ msgid "Edit CanOpen Network with NetworkEdit"
+#~ msgstr "Editer le réseau CANOpen à l'aide de NetworkEdit"
+
+#~ msgid "Edit Python File"
+#~ msgstr "Editer le fichier Python"
+
+#~ msgid "Edit network"
+#~ msgstr "Editer le réseau"
+
+#~ msgid "Enable/Disable this confnode"
+#~ msgstr "Activer/Désactiver le plugin"
+
+#~ msgid "Please enter a name for confnode:"
+#~ msgstr "Saisissez un nom pour le plugin :"
+
+#~ msgid "Project not created"
+#~ msgstr "Le projet n'a pu être créé"
+
+#~ msgid "Topology"
+#~ msgstr "Topologie"
+
+#~ msgid "Wrong URI, please check it !\n"
+#~ msgstr "URI inconnue, veuillez vérifier l'adresse !\n"
+
+#~ msgid "file : "
+#~ msgstr "fichier :"
+
+#~ msgid "function : "
+#~ msgstr "fonction :"
+
+#~ msgid "line : "
+#~ msgstr "ligne :"
--- a/i18n/app.fil	Sat Aug 25 14:49:15 2012 +0200
+++ b/i18n/app.fil	Sat Aug 25 14:50:48 2012 +0200
@@ -1,36 +1,40 @@
+../runtime/ServicePublisher.py
 ../runtime/PLCObject.py
-../runtime/ServicePublisher.py
-../c_ext/CFileEditor.py
-../c_ext/c_ext.py
-../features.py
+../canfestival/SlaveEditor.py
+../canfestival/config_utils.py
+../canfestival/canfestival.py
+../canfestival/NetworkEditor.py
+../tests/python/project_files/DirTreeCtrl.py
+../Beremiz_service.py
+../ProjectNodeEditor.py
+../ConfTreeNodeEditor.py
+../Beremiz.py
 ../svgui/svgui.py
 ../svgui/svgui_server.py
 ../svgui/svguilib.py
-../util/BrowseValuesLibraryDialog.py
-../util/TextCtrlAutoComplete.py
-../util/MiniTextControler.py
-../util/Zeroconf.py
-../util/discovery.py
-../util/misc.py
-../util/ProcessLogger.py
+../c_ext/CFileEditor.py
+../c_ext/c_ext.py
 ../ConfigTreeNode.py
+../wxglade_hmi/wxglade_hmi.py
+../connectors/__init__.py
+../connectors/PYRO/__init__.py
 ../targets/toolchain_gcc.py
 ../targets/__init__.py
+../targets/Linux/XSD
+../targets/XSD_toolchain_gcc
+../targets/Win32/XSD
 ../targets/Xenomai/__init__.py
 ../targets/Xenomai/XSD
-../targets/Win32/XSD
-../targets/Linux/XSD
-../targets/XSD_toolchain_gcc
-../canfestival/config_utils.py
-../canfestival/NetworkEditor.py
-../canfestival/canfestival.py
-../canfestival/SlaveEditor.py
+../features.py
+../ProjectController.py
+../POULibrary.py
+../util/ProcessLogger.py
+../util/BrowseValuesLibraryDialog.py
+../util/MiniTextControler.py
+../util/TextCtrlAutoComplete.py
+../util/discovery.py
+../util/FileManagementPanel.py
+../util/Zeroconf.py
+../util/misc.py
 ../py_ext/PythonFileCTNMixin.py
 ../py_ext/PythonEditor.py
-../Beremiz.py
-../wxglade_hmi/wxglade_hmi.py
-../ProjectController.py
-../POULibrary.py
-../connectors/PYRO/__init__.py
-../connectors/__init__.py
-../Beremiz_service.py
--- a/i18n/messages.pot	Sat Aug 25 14:49:15 2012 +0200
+++ b/i18n/messages.pot	Sat Aug 25 14:50:48 2012 +0200
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-05-20 18:25+0200\n"
+"POT-Creation-Date: 2012-08-24 18:28+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,7 +17,7 @@
 "Content-Type: text/plain; charset=CHARSET\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: ../Beremiz.py:1846
+#: ../Beremiz.py:1069
 #, python-format
 msgid ""
 "\n"
@@ -32,93 +32,82 @@
 "Traceback:\n"
 msgstr ""
 
-#: ../ProjectController.py:845
+#: ../ProjectController.py:891
 msgid " generation failed !\n"
 msgstr ""
 
-#: ../Beremiz.py:1739
+#: ../Beremiz.py:892
 #, python-format
 msgid "\"%s\" folder is not a valid Beremiz project\n"
 msgstr ""
 
-#: ../canfestival/NetworkEditor.py:78 ../canfestival/SlaveEditor.py:48
+#: ../canfestival/SlaveEditor.py:42 ../canfestival/NetworkEditor.py:72
 #, python-format
 msgid "%s Profile"
 msgstr ""
 
-#: ../Beremiz.py:394
-msgid "&ConfNode"
-msgstr ""
-
-#: ../Beremiz.py:426
-msgid "&Properties"
-msgstr ""
-
-#: ../Beremiz.py:407
+#: ../Beremiz.py:308
 msgid "&Recent Projects"
 msgstr ""
 
-#: ../Beremiz.py:1834 ../Beremiz.py:1836 ../Beremiz.py:1837
-msgid ",   "
-msgstr ""
-
-#: ../Beremiz.py:1832
-msgid ". "
-msgstr ""
-
-#: ../ProjectController.py:1146
+#: ../Beremiz.py:350
+msgid "&Resource"
+msgstr ""
+
+#: ../connectors/PYRO/__init__.py:51
+#, python-format
+msgid "'%s' is located at %s\n"
+msgstr ""
+
+#: ../ProjectController.py:1269
 msgid "... debugger recovered\n"
 msgstr ""
 
-#: ../ConfigTreeNode.py:369
-#, python-format
-msgid "A child names \"%s\" already exist -> \"%s\"\n"
-msgstr ""
-
-#: ../Beremiz.py:451
+#: ../ConfigTreeNode.py:371
+#, python-format
+msgid "A child named \"%s\" already exist -> \"%s\"\n"
+msgstr ""
+
+#: ../Beremiz.py:360
 msgid "About"
 msgstr ""
 
-#: ../Beremiz.py:1771
+#: ../Beremiz.py:929
 msgid "About Beremiz"
 msgstr ""
 
-#: ../canfestival/NetworkEditor.py:90 ../canfestival/SlaveEditor.py:60
+#: ../canfestival/SlaveEditor.py:54 ../canfestival/NetworkEditor.py:84
 msgid "Add"
 msgstr ""
 
-#: ../features.py:6
+#: ../features.py:7
 msgid "Add C code accessing located variables synchronously"
 msgstr ""
 
-#: ../Beremiz.py:1802
-msgid "Add ConfNode"
-msgstr ""
-
-#: ../features.py:7
+#: ../util/discovery.py:115
+msgid "Add IP"
+msgstr ""
+
+#: ../features.py:8
 msgid "Add Python code executed asynchronously"
 msgstr ""
 
-#: ../features.py:8
+#: ../features.py:9
 msgid "Add a simple WxGlade based GUI."
 msgstr ""
 
-#: ../Beremiz.py:886 ../Beremiz.py:1231
-msgid "Add a sub confnode"
-msgstr ""
-
-#: ../canfestival/NetworkEditor.py:92
+#: ../canfestival/NetworkEditor.py:86
 msgid "Add slave"
 msgstr ""
 
-#: ../ProjectController.py:1213
+#: ../util/FileManagementPanel.py:35
+msgid "All files (*.*)|*.*|CSV files (*.csv)|*.csv"
+msgstr ""
+
+#: ../ProjectController.py:1336
 msgid "Already connected. Please disconnect\n"
 msgstr ""
 
-#: ../Beremiz.py:1428
-msgid "Append "
-msgstr ""
-
 #: ../util/Zeroconf.py:599
 msgid "Bad domain name (circular) at "
 msgstr ""
@@ -132,36 +121,36 @@
 msgid "Bad location size : %s"
 msgstr ""
 
-#: ../Beremiz.py:592
+#: ../Beremiz.py:484
 msgid "Beremiz"
 msgstr ""
 
 #: ../util/BrowseValuesLibraryDialog.py:37
 #, python-format
-msgid "Browse %s library"
-msgstr ""
-
-#: ../ProjectController.py:1345
+msgid "Browse %s values library"
+msgstr ""
+
+#: ../ProjectController.py:1485
 msgid "Build"
 msgstr ""
 
-#: ../ProjectController.py:929
+#: ../ProjectController.py:1052
 msgid "Build directory already clean\n"
 msgstr ""
 
-#: ../ProjectController.py:1346
+#: ../ProjectController.py:1486
 msgid "Build project into build folder"
 msgstr ""
 
-#: ../ProjectController.py:865
+#: ../ProjectController.py:911
 msgid "C Build crashed !\n"
 msgstr ""
 
-#: ../ProjectController.py:862
+#: ../ProjectController.py:908
 msgid "C Build failed.\n"
 msgstr ""
 
-#: ../ProjectController.py:850
+#: ../ProjectController.py:896
 msgid "C code generated successfully.\n"
 msgstr ""
 
@@ -170,29 +159,29 @@
 msgid "C compilation of %s failed.\n"
 msgstr ""
 
+#: ../features.py:7
+msgid "C extension"
+msgstr ""
+
 #: ../features.py:6
-msgid "C extension"
-msgstr ""
-
-#: ../features.py:5
 msgid "CANopen support"
 msgstr ""
 
-#: ../ConfigTreeNode.py:460
+#: ../ConfigTreeNode.py:470
 #, python-format
 msgid "Cannot create child %s of type %s "
 msgstr ""
 
-#: ../ConfigTreeNode.py:398
+#: ../ConfigTreeNode.py:400
 #, python-format
 msgid "Cannot find lower free IEC channel than %d\n"
 msgstr ""
 
-#: ../connectors/PYRO/__init__.py:75
+#: ../connectors/PYRO/__init__.py:92
 msgid "Cannot get PLC status - connection failed.\n"
 msgstr ""
 
-#: ../ProjectController.py:671
+#: ../ProjectController.py:716
 msgid "Cannot open/parse VARIABLES.csv!\n"
 msgstr ""
 
@@ -217,119 +206,136 @@
 msgid "Change working directory"
 msgstr ""
 
-#: ../util/BrowseValuesLibraryDialog.py:42
-#, python-format
-msgid "Choose a %s:"
-msgstr ""
-
 #: ../svgui/svgui.py:92
 msgid "Choose a SVG file"
 msgstr ""
 
-#: ../ProjectController.py:311
+#: ../ProjectController.py:354
 msgid "Choose a directory to save project"
 msgstr ""
 
-#: ../Beremiz.py:1680 ../Beremiz.py:1713
+#: ../canfestival/canfestival.py:118
+msgid "Choose a file"
+msgstr ""
+
+#: ../Beremiz.py:829 ../Beremiz.py:864
 msgid "Choose a project"
 msgstr ""
 
+#: ../util/BrowseValuesLibraryDialog.py:42
+#, python-format
+msgid "Choose a value for %s:"
+msgstr ""
+
 #: ../Beremiz_service.py:373
 msgid "Choose a working directory "
 msgstr ""
 
-#: ../ProjectController.py:265
+#: ../ProjectController.py:282
 msgid "Chosen folder doesn't contain a program. It's not a valid project!"
 msgstr ""
 
-#: ../ProjectController.py:230
+#: ../ProjectController.py:248
 msgid "Chosen folder isn't empty. You can't use it for a new project!"
 msgstr ""
 
-#: ../ProjectController.py:1349
+#: ../ProjectController.py:1489
 msgid "Clean"
 msgstr ""
 
-#: ../ProjectController.py:1351
+#: ../ProjectController.py:1491
 msgid "Clean project build folder"
 msgstr ""
 
-#: ../ProjectController.py:926
+#: ../ProjectController.py:1049
 msgid "Cleaning the build directory\n"
 msgstr ""
 
-#: ../Beremiz.py:698
+#: ../Beremiz.py:596
 msgid "Close Application"
 msgstr ""
 
-#: ../Beremiz.py:658
+#: ../Beremiz.py:550
 msgid "Close Project"
 msgstr ""
 
-#: ../Beremiz.py:416
+#: ../Beremiz.py:317
 msgid "Close Project\tCTRL+SHIFT+W"
 msgstr ""
 
-#: ../Beremiz.py:414
+#: ../Beremiz.py:315
 msgid "Close Tab\tCTRL+W"
 msgstr ""
 
-#: ../ProjectController.py:494
+#: ../ProjectController.py:539
 msgid "Compiling IEC Program into C code...\n"
 msgstr ""
 
-#: ../ProjectController.py:1364
+#: ../ProjectController.py:1504
 msgid "Connect"
 msgstr ""
 
-#: ../ProjectController.py:1365
+#: ../ProjectController.py:1505
 msgid "Connect to the target PLC"
 msgstr ""
 
-#: ../connectors/PYRO/__init__.py:38
+#: ../connectors/PYRO/__init__.py:40
 #, python-format
 msgid "Connecting to URI : %s\n"
 msgstr ""
 
-#: ../ProjectController.py:1232
+#: ../ProjectController.py:1360
 msgid "Connection canceled!\n"
 msgstr ""
 
-#: ../ProjectController.py:1249
+#: ../ProjectController.py:1385
 #, python-format
 msgid "Connection failed to %s!\n"
 msgstr ""
 
-#: ../ConfigTreeNode.py:572
+#: ../connectors/PYRO/__init__.py:63
+#, python-format
+msgid "Connection to '%s' failed.\n"
+msgstr ""
+
+#: ../util/FileManagementPanel.py:283
+msgid "Copy file from left folder to right"
+msgstr ""
+
+#: ../util/FileManagementPanel.py:282
+msgid "Copy file from right folder to left"
+msgstr ""
+
+#: ../ConfigTreeNode.py:582
 #, python-format
 msgid ""
 "Could not add child \"%s\", type %s :\n"
 "%s\n"
 msgstr ""
 
-#: ../ConfigTreeNode.py:549
+#: ../ConfigTreeNode.py:559
 #, python-format
 msgid ""
 "Couldn't load confnode base parameters %s :\n"
 " %s"
 msgstr ""
 
-#: ../ConfigTreeNode.py:560
+#: ../ConfigTreeNode.py:570
 #, python-format
 msgid ""
 "Couldn't load confnode parameters %s :\n"
 " %s"
 msgstr ""
 
-#: ../ProjectController.py:1195
+#: ../ProjectController.py:1318
 msgid "Couldn't start PLC !\n"
 msgstr ""
 
-#: ../ProjectController.py:1203
+#: ../ProjectController.py:1326
 msgid "Couldn't stop PLC !\n"
 msgstr ""
 
-#: ../ProjectController.py:1173
+#: ../ProjectController.py:1296
 msgid "Couldn't stop debugger.\n"
 msgstr ""
 
@@ -337,78 +343,79 @@
 msgid "Create HMI"
 msgstr ""
 
-#: ../canfestival/NetworkEditor.py:86 ../canfestival/SlaveEditor.py:56
+#: ../canfestival/SlaveEditor.py:50 ../canfestival/NetworkEditor.py:80
 msgid "DS-301 Profile"
 msgstr ""
 
-#: ../canfestival/NetworkEditor.py:87 ../canfestival/SlaveEditor.py:57
+#: ../canfestival/SlaveEditor.py:51 ../canfestival/NetworkEditor.py:81
 msgid "DS-302 Profile"
 msgstr ""
 
-#: ../ProjectController.py:1000
-#, python-format
-msgid "Debug : Unknown variable %s\n"
-msgstr ""
-
-#: ../ProjectController.py:998
-#, python-format
-msgid "Debug : Unsuppoted type to debug %s\n"
-msgstr ""
-
-#: ../ProjectController.py:1270
+#: ../ProjectController.py:1406
 msgid "Debug connect matching running PLC\n"
 msgstr ""
 
-#: ../ProjectController.py:1273
+#: ../ProjectController.py:1409
 msgid "Debug do not match PLC - stop/transfert/start to re-enable\n"
 msgstr ""
 
-#: ../ProjectController.py:1163
+#: ../ProjectController.py:1123
+#, python-format
+msgid "Debug: Unknown variable '%s'\n"
+msgstr ""
+
+#: ../ProjectController.py:1121
+#, python-format
+msgid "Debug: Unsupported type to debug '%s'\n"
+msgstr ""
+
+#: ../ProjectController.py:1286
 msgid "Debugger disabled\n"
 msgstr ""
 
-#: ../ProjectController.py:1175
+#: ../ProjectController.py:1298
 msgid "Debugger stopped.\n"
 msgstr ""
 
-#: ../Beremiz.py:1222
-msgid "Delete this confnode"
-msgstr ""
-
-#: ../ProjectController.py:1373
+#: ../Beremiz.py:956
+msgid "Delete"
+msgstr ""
+
+#: ../util/FileManagementPanel.py:371
+msgid "Delete File"
+msgstr ""
+
+#: ../ProjectController.py:1513
 msgid "Disconnect"
 msgstr ""
 
-#: ../ProjectController.py:1375
+#: ../ProjectController.py:1515
 msgid "Disconnect from PLC"
 msgstr ""
 
-#: ../c_ext/c_ext.py:143 ../c_ext/c_ext.py:144
-msgid "Edit C File"
-msgstr ""
-
-#: ../canfestival/canfestival.py:274
-msgid "Edit CanOpen Network with NetworkEdit"
-msgstr ""
-
-#: ../py_ext/PythonFileCTNMixin.py:19 ../py_ext/PythonFileCTNMixin.py:20
-msgid "Edit Python File"
+#: ../util/FileManagementPanel.py:370
+#, python-format
+msgid "Do you really want to delete the file '%s'?"
+msgstr ""
+
+#: ../canfestival/canfestival.py:118
+msgid "EDS files (*.eds)|*.eds|All files|*.*"
 msgstr ""
 
 #: ../wxglade_hmi/wxglade_hmi.py:12
 msgid "Edit a WxWidgets GUI with WXGlade"
 msgstr ""
 
-#: ../canfestival/canfestival.py:273
-msgid "Edit network"
-msgstr ""
-
-#: ../ProjectController.py:1384
+#: ../util/FileManagementPanel.py:284
+msgid "Edit file"
+msgstr ""
+
+#: ../ProjectController.py:1527
 msgid "Edit raw IEC code added to code generated by PLCGenerator"
 msgstr ""
 
-#: ../Beremiz.py:948
-msgid "Enable/Disable this confnode"
+#: ../ProjectController.py:1014
+msgid "Editor selection"
 msgstr ""
 
 #: ../Beremiz_service.py:380
@@ -423,71 +430,92 @@
 msgid "Enter the IP of the interface to bind"
 msgstr ""
 
-#: ../util/BrowseValuesLibraryDialog.py:83 ../Beremiz.py:1858
-#: ../ProjectController.py:210 ../Beremiz_service.py:270
-#: ../Beremiz_service.py:394
+#: ../Beremiz_service.py:270 ../Beremiz_service.py:394 ../Beremiz.py:1081
+#: ../ProjectController.py:222 ../util/BrowseValuesLibraryDialog.py:83
+#: ../util/FileManagementPanel.py:210
 msgid "Error"
 msgstr ""
 
-#: ../ProjectController.py:543
+#: ../ProjectController.py:588
 msgid "Error : At least one configuration and one resource must be declared in PLC !\n"
 msgstr ""
 
-#: ../ProjectController.py:535
+#: ../ProjectController.py:580
 #, python-format
 msgid "Error : IEC to C compiler returned %d\n"
 msgstr ""
 
-#: ../ProjectController.py:476
+#: ../ProjectController.py:521
 #, python-format
 msgid ""
 "Error in ST/IL/SFC code generator :\n"
 "%s\n"
 msgstr ""
 
-#: ../ConfigTreeNode.py:180
+#: ../ConfigTreeNode.py:182
 #, python-format
 msgid "Error while saving \"%s\"\n"
 msgstr ""
 
-#: ../canfestival/canfestival.py:255
+#: ../canfestival/canfestival.py:122
+msgid "Error: Export slave failed\n"
+msgstr ""
+
+#: ../canfestival/canfestival.py:270
 msgid "Error: No Master generated\n"
 msgstr ""
 
-#: ../canfestival/canfestival.py:250
+#: ../canfestival/canfestival.py:265
 msgid "Error: No PLC built\n"
 msgstr ""
 
-#: ../ProjectController.py:1243
+#: ../ProjectController.py:1379
 #, python-format
 msgid "Exception while connecting %s!\n"
 msgstr ""
 
-#: ../features.py:9
+#: ../features.py:10
 msgid "Experimental web based HMI"
 msgstr ""
 
-#: ../ProjectController.py:547
+#: ../canfestival/canfestival.py:128
+msgid "Export CanOpen slave to EDS file"
+msgstr ""
+
+#: ../canfestival/canfestival.py:127
+msgid "Export slave"
+msgstr ""
+
+#: ../ProjectController.py:592
 msgid "Extracting Located Variables...\n"
 msgstr ""
 
-#: ../ProjectController.py:1310
+#: ../ProjectController.py:1446
 msgid "Failed : Must build before transfer.\n"
 msgstr ""
 
-#: ../ProjectController.py:855
+#: ../ProjectController.py:901
 msgid "Fatal : cannot get builder.\n"
 msgstr ""
 
-#: ../connectors/PYRO/__init__.py:108
+#: ../util/FileManagementPanel.py:209
+#, python-format
+msgid "File '%s' already exists!"
+msgstr ""
+
+#: ../connectors/PYRO/__init__.py:125
 msgid "Force runtime reload\n"
 msgstr ""
 
-#: ../ProjectController.py:466
+#: ../ProjectController.py:511
 msgid "Generating SoftPLC IEC-61131 ST/IL/SFC code...\n"
 msgstr ""
 
-#: ../ProjectController.py:782
+#: ../util/FileManagementPanel.py:303
+msgid "Home Directory:"
+msgstr ""
+
+#: ../ProjectController.py:828
 msgid "IEC-61131-3 code generation failed !\n"
 msgstr ""
 
@@ -508,7 +536,7 @@
 msgid "Invalid type \"%s\"-> %d != %d  for location\"%s\""
 msgstr ""
 
-#: ../ProjectController.py:1316
+#: ../ProjectController.py:1452
 msgid "Latest build already matches current target. Transfering anyway...\n"
 msgstr ""
 
@@ -524,44 +552,57 @@
 msgid "Linking :\n"
 msgstr ""
 
-#: ../util/discovery.py:107
+#: ../util/discovery.py:110
 msgid "Local"
 msgstr ""
 
-#: ../Beremiz.py:514
+#: ../ProjectController.py:1354
+msgid "Local service discovery failed!\n"
+msgstr ""
+
+#: ../Beremiz.py:391
 msgid "Log Console"
 msgstr ""
 
-#: ../canfestival/NetworkEditor.py:73 ../canfestival/SlaveEditor.py:43
+#: ../connectors/PYRO/__init__.py:55
+#, python-format
+msgid "MDNS resolution failure for '%s'\n"
+msgstr ""
+
+#: ../canfestival/SlaveEditor.py:37 ../canfestival/NetworkEditor.py:67
 msgid "Map Variable"
 msgstr ""
 
-#: ../features.py:5
+#: ../features.py:6
 msgid "Map located variables over CANopen"
 msgstr ""
 
-#: ../canfestival/NetworkEditor.py:95
+#: ../canfestival/NetworkEditor.py:89
 msgid "Master"
 msgstr ""
 
-#: ../ConfigTreeNode.py:470
+#: ../ConfigTreeNode.py:480
 #, python-format
 msgid "Max count (%d) reached for this confnode of type %s "
 msgstr ""
 
+#: ../util/FileManagementPanel.py:301
+msgid "My Computer:"
+msgstr ""
+
 #: ../Beremiz_service.py:381
 msgid "Name must not be null!"
 msgstr ""
 
-#: ../Beremiz.py:443
+#: ../Beremiz.py:340
 msgid "New"
 msgstr ""
 
-#: ../Beremiz.py:404
+#: ../Beremiz.py:305
 msgid "New\tCTRL+N"
 msgstr ""
 
-#: ../ProjectController.py:1339
+#: ../ProjectController.py:1479
 msgid "No PLC to transfer (did build succeed ?)\n"
 msgstr ""
 
@@ -588,7 +629,7 @@
 msgid "No valid value selected!"
 msgstr ""
 
-#: ../canfestival/NetworkEditor.py:85 ../canfestival/SlaveEditor.py:55
+#: ../canfestival/SlaveEditor.py:49 ../canfestival/NetworkEditor.py:79
 msgid "Node infos"
 msgstr ""
 
@@ -602,11 +643,11 @@
 msgid "Not PDO mappable variable : '%s' (ID:%d,Idx:%x,sIdx:%x))"
 msgstr ""
 
-#: ../Beremiz.py:444
+#: ../Beremiz.py:341
 msgid "Open"
 msgstr ""
 
-#: ../Beremiz.py:406
+#: ../Beremiz.py:307
 msgid "Open\tCTRL+O"
 msgstr ""
 
@@ -614,19 +655,23 @@
 msgid "Open Inkscape"
 msgstr ""
 
+#: ../ProjectController.py:1531
+msgid "Open a file explorer to manage project files"
+msgstr ""
+
 #: ../wxglade_hmi/wxglade_hmi.py:109
 msgid "Open wxGlade"
 msgstr ""
 
-#: ../canfestival/NetworkEditor.py:83 ../canfestival/SlaveEditor.py:53
+#: ../canfestival/SlaveEditor.py:47 ../canfestival/NetworkEditor.py:77
 msgid "Other Profile"
 msgstr ""
 
-#: ../canfestival/NetworkEditor.py:72 ../canfestival/SlaveEditor.py:42
+#: ../canfestival/SlaveEditor.py:36 ../canfestival/NetworkEditor.py:66
 msgid "PDO Receive"
 msgstr ""
 
-#: ../canfestival/NetworkEditor.py:71 ../canfestival/SlaveEditor.py:41
+#: ../canfestival/SlaveEditor.py:35 ../canfestival/NetworkEditor.py:65
 msgid "PDO Transmit"
 msgstr ""
 
@@ -634,19 +679,15 @@
 msgid "PLC :\n"
 msgstr ""
 
-#: ../ProjectController.py:974 ../ProjectController.py:1263
+#: ../ProjectController.py:1097 ../ProjectController.py:1399
 #, python-format
 msgid "PLC is %s\n"
 msgstr ""
 
-#: ../Beremiz.py:419
+#: ../Beremiz.py:320
 msgid "Page Setup\tCTRL+ALT+P"
 msgstr ""
 
-#: ../Beremiz.py:1802
-msgid "Please enter a name for confnode:"
-msgstr ""
-
 #: ../Beremiz_service.py:366
 msgid "Port number must be 0 <= port <= 65535!"
 msgstr ""
@@ -655,28 +696,28 @@
 msgid "Port number must be an integer!"
 msgstr ""
 
-#: ../Beremiz.py:421
+#: ../Beremiz.py:322
 msgid "Preview\tCTRL+SHIFT+P"
 msgstr ""
 
-#: ../Beremiz.py:447
+#: ../Beremiz.py:344
 msgid "Print"
 msgstr ""
 
-#: ../Beremiz.py:423
+#: ../Beremiz.py:324
 msgid "Print\tCTRL+P"
 msgstr ""
 
-#: ../ProjectController.py:239
-msgid "Project not created"
-msgstr ""
-
-#: ../ConfigTreeNode.py:496
+#: ../ProjectController.py:1530
+msgid "Project Files"
+msgstr ""
+
+#: ../ConfigTreeNode.py:506
 #, python-format
 msgid "Project tree layout do not match confnode.xml %s!=%s "
 msgstr ""
 
-#: ../features.py:7
+#: ../features.py:8
 msgid "Python file"
 msgstr ""
 
@@ -684,43 +725,53 @@
 msgid "Quit"
 msgstr ""
 
-#: ../Beremiz.py:429
+#: ../Beremiz.py:327
 msgid "Quit\tCTRL+Q"
 msgstr ""
 
-#: ../ProjectController.py:1383
+#: ../ProjectController.py:1526
 msgid "Raw IEC code"
 msgstr ""
 
-#: ../Beremiz.py:1813
-msgid "Really delete confnode ?"
-msgstr ""
-
-#: ../util/discovery.py:102
+#: ../Beremiz.py:1037
+#, python-format
+msgid "Really delete node '%s'?"
+msgstr ""
+
+#: ../util/discovery.py:105
 msgid "Refresh"
 msgstr ""
 
-#: ../Beremiz.py:1813
-msgid "Remove confnode"
-msgstr ""
-
-#: ../canfestival/NetworkEditor.py:93
+#: ../Beremiz.py:1038
+#, python-format
+msgid "Remove %s node"
+msgstr ""
+
+#: ../util/FileManagementPanel.py:281
+msgid "Remove file from left folder"
+msgstr ""
+
+#: ../canfestival/NetworkEditor.py:87
 msgid "Remove slave"
 msgstr ""
 
-#: ../ProjectController.py:1354
+#: ../util/FileManagementPanel.py:399
+msgid "Replace File"
+msgstr ""
+
+#: ../ProjectController.py:1494
 msgid "Run"
 msgstr ""
 
-#: ../ProjectController.py:796 ../ProjectController.py:805
+#: ../ProjectController.py:842 ../ProjectController.py:851
 msgid "Runtime extensions C code generation failed !\n"
 msgstr ""
 
-#: ../canfestival/NetworkEditor.py:70 ../canfestival/SlaveEditor.py:40
+#: ../canfestival/SlaveEditor.py:34 ../canfestival/NetworkEditor.py:64
 msgid "SDO Client"
 msgstr ""
 
-#: ../canfestival/NetworkEditor.py:69 ../canfestival/SlaveEditor.py:39
+#: ../canfestival/SlaveEditor.py:33 ../canfestival/NetworkEditor.py:63
 msgid "SDO Server"
 msgstr ""
 
@@ -728,60 +779,68 @@
 msgid "SVG files (*.svg)|*.svg|All files|*.*"
 msgstr ""
 
-#: ../features.py:9
+#: ../features.py:10
 msgid "SVGUI"
 msgstr ""
 
-#: ../Beremiz.py:445
+#: ../Beremiz.py:342
 msgid "Save"
 msgstr ""
 
-#: ../Beremiz.py:410
+#: ../Beremiz.py:311
 msgid "Save\tCTRL+S"
 msgstr ""
 
-#: ../Beremiz.py:446
+#: ../Beremiz.py:343
 msgid "Save As..."
 msgstr ""
 
-#: ../Beremiz.py:412
+#: ../Beremiz.py:313
 msgid "Save as\tCTRL+SHIFT+S"
 msgstr ""
 
-#: ../util/discovery.py:81
+#: ../ProjectController.py:1014
+msgid "Select an editor:"
+msgstr ""
+
+#: ../util/discovery.py:84
 msgid "Services available:"
 msgstr ""
 
-#: ../ProjectController.py:1380
+#: ../ProjectController.py:1520
 msgid "Show IEC code generated by PLCGenerator"
 msgstr ""
 
-#: ../canfestival/canfestival.py:277
+#: ../canfestival/canfestival.py:288
 msgid "Show Master"
 msgstr ""
 
-#: ../canfestival/canfestival.py:278
+#: ../canfestival/canfestival.py:289
 msgid "Show Master generated by config_utils"
 msgstr ""
 
-#: ../ProjectController.py:1378
+#: ../ProjectController.py:1518
 msgid "Show code"
 msgstr ""
 
-#: ../ProjectController.py:1356 ../Beremiz_service.py:319
+#: ../Beremiz_service.py:319 ../ProjectController.py:1496
 msgid "Start PLC"
 msgstr ""
 
-#: ../ProjectController.py:774
+#: ../ProjectController.py:820
 #, python-format
 msgid "Start build in %s\n"
 msgstr ""
 
-#: ../ProjectController.py:1192
+#: ../ProjectController.py:1315
 msgid "Starting PLC\n"
 msgstr ""
 
-#: ../ProjectController.py:1359
+#: ../Beremiz.py:401
+msgid "Status ToolBar"
+msgstr ""
+
+#: ../ProjectController.py:1499
 msgid "Stop"
 msgstr ""
 
@@ -789,39 +848,42 @@
 msgid "Stop PLC"
 msgstr ""
 
-#: ../ProjectController.py:1361
+#: ../ProjectController.py:1501
 msgid "Stop Running PLC"
 msgstr ""
 
-#: ../ProjectController.py:1170
+#: ../ProjectController.py:1293
 msgid "Stopping debugger...\n"
 msgstr ""
 
-#: ../ProjectController.py:870
+#: ../ProjectController.py:916
 msgid "Successfully built.\n"
 msgstr ""
 
-#: ../Beremiz.py:661
+#: ../util/FileManagementPanel.py:398
+#, python-format
+msgid ""
+"The file '%s' already exist.\n"
+"Do you want to replace it?"
+msgstr ""
+
+#: ../Beremiz.py:553
 msgid "There are changes, do you want to save?"
 msgstr ""
 
-#: ../Beremiz.py:507 ../Beremiz.py:508
-msgid "Topology"
-msgstr ""
-
-#: ../ProjectController.py:1368
+#: ../ProjectController.py:1508
 msgid "Transfer"
 msgstr ""
 
-#: ../ProjectController.py:1370
+#: ../ProjectController.py:1510
 msgid "Transfer PLC"
 msgstr ""
 
-#: ../ProjectController.py:1335
+#: ../ProjectController.py:1475
 msgid "Transfer completed successfully.\n"
 msgstr ""
 
-#: ../ProjectController.py:1337
+#: ../ProjectController.py:1477
 msgid "Transfer failed\n"
 msgstr ""
 
@@ -840,7 +902,15 @@
 msgid "Unable to get Xenomai's %s \n"
 msgstr ""
 
-#: ../canfestival/NetworkEditor.py:74 ../canfestival/SlaveEditor.py:44
+#: ../ProjectController.py:255
+msgid "Unknown"
+msgstr ""
+
+#: ../ProjectController.py:252 ../ProjectController.py:253
+msgid "Unnamed"
+msgstr ""
+
+#: ../canfestival/SlaveEditor.py:38 ../canfestival/NetworkEditor.py:68
 msgid "User Type"
 msgstr ""
 
@@ -848,19 +918,15 @@
 msgid "WXGLADE GUI"
 msgstr ""
 
-#: ../ProjectController.py:1154
+#: ../ProjectController.py:1277
 msgid "Waiting debugger to recover...\n"
 msgstr ""
 
-#: ../ProjectController.py:471
+#: ../ProjectController.py:516
 msgid "Warnings in ST/IL/SFC code generator :\n"
 msgstr ""
 
-#: ../connectors/PYRO/__init__.py:46
-msgid "Wrong URI, please check it !\n"
-msgstr ""
-
-#: ../features.py:8
+#: ../features.py:9
 msgid "WxGlade GUI"
 msgstr ""
 
@@ -876,31 +942,52 @@
 "Open wxGlade anyway ?"
 msgstr ""
 
-#: ../ProjectController.py:209
+#: ../ProjectController.py:221
 msgid ""
 "You must have permission to work on the project\n"
 "Work on a project copy ?"
 msgstr ""
 
-#: ../util/ProcessLogger.py:158
+#: ../util/ProcessLogger.py:161
 #, python-format
 msgid "exited with status %s (pid %s)\n"
 msgstr ""
 
-#: ../Beremiz.py:1834 ../Beremiz.py:1836
-msgid "file : "
-msgstr ""
-
-#: ../Beremiz.py:1837
-msgid "function : "
-msgstr ""
-
-#: ../Beremiz.py:1837
-msgid "line : "
-msgstr ""
-
 #: Extra XSD strings
 
+msgid "CanFestivalSlaveNode"
+msgstr ""
+
+msgid "CAN_Device"
+msgstr ""
+
+msgid "CAN_Baudrate"
+msgstr ""
+
+msgid "NodeId"
+msgstr ""
+
+msgid "Sync_Align"
+msgstr ""
+
+msgid "Sync_Align_Ratio"
+msgstr ""
+
+msgid "CanFestivalNode"
+msgstr ""
+
+msgid "Sync_TPDOs"
+msgstr ""
+
+msgid "CanFestivalInstance"
+msgstr ""
+
+msgid "CAN_Driver"
+msgstr ""
+
+msgid "Debug_mode"
+msgstr ""
+
 msgid "CExtension"
 msgstr ""
 
@@ -922,57 +1009,24 @@
 msgid "Enabled"
 msgstr ""
 
+msgid "Linux"
+msgstr ""
+
+msgid "Compiler"
+msgstr ""
+
+msgid "Linker"
+msgstr ""
+
+msgid "Win32"
+msgstr ""
+
 msgid "Xenomai"
 msgstr ""
 
 msgid "XenoConfig"
 msgstr ""
 
-msgid "Win32"
-msgstr ""
-
-msgid "Linux"
-msgstr ""
-
-msgid "Compiler"
-msgstr ""
-
-msgid "Linker"
-msgstr ""
-
-msgid "CanFestivalSlaveNode"
-msgstr ""
-
-msgid "CAN_Device"
-msgstr ""
-
-msgid "CAN_Baudrate"
-msgstr ""
-
-msgid "NodeId"
-msgstr ""
-
-msgid "Sync_Align"
-msgstr ""
-
-msgid "Sync_Align_Ratio"
-msgstr ""
-
-msgid "CanFestivalNode"
-msgstr ""
-
-msgid "Sync_TPDOs"
-msgstr ""
-
-msgid "CanFestivalInstance"
-msgstr ""
-
-msgid "CAN_Driver"
-msgstr ""
-
-msgid "Debug_mode"
-msgstr ""
-
 msgid "BeremizRoot"
 msgstr ""
 
Binary file locale/fr_FR/LC_MESSAGES/Beremiz.mo has changed
--- a/util/BrowseValuesLibraryDialog.py	Sat Aug 25 14:49:15 2012 +0200
+++ b/util/BrowseValuesLibraryDialog.py	Sat Aug 25 14:50:48 2012 +0200
@@ -27,19 +27,19 @@
 
 class BrowseValuesLibraryDialog(wx.Dialog):
     """
-    Modal dialog that helps in selecting predefined XML attributes sets out of hierarchicaly organized list
+    Modal dialog that helps in selecting predefined XML attributes sets out of hierarchically organized list
     """    
 
     def __init__(self, parent, name, library, default=None):
         wx.Dialog.__init__(self,
               name='BrowseValueDialog', parent=parent,
               size=wx.Size(600, 400), style=wx.DEFAULT_DIALOG_STYLE|wx.RESIZE_BORDER,
-              title=_('Browse %s library') % name)
+              title=_('Browse %s values library') % name)
 
         self.SetClientSize(wx.Size(600, 400))
 
         self.staticText1 = wx.StaticText(
-              label=_('Choose a %s:') % name, name='staticText1', parent=self,
+              label=_('Choose a value for %s:') % name, name='staticText1', parent=self,
               pos=wx.Point(0, 0), size=wx.DefaultSize, style=0)
         
         self.ValuesLibrary = wx.TreeCtrl(
--- a/util/FileManagementPanel.py	Sat Aug 25 14:49:15 2012 +0200
+++ b/util/FileManagementPanel.py	Sat Aug 25 14:50:48 2012 +0200
@@ -280,7 +280,7 @@
         for idx, (name, bitmap, help) in enumerate([
                 ("DeleteButton", "remove_element", _("Remove file from left folder")),
                 ("LeftCopyButton", "LeftCopy", _("Copy file from right folder to left")),
-                ("RightCopyButton", "RightCopy", _("copy file from left folder to right")),
+                ("RightCopyButton", "RightCopy", _("Copy file from left folder to right")),
                 ("EditButton", "edit", _("Edit file"))]):
             button = wx.lib.buttons.GenBitmapButton(self.Editor, 
                   bitmap=GetBitmap(bitmap),