improved english spelling and grammar and internationalization updated
authorlaurent
Fri, 09 Oct 2009 17:38:17 +0200
changeset 415 339fa2542481
parent 414 6f54c173aa19
child 416 3b3f7f5a8e40
improved english spelling and grammar and internationalization updated
Beremiz_service.py
i18n/Beremiz_fr_FR.po
i18n/Beremiz_zh_CN.po
i18n/app.fil
i18n/messages.pot
locale/fr_FR/LC_MESSAGES/Beremiz.mo
locale/zh_CN/LC_MESSAGES/Beremiz.mo
plugger.py
plugins/canfestival/config_utils.py
plugins/python/PythonEditor.py
plugins/python/modules/svgui/svgui.py
--- a/Beremiz_service.py	Thu Oct 08 16:37:58 2009 +0200
+++ b/Beremiz_service.py	Fri Oct 09 17:38:17 2009 +0200
@@ -350,9 +350,9 @@
                 evt.Skip()
             
             def OnTaskBarChangeInterface(self, evt):
-                dlg = ParamsEntryDialog(None, _("Enter the ip of the interface to bind"), defaultValue=self.pyroserver.ip)
-                dlg.SetTests([(re.compile('\d{1,3}(?:\.\d{1,3}){3}$').match, _("Ip is not valid!")),
-                               ( lambda ip :len([x for x in ip.split(".") if 0 <= int(x) <= 255]) == 4, _("Ip is not valid!"))
+                dlg = ParamsEntryDialog(None, _("Enter the IP of the interface to bind"), defaultValue=self.pyroserver.ip)
+                dlg.SetTests([(re.compile('\d{1,3}(?:\.\d{1,3}){3}$').match, _("IP is not valid!")),
+                               ( lambda ip :len([x for x in ip.split(".") if 0 <= int(x) <= 255]) == 4, _("IP is not valid!"))
                                ])
                 if dlg.ShowModal() == wx.ID_OK:
                     self.pyroserver.ip = dlg.GetValue()
@@ -389,7 +389,7 @@
                     frame = py.crust.CrustFrame(locals=self.pyroserver.plcobj.python_threads_vars)
                     frame.Show()
                 else:
-                    wx.MessageBox(_("No runnning PLC"), _("Error"))
+                    wx.MessageBox(_("No running PLC"), _("Error"))
                 evt.Skip()
             
             def OnTaskBarWXInspector(self, evt):
--- a/i18n/Beremiz_fr_FR.po	Thu Oct 08 16:37:58 2009 +0200
+++ b/i18n/Beremiz_fr_FR.po	Fri Oct 09 17:38:17 2009 +0200
@@ -7,15 +7,15 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-06-24 18:44+0200\n"
-"PO-Revision-Date: 2009-07-02 18:53+0100\n"
+"POT-Creation-Date: 2009-10-09 16:27+0200\n"
+"PO-Revision-Date: 2009-10-09 16:30+0100\n"
 "Last-Translator: \n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: Beremiz.py:1429
+#: ../Beremiz.py:1432
 #, python-format
 msgid ""
 "\n"
@@ -44,235 +44,239 @@
 "\n"
 "Origine :\n"
 
-#: plugger.py:1332
+#: ../plugger.py:1370
 msgid " generation failed !\n"
 msgstr ": la construction a échouée !\n"
 
-#: Beremiz.py:1288
+#: ../Beremiz.py:1332
 #, python-format
 msgid "\"%s\" folder is not a valid Beremiz project\n"
 msgstr "Le dossier \"%s\" ne contient pas de projet Beremiz valide\n"
 
-#: Beremiz_service.py:467
-#: runtime/PLCObject.py:269
-msgid "#EXCEPTION : "
-msgstr "#EXCEPTION : "
-
-#: Beremiz.py:1417
-#: Beremiz.py:1419
-#: Beremiz.py:1420
+#: ../plugins/python/PythonEditor.py:500
+msgid "&Edit"
+msgstr "&Editer"
+
+#: ../Beremiz.py:1420
+#: ../Beremiz.py:1422
+#: ../Beremiz.py:1423
 msgid ",   "
 msgstr ",   "
 
-#: Beremiz.py:1415
+#: ../Beremiz.py:1418
 msgid ". "
 msgstr ". "
 
-#: plugger.py:395
+#: ../plugger.py:432
 #, python-format
 msgid "A child names \"%s\" already exist -> \"%s\"\n"
 msgstr ""
 
-#: plugger.py:427
+#: ../plugger.py:464
 #, python-format
 msgid "A child with IEC channel %d already exist -> %d\n"
 msgstr ""
 
-#: Beremiz.py:342
+#: ../Beremiz.py:329
 msgid "About"
 msgstr "A propos"
 
-#: Beremiz.py:1357
+#: ../Beremiz.py:1369
 msgid "About Beremiz"
 msgstr "A propos de Beremiz"
 
-#: Beremiz.py:311
-#: Beremiz.py:1390
+#: ../Beremiz.py:1391
 msgid "Add Plugin"
 msgstr "Ajouter un plugin"
 
-#: Beremiz.py:612
-#: Beremiz.py:874
+#: ../Beremiz.py:585
+#: ../Beremiz.py:849
 msgid "Add a sub plugin"
 msgstr "Ajouter un sous plugin"
 
-#: plugger.py:1680
+#: ../plugger.py:1683
 msgid "Already connected. Please disconnect\n"
 msgstr "Déjà connecté. Veuillez déconnecter\n"
 
-#: Beremiz.py:1056
+#: ../Beremiz.py:1088
 msgid "Append "
 msgstr "Ajouter "
 
-#: plugins/canfestival/config_utils.py:341
-#: plugins/canfestival/config_utils.py:623
+#: ../plugins/canfestival/config_utils.py:341
+#: ../plugins/canfestival/config_utils.py:623
 #, python-format
 msgid "Bad location size : %s"
 msgstr "Mauvaise taille d'adresse : %s"
 
-#: Beremiz.py:392
+#: ../Beremiz.py:417
 msgid "Beremiz"
 msgstr "Beremiz"
 
-#: Beremiz.py:340
+#: ../Beremiz.py:327
 msgid "Beremiz\tF1"
 msgstr "Beremiz\tF1"
 
-#: plugger.py:1464
+#: ../plugger.py:1466
 msgid "Broken"
 msgstr "Cassé"
 
-#: plugger.py:1800
+#: ../plugger.py:1807
 msgid "Build"
 msgstr "Compiler"
 
-#: Beremiz.py:320
-msgid "Build\tCTRL+R"
-msgstr "Compiler\tCTRL+R"
-
-#: plugger.py:1434
+#: ../plugger.py:1434
 msgid "Build directory already clean\n"
 msgstr "Le répertoire de compilation est déjà nettoyé\n"
 
-#: plugger.py:1801
+#: ../plugger.py:1808
 msgid "Build project into build folder"
 msgstr "Compiler le projet dans le répertoire ce compilation"
 
-#: plugger.py:1350
+#: ../plugger.py:1388
 msgid "C Build crashed !\n"
 msgstr "La compilation du C a mal fonctionné !\n"
 
-#: plugger.py:1347
+#: ../plugger.py:1385
 msgid "C Build failed.\n"
 msgstr "La compilation du C a échouée !\n"
 
-#: plugger.py:1336
+#: ../plugger.py:1374
 msgid "C code generated successfully.\n"
 msgstr "Code C généré avec succès.\n"
 
-#: targets/toolchain_gcc.py:119
+#: ../targets/toolchain_gcc.py:125
 #, python-format
 msgid "C compilation of %s failed.\n"
 msgstr "La compilation C de %s a échouée.\n"
 
-#: plugger.py:1037
+#: ../plugger.py:1117
 #, python-format
 msgid "Can't find module for target %s!\n"
 msgstr "Impossible de trouver le module correspondant à la cible %s !\n"
 
-#: discovery.py:79
-msgid "Cancel"
-msgstr "Annuler"
-
-#: plugger.py:1746
+#: ../plugger.py:1756
 msgid "Cannot compare latest build to target. Please build.\n"
 msgstr "Impossible de comparer la cible avec la dernière compilation. Veuillez compiler le projet.\n"
 
-#: plugger.py:465
+#: ../plugger.py:502
 #, python-format
 msgid "Cannot create child %s of type %s "
 msgstr "Impossible d'ajouter un élément \"%s\" de type \"%s\""
 
-#: plugger.py:420
+#: ../plugger.py:457
 #, 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:61
+#: ../connectors/PYRO/__init__.py:68
 msgid "Cannot get PLC status - connection failed.\n"
 msgstr "Impossible d'obtenir le statut de l'automate - la connecxion a échoué.\n"
 
-#: plugger.py:1161
+#: ../plugger.py:1215
 msgid "Cannot open/parse VARIABLES.csv!\n"
 msgstr "Impossible d'ouvrir ou d'analyser le fichier VARIABLES.csv !\n"
 
-#: plugins/canfestival/config_utils.py:371
+#: ../plugins/canfestival/config_utils.py:371
 #, python-format
 msgid "Cannot set bit offset for non bool '%s' variable (ID:%d,Idx:%x,sIdx:%x))"
 msgstr ""
 
-#: Beremiz_service.py:281
+#: ../Beremiz_service.py:320
 msgid "Change IP of interface to bind"
 msgstr "Changer l'adresse IP de l'interface à lier"
 
-#: Beremiz_service.py:280
+#: ../Beremiz_service.py:319
 msgid "Change Name"
 msgstr "Changer le nom"
 
-#: Beremiz_service.py:284
+#: ../Beremiz_service.py:323
 msgid "Change Port Number"
 msgstr "Changer le numéro de port"
 
-#: Beremiz_service.py:286
+#: ../Beremiz_service.py:325
 msgid "Change working directory"
 msgstr "Changer le dossier de travail"
 
-#: Beremiz.py:1249
-#: Beremiz.py:1272
+#: ../plugins/python/modules/svgui/svgui.py:90
+msgid "Choose a SVG file"
+msgstr "Choisissez un fichier SVG"
+
+#: ../Beremiz.py:1289
+#: ../Beremiz.py:1314
 msgid "Choose a project"
 msgstr "Choisissez un projet"
 
-#: Beremiz_service.py:332
+#: ../Beremiz_service.py:371
 msgid "Choose a working directory "
 msgstr "Choisissez un dossier de travail"
 
-#: plugger.py:1804
+#: ../plugger.py:882
+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 !"
+
+#: ../plugger.py:847
+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 !"
+
+#: ../plugger.py:1811
 msgid "Clean"
 msgstr "Nettoyer"
 
-#: plugger.py:1806
+#: ../plugger.py:1813
 msgid "Clean project build folder"
 msgstr "Nettoyer le répertoire de compilation"
 
-#: plugger.py:1431
+#: ../plugger.py:1431
 msgid "Cleaning the build directory\n"
 msgstr "Répertoire de compilation en cours de nettoyage\n"
 
-#: Beremiz.py:524
-#: Beremiz.py:1299
+#: ../Beremiz.py:483
+#: ../Beremiz.py:1341
 msgid "Close Application"
 msgstr "Fermer l'application"
 
-#: Beremiz.py:292
+#: ../Beremiz.py:299
 msgid "Close Project"
 msgstr "Fermer le projet"
 
-#: plugger.py:963
-msgid "Compiling IEC Program in to C code...\n"
+#: ../Beremiz.py:297
+msgid "Close Tab\tCTRL+W"
+msgstr "Fermer l'onglet\tCTRL+W"
+
+#: ../plugger.py:1039
+msgid "Compiling IEC Program into C code...\n"
 msgstr "Compilation du program en IEC vers du code C en cours...\n"
 
-#: plugins/canfestival/config_utils.py:335
-#: plugins/canfestival/config_utils.py:617
-#, python-format
-msgid "Conflict type for location \"%s\""
-msgstr "Conflit entre types pour l'adresse \"%s\""
-
-#: plugger.py:1828
+#: ../plugger.py:1835
 msgid "Connect"
 msgstr "Connecter"
 
-#: plugger.py:1829
+#: ../plugger.py:1836
 msgid "Connect to the target PLC"
 msgstr "Connecter à l'automate cible"
 
-#: connectors/PYRO/__init__.py:31
+#: ../connectors/PYRO/__init__.py:38
 #, python-format
 msgid "Connecting to URI : %s\n"
 msgstr "Connection à l'URI %s en cours...\n"
 
-#: plugger.py:1713
+#: ../plugger.py:1702
+msgid "Connection canceled!\n"
+msgstr "La connection a été abandonnée !\n"
+
+#: ../plugger.py:1719
 #, python-format
 msgid "Connection failed to %s!\n"
 msgstr "La connection à \"%s\" a échouée !\n"
 
-#: plugger.py:581
+#: ../plugger.py:625
 #, python-format
 msgid ""
 "Could not add child \"%s\", type %s :\n"
 "%s\n"
 msgstr ""
 
-#: plugger.py:558
+#: ../plugger.py:602
 #, python-format
 msgid ""
 "Couldn't load plugin base parameters %s :\n"
@@ -281,7 +285,7 @@
 "Impossible de charger les paramètres de base du plugin %s :\n"
 " %s"
 
-#: plugger.py:569
+#: ../plugger.py:613
 #, python-format
 msgid ""
 "Couldn't load plugin parameters %s :\n"
@@ -290,145 +294,118 @@
 "Impossible de charger les paramètres du plugin %s :\n"
 " %s"
 
-#: plugger.py:1644
+#: ../plugger.py:1647
 msgid "Couldn't start PLC debug !\n"
 msgstr "Impossible d'arrêter le débogage de l'automate !\n"
 
-#: plugger.py:1674
+#: ../plugger.py:1677
 msgid "Couldn't stop PLC !\n"
 msgstr "Impossible d'arrêter l'automate !\n"
 
-#: plugger.py:1814
+#: ../plugins/python/modules/svgui/svgui.py:20
+msgid "Create HMI"
+msgstr "Créer une IHM"
+
+#: ../plugger.py:1821
 msgid "Debug"
 msgstr "Déboguer"
 
-#: plugger.py:1514
+#: ../plugger.py:1520
 #, python-format
 msgid "Debug : Unknown variable %s\n"
 msgstr "Débogage : variable \"%s\" inconnue\n"
 
-#: plugger.py:1622
+#: ../plugger.py:1632
 msgid "Debug Thread couldn't be killed"
 msgstr "Le thread de débogage n'a pu être détruit"
 
-#: plugger.py:1609
+#: ../plugger.py:1616
 #, python-format
 msgid "Debug data not coherent %d != %d\n"
 msgstr "Les données de débogage ne sont pas cohérentes %d != %d\n"
 
-#: runtime/PLCObject.py:424
-#, python-format
-msgid "Debug error idx : %d, expected_idx %d, type : %s"
-msgstr ""
-
-#: plugger.py:1614
+#: ../plugger.py:1624
 msgid "Debugger disabled\n"
 msgstr "Débogueur désactivé\n"
 
-#: Beremiz.py:313
-msgid "Delete Plugin"
-msgstr "Supprimer un plugin"
-
-#: Beremiz.py:865
+#: ../Beremiz.py:840
 msgid "Delete this plugin"
 msgstr "Supprimer ce plugin"
 
-#: plugger.py:1461
+#: ../plugger.py:1463
 msgid "Dirty"
 msgstr "Corrompu"
 
-#: plugger.py:1837
+#: ../plugger.py:1844
 msgid "Disconnect"
 msgstr "Déconnecter"
 
-#: plugger.py:1839
+#: ../plugger.py:1846
 msgid "Disconnect from PLC"
 msgstr "Déconnecter l'automate"
 
-#: plugger.py:1467
+#: ../plugger.py:1469
 msgid "Disconnected"
 msgstr "Déconnecté"
 
-#: PythonSTC.py:576
-msgid "Do you want to continue?"
-msgstr "Voulez-vous continuer ?"
-
-#: Beremiz.py:1261
-msgid "ERROR"
-msgstr "ERREUR"
-
-#: plugins/c_ext/c_ext.py:204
-#: plugins/c_ext/c_ext.py:205
+#: ../plugins/c_ext/c_ext.py:236
+#: ../plugins/c_ext/c_ext.py:237
 msgid "Edit C File"
 msgstr "Editer le fichier C"
 
-#: plugins/canfestival/canfestival.py:200
+#: ../plugins/canfestival/canfestival.py:217
 msgid "Edit CanOpen Network with NetworkEdit"
 msgstr "Editer le réseau CANOpen à l'aide de NetworkEdit"
 
-#: plugger.py:1796
-msgid "Edit PLC"
-msgstr "Editer l'automate"
-
-#: Beremiz.py:308
-msgid "Edit PLC\tCTRL+R"
-msgstr "Editer l'automate\tCTRL+R"
-
-#: plugger.py:1797
-msgid "Edit PLC program with PLCOpenEditor"
-msgstr "Editer le programme à l'aide de PLCOpenEditor"
-
-#: plugger.py:1856
+#: ../plugins/python/modules/wxglade_hmi/wxglade_hmi.py:13
 msgid "Edit a WxWidgets GUI with WXGlade"
 msgstr "Editer une IHM WxWidgets à l'aide de WXGlade"
 
-#: plugins/canfestival/canfestival.py:199
+#: ../plugins/canfestival/canfestival.py:216
 msgid "Edit network"
 msgstr "Editer le réseau"
 
-#: plugger.py:1848
+#: ../plugger.py:1855
 msgid "Edit raw IEC code added to code generated by PLCGenerator"
 msgstr "Editer le code IEC ajouté au code généré par PLCGenerator"
 
-#: plugger.py:1458
+#: ../plugger.py:1460
 msgid "Empty"
 msgstr "Vide"
 
-#: Beremiz.py:815
+#: ../Beremiz.py:790
 msgid "Enable/Disable this plugin"
 msgstr "Activer/Désactiver le plugin"
 
-#: Beremiz_service.py:339
+#: ../Beremiz_service.py:378
 msgid "Enter a name "
 msgstr "Saisissez un nom"
 
-#: Beremiz_service.py:324
+#: ../Beremiz_service.py:363
 msgid "Enter a port number "
 msgstr "Saisissez un numéro de port"
 
-#: Beremiz_service.py:314
-msgid "Enter the ip of the interface to bind"
+#: ../Beremiz_service.py:353
+msgid "Enter the IP of the interface to bind"
 msgstr "Saisissez l'adresse IP de l'interface à lier"
 
-#: Beremiz.py:1284
-#: Beremiz.py:1288
-#: Beremiz.py:1443
-#: Beremiz.py:1453
-#: Beremiz_service.py:229
-#: Beremiz_service.py:353
+#: ../Beremiz.py:1446
+#: ../Beremiz.py:1456
+#: ../Beremiz_service.py:268
+#: ../Beremiz_service.py:392
 msgid "Error"
 msgstr "Erreur"
 
-#: plugger.py:1010
-msgid "Error : At least one configuration and one ressource must be declared in PLC !\n"
-msgstr "Erreur : Au moins une configuration ou une resource doit être déclaré dans l'automate !\n"
-
-#: plugger.py:1002
+#: ../plugger.py:1087
+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"
+
+#: ../plugger.py:1079
 #, python-format
 msgid "Error : IEC to C compiler returned %d\n"
 msgstr "Erreur : Le compilateur d'IEC en C a retourné %d\n"
 
-#: plugger.py:941
+#: ../plugger.py:1021
 #, python-format
 msgid ""
 "Error in ST/IL/SFC code generator :\n"
@@ -437,430 +414,403 @@
 "Erreur dans le générateur de code ST/IL/SFC :\n"
 "%s\n"
 
-#: plugger.py:202
+#: ../plugger.py:207
 #, python-format
 msgid "Error while saving \"%s\"\n"
 msgstr "Erreur lors de l'enregistrement de \"%s\"\n"
 
-#: plugins/canfestival/canfestival.py:191
+#: ../plugins/canfestival/canfestival.py:208
 msgid "Error: No Master generated\n"
 msgstr "Erreur : Aucun maître généré\n"
 
-#: plugins/canfestival/canfestival.py:186
+#: ../plugins/canfestival/canfestival.py:203
 msgid "Error: No PLC built\n"
 msgstr "Erreur : Aucun automate compilé\n"
 
-#: plugger.py:1707
+#: ../plugger.py:1713
 #, python-format
 msgid "Exception while connecting %s!\n"
 msgstr "Une exception est apparu au cours de la connexion %s !\n"
 
-#: plugger.py:1014
+#: ../plugger.py:1091
 msgid "Extracting Located Variables...\n"
 msgstr "Extraction des variables adressées en cours...\n"
 
-#: plugger.py:1761
+#: ../plugger.py:1771
 msgid "Failed : Must build before transfer.\n"
 msgstr "Echec : Le projet doit être compilé avant d'être transféré.\n"
 
-#: plugger.py:1341
+#: ../plugger.py:1379
 msgid "Fatal : cannot get builder.\n"
 msgstr "Erreur fatale : impossible de trouver un compilateur.\n"
 
-#: Beremiz.py:347
-msgid "File"
-msgstr "Fichier"
-
-#: plugger.py:815
-msgid "Folder choosen 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 !"
-
-#: plugger.py:780
-msgid "Folder choosen 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 !"
-
-#: connectors/PYRO/__init__.py:93
+#: ../connectors/PYRO/__init__.py:100
 msgid "Force runtime reload\n"
 msgstr "Redémarrage du runtime forcé\n"
 
-#: plugger.py:931
+#: ../plugger.py:1011
 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"
 
-#: plugger.py:1289
+#: ../plugger.py:1329
 msgid "Generating plugins C code\n"
 msgstr "Création du code C des plugins en cours\n"
 
-#: Beremiz.py:350
-msgid "Help"
-msgstr "Aide"
-
-#: plugger.py:1281
+#: ../plugger.py:1321
 msgid "IEC-61131-3 code generation failed !\n"
 msgstr "La création du code IEC-61131-3 a échouée !\n"
 
-#: plugins/canfestival/config_utils.py:376
-#: plugins/canfestival/config_utils.py:637
+#: ../Beremiz_service.py:354
+#: ../Beremiz_service.py:355
+msgid "IP is not valid!"
+msgstr "l'IP est invalide !"
+
+#: ../plugins/python/modules/svgui/svgui.py:15
+#: ../plugins/python/modules/svgui/svgui.py:16
+msgid "Import SVG"
+msgstr "Importer un SVG"
+
+#: ../plugins/python/modules/svgui/svgui.py:19
+msgid "Inkscape"
+msgstr "Inkscape"
+
+#: ../plugins/canfestival/config_utils.py:376
+#: ../plugins/canfestival/config_utils.py:637
 #, python-format
 msgid "Invalid type \"%s\"-> %d != %d  for location\"%s\""
 msgstr "Type invalide \"%s\"-> %d != %d pour cette adresse \"%s\""
 
-#: Beremiz_service.py:315
-#: Beremiz_service.py:316
-msgid "Ip is not valid!"
-msgstr "l'IP est invalide !"
-
-#: plugger.py:1767
-msgid "Latest build already match current target. Transfering anyway...\n"
+#: ../plugger.py:1777
+msgid "Latest build already matches current target. Transfering anyway...\n"
 msgstr "La dernière compilation correspond à la cible actuelle...\n"
 
-#: plugger.py:1737
-msgid "Latest build do not match with target, please transfer.\n"
+#: ../plugger.py:1747
+msgid "Latest build does not match with target, please transfer.\n"
 msgstr "La dernière compilation ne correspond pas a la cible actuelle, veuillez transférer le programme.\n"
 
-#: plugger.py:1741
-msgid "Latest build match target, no transfer needed.\n"
+#: ../plugger.py:1751
+msgid "Latest build matches target, no transfer needed.\n"
 msgstr "La dernière compilation correspond à la cible actuelle. il n'est pas nécessaire de transférer le programme.\n"
 
-#: Beremiz_service.py:283
+#: ../Beremiz_service.py:322
 msgid "Launch WX GUI inspector"
 msgstr "Lancer un inspecteur d'IHM WX"
 
-#: Beremiz_service.py:282
+#: ../Beremiz_service.py:321
 msgid "Launch a live Python shell"
 msgstr "Lancer une console Python"
 
-#: targets/toolchain_gcc.py:127
+#: ../targets/toolchain_gcc.py:133
 msgid "Linking :\n"
 msgstr "Linkage :\n"
 
-#: discovery.py:72
+#: ../discovery.py:107
 msgid "Local"
 msgstr "Local"
 
-#: Beremiz.py:435
+#: ../Beremiz.py:376
 msgid "Log Console"
 msgstr "Console de log"
 
-#: plugger.py:475
+#: ../plugger.py:512
 #, python-format
 msgid "Max count (%d) reached for this plugin of type %s "
 msgstr "Nombre limite(%d) atteint pour les plugin de type %s"
 
-#: runtime/ServicePublisher.py:50
-msgid "My IP is :"
-msgstr "Mon IP est :"
-
-#: Beremiz_service.py:340
+#: ../Beremiz_service.py:379
 msgid "Name must not be null!"
 msgstr "Le nom ne doit pas être vide !"
 
-#: Beremiz.py:286
+#: ../Beremiz.py:291
 msgid "New\tCTRL+N"
 msgstr "Nouveau\tCTRL+N"
 
-#: runtime/PLCObject.py:313
-#, python-format
-msgid "NewPLC (%s)"
-msgstr "Nouvel automate (%s)"
-
-#: plugger.py:1791
-msgid "No PLC to transfer (did build success ?)\n"
+#: ../plugger.py:1801
+msgid "No PLC to transfer (did build succeed ?)\n"
 msgstr "Aucun automate à transférer (la compilation a-t-elle réussi ?)\n"
 
-#: Beremiz_service.py:353
-msgid "No runnning PLC"
+#: ../Beremiz_service.py:392
+msgid "No running PLC"
 msgstr "Aucun automate en cours d'exécution"
 
-#: plugins/canfestival/config_utils.py:632
+#: ../plugins/python/modules/svgui/svgui.py:96
+#, python-format
+msgid "No such SVG file: %s\n"
+msgstr "Fichier SVG inconnu : %s\n"
+
+#: ../plugins/canfestival/config_utils.py:632
 #, python-format
 msgid "No such index/subindex (%x,%x) (variable %s)"
 msgstr "indice et sous-indice inconnu (%x,%x) (variable %s)"
 
-#: plugins/canfestival/config_utils.py:361
+#: ../plugins/canfestival/config_utils.py:361
 #, python-format
 msgid "No such index/subindex (%x,%x) in ID : %d (variable %s)"
 msgstr "indice et sous-indice inconnu (%x,%x) pour l'ID : %d (variable %s)"
 
-#: plugins/canfestival/config_utils.py:354
+#: ../plugins/canfestival/config_utils.py:354
 #, python-format
 msgid "Non existing node ID : %d (variable %s)"
 msgstr "Le node ID n'existe pas : %d (variable %s)"
 
-#: plugins/canfestival/config_utils.py:383
+#: ../plugins/canfestival/config_utils.py:383
 #, python-format
 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))"
 
-#: discovery.py:83
-msgid "OK"
-msgstr "Valider"
-
-#: Beremiz.py:288
+#: ../Beremiz.py:293
 msgid "Open\tCTRL+O"
 msgstr "Ouvrir\tCTRL+O"
 
-#: targets/toolchain_gcc.py:95
+#: ../targets/toolchain_gcc.py:101
 msgid "PLC :\n"
 msgstr "Automate :\n"
 
-#: plugger.py:1447
-#: plugger.py:1483
-#: plugger.py:1723
+#: ../plugger.py:1489
+#: ../plugger.py:1733
 #, python-format
 msgid "PLC is %s\n"
 msgstr "L'automate est dans l'état %s\n"
 
-#: Beremiz.py:1390
+#: ../Beremiz.py:302
+msgid "Page Setup"
+msgstr "Mise en page..."
+
+#: ../Beremiz.py:1391
 msgid "Please enter a name for plugin:"
 msgstr "Saisissez un nom pour le plugin :"
 
-#: runtime/PLCObject.py:219
-msgid "Please stop PLC to close"
-msgstr "Veuillez arrêter l'automate pour quitter"
-
-#: targets/toolchain_gcc.py:93
+#: ../targets/toolchain_gcc.py:99
 msgid "Plugin : "
 msgstr "Plugin :"
 
-#: plugger.py:1295
+#: ../plugger.py:1335
 msgid "Plugins code generation failed !\n"
 msgstr "La création du code des plugins a échoué !\n"
 
-#: Beremiz_service.py:325
+#: ../Beremiz_service.py:364
 msgid "Port number must be 0 <= port <= 65535!"
 msgstr "Le numéro de port doit être compris entre 0 et 65535 !"
 
-#: Beremiz_service.py:325
+#: ../Beremiz_service.py:364
 msgid "Port number must be an integer!"
 msgstr "Le numéro de port doit être un entier !"
 
-#: runtime/PLCObject.py:279
-#, python-format
-msgid "Problem %s PLC"
-msgstr "Problème lors du %s de l'automate"
-
-#: plugger.py:789
+#: ../Beremiz.py:304
+msgid "Preview"
+msgstr "Aperçu avant impression"
+
+#: ../Beremiz.py:306
+msgid "Print"
+msgstr "Imprimer"
+
+#: ../plugger.py:856
 msgid "Project not created"
 msgstr "Le projet n'a pu être créé"
 
-#: plugger.py:503
+#: ../plugger.py:540
 #, python-format
 msgid "Project tree layout do not match plugin.xml %s!=%s "
 msgstr "L'organisation du projet ne correspond pas à plugin.xml %s!=%s"
 
-#: Beremiz.py:295
+#: ../Beremiz.py:309
 msgid "Properties"
 msgstr "Propriétés"
 
-#: Beremiz_service.py:433
-msgid "Publish service on local network"
-msgstr "Le service est publié sur le réseau local"
-
-#: plugger.py:1851
-msgid "Python code"
-msgstr "Code Python"
-
-#: runtime/PLCObject.py:282
-msgid "PythonThreadProc interrupted"
-msgstr "PythonThreadProc a été interrompu"
-
-#: PythonSTC.py:577
-msgid "Question"
-msgstr "Question"
-
-#: Beremiz_service.py:287
+#: ../plugins/python/PythonEditor.py:513
+#: ../plugins/python/PythonEditor.py:566
+msgid "PythonEditor"
+msgstr "PythonEditor"
+
+#: ../Beremiz_service.py:326
 msgid "Quit"
 msgstr "Quitter"
 
-#: Beremiz.py:298
+#: ../Beremiz.py:312
 msgid "Quit\tCTRL+Q"
 msgstr "Quitter\tCTRL+Q"
 
-#: plugger.py:1847
+#: ../plugger.py:1854
 msgid "Raw IEC code"
 msgstr "Ajout code IEC"
 
-#: Beremiz.py:1398
+#: ../Beremiz.py:1400
 msgid "Really delete plugin ?"
 msgstr "Voulez-vous réellement supprimer le plugin ?"
 
-#: discovery.py:64
+#: ../plugins/python/PythonEditor.py:494
+msgid "Redo\tCTRL+Y"
+msgstr "Refaire\tCTRL+Y"
+
+#: ../discovery.py:102
 msgid "Refresh"
 msgstr "Actualiser"
 
-#: Beremiz.py:1398
+#: ../plugins/python/PythonEditor.py:490
+msgid "Refresh\tCTRL+R"
+msgstr "Actualiser\tCTRL+R"
+
+#: ../Beremiz.py:1400
 msgid "Remove plugin"
 msgstr "Enlever le plugin"
 
-#: Beremiz.py:325
-#: plugger.py:1809
+#: ../plugger.py:1816
 msgid "Run"
 msgstr "Exécuter"
 
-#: Beremiz.py:290
+#: ../plugins/python/modules/svgui/svgui.py:90
+msgid "SVG files (*.svg)|*.svg|All files|*.*"
+msgstr "Fichiers SVG (*.svg)|*.svg|Tous les fichiers|*.*"
+
+#: ../Beremiz.py:295
 msgid "Save\tCTRL+S"
 msgstr "Enregistrer\tCTRL+S"
 
-#: Beremiz.py:328
-msgid "Save Log"
-msgstr "Enregistrer le log"
-
-#: Beremiz.py:523
-#: Beremiz.py:1298
+#: ../Beremiz.py:482
+#: ../Beremiz.py:1340
 msgid "Save changes ?"
 msgstr "Enregistrer les changements ?"
 
-#: discovery.py:37
-msgid "Service Discovery"
-msgstr "Découverte de service"
-
-#: plugger.py:1844
+#: ../discovery.py:81
+msgid "Services available:"
+msgstr "Services disponibles:"
+
+#: ../plugger.py:1851
 msgid "Show IEC code generated by PLCGenerator"
 msgstr "Afficher le code IEC généré par PLCGenerator"
 
-#: plugins/canfestival/canfestival.py:202
+#: ../plugins/canfestival/canfestival.py:220
 msgid "Show Master"
 msgstr "Afficher le maître"
 
-#: plugins/canfestival/canfestival.py:203
+#: ../plugins/canfestival/canfestival.py:221
 msgid "Show Master generated by config_utils"
 msgstr "Afficher le maître généré par config_utils"
 
-#: plugger.py:1842
+#: ../plugger.py:1849
 msgid "Show code"
 msgstr "Afficher le code"
 
-#: Beremiz.py:323
-msgid "Simulate"
-msgstr "Simuler"
-
-#: plugger.py:1811
-#: Beremiz_service.py:278
-#: runtime/PLCObject.py:285
+#: ../plugger.py:1818
+#: ../Beremiz_service.py:317
 msgid "Start PLC"
 msgstr "Démarrer l'automate"
 
-#: plugger.py:1816
+#: ../plugger.py:1823
 msgid "Start PLC (debug mode)"
 msgstr "Démarrer l'automate (en mode debug)"
 
-#: plugger.py:1273
+#: ../plugger.py:1313
 #, python-format
 msgid "Start build in %s\n"
 msgstr "Début de la compilation dans %s\n"
 
-#: plugger.py:1452
+#: ../plugger.py:1454
 msgid "Started"
 msgstr "Démarré"
 
-#: plugger.py:1631
+#: ../plugger.py:1451
+msgid "Starting"
+msgstr "Démarrage"
+
+#: ../plugger.py:1641
 msgid "Starting PLC (debug mode)\n"
 msgstr "Démarrage de l'automate (en mode debug) en cours\n"
 
-#: plugger.py:1823
+#: ../plugger.py:1830
 msgid "Stop"
 msgstr "Arrêter"
 
-#: Beremiz_service.py:279
-#: runtime/PLCObject.py:291
+#: ../Beremiz_service.py:318
 msgid "Stop PLC"
 msgstr "Arrêter l'automate"
 
-#: plugger.py:1825
+#: ../plugger.py:1832
 msgid "Stop Running PLC"
 msgstr "Arrêter l'automate en cours d'exécution"
 
-#: plugger.py:1455
+#: ../plugger.py:1457
 msgid "Stopped"
 msgstr "Arrêté"
 
-#: plugger.py:1670
+#: ../plugger.py:1673
 msgid "Stopping debug\n"
 msgstr "Arrêt du débogage en cours\n"
 
-#: Beremiz_service.py:426
-msgid "The daemon runs on port :"
-msgstr "Le service est disponible sur le port :"
-
-#: Beremiz_service.py:427
-msgid "The object's uri is :"
-msgstr "L' URI de l'objet est :"
-
-#: Beremiz_service.py:428
-msgid "The working directory :"
-msgstr "Le répertoire de travail :"
-
-#: plugger.py:1832
+#: ../Beremiz.py:370
+msgid "Topology"
+msgstr "Topologie"
+
+#: ../plugger.py:1839
 msgid "Transfer"
 msgstr "Transférer"
 
-#: plugger.py:1834
+#: ../plugger.py:1841
 msgid "Transfer PLC"
 msgstr "Transférer l'automate"
 
-#: plugger.py:1787
+#: ../plugger.py:1797
 msgid "Transfer completed successfully.\n"
 msgstr "Transfert effectué avec succès.\n"
 
-#: plugger.py:1789
+#: ../plugger.py:1799
 msgid "Transfer failed\n"
 msgstr "Le transfert a échoué\n"
 
-#: targets/Xenomai/__init__.py:27
+#: ../plugins/canfestival/config_utils.py:335
+#: ../plugins/canfestival/config_utils.py:617
+#, python-format
+msgid "Type conflict for location \"%s\""
+msgstr "Conflit entre types pour l'adresse \"%s\""
+
+#: ../plugins/canfestival/config_utils.py:455
+#: ../plugins/canfestival/config_utils.py:469
+#, python-format
+msgid "Unable to define PDO mapping for node %02x"
+msgstr "Impossible de définir le mappage des PDO pour le noeud %02x"
+
+#: ../targets/Xenomai/__init__.py:27
 msgid "Unable to get Xenomai's CFLAGS\n"
 msgstr "Impossible d'obtenir les CFLAGS de Xenomai\n"
 
-#: targets/Xenomai/__init__.py:16
+#: ../targets/Xenomai/__init__.py:16
 msgid "Unable to get Xenomai's LDFLAGS\n"
 msgstr "Impossible d'obtenir les LDFLAGS de Xenomai\n"
 
-#: plugger.py:1855
+#: ../plugins/python/PythonEditor.py:492
+msgid "Undo\tCTRL+Z"
+msgstr "Défaire\tCTRL+Z"
+
+#: ../plugins/python/modules/wxglade_hmi/wxglade_hmi.py:12
 msgid "WXGLADE GUI"
 msgstr "IHM WXGlade"
 
-#: plugger.py:936
+#: ../plugger.py:1016
 msgid "Warnings in ST/IL/SFC code generator :\n"
 msgstr "Mises en garde du generateur de code ST/IL/SFC :\n"
 
-#: plugger.py:1852
-msgid "Write Python runtime code, for use with python_eval FBs"
-msgstr "Ecrivez le code Python du runtime, à utiliser avec les blocs python_eval"
-
-#: connectors/PYRO/__init__.py:39
+#: ../connectors/PYRO/__init__.py:46
 msgid "Wrong URI, please check it !\n"
 msgstr "URI inconnue, veuillez vérifier l'adresse !\n"
 
-#: PythonSTC.py:575
-msgid "You are about to overwrite that file\n"
-msgstr "Vous allez écraser ce fichier\n"
-
-#: wxPopen.py:134
+#: ../wxPopen.py:134
 #, python-format
 msgid "exited with status %s (pid %s)\n"
 msgstr "a quitté avec le status %s (pid %s)\n"
 
-#: Beremiz.py:1417
-#: Beremiz.py:1419
+#: ../Beremiz.py:1420
+#: ../Beremiz.py:1422
 msgid "file : "
 msgstr "fichier :"
 
-#: Beremiz.py:1420
+#: ../Beremiz.py:1423
 msgid "function : "
 msgstr "fonction :"
 
-#: Beremiz.py:1420
+#: ../Beremiz.py:1423
 msgid "line : "
 msgstr "ligne :"
 
-#: runtime/PLCObject.py:277
-msgid "loading"
-msgstr "chargement"
-
-#: runtime/PLCObject.py:275
-msgid "starting"
-msgstr "démarrage"
-
 #: Extra XSD strings
 msgid "BaseParams"
 msgstr "Paramètres de base"
@@ -952,3 +902,62 @@
 msgid "XenoConfig"
 msgstr "Config Xenomai"
 
+#, fuzzy
+#~ msgid "Conflict type for location \"%s\""
+#~ msgstr "Conflit entre types pour l'adresse \"%s\""
+#~ msgid "#EXCEPTION : "
+#~ msgstr "#EXCEPTION : "
+#~ msgid "Build\tCTRL+R"
+#~ msgstr "Compiler\tCTRL+R"
+#~ msgid "Cancel"
+#~ msgstr "Annuler"
+#~ msgid "Delete Plugin"
+#~ msgstr "Supprimer un plugin"
+#~ msgid "Do you want to continue?"
+#~ msgstr "Voulez-vous continuer ?"
+#~ msgid "ERROR"
+#~ msgstr "ERREUR"
+#~ msgid "Edit PLC\tCTRL+R"
+#~ msgstr "Editer l'automate\tCTRL+R"
+#~ msgid "Edit PLC program with PLCOpenEditor"
+#~ msgstr "Editer le programme à l'aide de PLCOpenEditor"
+#~ msgid "File"
+#~ msgstr "Fichier"
+#~ msgid "Help"
+#~ msgstr "Aide"
+#~ msgid "My IP is :"
+#~ msgstr "Mon IP est :"
+#~ msgid "NewPLC (%s)"
+#~ msgstr "Nouvel automate (%s)"
+#~ msgid "OK"
+#~ msgstr "Valider"
+#~ msgid "Please stop PLC to close"
+#~ msgstr "Veuillez arrêter l'automate pour quitter"
+#~ msgid "Problem %s PLC"
+#~ msgstr "Problème lors du %s de l'automate"
+#~ msgid "Publish service on local network"
+#~ msgstr "Le service est publié sur le réseau local"
+#~ msgid "PythonThreadProc interrupted"
+#~ msgstr "PythonThreadProc a été interrompu"
+#~ msgid "Question"
+#~ msgstr "Question"
+#~ msgid "Save Log"
+#~ msgstr "Enregistrer le log"
+#~ msgid "Service Discovery"
+#~ msgstr "Découverte de service"
+#~ msgid "Simulate"
+#~ msgstr "Simuler"
+#~ msgid "The daemon runs on port :"
+#~ msgstr "Le service est disponible sur le port :"
+#~ msgid "The object's uri is :"
+#~ msgstr "L' URI de l'objet est :"
+#~ msgid "The working directory :"
+#~ msgstr "Le répertoire de travail :"
+#~ msgid "Write Python runtime code, for use with python_eval FBs"
+#~ msgstr ""
+#~ "Ecrivez le code Python du runtime, à utiliser avec les blocs python_eval"
+#~ msgid "You are about to overwrite that file\n"
+#~ msgstr "Vous allez écraser ce fichier\n"
+#~ msgid "loading"
+#~ msgstr "chargement"
+
--- a/i18n/Beremiz_zh_CN.po	Thu Oct 08 16:37:58 2009 +0200
+++ b/i18n/Beremiz_zh_CN.po	Fri Oct 09 17:38:17 2009 +0200
@@ -238,13 +238,13 @@
 msgstr "关闭项目"
 
 #: plugger.py:963
-msgid "Compiling IEC Program in to C code...\n"
+msgid "Compiling IEC Program into C code...\n"
 msgstr "正在将IEC程序编译成C代码...\n"
 
 #: plugins/canfestival/config_utils.py:335
 #: plugins/canfestival/config_utils.py:617
 #, python-format
-msgid "Conflict type for location \"%s\""
+msgid "Type conflict for location \"%s\""
 msgstr "位置的冲突类型 \"%s\""
 
 #: plugger.py:1828
@@ -409,7 +409,7 @@
 msgstr "输入一个端口号"
 
 #: Beremiz_service.py:314
-msgid "Enter the ip of the interface to bind"
+msgid "Enter the IP of the interface to bind"
 msgstr "输入界面的ip用以绑定"
 
 #: Beremiz.py:1284
@@ -422,7 +422,7 @@
 msgstr "错误"
 
 #: plugger.py:1010
-msgid "Error : At least one configuration and one ressource must be declared in PLC !\n"
+msgid "Error : At least one configuration and one resource must be declared in PLC !\n"
 msgstr "错误:在PLC中,必须申明至少一个配置和一个资源!\n"
 
 #: plugger.py:1002
@@ -474,11 +474,11 @@
 msgstr "文件"
 
 #: plugger.py:815
-msgid "Folder choosen doesn't contain a program. It's not a valid project!"
+msgid "Chosen folder doesn't contain a program. It's not a valid project!"
 msgstr "被选中的文件夹未包含一个程序。它不是一个有效项目!"
 
 #: plugger.py:780
-msgid "Folder choosen isn't empty. You can't use it for a new project!"
+msgid "Chosen folder isn't empty. You can't use it for a new project!"
 msgstr "被选中的文件夹非空。你不能用它创建一个新项目!"
 
 #: connectors/PYRO/__init__.py:93
@@ -509,19 +509,19 @@
 
 #: Beremiz_service.py:315
 #: Beremiz_service.py:316
-msgid "Ip is not valid!"
+msgid "IP is not valid!"
 msgstr "Ip无效!"
 
 #: plugger.py:1767
-msgid "Latest build already match current target. Transfering anyway...\n"
+msgid "Latest build already matches current target. Transfering anyway...\n"
 msgstr "最新构建已经与当前目标匹配。正在传输中......\n"
 
 #: plugger.py:1737
-msgid "Latest build do not match with target, please transfer.\n"
+msgid "Latest build does not match with target, please transfer.\n"
 msgstr "最新构建与目标不匹配,请传输。\n"
 
 #: plugger.py:1741
-msgid "Latest build match target, no transfer needed.\n"
+msgid "Latest build matches target, no transfer needed.\n"
 msgstr "最新构建与目标匹配,不需要传输。\n"
 
 #: Beremiz_service.py:283
@@ -567,11 +567,11 @@
 msgstr "新的PLC(%s)"
 
 #: plugger.py:1791
-msgid "No PLC to transfer (did build success ?)\n"
+msgid "No PLC to transfer (did build succeed ?)\n"
 msgstr "没有PLC可传输(构建是否成功?)\n"
 
 #: Beremiz_service.py:353
-msgid "No runnning PLC"
+msgid "No running PLC"
 msgstr "没有正在运行的PLC"
 
 #: plugins/canfestival/config_utils.py:632
--- a/i18n/app.fil	Thu Oct 08 16:37:58 2009 +0200
+++ b/i18n/app.fil	Fri Oct 09 17:38:17 2009 +0200
@@ -3,13 +3,14 @@
 ../beremiz_postinst.py
 ../Beremiz_service.py
 ../discovery.py
-../PythonSTC.py
 ../wxPopen.py
 ../connectors/PYRO/__init__.py
 ../plugins/c_ext/c_ext.py
 ../plugins/canfestival/canfestival.py
 ../plugins/canfestival/config_utils.py
-../plugins/svgui/svgui.py
+../plugins/python/PythonEditor.py
+../plugins/python/modules/svgui/svgui.py
+../plugins/python/modules/wxglade_hmi/wxglade_hmi.py
 ../runtime/PLCObject.py
 ../runtime/ServicePublisher.py
 ../targets/toolchain_gcc.py
--- a/i18n/messages.pot	Thu Oct 08 16:37:58 2009 +0200
+++ b/i18n/messages.pot	Fri Oct 09 17:38:17 2009 +0200
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-07-27 18:06+0200\n"
+"POT-Creation-Date: 2009-10-09 16:27+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"
@@ -16,7 +16,7 @@
 "Content-Type: text/plain; charset=CHARSET\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: ../Beremiz.py:1429
+#: ../Beremiz.py:1432
 #, python-format
 msgid ""
 "\n"
@@ -33,46 +33,50 @@
 "Traceback:\n"
 msgstr ""
 
-#: ../plugger.py:1332
+#: ../plugger.py:1370
 msgid " generation failed !\n"
 msgstr ""
 
-#: ../Beremiz.py:1288
+#: ../Beremiz.py:1332
 #, python-format
 msgid "\"%s\" folder is not a valid Beremiz project\n"
 msgstr ""
 
-#: ../Beremiz.py:1417 ../Beremiz.py:1419 ../Beremiz.py:1420
+#: ../plugins/python/PythonEditor.py:500
+msgid "&Edit"
+msgstr ""
+
+#: ../Beremiz.py:1420 ../Beremiz.py:1422 ../Beremiz.py:1423
 msgid ",   "
 msgstr ""
 
-#: ../Beremiz.py:1415
+#: ../Beremiz.py:1418
 msgid ". "
 msgstr ""
 
-#: ../plugger.py:395
+#: ../plugger.py:432
 #, python-format
 msgid "A child names \"%s\" already exist -> \"%s\"\n"
 msgstr ""
 
-#: ../plugger.py:427
+#: ../plugger.py:464
 #, python-format
 msgid "A child with IEC channel %d already exist -> %d\n"
 msgstr ""
 
-#: ../Beremiz.py:342
+#: ../Beremiz.py:329
 msgid "About"
 msgstr ""
 
-#: ../Beremiz.py:1357
+#: ../Beremiz.py:1369
 msgid "About Beremiz"
 msgstr ""
 
-#: ../Beremiz.py:311 ../Beremiz.py:1390
+#: ../Beremiz.py:1391
 msgid "Add Plugin"
 msgstr ""
 
-#: ../Beremiz.py:612 ../Beremiz.py:874
+#: ../Beremiz.py:585 ../Beremiz.py:849
 msgid "Add a sub plugin"
 msgstr ""
 
@@ -80,7 +84,7 @@
 msgid "Already connected. Please disconnect\n"
 msgstr ""
 
-#: ../Beremiz.py:1056
+#: ../Beremiz.py:1088
 msgid "Append "
 msgstr ""
 
@@ -90,15 +94,15 @@
 msgid "Bad location size : %s"
 msgstr ""
 
-#: ../Beremiz.py:392
+#: ../Beremiz.py:417
 msgid "Beremiz"
 msgstr ""
 
-#: ../Beremiz.py:340
+#: ../Beremiz.py:327
 msgid "Beremiz\tF1"
 msgstr ""
 
-#: ../plugger.py:1463
+#: ../plugger.py:1466
 msgid "Broken"
 msgstr ""
 
@@ -106,10 +110,6 @@
 msgid "Build"
 msgstr ""
 
-#: ../Beremiz.py:320
-msgid "Build\tCTRL+R"
-msgstr ""
-
 #: ../plugger.py:1434
 msgid "Build directory already clean\n"
 msgstr ""
@@ -118,51 +118,47 @@
 msgid "Build project into build folder"
 msgstr ""
 
-#: ../plugger.py:1350
+#: ../plugger.py:1388
 msgid "C Build crashed !\n"
 msgstr ""
 
-#: ../plugger.py:1347
+#: ../plugger.py:1385
 msgid "C Build failed.\n"
 msgstr ""
 
-#: ../plugger.py:1336
+#: ../plugger.py:1374
 msgid "C code generated successfully.\n"
 msgstr ""
 
-#: ../targets/toolchain_gcc.py:119
+#: ../targets/toolchain_gcc.py:125
 #, python-format
 msgid "C compilation of %s failed.\n"
 msgstr ""
 
-#: ../plugger.py:1037
+#: ../plugger.py:1117
 #, python-format
 msgid "Can't find module for target %s!\n"
 msgstr ""
 
-#: ../discovery.py:79
-msgid "Cancel"
-msgstr ""
-
-#: ../plugger.py:1753
+#: ../plugger.py:1756
 msgid "Cannot compare latest build to target. Please build.\n"
 msgstr ""
 
-#: ../plugger.py:465
+#: ../plugger.py:502
 #, python-format
 msgid "Cannot create child %s of type %s "
 msgstr ""
 
-#: ../plugger.py:420
+#: ../plugger.py:457
 #, python-format
 msgid "Cannot find lower free IEC channel than %d\n"
 msgstr ""
 
-#: ../connectors/PYRO/__init__.py:61
+#: ../connectors/PYRO/__init__.py:68
 msgid "Cannot get PLC status - connection failed.\n"
 msgstr ""
 
-#: ../plugger.py:1161
+#: ../plugger.py:1215
 msgid "Cannot open/parse VARIABLES.csv!\n"
 msgstr ""
 
@@ -171,30 +167,42 @@
 msgid "Cannot set bit offset for non bool '%s' variable (ID:%d,Idx:%x,sIdx:%x))"
 msgstr ""
 
-#: ../Beremiz_service.py:315
+#: ../Beremiz_service.py:320
 msgid "Change IP of interface to bind"
 msgstr ""
 
-#: ../Beremiz_service.py:314
+#: ../Beremiz_service.py:319
 msgid "Change Name"
 msgstr ""
 
-#: ../Beremiz_service.py:318
+#: ../Beremiz_service.py:323
 msgid "Change Port Number"
 msgstr ""
 
-#: ../Beremiz_service.py:320
+#: ../Beremiz_service.py:325
 msgid "Change working directory"
 msgstr ""
 
-#: ../Beremiz.py:1249 ../Beremiz.py:1272
+#: ../plugins/python/modules/svgui/svgui.py:90
+msgid "Choose a SVG file"
+msgstr ""
+
+#: ../Beremiz.py:1289 ../Beremiz.py:1314
 msgid "Choose a project"
 msgstr ""
 
-#: ../Beremiz_service.py:366
+#: ../Beremiz_service.py:371
 msgid "Choose a working directory "
 msgstr ""
 
+#: ../plugger.py:882
+msgid "Chosen folder doesn't contain a program. It's not a valid project!"
+msgstr ""
+
+#: ../plugger.py:847
+msgid "Chosen folder isn't empty. You can't use it for a new project!"
+msgstr ""
+
 #: ../plugger.py:1811
 msgid "Clean"
 msgstr ""
@@ -207,22 +215,20 @@
 msgid "Cleaning the build directory\n"
 msgstr ""
 
-#: ../Beremiz.py:524 ../Beremiz.py:1299
+#: ../Beremiz.py:483 ../Beremiz.py:1341
 msgid "Close Application"
 msgstr ""
 
-#: ../Beremiz.py:292
+#: ../Beremiz.py:299
 msgid "Close Project"
 msgstr ""
 
-#: ../plugger.py:963
-msgid "Compiling IEC Program in to C code...\n"
-msgstr ""
-
-#: ../plugins/canfestival/config_utils.py:335
-#: ../plugins/canfestival/config_utils.py:617
-#, python-format
-msgid "Conflict type for location \"%s\""
+#: ../Beremiz.py:297
+msgid "Close Tab\tCTRL+W"
+msgstr ""
+
+#: ../plugger.py:1039
+msgid "Compiling IEC Program into C code...\n"
 msgstr ""
 
 #: ../plugger.py:1835
@@ -233,31 +239,35 @@
 msgid "Connect to the target PLC"
 msgstr ""
 
-#: ../connectors/PYRO/__init__.py:31
+#: ../connectors/PYRO/__init__.py:38
 #, python-format
 msgid "Connecting to URI : %s\n"
 msgstr ""
 
-#: ../plugger.py:1716
+#: ../plugger.py:1702
+msgid "Connection canceled!\n"
+msgstr ""
+
+#: ../plugger.py:1719
 #, python-format
 msgid "Connection failed to %s!\n"
 msgstr ""
 
-#: ../plugger.py:581
+#: ../plugger.py:625
 #, python-format
 msgid ""
 "Could not add child \"%s\", type %s :\n"
 "%s\n"
 msgstr ""
 
-#: ../plugger.py:558
+#: ../plugger.py:602
 #, python-format
 msgid ""
 "Couldn't load plugin base parameters %s :\n"
 " %s"
 msgstr ""
 
-#: ../plugger.py:569
+#: ../plugger.py:613
 #, python-format
 msgid ""
 "Couldn't load plugin parameters %s :\n"
@@ -272,37 +282,37 @@
 msgid "Couldn't stop PLC !\n"
 msgstr ""
 
+#: ../plugins/python/modules/svgui/svgui.py:20
+msgid "Create HMI"
+msgstr ""
+
 #: ../plugger.py:1821
 msgid "Debug"
 msgstr ""
 
-#: ../plugger.py:1517
+#: ../plugger.py:1520
 #, python-format
 msgid "Debug : Unknown variable %s\n"
 msgstr ""
 
-#: ../plugger.py:1625
+#: ../plugger.py:1632
 msgid "Debug Thread couldn't be killed"
 msgstr ""
 
-#: ../plugger.py:1612
+#: ../plugger.py:1616
 #, python-format
 msgid "Debug data not coherent %d != %d\n"
 msgstr ""
 
-#: ../plugger.py:1617
+#: ../plugger.py:1624
 msgid "Debugger disabled\n"
 msgstr ""
 
-#: ../Beremiz.py:313
-msgid "Delete Plugin"
-msgstr ""
-
-#: ../Beremiz.py:865
+#: ../Beremiz.py:840
 msgid "Delete this plugin"
 msgstr ""
 
-#: ../plugger.py:1460
+#: ../plugger.py:1463
 msgid "Dirty"
 msgstr ""
 
@@ -314,35 +324,23 @@
 msgid "Disconnect from PLC"
 msgstr ""
 
-#: ../plugger.py:1466
+#: ../plugger.py:1469
 msgid "Disconnected"
 msgstr ""
 
-#: ../Beremiz.py:1261
-msgid "ERROR"
-msgstr ""
-
-#: ../plugins/c_ext/c_ext.py:204 ../plugins/c_ext/c_ext.py:205
+#: ../plugins/c_ext/c_ext.py:236 ../plugins/c_ext/c_ext.py:237
 msgid "Edit C File"
 msgstr ""
 
-#: ../plugins/canfestival/canfestival.py:200
+#: ../plugins/canfestival/canfestival.py:217
 msgid "Edit CanOpen Network with NetworkEdit"
 msgstr ""
 
-#: ../plugger.py:1803
-msgid "Edit PLC"
-msgstr ""
-
-#: ../Beremiz.py:308
-msgid "Edit PLC\tCTRL+R"
-msgstr ""
-
-#: ../plugger.py:1804
-msgid "Edit PLC program with PLCOpenEditor"
-msgstr ""
-
-#: ../plugins/canfestival/canfestival.py:199
+#: ../plugins/python/modules/wxglade_hmi/wxglade_hmi.py:13
+msgid "Edit a WxWidgets GUI with WXGlade"
+msgstr ""
+
+#: ../plugins/canfestival/canfestival.py:216
 msgid "Edit network"
 msgstr ""
 
@@ -350,371 +348,395 @@
 msgid "Edit raw IEC code added to code generated by PLCGenerator"
 msgstr ""
 
-#: ../plugger.py:1457
+#: ../plugger.py:1460
 msgid "Empty"
 msgstr ""
 
-#: ../Beremiz.py:815
+#: ../Beremiz.py:790
 msgid "Enable/Disable this plugin"
 msgstr ""
 
-#: ../Beremiz_service.py:373
+#: ../Beremiz_service.py:378
 msgid "Enter a name "
 msgstr ""
 
-#: ../Beremiz_service.py:358
+#: ../Beremiz_service.py:363
 msgid "Enter a port number "
 msgstr ""
 
-#: ../Beremiz_service.py:348
-msgid "Enter the ip of the interface to bind"
-msgstr ""
-
-#: ../Beremiz.py:1284 ../Beremiz.py:1288 ../Beremiz.py:1443 ../Beremiz.py:1453
-#: ../Beremiz_service.py:263 ../Beremiz_service.py:387
+#: ../Beremiz_service.py:353
+msgid "Enter the IP of the interface to bind"
+msgstr ""
+
+#: ../Beremiz.py:1446 ../Beremiz.py:1456 ../Beremiz_service.py:268
+#: ../Beremiz_service.py:392
 msgid "Error"
 msgstr ""
 
-#: ../plugger.py:1010
-msgid "Error : At least one configuration and one ressource must be declared in PLC !\n"
-msgstr ""
-
-#: ../plugger.py:1002
+#: ../plugger.py:1087
+msgid "Error : At least one configuration and one resource must be declared in PLC !\n"
+msgstr ""
+
+#: ../plugger.py:1079
 #, python-format
 msgid "Error : IEC to C compiler returned %d\n"
 msgstr ""
 
-#: ../plugger.py:941
+#: ../plugger.py:1021
 #, python-format
 msgid ""
 "Error in ST/IL/SFC code generator :\n"
 "%s\n"
 msgstr ""
 
-#: ../plugger.py:202
+#: ../plugger.py:207
 #, python-format
 msgid "Error while saving \"%s\"\n"
 msgstr ""
 
-#: ../plugins/canfestival/canfestival.py:191
+#: ../plugins/canfestival/canfestival.py:208
 msgid "Error: No Master generated\n"
 msgstr ""
 
-#: ../plugins/canfestival/canfestival.py:186
+#: ../plugins/canfestival/canfestival.py:203
 msgid "Error: No PLC built\n"
 msgstr ""
 
-#: ../plugger.py:1710
+#: ../plugger.py:1713
 #, python-format
 msgid "Exception while connecting %s!\n"
 msgstr ""
 
-#: ../plugger.py:1014
+#: ../plugger.py:1091
 msgid "Extracting Located Variables...\n"
 msgstr ""
 
-#: ../plugger.py:1768
+#: ../plugger.py:1771
 msgid "Failed : Must build before transfer.\n"
 msgstr ""
 
-#: ../plugger.py:1341
+#: ../plugger.py:1379
 msgid "Fatal : cannot get builder.\n"
 msgstr ""
 
-#: ../Beremiz.py:347
-msgid "File"
-msgstr ""
-
-#: ../plugger.py:815
-msgid "Folder choosen doesn't contain a program. It's not a valid project!"
-msgstr ""
-
-#: ../plugger.py:780
-msgid "Folder choosen isn't empty. You can't use it for a new project!"
-msgstr ""
-
-#: ../connectors/PYRO/__init__.py:93
+#: ../connectors/PYRO/__init__.py:100
 msgid "Force runtime reload\n"
 msgstr ""
 
-#: ../plugger.py:931
+#: ../plugger.py:1011
 msgid "Generating SoftPLC IEC-61131 ST/IL/SFC code...\n"
 msgstr ""
 
-#: ../plugger.py:1289
+#: ../plugger.py:1329
 msgid "Generating plugins C code\n"
 msgstr ""
 
-#: ../Beremiz.py:350
-msgid "Help"
-msgstr ""
-
-#: ../plugger.py:1281
+#: ../plugger.py:1321
 msgid "IEC-61131-3 code generation failed !\n"
 msgstr ""
 
+#: ../Beremiz_service.py:354 ../Beremiz_service.py:355
+msgid "IP is not valid!"
+msgstr ""
+
+#: ../plugins/python/modules/svgui/svgui.py:15
+#: ../plugins/python/modules/svgui/svgui.py:16
+msgid "Import SVG"
+msgstr ""
+
+#: ../plugins/python/modules/svgui/svgui.py:19
+msgid "Inkscape"
+msgstr ""
+
+#: ../plugins/canfestival/config_utils.py:376
+#: ../plugins/canfestival/config_utils.py:637
+#, python-format
+msgid "Invalid type \"%s\"-> %d != %d  for location\"%s\""
+msgstr ""
+
+#: ../plugger.py:1777
+msgid "Latest build already matches current target. Transfering anyway...\n"
+msgstr ""
+
+#: ../plugger.py:1747
+msgid "Latest build does not match with target, please transfer.\n"
+msgstr ""
+
+#: ../plugger.py:1751
+msgid "Latest build matches target, no transfer needed.\n"
+msgstr ""
+
+#: ../Beremiz_service.py:322
+msgid "Launch WX GUI inspector"
+msgstr ""
+
+#: ../Beremiz_service.py:321
+msgid "Launch a live Python shell"
+msgstr ""
+
+#: ../targets/toolchain_gcc.py:133
+msgid "Linking :\n"
+msgstr ""
+
+#: ../discovery.py:107
+msgid "Local"
+msgstr ""
+
+#: ../Beremiz.py:376
+msgid "Log Console"
+msgstr ""
+
+#: ../plugger.py:512
+#, python-format
+msgid "Max count (%d) reached for this plugin of type %s "
+msgstr ""
+
+#: ../Beremiz_service.py:379
+msgid "Name must not be null!"
+msgstr ""
+
+#: ../Beremiz.py:291
+msgid "New\tCTRL+N"
+msgstr ""
+
+#: ../plugger.py:1801
+msgid "No PLC to transfer (did build succeed ?)\n"
+msgstr ""
+
+#: ../Beremiz_service.py:392
+msgid "No running PLC"
+msgstr ""
+
+#: ../plugins/python/modules/svgui/svgui.py:96
+#, python-format
+msgid "No such SVG file: %s\n"
+msgstr ""
+
+#: ../plugins/canfestival/config_utils.py:632
+#, python-format
+msgid "No such index/subindex (%x,%x) (variable %s)"
+msgstr ""
+
+#: ../plugins/canfestival/config_utils.py:361
+#, python-format
+msgid "No such index/subindex (%x,%x) in ID : %d (variable %s)"
+msgstr ""
+
+#: ../plugins/canfestival/config_utils.py:354
+#, python-format
+msgid "Non existing node ID : %d (variable %s)"
+msgstr ""
+
+#: ../plugins/canfestival/config_utils.py:383
+#, python-format
+msgid "Not PDO mappable variable : '%s' (ID:%d,Idx:%x,sIdx:%x))"
+msgstr ""
+
+#: ../Beremiz.py:293
+msgid "Open\tCTRL+O"
+msgstr ""
+
+#: ../targets/toolchain_gcc.py:101
+msgid "PLC :\n"
+msgstr ""
+
+#: ../plugger.py:1489 ../plugger.py:1733
+#, python-format
+msgid "PLC is %s\n"
+msgstr ""
+
+#: ../Beremiz.py:302
+msgid "Page Setup"
+msgstr ""
+
+#: ../Beremiz.py:1391
+msgid "Please enter a name for plugin:"
+msgstr ""
+
+#: ../targets/toolchain_gcc.py:99
+msgid "Plugin : "
+msgstr ""
+
+#: ../plugger.py:1335
+msgid "Plugins code generation failed !\n"
+msgstr ""
+
+#: ../Beremiz_service.py:364
+msgid "Port number must be 0 <= port <= 65535!"
+msgstr ""
+
+#: ../Beremiz_service.py:364
+msgid "Port number must be an integer!"
+msgstr ""
+
+#: ../Beremiz.py:304
+msgid "Preview"
+msgstr ""
+
+#: ../Beremiz.py:306
+msgid "Print"
+msgstr ""
+
+#: ../plugger.py:856
+msgid "Project not created"
+msgstr ""
+
+#: ../plugger.py:540
+#, python-format
+msgid "Project tree layout do not match plugin.xml %s!=%s "
+msgstr ""
+
+#: ../Beremiz.py:309
+msgid "Properties"
+msgstr ""
+
+#: ../plugins/python/PythonEditor.py:513 ../plugins/python/PythonEditor.py:566
+msgid "PythonEditor"
+msgstr ""
+
+#: ../Beremiz_service.py:326
+msgid "Quit"
+msgstr ""
+
+#: ../Beremiz.py:312
+msgid "Quit\tCTRL+Q"
+msgstr ""
+
+#: ../plugger.py:1854
+msgid "Raw IEC code"
+msgstr ""
+
+#: ../Beremiz.py:1400
+msgid "Really delete plugin ?"
+msgstr ""
+
+#: ../plugins/python/PythonEditor.py:494
+msgid "Redo\tCTRL+Y"
+msgstr ""
+
+#: ../discovery.py:102
+msgid "Refresh"
+msgstr ""
+
+#: ../plugins/python/PythonEditor.py:490
+msgid "Refresh\tCTRL+R"
+msgstr ""
+
+#: ../Beremiz.py:1400
+msgid "Remove plugin"
+msgstr ""
+
+#: ../plugger.py:1816
+msgid "Run"
+msgstr ""
+
+#: ../plugins/python/modules/svgui/svgui.py:90
+msgid "SVG files (*.svg)|*.svg|All files|*.*"
+msgstr ""
+
+#: ../Beremiz.py:295
+msgid "Save\tCTRL+S"
+msgstr ""
+
+#: ../Beremiz.py:482 ../Beremiz.py:1340
+msgid "Save changes ?"
+msgstr ""
+
+#: ../discovery.py:81
+msgid "Services available:"
+msgstr ""
+
+#: ../plugger.py:1851
+msgid "Show IEC code generated by PLCGenerator"
+msgstr ""
+
+#: ../plugins/canfestival/canfestival.py:220
+msgid "Show Master"
+msgstr ""
+
+#: ../plugins/canfestival/canfestival.py:221
+msgid "Show Master generated by config_utils"
+msgstr ""
+
+#: ../plugger.py:1849
+msgid "Show code"
+msgstr ""
+
+#: ../plugger.py:1818 ../Beremiz_service.py:317
+msgid "Start PLC"
+msgstr ""
+
+#: ../plugger.py:1823
+msgid "Start PLC (debug mode)"
+msgstr ""
+
+#: ../plugger.py:1313
+#, python-format
+msgid "Start build in %s\n"
+msgstr ""
+
+#: ../plugger.py:1454
+msgid "Started"
+msgstr ""
+
+#: ../plugger.py:1451
+msgid "Starting"
+msgstr ""
+
+#: ../plugger.py:1641
+msgid "Starting PLC (debug mode)\n"
+msgstr ""
+
+#: ../plugger.py:1830
+msgid "Stop"
+msgstr ""
+
+#: ../Beremiz_service.py:318
+msgid "Stop PLC"
+msgstr ""
+
+#: ../plugger.py:1832
+msgid "Stop Running PLC"
+msgstr ""
+
+#: ../plugger.py:1457
+msgid "Stopped"
+msgstr ""
+
+#: ../plugger.py:1673
+msgid "Stopping debug\n"
+msgstr ""
+
+#: ../Beremiz.py:370
+msgid "Topology"
+msgstr ""
+
+#: ../plugger.py:1839
+msgid "Transfer"
+msgstr ""
+
+#: ../plugger.py:1841
+msgid "Transfer PLC"
+msgstr ""
+
+#: ../plugger.py:1797
+msgid "Transfer completed successfully.\n"
+msgstr ""
+
+#: ../plugger.py:1799
+msgid "Transfer failed\n"
+msgstr ""
+
+#: ../plugins/canfestival/config_utils.py:335
+#: ../plugins/canfestival/config_utils.py:617
+#, python-format
+msgid "Type conflict for location \"%s\""
+msgstr ""
+
 #: ../plugins/canfestival/config_utils.py:455
 #: ../plugins/canfestival/config_utils.py:469
 #, python-format
-msgid "Impossible to define PDO mapping for node %02x"
-msgstr ""
-
-#: ../plugins/canfestival/config_utils.py:376
-#: ../plugins/canfestival/config_utils.py:637
-#, python-format
-msgid "Invalid type \"%s\"-> %d != %d  for location\"%s\""
-msgstr ""
-
-#: ../Beremiz_service.py:349 ../Beremiz_service.py:350
-msgid "Ip is not valid!"
-msgstr ""
-
-#: ../plugger.py:1774
-msgid "Latest build already match current target. Transfering anyway...\n"
-msgstr ""
-
-#: ../plugger.py:1744
-msgid "Latest build do not match with target, please transfer.\n"
-msgstr ""
-
-#: ../plugger.py:1748
-msgid "Latest build match target, no transfer needed.\n"
-msgstr ""
-
-#: ../Beremiz_service.py:317
-msgid "Launch WX GUI inspector"
-msgstr ""
-
-#: ../Beremiz_service.py:316
-msgid "Launch a live Python shell"
-msgstr ""
-
-#: ../targets/toolchain_gcc.py:127
-msgid "Linking :\n"
-msgstr ""
-
-#: ../discovery.py:72
-msgid "Local"
-msgstr ""
-
-#: ../Beremiz.py:435
-msgid "Log Console"
-msgstr ""
-
-#: ../plugger.py:475
-#, python-format
-msgid "Max count (%d) reached for this plugin of type %s "
-msgstr ""
-
-#: ../Beremiz_service.py:374
-msgid "Name must not be null!"
-msgstr ""
-
-#: ../Beremiz.py:286
-msgid "New\tCTRL+N"
-msgstr ""
-
-#: ../plugger.py:1798
-msgid "No PLC to transfer (did build success ?)\n"
-msgstr ""
-
-#: ../Beremiz_service.py:387
-msgid "No runnning PLC"
-msgstr ""
-
-#: ../plugins/canfestival/config_utils.py:632
-#, python-format
-msgid "No such index/subindex (%x,%x) (variable %s)"
-msgstr ""
-
-#: ../plugins/canfestival/config_utils.py:361
-#, python-format
-msgid "No such index/subindex (%x,%x) in ID : %d (variable %s)"
-msgstr ""
-
-#: ../plugins/canfestival/config_utils.py:354
-#, python-format
-msgid "Non existing node ID : %d (variable %s)"
-msgstr ""
-
-#: ../plugins/canfestival/config_utils.py:383
-#, python-format
-msgid "Not PDO mappable variable : '%s' (ID:%d,Idx:%x,sIdx:%x))"
-msgstr ""
-
-#: ../discovery.py:83
-msgid "OK"
-msgstr ""
-
-#: ../Beremiz.py:288
-msgid "Open\tCTRL+O"
-msgstr ""
-
-#: ../targets/toolchain_gcc.py:95
-msgid "PLC :\n"
-msgstr ""
-
-#: ../plugger.py:1486 ../plugger.py:1730
-#, python-format
-msgid "PLC is %s\n"
-msgstr ""
-
-#: ../Beremiz.py:1390
-msgid "Please enter a name for plugin:"
-msgstr ""
-
-#: ../runtime/PLCObject.py:219
-msgid "Please stop PLC to close"
-msgstr ""
-
-#: ../targets/toolchain_gcc.py:93
-msgid "Plugin : "
-msgstr ""
-
-#: ../plugger.py:1295
-msgid "Plugins code generation failed !\n"
-msgstr ""
-
-#: ../Beremiz_service.py:359
-msgid "Port number must be 0 <= port <= 65535!"
-msgstr ""
-
-#: ../Beremiz_service.py:359
-msgid "Port number must be an integer!"
-msgstr ""
-
-#: ../plugger.py:789
-msgid "Project not created"
-msgstr ""
-
-#: ../plugger.py:503
-#, python-format
-msgid "Project tree layout do not match plugin.xml %s!=%s "
-msgstr ""
-
-#: ../Beremiz.py:295
-msgid "Properties"
-msgstr ""
-
-#: ../Beremiz_service.py:321
-msgid "Quit"
-msgstr ""
-
-#: ../Beremiz.py:298
-msgid "Quit\tCTRL+Q"
-msgstr ""
-
-#: ../plugger.py:1854
-msgid "Raw IEC code"
-msgstr ""
-
-#: ../Beremiz.py:1398
-msgid "Really delete plugin ?"
-msgstr ""
-
-#: ../discovery.py:64
-msgid "Refresh"
-msgstr ""
-
-#: ../Beremiz.py:1398
-msgid "Remove plugin"
-msgstr ""
-
-#: ../Beremiz.py:325 ../plugger.py:1816
-msgid "Run"
-msgstr ""
-
-#: ../Beremiz.py:290
-msgid "Save\tCTRL+S"
-msgstr ""
-
-#: ../Beremiz.py:328
-msgid "Save Log"
-msgstr ""
-
-#: ../Beremiz.py:523 ../Beremiz.py:1298
-msgid "Save changes ?"
-msgstr ""
-
-#: ../discovery.py:37
-msgid "Service Discovery"
-msgstr ""
-
-#: ../plugger.py:1851
-msgid "Show IEC code generated by PLCGenerator"
-msgstr ""
-
-#: ../plugins/canfestival/canfestival.py:202
-msgid "Show Master"
-msgstr ""
-
-#: ../plugins/canfestival/canfestival.py:203
-msgid "Show Master generated by config_utils"
-msgstr ""
-
-#: ../plugger.py:1849
-msgid "Show code"
-msgstr ""
-
-#: ../Beremiz.py:323
-msgid "Simulate"
-msgstr ""
-
-#: ../plugger.py:1818 ../Beremiz_service.py:312
-msgid "Start PLC"
-msgstr ""
-
-#: ../plugger.py:1823
-msgid "Start PLC (debug mode)"
-msgstr ""
-
-#: ../plugger.py:1273
-#, python-format
-msgid "Start build in %s\n"
-msgstr ""
-
-#: ../plugger.py:1451
-msgid "Started"
-msgstr ""
-
-#: ../plugger.py:1634
-msgid "Starting PLC (debug mode)\n"
-msgstr ""
-
-#: ../plugger.py:1830
-msgid "Stop"
-msgstr ""
-
-#: ../Beremiz_service.py:313
-msgid "Stop PLC"
-msgstr ""
-
-#: ../plugger.py:1832
-msgid "Stop Running PLC"
-msgstr ""
-
-#: ../plugger.py:1454
-msgid "Stopped"
-msgstr ""
-
-#: ../plugger.py:1673
-msgid "Stopping debug\n"
-msgstr ""
-
-#: ../plugger.py:1839
-msgid "Transfer"
-msgstr ""
-
-#: ../plugger.py:1841
-msgid "Transfer PLC"
-msgstr ""
-
-#: ../plugger.py:1794
-msgid "Transfer completed successfully.\n"
-msgstr ""
-
-#: ../plugger.py:1796
-msgid "Transfer failed\n"
+msgid "Unable to define PDO mapping for node %02x"
 msgstr ""
 
 #: ../targets/Xenomai/__init__.py:27
@@ -725,11 +747,19 @@
 msgid "Unable to get Xenomai's LDFLAGS\n"
 msgstr ""
 
-#: ../plugger.py:936
+#: ../plugins/python/PythonEditor.py:492
+msgid "Undo\tCTRL+Z"
+msgstr ""
+
+#: ../plugins/python/modules/wxglade_hmi/wxglade_hmi.py:12
+msgid "WXGLADE GUI"
+msgstr ""
+
+#: ../plugger.py:1016
 msgid "Warnings in ST/IL/SFC code generator :\n"
 msgstr ""
 
-#: ../connectors/PYRO/__init__.py:39
+#: ../connectors/PYRO/__init__.py:46
 msgid "Wrong URI, please check it !\n"
 msgstr ""
 
@@ -738,15 +768,15 @@
 msgid "exited with status %s (pid %s)\n"
 msgstr ""
 
-#: ../Beremiz.py:1417 ../Beremiz.py:1419
+#: ../Beremiz.py:1420 ../Beremiz.py:1422
 msgid "file : "
 msgstr ""
 
-#: ../Beremiz.py:1420
+#: ../Beremiz.py:1423
 msgid "function : "
 msgstr ""
 
-#: ../Beremiz.py:1420
+#: ../Beremiz.py:1423
 msgid "line : "
 msgstr ""
 
Binary file locale/fr_FR/LC_MESSAGES/Beremiz.mo has changed
Binary file locale/zh_CN/LC_MESSAGES/Beremiz.mo has changed
--- a/plugger.py	Thu Oct 08 16:37:58 2009 +0200
+++ b/plugger.py	Fri Oct 09 17:38:17 2009 +0200
@@ -842,9 +842,9 @@
         @param ProjectPath: path of the folder where project have to be created
         @param PLCParams: properties of the PLCOpen program created
         """
-        # Verify that choosen folder is empty
+        # Verify that chosen folder is empty
         if not os.path.isdir(ProjectPath) or len(os.listdir(ProjectPath)) > 0:
-            return _("Folder choosen isn't empty. You can't use it for a new project!")
+            return _("Chosen folder isn't empty. You can't use it for a new project!")
         
         dialog = ProjectDialog(self.AppFrame)
         if dialog.ShowModal() == wx.ID_OK:
@@ -879,7 +879,7 @@
 		# Verify that project contains a PLCOpen program
         plc_file = os.path.join(ProjectPath, "plc.xml")
         if not os.path.isfile(plc_file):
-            return _("Folder choosen doesn't contain a program. It's not a valid project!")
+            return _("Chosen folder doesn't contain a program. It's not a valid project!")
         # Load PLCOpen file
         result = self.OpenXMLFile(plc_file)
         if result:
@@ -1035,7 +1035,9 @@
         plc_file = open(self._getIECcodepath(), "a")
         plc_file.write(open(self._getIECgeneratedcodepath(), "r").read())
         plc_file.close()
-        self.logger.write(_("Compiling IEC Program in to C code...\n"))
+
+        self.logger.write(_("Compiling IEC Program into C code...\n"))
+
         # Now compile IEC code into many C files
         # files are listed to stdout, and errors to stderr. 
         status, result, err_result = ProcessLogger(
@@ -1082,7 +1084,7 @@
         # remove those that are not to be compiled because included by others
         C_files.remove("POUS.c")
         if not C_files:
-            self.logger.write_error(_("Error : At least one configuration and one ressource must be declared in PLC !\n"))
+            self.logger.write_error(_("Error : At least one configuration and one resource must be declared in PLC !\n"))
             return False
         # transform those base names to full names with path
         C_files = map(lambda filename:os.path.join(buildpath, filename), C_files)
@@ -1742,11 +1744,11 @@
         if MD5 is not None:
             if not self._connector.MatchMD5(MD5):
                 self.logger.write_warning(
-                   _("Latest build do not match with target, please transfer.\n"))
+                   _("Latest build does not match with target, please transfer.\n"))
                 self.EnableMethod("_Transfer", True)
             else:
                 self.logger.write(
-                   _("Latest build match target, no transfer needed.\n"))
+                   _("Latest build matches target, no transfer needed.\n"))
                 self.EnableMethod("_Transfer", True)
                 #self.EnableMethod("_Transfer", False)
         else:
@@ -1772,7 +1774,7 @@
         # Compare PLC project with PLC on target
         if self._connector.MatchMD5(MD5):
             self.logger.write(
-                _("Latest build already match current target. Transfering anyway...\n"))
+                _("Latest build already matches current target. Transfering anyway...\n"))
 
         # Get temprary directory path
         extrafilespath = self._getExtraFilesPath()
@@ -1796,7 +1798,8 @@
                 else:
                     self.logger.write_error(_("Transfer failed\n"))
             else:
-                self.logger.write_error(_("No PLC to transfer (did build success ?)\n"))
+                self.logger.write_error(_("No PLC to transfer (did build succeed ?)\n"))
+
         self.UpdateMethodsFromPLCStatus()
 
     PluginMethods = [
--- a/plugins/canfestival/config_utils.py	Thu Oct 08 16:37:58 2009 +0200
+++ b/plugins/canfestival/config_utils.py	Fri Oct 09 17:38:17 2009 +0200
@@ -332,7 +332,7 @@
             name = location["NAME"]
             if name in self.IECLocations:
                 if self.IECLocations[name]["type"] != COlocationtype:
-                    raise PDOmappingException, _("Conflict type for location \"%s\"") % name 
+                    raise PDOmappingException, _("Type conflict for location \"%s\"") % name 
             else:
                 # Get only the part of the location that concern this node
                 loc = location["LOC"][len(current_location):]
@@ -452,7 +452,7 @@
                     pdomapping = []
                     result = self.GetEmptyPDO(nodeid, pdotype)
                     if result is None:
-                        raise PDOmappingException, _("Impossible to define PDO mapping for node %02x") % nodeid
+                        raise PDOmappingException, _("Unable to define PDO mapping for node %02x") % nodeid
                     pdoindex, pdocobid, pdonbparams = result
                     for name, loc_infos in locations[pdotype]:
                         pdosize += loc_infos["size"]
@@ -466,7 +466,7 @@
                             pdomapping = [(name, loc_infos)]
                             result = self.GetEmptyPDO(nodeid, pdotype, pdoindex + 1)
                             if result is None:
-                                raise PDOmappingException, _("Impossible to define PDO mapping for node %02x") % nodeid
+                                raise PDOmappingException, _("Unable to define PDO mapping for node %02x") % nodeid
                             pdoindex, pdocobid, pdonbparams = result
                         else:
                             pdomapping.append((name, loc_infos))
@@ -614,7 +614,7 @@
         name = location["NAME"]
         if name in IECLocations:
             if IECLocations[name] != COlocationtype:
-                raise PDOmappingException, _("Conflict type for location \"%s\"") % name 
+                raise PDOmappingException, _("Type conflict for location \"%s\"") % name 
         else:
             # Get only the part of the location that concern this node
             loc = location["LOC"][len(current_location):]
--- a/plugins/python/PythonEditor.py	Thu Oct 08 16:37:58 2009 +0200
+++ b/plugins/python/PythonEditor.py	Fri Oct 09 17:38:17 2009 +0200
@@ -487,17 +487,17 @@
     
     def _init_coll_EditMenu_Items(self, parent):
         AppendMenu(parent, help='', id=wx.ID_REFRESH,
-              kind=wx.ITEM_NORMAL, text=u'Refresh\tCTRL+R')
+              kind=wx.ITEM_NORMAL, text=_(u'Refresh\tCTRL+R'))
         AppendMenu(parent, help='', id=wx.ID_UNDO,
-              kind=wx.ITEM_NORMAL, text=u'Undo\tCTRL+Z')
+              kind=wx.ITEM_NORMAL, text=_(u'Undo\tCTRL+Z'))
         AppendMenu(parent, help='', id=wx.ID_REDO,
-              kind=wx.ITEM_NORMAL, text=u'Redo\tCTRL+Y')
+              kind=wx.ITEM_NORMAL, text=_(u'Redo\tCTRL+Y'))
         self.Bind(wx.EVT_MENU, self.OnRefreshMenu, id=wx.ID_REFRESH)
         self.Bind(wx.EVT_MENU, self.OnUndoMenu, id=wx.ID_UNDO)
         self.Bind(wx.EVT_MENU, self.OnRedoMenu, id=wx.ID_REDO)
     
     def _init_coll_MenuBar_Menus(self, parent):
-        parent.Append(menu=self.EditMenu, title=u'&Edit')
+        parent.Append(menu=self.EditMenu, title=_(u'&Edit'))
     
     def _init_utils(self):
         self.MenuBar = wx.MenuBar()
@@ -510,7 +510,7 @@
     def _init_ctrls(self, prnt):
         wx.Frame.__init__(self, id=ID_PYTHONEDITORFRAME, name=u'PythonEditor',
               parent=prnt, pos=wx.DefaultPosition, size=wx.Size(800, 650),
-              style=wx.DEFAULT_FRAME_STYLE, title=u'PythonEditor')
+              style=wx.DEFAULT_FRAME_STYLE, title=_(u'PythonEditor'))
         self._init_utils()
         self.SetClientSize(wx.Size(1000, 600))
         self.SetMenuBar(self.MenuBar)
@@ -563,7 +563,8 @@
         event.Skip()
 
     def RefreshTitle(self):
-        self.SetTitle("PythonEditor - %s"%self.Controler.GetFilename())
+        title = _("PythonEditor")
+        self.SetTitle("%s - %s"%(title, self.Controler.GetFilename()))
         
 #-------------------------------------------------------------------------------
 #                          Edit Project Menu Functions
--- a/plugins/python/modules/svgui/svgui.py	Thu Oct 08 16:37:58 2009 +0200
+++ b/plugins/python/modules/svgui/svgui.py	Fri Oct 09 17:38:17 2009 +0200
@@ -12,12 +12,12 @@
 
     PluginMethods = [
         {"bitmap" : os.path.join("images","ImportSVG"),
-         "name" : "Import SVG",
-         "tooltip" : "Import SVG",
+         "name" : _("Import SVG"),
+         "tooltip" : _("Import SVG"),
          "method" : "_ImportSVG"},
         {"bitmap" : os.path.join("images","ImportSVG"),
-         "name" : "Inkscape",
-         "tooltip" : "Create HMI",
+         "name" : _("Inkscape"),
+         "tooltip" : _("Create HMI"),
          "method" : "_StartInkscape"},
     ]
 
@@ -87,13 +87,13 @@
         return res
 
     def _ImportSVG(self):
-        dialog = wx.FileDialog(self.GetPlugRoot().AppFrame, "Choose a SVG file", os.getcwd(), "",  "SVG files (*.svg)|*.svg|All files|*.*", wx.OPEN)
+        dialog = wx.FileDialog(self.GetPlugRoot().AppFrame, _("Choose a SVG file"), os.getcwd(), "",  _("SVG files (*.svg)|*.svg|All files|*.*"), wx.OPEN)
         if dialog.ShowModal() == wx.ID_OK:
             svgpath = dialog.GetPath()
             if os.path.isfile(svgpath):
                 shutil.copy(svgpath, self._getSVGpath())
             else:
-                self.logger.write_error("No such SVG file: %s\n"%svgpath)
+                self.logger.write_error(_("No such SVG file: %s\n")%svgpath)
         dialog.Destroy()  
 
     def _StartInkscape(self):