i18n/Beremiz_fr_FR.po
changeset 1803 da138c5a3063
parent 1706 b5c0a10145f1
child 2351 467f6daff4e9
--- a/i18n/Beremiz_fr_FR.po	Wed Sep 13 10:18:04 2017 +0300
+++ b/i18n/Beremiz_fr_FR.po	Wed Sep 13 15:35:43 2017 +0300
@@ -1,15 +1,17 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+# English translations for Beremiz package.
+# Copyright (C) 2017 THE Beremiz'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the Beremiz package.
+# Automatically generated, 2017.
 # 
-#, fuzzy
+# Translators:
+# Andrey Skvortsov <andrej.skvortzov@gmail.com>, 2017
+# Fabien M <mail@fabienm.eu>, 2017
 msgid ""
 msgstr ""
 "Project-Id-Version: Beremiz\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2017-03-09 15:28+0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"POT-Creation-Date: 2017-07-05 13:02+0300\n"
+"PO-Revision-Date: 2017-07-05 13:02+0300\n"
 "Last-Translator: Fabien M <mail@fabienm.eu>, 2017\n"
 "Language-Team: French (France) (https://www.transifex.com/beremiz/teams/75746/fr_FR/)\n"
 "MIME-Version: 1.0\n"
@@ -18,7 +20,7 @@
 "Language: fr_FR\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
-#: ../PLCOpenEditor.py:408 ../Beremiz.py:1191
+#: ../BeremizIDE.py:1095 ../PLCOpenEditor.py:418
 #, python-format
 msgid ""
 "\n"
@@ -66,109 +68,109 @@
 msgid "   Temp"
 msgstr "  Temporaire"
 
-#: ../dialogs/PouTransitionDialog.py:99 ../dialogs/ProjectDialog.py:66
-#: ../dialogs/PouActionDialog.py:91 ../dialogs/PouDialog.py:113
+#: ../dialogs/PouTransitionDialog.py:94 ../dialogs/ProjectDialog.py:69
+#: ../dialogs/PouActionDialog.py:92 ../dialogs/PouDialog.py:114
 #, python-format
 msgid " and %s"
 msgstr " et %s"
 
-#: ../ProjectController.py:1110
+#: ../ProjectController.py:1151
 msgid " generation failed !\n"
 msgstr "la construction a échouée !\n"
 
-#: ../plcopen/plcopen.py:881
+#: ../plcopen/plcopen.py:886
 #, python-format
 msgid "\"%s\" Data Type doesn't exist !!!"
 msgstr "Le type de donnée \"%s\" n'existe pas !!!"
 
-#: ../plcopen/plcopen.py:899
+#: ../plcopen/plcopen.py:904
 #, python-format
 msgid "\"%s\" POU already exists !!!"
 msgstr "Le POU \"%s\" existe déjà !!!"
 
-#: ../plcopen/plcopen.py:920
+#: ../plcopen/plcopen.py:925
 #, python-format
 msgid "\"%s\" POU doesn't exist !!!"
 msgstr "Le POU \"%s\" n'existe pas !!!"
 
-#: ../editors/Viewer.py:246
+#: ../editors/Viewer.py:247
 #, python-format
 msgid "\"%s\" can't use itself!"
 msgstr "\"%s\" ne peut pas s'utiliser lui-même !"
 
-#: ../IDEFrame.py:1651 ../IDEFrame.py:1670
+#: ../IDEFrame.py:1655 ../IDEFrame.py:1674
 #, python-format
 msgid "\"%s\" config already exists!"
 msgstr "La configuration \"%s\" existe déjà !"
 
-#: ../plcopen/plcopen.py:467
+#: ../plcopen/plcopen.py:472
 #, python-format
 msgid "\"%s\" configuration already exists !!!"
 msgstr "La configuration \"%s\" existe déjà !!!"
 
-#: ../IDEFrame.py:1601
+#: ../IDEFrame.py:1605
 #, python-format
 msgid "\"%s\" data type already exists!"
 msgstr "Le type de données \"%s\" existe déjà !"
 
-#: ../dialogs/PouTransitionDialog.py:110 ../dialogs/BlockPreviewDialog.py:219
-#: ../dialogs/PouActionDialog.py:102 ../editors/Viewer.py:262
-#: ../editors/Viewer.py:330 ../editors/Viewer.py:354 ../editors/Viewer.py:374
+#: ../dialogs/PouTransitionDialog.py:105 ../dialogs/BlockPreviewDialog.py:220
+#: ../dialogs/PouActionDialog.py:103 ../editors/Viewer.py:263
+#: ../editors/Viewer.py:331 ../editors/Viewer.py:355 ../editors/Viewer.py:375
 #: ../editors/TextViewer.py:272 ../editors/TextViewer.py:301
 #: ../controls/VariablePanel.py:396
 #, python-format
 msgid "\"%s\" element for this pou already exists!"
 msgstr "Un élément \"%s\" existe déjà dans ce POU !"
 
-#: ../Beremiz.py:994
+#: ../BeremizIDE.py:897
 #, python-format
 msgid "\"%s\" folder is not a valid Beremiz project\n"
 msgstr "Le dossier \"%s\" ne contient pas de projet Beremiz valide\n"
 
-#: ../dialogs/SFCStepNameDialog.py:52 ../dialogs/PouTransitionDialog.py:106
-#: ../dialogs/BlockPreviewDialog.py:207 ../dialogs/PouNameDialog.py:50
-#: ../dialogs/PouActionDialog.py:98 ../dialogs/PouDialog.py:120
+#: ../dialogs/SFCStepNameDialog.py:52 ../dialogs/PouTransitionDialog.py:101
+#: ../dialogs/BlockPreviewDialog.py:208 ../dialogs/PouNameDialog.py:50
+#: ../dialogs/PouActionDialog.py:99 ../dialogs/PouDialog.py:121
 #: ../editors/ResourceEditor.py:449 ../editors/ResourceEditor.py:484
-#: ../editors/DataTypeEditor.py:555 ../editors/DataTypeEditor.py:584
-#: ../editors/CodeFileEditor.py:770 ../controls/VariablePanel.py:763
-#: ../IDEFrame.py:1592
+#: ../editors/DataTypeEditor.py:555 ../editors/DataTypeEditor.py:587
+#: ../editors/CodeFileEditor.py:776 ../controls/VariablePanel.py:773
+#: ../IDEFrame.py:1596
 #, python-format
 msgid "\"%s\" is a keyword. It can't be used!"
 msgstr "\"%s\" est un mot réservé. Il ne peut être utilisé !"
 
-#: ../plcopen/plcopen.py:2412
+#: ../plcopen/plcopen.py:2417
 #, python-format
 msgid "\"%s\" is an invalid value!"
 msgstr "\"%s\" n'est pas une valeur valide !"
 
-#: ../PLCOpenEditor.py:339 ../PLCOpenEditor.py:381
+#: ../PLCOpenEditor.py:349 ../PLCOpenEditor.py:391
 #, python-format
 msgid "\"%s\" is not a valid folder!"
 msgstr "\"%s\" n'est pas un répertoire valide !"
 
-#: ../dialogs/SFCStepNameDialog.py:50 ../dialogs/PouTransitionDialog.py:104
-#: ../dialogs/BlockPreviewDialog.py:203 ../dialogs/PouNameDialog.py:48
-#: ../dialogs/PouActionDialog.py:96 ../dialogs/PouDialog.py:118
+#: ../dialogs/SFCStepNameDialog.py:50 ../dialogs/PouTransitionDialog.py:99
+#: ../dialogs/BlockPreviewDialog.py:204 ../dialogs/PouNameDialog.py:48
+#: ../dialogs/PouActionDialog.py:97 ../dialogs/PouDialog.py:119
 #: ../editors/ResourceEditor.py:447 ../editors/ResourceEditor.py:482
-#: ../editors/DataTypeEditor.py:579 ../editors/CodeFileEditor.py:768
-#: ../controls/VariablePanel.py:761 ../IDEFrame.py:1590
+#: ../editors/DataTypeEditor.py:585 ../editors/CodeFileEditor.py:774
+#: ../controls/VariablePanel.py:771 ../IDEFrame.py:1594
 #, python-format
 msgid "\"%s\" is not a valid identifier!"
 msgstr "\"%s\" n'est pas un identifiant valide !"
 
-#: ../IDEFrame.py:2395
+#: ../IDEFrame.py:2410
 #, python-format
 msgid "\"%s\" is used by one or more POUs. Do you wish to continue?"
 msgstr ""
 "\"%s\" est utilisé par un POU ou plus. Souhaitez vous continuer malgré tout "
 "?"
 
-#: ../dialogs/BlockPreviewDialog.py:211 ../dialogs/PouDialog.py:122
-#: ../editors/Viewer.py:260 ../editors/Viewer.py:315 ../editors/Viewer.py:345
-#: ../editors/Viewer.py:367 ../editors/TextViewer.py:270
+#: ../dialogs/BlockPreviewDialog.py:212 ../dialogs/PouDialog.py:123
+#: ../editors/Viewer.py:261 ../editors/Viewer.py:316 ../editors/Viewer.py:346
+#: ../editors/Viewer.py:368 ../editors/TextViewer.py:270
 #: ../editors/TextViewer.py:299 ../editors/TextViewer.py:350
 #: ../editors/TextViewer.py:373 ../controls/VariablePanel.py:338
-#: ../IDEFrame.py:1610
+#: ../IDEFrame.py:1614
 #, python-format
 msgid "\"%s\" pou already exists!"
 msgstr "Le POU \"%s\" existe déjà !"
@@ -183,12 +185,12 @@
 msgid "\"%s\" value already defined!"
 msgstr "La valeur \"%s\" est déjà définie !"
 
-#: ../dialogs/ArrayTypeDialog.py:97 ../editors/DataTypeEditor.py:745
+#: ../dialogs/ArrayTypeDialog.py:97 ../editors/DataTypeEditor.py:743
 #, python-format
 msgid "\"%s\" value isn't a valid array dimension!"
 msgstr "\"%s\" n'est pas une dimension de tableau valide !"
 
-#: ../dialogs/ArrayTypeDialog.py:103 ../editors/DataTypeEditor.py:752
+#: ../dialogs/ArrayTypeDialog.py:103 ../editors/DataTypeEditor.py:750
 #, python-format
 msgid ""
 "\"%s\" value isn't a valid array dimension!\n"
@@ -202,17 +204,17 @@
 msgid "\"{a1}\" function cancelled in \"{a2}\" POU: No input connected"
 msgstr "Fonction \"{a1}\" annulée dans  \"{a2}\" POU: Pas d'entrée connectée"
 
-#: ../editors/Viewer.py:250
+#: ../editors/Viewer.py:251
 #, python-brace-format
 msgid "\"{a1}\" is already used by \"{a2}\"!"
 msgstr "\"{a1}\" est déjà utilisé par \"{a2}\"!"
 
-#: ../plcopen/plcopen.py:491
+#: ../plcopen/plcopen.py:496
 #, python-brace-format
 msgid "\"{a1}\" resource already exists in \"{a2}\" configuration !!!"
 msgstr "La ressource \"{a1}\" existe déjà dans la configuration \"{a2}\" !"
 
-#: ../plcopen/plcopen.py:509
+#: ../plcopen/plcopen.py:514
 #, python-brace-format
 msgid "\"{a1}\" resource doesn't exist in \"{a2}\" configuration !!!"
 msgstr "La ressource \"${a1}\" n'existe pas dans la configuration \"{a2}\" !"
@@ -250,12 +252,12 @@
 msgid "%ds"
 msgstr "%ds"
 
-#: ../PLCControler.py:1531
+#: ../PLCControler.py:1533
 #, python-format
 msgid "%s Data Types"
 msgstr "Types de données de %s"
 
-#: ../PLCControler.py:1514
+#: ../PLCControler.py:1516
 #, python-format
 msgid "%s POUs"
 msgstr "POUs de %s"
@@ -265,15 +267,15 @@
 msgid "%s Profile"
 msgstr "Profil %s"
 
-#: ../plcopen/plcopen.py:1645 ../plcopen/plcopen.py:1652
-#: ../plcopen/plcopen.py:1664 ../plcopen/plcopen.py:1672
-#: ../plcopen/plcopen.py:1682
+#: ../plcopen/plcopen.py:1650 ../plcopen/plcopen.py:1657
+#: ../plcopen/plcopen.py:1669 ../plcopen/plcopen.py:1677
+#: ../plcopen/plcopen.py:1687
 #, python-format
 msgid "%s body don't have instances!"
 msgstr "Le code d'un %s n'a pas d'instances !"
 
-#: ../plcopen/plcopen.py:1700 ../plcopen/plcopen.py:1707
-#: ../plcopen/plcopen.py:1714
+#: ../plcopen/plcopen.py:1705 ../plcopen/plcopen.py:1712
+#: ../plcopen/plcopen.py:1719
 #, python-format
 msgid "%s body don't have text!"
 msgstr "Le code d'un %s n'a pas de texte !"
@@ -327,11 +329,11 @@
 msgid "&Program"
 msgstr "&Programme"
 
-#: ../PLCOpenEditor.py:125
+#: ../PLCOpenEditor.py:127
 msgid "&Properties"
 msgstr "&Propriétés"
 
-#: ../Beremiz.py:324
+#: ../BeremizIDE.py:219
 msgid "&Recent Projects"
 msgstr "Projets &récent"
 
@@ -359,17 +361,17 @@
 msgid "(%d matches)"
 msgstr "(%d correspondances)"
 
-#: ../PLCOpenEditor.py:396 ../PLCOpenEditor.py:398 ../PLCOpenEditor.py:399
+#: ../PLCOpenEditor.py:406 ../PLCOpenEditor.py:408 ../PLCOpenEditor.py:409
 msgid ",   "
 msgstr ",   "
 
-#: ../dialogs/PouTransitionDialog.py:101 ../dialogs/PouActionDialog.py:93
-#: ../dialogs/PouDialog.py:115
+#: ../dialogs/PouTransitionDialog.py:96 ../dialogs/PouActionDialog.py:94
+#: ../dialogs/PouDialog.py:116
 #, python-format
 msgid ", %s"
 msgstr ", %s"
 
-#: ../PLCOpenEditor.py:394
+#: ../PLCOpenEditor.py:404
 msgid ". "
 msgstr ". "
 
@@ -389,8 +391,8 @@
 msgid "1s"
 msgstr "1s"
 
-#: ../dialogs/PouDialog.py:124 ../IDEFrame.py:1613 ../IDEFrame.py:1659
-#: ../IDEFrame.py:1678
+#: ../dialogs/PouDialog.py:125 ../IDEFrame.py:1617 ../IDEFrame.py:1663
+#: ../IDEFrame.py:1682
 #, python-format
 msgid ""
 "A POU has an element named \"%s\". This could cause a conflict. Do you wish "
@@ -399,9 +401,9 @@
 "Un POU a un élément nommé \"%s\". Cela peut générer des conflits. Voulez-"
 "vous continuer ?"
 
-#: ../dialogs/SFCStepNameDialog.py:54 ../dialogs/PouTransitionDialog.py:108
-#: ../dialogs/PouNameDialog.py:52 ../dialogs/PouActionDialog.py:100
-#: ../controls/VariablePanel.py:765 ../IDEFrame.py:1627 ../IDEFrame.py:1640
+#: ../dialogs/SFCStepNameDialog.py:54 ../dialogs/PouTransitionDialog.py:103
+#: ../dialogs/PouNameDialog.py:52 ../dialogs/PouActionDialog.py:101
+#: ../controls/VariablePanel.py:775 ../IDEFrame.py:1631 ../IDEFrame.py:1644
 #, python-format
 msgid "A POU named \"%s\" already exists!"
 msgstr "Un POU nommé \"%s\" existe déjà !"
@@ -411,7 +413,7 @@
 msgid "A child named \"{a1}\" already exists -> \"{a2}\"\n"
 msgstr "Un enfant nommé  \"{a1}\" existe déjà ->  \"{a2}\"\n"
 
-#: ../dialogs/BrowseLocationsDialog.py:216
+#: ../dialogs/BrowseLocationsDialog.py:218
 msgid "A location must be selected!"
 msgstr "Une adresse doit être sélectionné !"
 
@@ -419,18 +421,18 @@
 msgid "A task with the same name already exists!"
 msgstr "Une tâche du même nom existe déjà"
 
-#: ../dialogs/SFCStepNameDialog.py:56 ../controls/VariablePanel.py:767
-#: ../IDEFrame.py:1629 ../IDEFrame.py:1642
+#: ../dialogs/SFCStepNameDialog.py:56 ../controls/VariablePanel.py:777
+#: ../IDEFrame.py:1633 ../IDEFrame.py:1646
 #, python-format
 msgid "A variable with \"%s\" as name already exists in this pou!"
 msgstr "Une variable nommée \"%s\" existe déjà dans ce POU !"
 
-#: ../editors/CodeFileEditor.py:774
+#: ../editors/CodeFileEditor.py:780
 #, python-format
 msgid "A variable with \"%s\" as name already exists!"
 msgstr "Une variable avec le nom \"%s\" existe déjà !"
 
-#: ../dialogs/AboutDialog.py:48 ../PLCOpenEditor.py:158 ../Beremiz.py:381
+#: ../BeremizIDE.py:283 ../dialogs/AboutDialog.py:48 ../PLCOpenEditor.py:168
 msgid "About"
 msgstr "A propos"
 
@@ -438,15 +440,15 @@
 msgid "Absolute number"
 msgstr "Nombre absolu"
 
-#: ../dialogs/SFCStepDialog.py:72 ../dialogs/ActionBlockDialog.py:42
+#: ../dialogs/SFCStepDialog.py:73 ../dialogs/ActionBlockDialog.py:43
 msgid "Action"
 msgstr "Action"
 
-#: ../editors/Viewer.py:555 ../editors/Viewer.py:2356
+#: ../editors/Viewer.py:614 ../editors/Viewer.py:2394
 msgid "Action Block"
 msgstr "Ajouter un bloc fonctionnel"
 
-#: ../dialogs/PouActionDialog.py:81
+#: ../dialogs/PouActionDialog.py:82
 msgid "Action Name"
 msgstr "Nom de l'action"
 
@@ -454,12 +456,12 @@
 msgid "Action Name:"
 msgstr "Nom de l'action :"
 
-#: ../plcopen/plcopen.py:1359
+#: ../plcopen/plcopen.py:1364
 #, python-format
 msgid "Action with name %s doesn't exist!"
 msgstr "L'action nommée %s n'existe pas !"
 
-#: ../PLCControler.py:96
+#: ../PLCControler.py:98
 msgid "Actions"
 msgstr "Actions"
 
@@ -467,16 +469,16 @@
 msgid "Actions:"
 msgstr "Actions :"
 
-#: ../editors/Viewer.py:1110
+#: ../editors/Viewer.py:431
 msgid "Active"
 msgstr "Actif"
 
 #: ../canfestival/SlaveEditor.py:80 ../canfestival/NetworkEditor.py:101
-#: ../editors/Viewer.py:588 ../Beremiz.py:1060
+#: ../BeremizIDE.py:965 ../editors/Viewer.py:647
 msgid "Add"
 msgstr "Ajouter"
 
-#: ../IDEFrame.py:1889 ../IDEFrame.py:1924
+#: ../IDEFrame.py:1893 ../IDEFrame.py:1928
 msgid "Add Action"
 msgstr "Ajouter une action"
 
@@ -485,23 +487,23 @@
 msgstr ""
 "Ajoute un code C ayant accès à des variables localisées de façon synchrone"
 
-#: ../IDEFrame.py:1872
+#: ../IDEFrame.py:1876
 msgid "Add Configuration"
 msgstr "Ajouter une configuration"
 
-#: ../IDEFrame.py:1852
+#: ../IDEFrame.py:1856
 msgid "Add DataType"
 msgstr "Ajouter un type de donnée"
 
-#: ../editors/Viewer.py:513
+#: ../editors/Viewer.py:572
 msgid "Add Divergence Branch"
 msgstr "Ajouter une branche à la divergence"
 
-#: ../dialogs/DiscoveryDialog.py:116
+#: ../dialogs/DiscoveryDialog.py:117
 msgid "Add IP"
 msgstr "Ajouter IP"
 
-#: ../IDEFrame.py:1860
+#: ../IDEFrame.py:1864
 msgid "Add POU"
 msgstr "Ajouter un POU"
 
@@ -509,15 +511,15 @@
 msgid "Add Python code executed asynchronously"
 msgstr "Ajoute un code Python executé de façon asynchone"
 
-#: ../IDEFrame.py:1900 ../IDEFrame.py:1950
+#: ../IDEFrame.py:1904 ../IDEFrame.py:1954
 msgid "Add Resource"
 msgstr "Ajouter une resource"
 
-#: ../IDEFrame.py:1878 ../IDEFrame.py:1921
+#: ../IDEFrame.py:1882 ../IDEFrame.py:1925
 msgid "Add Transition"
 msgstr "Ajouter une transition"
 
-#: ../editors/Viewer.py:500
+#: ../editors/Viewer.py:559
 msgid "Add Wire Segment"
 msgstr "Ajouter un segment au fil"
 
@@ -525,7 +527,7 @@
 msgid "Add a new initial step"
 msgstr "Ajouter une nouvelle étape initiale"
 
-#: ../editors/Viewer.py:2717 ../editors/SFCViewer.py:770
+#: ../editors/Viewer.py:2757 ../editors/SFCViewer.py:770
 msgid "Add a new jump"
 msgstr "Ajouter un nouveau renvoi"
 
@@ -565,22 +567,22 @@
 msgid "Addition"
 msgstr "Addition"
 
-#: ../plcopen/definitions.py:47
+#: ../plcopen/definitions.py:49
 msgid "Additional function blocks"
 msgstr "Blocs fonctionnels additionnels"
 
-#: ../editors/Viewer.py:571
+#: ../editors/Viewer.py:630
 msgid "Adjust Block Size"
 msgstr "Ajuster la taille des blocs"
 
-#: ../editors/Viewer.py:1648
+#: ../editors/Viewer.py:1686
 msgid "Alignment"
 msgstr "Alignement"
 
-#: ../dialogs/BrowseLocationsDialog.py:39
-#: ../dialogs/BrowseLocationsDialog.py:47
-#: ../dialogs/BrowseLocationsDialog.py:140
-#: ../dialogs/BrowseLocationsDialog.py:143 ../controls/LogViewer.py:298
+#: ../dialogs/BrowseLocationsDialog.py:40
+#: ../dialogs/BrowseLocationsDialog.py:48
+#: ../dialogs/BrowseLocationsDialog.py:141
+#: ../dialogs/BrowseLocationsDialog.py:144 ../controls/LogViewer.py:298
 #: ../controls/VariablePanel.py:70
 msgid "All"
 msgstr "Tout"
@@ -589,11 +591,11 @@
 msgid "All files (*.*)|*.*|CSV files (*.csv)|*.csv"
 msgstr "Tous les fichiers|*.*|Fichiers CSV (*.csv)|*.csv"
 
-#: ../ProjectController.py:1644
+#: ../ProjectController.py:1685
 msgid "Already connected. Please disconnect\n"
 msgstr "Déjà connecté. Veuillez déconnecter\n"
 
-#: ../editors/DataTypeEditor.py:594
+#: ../editors/DataTypeEditor.py:591
 #, python-format
 msgid "An element named \"%s\" already exists in this structure!"
 msgstr "Un élément nommé \"%s\" existe déjà dans la structure !"
@@ -602,7 +604,7 @@
 msgid "An instance with the same name already exists!"
 msgstr "Une instance avec le même nom existe déjà !"
 
-#: ../dialogs/ConnectionDialog.py:96
+#: ../dialogs/ConnectionDialog.py:100
 msgid "Apply name modification to all continuations with the same name"
 msgstr ""
 "Appliquer la modification de nom à toutes les prolongements portant ce même "
@@ -624,8 +626,8 @@
 msgid "Arithmetic"
 msgstr "Arithmétique"
 
-#: ../editors/DataTypeEditor.py:54 ../editors/DataTypeEditor.py:635
-#: ../controls/VariablePanel.py:841
+#: ../editors/DataTypeEditor.py:54 ../editors/DataTypeEditor.py:633
+#: ../controls/VariablePanel.py:858
 msgid "Array"
 msgstr "Tableau"
 
@@ -633,19 +635,19 @@
 msgid "Assignment"
 msgstr "Assignation"
 
-#: ../dialogs/FBDVariableDialog.py:217
+#: ../dialogs/FBDVariableDialog.py:222
 msgid "At least a variable or an expression must be selected!"
 msgstr "Au moins une variable ou une expression doit être sélectionné !"
 
-#: ../controls/ProjectPropertiesPanel.py:99
+#: ../controls/ProjectPropertiesPanel.py:100
 msgid "Author"
 msgstr "Auteur"
 
-#: ../controls/ProjectPropertiesPanel.py:96
+#: ../controls/ProjectPropertiesPanel.py:97
 msgid "Author Name (optional):"
 msgstr "Nom de l'auteur (optionel) :"
 
-#: ../dialogs/FindInPouDialog.py:79
+#: ../dialogs/FindInPouDialog.py:77
 msgid "Backward"
 msgstr "Vers le haut"
 
@@ -662,16 +664,16 @@
 msgid "Bad location size : %s"
 msgstr "Mauvaise taille d'adresse : %s"
 
-#: ../dialogs/ArrayTypeDialog.py:55 ../editors/DataTypeEditor.py:175
+#: ../dialogs/ArrayTypeDialog.py:54 ../editors/DataTypeEditor.py:175
 #: ../editors/DataTypeEditor.py:205 ../editors/DataTypeEditor.py:297
 msgid "Base Type:"
 msgstr "Type de base :"
 
-#: ../editors/DataTypeEditor.py:625 ../controls/VariablePanel.py:799
+#: ../editors/DataTypeEditor.py:623 ../controls/VariablePanel.py:816
 msgid "Base Types"
 msgstr "Types de base"
 
-#: ../Beremiz.py:553
+#: ../BeremizIDE.py:455
 msgid "Beremiz"
 msgstr "Beremiz"
 
@@ -703,11 +705,11 @@
 msgid "Bitwise inverting"
 msgstr "Inversion bit à bit"
 
-#: ../editors/Viewer.py:525 ../editors/Viewer.py:2369
+#: ../editors/Viewer.py:584 ../editors/Viewer.py:2407
 msgid "Block"
 msgstr "Block"
 
-#: ../dialogs/FBDBlockDialog.py:59
+#: ../dialogs/FBDBlockDialog.py:60
 msgid "Block Properties"
 msgstr "Propriétés du bloc"
 
@@ -715,15 +717,15 @@
 msgid "Block name"
 msgstr "Nom du bloc"
 
-#: ../editors/Viewer.py:491
+#: ../editors/Viewer.py:550
 msgid "Bottom"
 msgstr "Bas"
 
-#: ../ProjectController.py:1322
+#: ../ProjectController.py:1363
 msgid "Broken"
 msgstr "Cassé"
 
-#: ../dialogs/BrowseValuesLibraryDialog.py:37
+#: ../dialogs/BrowseValuesLibraryDialog.py:38
 #, python-format
 msgid "Browse %s values library"
 msgstr "Explorer la liste des valeurs du paramètre '%s'"
@@ -732,23 +734,23 @@
 msgid "Browse Locations"
 msgstr "Naviger dans les adresses"
 
-#: ../ProjectController.py:1790
+#: ../ProjectController.py:1832
 msgid "Build"
 msgstr "Compiler"
 
-#: ../ProjectController.py:1256
+#: ../ProjectController.py:1297
 msgid "Build directory already clean\n"
 msgstr "Le répertoire de compilation est déjà nettoyé\n"
 
-#: ../ProjectController.py:1791
+#: ../ProjectController.py:1833
 msgid "Build project into build folder"
 msgstr "Compiler le projet dans le répertoire ce compilation"
 
-#: ../ProjectController.py:1039
+#: ../ProjectController.py:1080
 msgid "C Build crashed !\n"
 msgstr "La compilation du C a mal fonctionné !\n"
 
-#: ../ProjectController.py:1036
+#: ../ProjectController.py:1077
 msgid "C Build failed.\n"
 msgstr "La compilation du C a échouée !\n"
 
@@ -756,7 +758,7 @@
 msgid "C code"
 msgstr "Code C"
 
-#: ../ProjectController.py:1114
+#: ../ProjectController.py:1155
 msgid "C code generated successfully.\n"
 msgstr "Code C généré avec succès.\n"
 
@@ -764,7 +766,7 @@
 msgid "C compilation failed.\n"
 msgstr "La compilation a échouée\n"
 
-#: ../targets/toolchain_gcc.py:156
+#: ../targets/toolchain_gcc.py:192
 #, python-format
 msgid "C compilation of %s failed.\n"
 msgstr "La compilation C de %s a échouée.\n"
@@ -789,8 +791,8 @@
 msgid "CANopen support"
 msgstr "Support CANopen"
 
-#: ../plcopen/plcopen.py:1584 ../plcopen/plcopen.py:1598
-#: ../plcopen/plcopen.py:1622 ../plcopen/plcopen.py:1638
+#: ../plcopen/plcopen.py:1589 ../plcopen/plcopen.py:1603
+#: ../plcopen/plcopen.py:1627 ../plcopen/plcopen.py:1643
 msgid "Can only generate execution order on FBD networks!"
 msgstr "L'ordre d'exécution ne peut être généré que dans les FBD !"
 
@@ -799,7 +801,7 @@
 msgstr ""
 "Une adresse ne peut être affecté qu'à des variables locales ou globales"
 
-#: ../PLCOpenEditor.py:334
+#: ../PLCOpenEditor.py:344
 #, python-format
 msgid "Can't generate program to file %s!"
 msgstr "Le programme n'a pu être généré dans le fichier \"%s\" !"
@@ -808,7 +810,7 @@
 msgid "Can't give a location to a function block instance"
 msgstr "Une adresse ne peut être affectée à une instance de Function Block"
 
-#: ../PLCOpenEditor.py:379
+#: ../PLCOpenEditor.py:389
 #, python-format
 msgid "Can't save project to file %s!"
 msgstr "Le projet n'a pu être sauvé dans le fichier \"%s\" !"
@@ -832,7 +834,7 @@
 msgid "Cannot get PLC status - connection failed.\n"
 msgstr "Impossible d'obtenir le statut de l'automate - la connexion a échoué.\n"
 
-#: ../ProjectController.py:902
+#: ../ProjectController.py:943
 msgid "Cannot open/parse VARIABLES.csv!\n"
 msgstr "Impossible d'ouvrir ou d'analyser le fichier VARIABLES.csv !\n"
 
@@ -845,31 +847,31 @@
 "Impossible de configurer l'offset du bit de la variable non booléenne '{a1}'"
 "  (ID:{a2},Idx:{a3},sIdx:{a4}))"
 
-#: ../dialogs/SearchInProjectDialog.py:59 ../dialogs/FindInPouDialog.py:88
+#: ../dialogs/SearchInProjectDialog.py:59 ../dialogs/FindInPouDialog.py:86
 msgid "Case sensitive"
 msgstr "Respecter la casse"
 
-#: ../editors/Viewer.py:486
+#: ../editors/Viewer.py:545
 msgid "Center"
 msgstr "Centre"
 
-#: ../Beremiz_service.py:266
+#: ../Beremiz_service.py:268
 msgid "Change IP of interface to bind"
 msgstr "Changer l'adresse IP de l'interface à lier"
 
-#: ../Beremiz_service.py:265
+#: ../Beremiz_service.py:267
 msgid "Change Name"
 msgstr "Changer le nom"
 
-#: ../IDEFrame.py:1942
+#: ../IDEFrame.py:1946
 msgid "Change POU Type To"
 msgstr "Changer le type du POU pour"
 
-#: ../Beremiz_service.py:267
+#: ../Beremiz_service.py:269
 msgid "Change Port Number"
 msgstr "Changer le numéro de port"
 
-#: ../Beremiz_service.py:268
+#: ../Beremiz_service.py:270
 msgid "Change working directory"
 msgstr "Changer le dossier de travail"
 
@@ -877,38 +879,38 @@
 msgid "Character string"
 msgstr "Chaîne de caractères"
 
-#: ../svgui/svgui.py:125
+#: ../svgui/svgui.py:128
 msgid "Choose a SVG file"
 msgstr "Choisissez un fichier SVG"
 
-#: ../ProjectController.py:501
+#: ../ProjectController.py:542
 msgid "Choose a directory to save project"
 msgstr "Choisissez un dossier où enregistrer le projet"
 
-#: ../canfestival/canfestival.py:160 ../PLCOpenEditor.py:292
-#: ../PLCOpenEditor.py:324 ../PLCOpenEditor.py:373
+#: ../canfestival/canfestival.py:162 ../PLCOpenEditor.py:302
+#: ../PLCOpenEditor.py:334 ../PLCOpenEditor.py:383
 msgid "Choose a file"
 msgstr "Choisissez un fichier"
 
-#: ../Beremiz.py:931 ../Beremiz.py:966
+#: ../BeremizIDE.py:833 ../BeremizIDE.py:869
 msgid "Choose a project"
 msgstr "Choisissez un projet"
 
-#: ../dialogs/BrowseValuesLibraryDialog.py:42
+#: ../dialogs/BrowseValuesLibraryDialog.py:41
 #, python-format
 msgid "Choose a value for %s:"
 msgstr "Choisissez une valeur pour le paramètre %s :"
 
-#: ../Beremiz_service.py:323
+#: ../Beremiz_service.py:325
 msgid "Choose a working directory "
 msgstr "Choisissez un dossier de travail"
 
-#: ../ProjectController.py:408
+#: ../ProjectController.py:449
 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:375
+#: ../ProjectController.py:416
 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 "
@@ -922,11 +924,11 @@
 msgid "Class Filter:"
 msgstr "Filtre de classe :"
 
-#: ../dialogs/FBDVariableDialog.py:69
+#: ../dialogs/FBDVariableDialog.py:70
 msgid "Class:"
 msgstr "Classe :"
 
-#: ../ProjectController.py:1794
+#: ../ProjectController.py:1836
 msgid "Clean"
 msgstr "Nettoyer"
 
@@ -934,11 +936,11 @@
 msgid "Clean log messages"
 msgstr "Nettoyer les messages de log"
 
-#: ../ProjectController.py:1796
+#: ../ProjectController.py:1838
 msgid "Clean project build folder"
 msgstr "Nettoyer le répertoire de compilation"
 
-#: ../ProjectController.py:1253
+#: ../ProjectController.py:1294
 msgid "Cleaning the build directory\n"
 msgstr "Répertoire de compilation en cours de nettoyage\n"
 
@@ -946,44 +948,49 @@
 msgid "Clear Errors"
 msgstr "Effacer les erreurs"
 
-#: ../editors/Viewer.py:582
+#: ../editors/Viewer.py:641
 msgid "Clear Execution Order"
 msgstr "Effacer l'ordre d'exécution"
 
-#: ../dialogs/SearchInProjectDialog.py:105 ../dialogs/FindInPouDialog.py:111
+#: ../dialogs/SearchInProjectDialog.py:103 ../dialogs/FindInPouDialog.py:109
 msgid "Close"
 msgstr "Fermer"
 
-#: ../PLCOpenEditor.py:199 ../Beremiz.py:693
+#: ../BeremizIDE.py:595 ../PLCOpenEditor.py:209
 msgid "Close Application"
 msgstr "Fermer l'application"
 
-#: ../PLCOpenEditor.py:108 ../Beremiz.py:333 ../Beremiz.py:637
-#: ../IDEFrame.py:1009
+#: ../BeremizIDE.py:228 ../BeremizIDE.py:539 ../PLCOpenEditor.py:110
+#: ../IDEFrame.py:1013
 msgid "Close Project"
 msgstr "Fermer le projet"
 
-#: ../PLCOpenEditor.py:106 ../Beremiz.py:331
+#: ../BeremizIDE.py:226 ../PLCOpenEditor.py:108
 msgid "Close Tab"
 msgstr "Fermer l'onglet"
 
-#: ../editors/Viewer.py:541 ../editors/Viewer.py:2377
+#: ../editors/Viewer.py:600 ../editors/Viewer.py:2415
 msgid "Coil"
 msgstr "Relai"
 
-#: ../editors/Viewer.py:561 ../editors/LDViewer.py:506
+#: ../editors/Viewer.py:620 ../editors/LDViewer.py:506
 msgid "Comment"
 msgstr "Commentaire"
 
-#: ../dialogs/ProjectDialog.py:57
+#: ../BeremizIDE.py:276 ../BeremizIDE.py:279 ../PLCOpenEditor.py:161
+#: ../PLCOpenEditor.py:164
+msgid "Community support"
+msgstr ""
+
+#: ../dialogs/ProjectDialog.py:60
 msgid "Company Name"
 msgstr "Nom de l'entreprise"
 
-#: ../controls/ProjectPropertiesPanel.py:94
+#: ../controls/ProjectPropertiesPanel.py:95
 msgid "Company Name (required):"
 msgstr "Nom de l'entreprise (obligatoire) :"
 
-#: ../controls/ProjectPropertiesPanel.py:95
+#: ../controls/ProjectPropertiesPanel.py:96
 msgid "Company URL (optional):"
 msgstr "URL de l'entreprise (optionel) :"
 
@@ -991,7 +998,7 @@
 msgid "Comparison"
 msgstr "Comparaison"
 
-#: ../ProjectController.py:693
+#: ../ProjectController.py:734
 msgid "Compiling IEC Program into C code...\n"
 msgstr "Compilation du program en IEC vers du code C en cours...\n"
 
@@ -999,7 +1006,7 @@
 msgid "Concatenation"
 msgstr "Concaténation"
 
-#: ../editors/ConfTreeNodeEditor.py:229
+#: ../editors/ConfTreeNodeEditor.py:230
 msgid "Config"
 msgstr "Configuration"
 
@@ -1007,47 +1014,47 @@
 msgid "Config variables"
 msgstr "Variables de configuration"
 
-#: ../dialogs/SearchInProjectDialog.py:39
+#: ../dialogs/SearchInProjectDialog.py:40
 msgid "Configuration"
 msgstr "Configuration"
 
-#: ../PLCControler.py:97
+#: ../PLCControler.py:99
 msgid "Configurations"
 msgstr "Configurations"
 
-#: ../editors/Viewer.py:307 ../editors/Viewer.py:337 ../editors/Viewer.py:359
+#: ../editors/Viewer.py:308 ../editors/Viewer.py:338 ../editors/Viewer.py:360
 #: ../editors/TextViewer.py:291 ../editors/TextViewer.py:342
 #: ../editors/TextViewer.py:365 ../controls/VariablePanel.py:328
 msgid "Confirm or change variable name"
 msgstr "Confirmer ou changer de nom de variable"
 
-#: ../ProjectController.py:1809
+#: ../ProjectController.py:1851
 msgid "Connect"
 msgstr "Connecter"
 
-#: ../ProjectController.py:1810
+#: ../ProjectController.py:1852
 msgid "Connect to the target PLC"
 msgstr "Connecter à l'automate cible"
 
-#: ../ProjectController.py:1313
+#: ../ProjectController.py:1354
 #, python-format
 msgid "Connected to URI: %s"
 msgstr "Connecté à l'URI : %s"
 
-#: ../dialogs/SFCTransitionDialog.py:76 ../editors/Viewer.py:527
-#: ../editors/Viewer.py:2370
+#: ../dialogs/SFCTransitionDialog.py:77 ../editors/Viewer.py:586
+#: ../editors/Viewer.py:2408
 msgid "Connection"
 msgstr "Connexion"
 
-#: ../dialogs/ConnectionDialog.py:52
+#: ../dialogs/ConnectionDialog.py:53
 msgid "Connection Properties"
 msgstr "Propriétés de la connexion"
 
-#: ../ProjectController.py:1668
+#: ../ProjectController.py:1709
 msgid "Connection canceled!\n"
 msgstr "La connection a été abandonnée !\n"
 
-#: ../ProjectController.py:1693
+#: ../ProjectController.py:1734
 #, python-format
 msgid "Connection failed to %s!\n"
 msgstr "La connection à \"%s\" a échouée !\n"
@@ -1061,15 +1068,15 @@
 msgid "Connection to '%s' failed.\n"
 msgstr "La connexion à l'adresse '%s' a échouée.\n"
 
-#: ../dialogs/ConnectionDialog.py:64 ../editors/Viewer.py:1605
+#: ../dialogs/ConnectionDialog.py:65 ../editors/Viewer.py:1643
 msgid "Connector"
 msgstr "Connecteur"
 
-#: ../dialogs/SFCStepDialog.py:65
+#: ../dialogs/SFCStepDialog.py:66
 msgid "Connectors:"
 msgstr "Connecteurs :"
 
-#: ../Beremiz.py:448
+#: ../BeremizIDE.py:350
 msgid "Console"
 msgstr "Console"
 
@@ -1077,15 +1084,15 @@
 msgid "Constant"
 msgstr "Constante"
 
-#: ../editors/Viewer.py:537 ../editors/Viewer.py:2373
+#: ../editors/Viewer.py:596 ../editors/Viewer.py:2411
 msgid "Contact"
 msgstr "Contact"
 
-#: ../controls/ProjectPropertiesPanel.py:197
+#: ../controls/ProjectPropertiesPanel.py:198
 msgid "Content Description (optional):"
 msgstr "Description du contenu (optionel) :"
 
-#: ../dialogs/ConnectionDialog.py:65 ../editors/Viewer.py:1606
+#: ../dialogs/ConnectionDialog.py:66 ../editors/Viewer.py:1644
 msgid "Continuation"
 msgstr "Prolongement"
 
@@ -1105,12 +1112,12 @@
 msgid "Conversion to time-of-day"
 msgstr "Conversion en heure de la journée"
 
-#: ../editors/Viewer.py:597 ../controls/LogViewer.py:693 ../IDEFrame.py:370
+#: ../editors/Viewer.py:656 ../controls/LogViewer.py:704 ../IDEFrame.py:370
 #: ../IDEFrame.py:425
 msgid "Copy"
 msgstr "Copier"
 
-#: ../IDEFrame.py:1929
+#: ../IDEFrame.py:1933
 msgid "Copy POU"
 msgstr "Copier ce POU"
 
@@ -1135,7 +1142,7 @@
 "Impossible d'ajouter l'enfant \"{a1}\", de type {a2}:\n"
 "{a3}\n"
 
-#: ../py_ext/PythonFileCTNMixin.py:77
+#: ../py_ext/PythonFileCTNMixin.py:78
 #, python-format
 msgid "Couldn't import old %s file."
 msgstr "Impossible d'importer l'ancien fichier %s"
@@ -1158,27 +1165,27 @@
 "Impossible de charger les parametres confnode {a1}:\n"
 "{a2}"
 
-#: ../PLCControler.py:946
+#: ../PLCControler.py:948
 msgid "Couldn't paste non-POU object."
 msgstr "Impossible de coller autre chose qu'un POU."
 
-#: ../ProjectController.py:1610
+#: ../ProjectController.py:1651
 msgid "Couldn't start PLC !\n"
 msgstr "Impossible de démarrer l'automate !\n"
 
-#: ../ProjectController.py:1618
+#: ../ProjectController.py:1659
 msgid "Couldn't stop PLC !\n"
 msgstr "Impossible d'arrêter l'automate !\n"
 
-#: ../ProjectController.py:1582
+#: ../ProjectController.py:1623
 msgid "Couldn't stop debugger.\n"
 msgstr "Impossible d'arrêter le débogage de l'automate !\n"
 
-#: ../svgui/svgui.py:47
+#: ../svgui/svgui.py:49
 msgid "Create HMI"
 msgstr "Créer une IHM"
 
-#: ../dialogs/PouDialog.py:45
+#: ../dialogs/PouDialog.py:46
 msgid "Create a new POU"
 msgstr "Créer un nouveau POU"
 
@@ -1242,7 +1249,7 @@
 msgid "Create a new step"
 msgstr "Créer une nouvelle étape"
 
-#: ../dialogs/PouTransitionDialog.py:47 ../IDEFrame.py:156
+#: ../dialogs/PouTransitionDialog.py:42 ../IDEFrame.py:156
 msgid "Create a new transition"
 msgstr "Créer une nouvelle transition"
 
@@ -1254,11 +1261,11 @@
 msgid "Credits"
 msgstr "Credits"
 
-#: ../Beremiz_service.py:432
+#: ../Beremiz_service.py:434
 msgid "Current working directory :"
 msgstr "Répertoire de travail actuel :"
 
-#: ../editors/Viewer.py:596 ../IDEFrame.py:368 ../IDEFrame.py:424
+#: ../editors/Viewer.py:655 ../IDEFrame.py:368 ../IDEFrame.py:424
 msgid "Cut"
 msgstr "Couper"
 
@@ -1282,11 +1289,11 @@
 msgid "DS-302 Profile"
 msgstr "Profil DS-302"
 
-#: ../dialogs/SearchInProjectDialog.py:35
+#: ../dialogs/SearchInProjectDialog.py:36
 msgid "Data Type"
 msgstr "Type de donnée"
 
-#: ../PLCControler.py:96
+#: ../PLCControler.py:98
 msgid "Data Types"
 msgstr "Types de données"
 
@@ -1307,11 +1314,11 @@
 msgid "Date subtraction"
 msgstr "Soustraction de date"
 
-#: ../dialogs/DurationEditorDialog.py:43
+#: ../dialogs/DurationEditorDialog.py:44
 msgid "Days:"
 msgstr "Jours :"
 
-#: ../ProjectController.py:1715
+#: ../ProjectController.py:1756
 msgid "Debug does not match PLC - stop/transfert/start to re-enable\n"
 msgstr ""
 "Les informations de débogage ne correspond pas l'automate connecté  - "
@@ -1321,17 +1328,17 @@
 msgid "Debug instance"
 msgstr "Déboguer l'instance"
 
-#: ../editors/Viewer.py:1127 ../editors/Viewer.py:3664
+#: ../editors/Viewer.py:448
 #, python-format
 msgid "Debug: %s"
 msgstr "Débogage : %s"
 
-#: ../ProjectController.py:1371
+#: ../ProjectController.py:1412
 #, python-format
 msgid "Debug: Unknown variable '%s'\n"
 msgstr "Débogage : Variable '%s' inconnue\n"
 
-#: ../ProjectController.py:1369
+#: ../ProjectController.py:1410
 #, python-format
 msgid "Debug: Unsupported type to debug '%s'\n"
 msgstr "Débogage : Type non supporté dans le débogage '%'\n"
@@ -1340,23 +1347,23 @@
 msgid "Debugger"
 msgstr "Déboggueur"
 
-#: ../ProjectController.py:1551
+#: ../ProjectController.py:1592
 msgid "Debugger disabled\n"
 msgstr "Débogueur désactivé\n"
 
-#: ../ProjectController.py:1712
+#: ../ProjectController.py:1753
 msgid "Debugger ready\n"
 msgstr "Débogueur \n"
 
-#: ../ProjectController.py:1584
+#: ../ProjectController.py:1625
 msgid "Debugger stopped.\n"
 msgstr "Débogueur désactivé\n"
 
-#: ../editors/Viewer.py:572 ../Beremiz.py:1064 ../IDEFrame.py:1958
+#: ../BeremizIDE.py:968 ../editors/Viewer.py:631 ../IDEFrame.py:1962
 msgid "Delete"
 msgstr "Supprimer"
 
-#: ../editors/Viewer.py:514
+#: ../editors/Viewer.py:573
 msgid "Delete Divergence Branch"
 msgstr "Supprimer une branche de divergence"
 
@@ -1364,7 +1371,7 @@
 msgid "Delete File"
 msgstr "Supprimer un fichier"
 
-#: ../editors/Viewer.py:501
+#: ../editors/Viewer.py:560
 msgid "Delete Wire Segment"
 msgstr "Supprimer un segment de fil"
 
@@ -1380,19 +1387,23 @@
 msgid "Derivation Type:"
 msgstr "Type de dérivation :"
 
+#: ../editors/CodeFileEditor.py:739
+msgid "Description"
+msgstr ""
+
 #: ../controls/VariablePanel.py:432
 msgid "Description:"
 msgstr "Description :"
 
-#: ../dialogs/ArrayTypeDialog.py:61 ../editors/DataTypeEditor.py:321
+#: ../dialogs/ArrayTypeDialog.py:60 ../editors/DataTypeEditor.py:321
 msgid "Dimensions:"
 msgstr "Dimensions :"
 
-#: ../dialogs/FindInPouDialog.py:68
+#: ../dialogs/FindInPouDialog.py:66
 msgid "Direction"
 msgstr "Direction"
 
-#: ../dialogs/BrowseLocationsDialog.py:90
+#: ../dialogs/BrowseLocationsDialog.py:91
 msgid "Direction:"
 msgstr "Direction :"
 
@@ -1400,19 +1411,19 @@
 msgid "Directly"
 msgstr "Direct"
 
-#: ../ProjectController.py:1818
+#: ../ProjectController.py:1860
 msgid "Disconnect"
 msgstr "Déconnecter"
 
-#: ../ProjectController.py:1820
+#: ../ProjectController.py:1862
 msgid "Disconnect from PLC"
 msgstr "Déconnecter l'automate"
 
-#: ../ProjectController.py:1323
+#: ../ProjectController.py:1364
 msgid "Disconnected"
 msgstr "Déconnecté"
 
-#: ../editors/Viewer.py:556 ../editors/Viewer.py:2365
+#: ../editors/Viewer.py:615 ../editors/Viewer.py:2403
 msgid "Divergence"
 msgstr "Divergence"
 
@@ -1429,19 +1440,19 @@
 msgid "Documentation"
 msgstr "Documentation"
 
-#: ../PLCOpenEditor.py:328
+#: ../PLCOpenEditor.py:338
 msgid "Done"
 msgstr "Terminé"
 
-#: ../dialogs/ActionBlockDialog.py:38
+#: ../dialogs/ActionBlockDialog.py:39
 msgid "Duration"
 msgstr "Durée"
 
-#: ../canfestival/canfestival.py:163
+#: ../canfestival/canfestival.py:165
 msgid "EDS files (*.eds)|*.eds|All files|*.*"
 msgstr "Fichiers EDS (*.eds)|*.eds|Tous les fichiers|*.*"
 
-#: ../editors/Viewer.py:570
+#: ../editors/Viewer.py:629
 msgid "Edit Block"
 msgstr "Editer le block"
 
@@ -1457,11 +1468,11 @@
 msgid "Edit Duration"
 msgstr "Editer une durée"
 
-#: ../dialogs/SFCStepDialog.py:50
+#: ../dialogs/SFCStepDialog.py:51
 msgid "Edit Step"
 msgstr "Editer l'étape"
 
-#: ../wxglade_hmi/wxglade_hmi.py:36
+#: ../wxglade_hmi/wxglade_hmi.py:38
 msgid "Edit a WxWidgets GUI with WXGlade"
 msgstr "Editer une IHM WxWidgets à l'aide de WXGlade"
 
@@ -1469,11 +1480,11 @@
 msgid "Edit action block properties"
 msgstr "Editer les propriétés du block d'actions"
 
-#: ../dialogs/ArrayTypeDialog.py:45
+#: ../dialogs/ArrayTypeDialog.py:44
 msgid "Edit array type properties"
 msgstr "Editer les propriétés d'un type de données tableau"
 
-#: ../editors/Viewer.py:2586 ../editors/Viewer.py:3015
+#: ../editors/Viewer.py:2626 ../editors/Viewer.py:3055
 msgid "Edit comment"
 msgstr "Editer le commentaire"
 
@@ -1485,11 +1496,11 @@
 msgid "Edit item"
 msgstr "Editer l'élément"
 
-#: ../editors/Viewer.py:2974
+#: ../editors/Viewer.py:3014
 msgid "Edit jump target"
 msgstr "Editer la cible du renvoi"
 
-#: ../ProjectController.py:1832
+#: ../ProjectController.py:1874
 msgid "Edit raw IEC code added to code generated by PLCGenerator"
 msgstr "Editer le code IEC ajouté au code généré par PLCGenerator"
 
@@ -1497,7 +1508,7 @@
 msgid "Edit step name"
 msgstr "Editer le nom de l'étape"
 
-#: ../dialogs/SFCTransitionDialog.py:51
+#: ../dialogs/SFCTransitionDialog.py:52
 msgid "Edit transition"
 msgstr "Editer la transition"
 
@@ -1505,7 +1516,7 @@
 msgid "Editor ToolBar"
 msgstr "Barre d'outils d'édition"
 
-#: ../ProjectController.py:1216
+#: ../ProjectController.py:1257
 msgid "Editor selection"
 msgstr "Selection d'un éditeur"
 
@@ -1513,7 +1524,7 @@
 msgid "Elements :"
 msgstr "Eléments :"
 
-#: ../ProjectController.py:1321
+#: ../ProjectController.py:1362
 msgid "Empty"
 msgstr "Vide"
 
@@ -1521,15 +1532,15 @@
 msgid "Enable Undo/Redo"
 msgstr "Activer Défaire/Refaire"
 
-#: ../Beremiz_service.py:331
+#: ../Beremiz_service.py:333
 msgid "Enter a name "
 msgstr "Saisissez un nom"
 
-#: ../Beremiz_service.py:316
+#: ../Beremiz_service.py:318
 msgid "Enter a port number "
 msgstr "Saisissez un numéro de port"
 
-#: ../Beremiz_service.py:307
+#: ../Beremiz_service.py:309
 msgid "Enter the IP of the interface to bind"
 msgstr "Saisissez l'adresse IP de l'interface à lier"
 
@@ -1541,38 +1552,37 @@
 msgid "Equal to"
 msgstr "Egal à"
 
-#: ../dialogs/ForceVariableDialog.py:179
+#: ../BeremizIDE.py:1107 ../dialogs/ForceVariableDialog.py:197
 #: ../dialogs/SearchInProjectDialog.py:168 ../dialogs/SFCStepNameDialog.py:60
 #: ../dialogs/DurationEditorDialog.py:121
-#: ../dialogs/DurationEditorDialog.py:163
-#: ../dialogs/PouTransitionDialog.py:112 ../dialogs/BlockPreviewDialog.py:236
-#: ../dialogs/ProjectDialog.py:71 ../dialogs/ArrayTypeDialog.py:97
+#: ../dialogs/DurationEditorDialog.py:167
+#: ../dialogs/PouTransitionDialog.py:107 ../dialogs/BlockPreviewDialog.py:237
+#: ../dialogs/ProjectDialog.py:74 ../dialogs/ArrayTypeDialog.py:97
 #: ../dialogs/ArrayTypeDialog.py:103 ../dialogs/PouNameDialog.py:54
-#: ../dialogs/BrowseLocationsDialog.py:216
+#: ../dialogs/BrowseLocationsDialog.py:218
 #: ../dialogs/BrowseValuesLibraryDialog.py:83
-#: ../dialogs/PouActionDialog.py:104 ../dialogs/PouDialog.py:134
-#: ../PLCOpenEditor.py:335 ../PLCOpenEditor.py:340 ../PLCOpenEditor.py:420
-#: ../PLCOpenEditor.py:430 ../editors/ResourceEditor.py:436
-#: ../editors/Viewer.py:423 ../editors/LDViewer.py:666
+#: ../dialogs/PouActionDialog.py:105 ../dialogs/PouDialog.py:135
+#: ../PLCOpenEditor.py:345 ../PLCOpenEditor.py:350 ../PLCOpenEditor.py:430
+#: ../PLCOpenEditor.py:440 ../editors/ResourceEditor.py:436
+#: ../editors/Viewer.py:424 ../editors/LDViewer.py:666
 #: ../editors/LDViewer.py:882 ../editors/LDViewer.py:886
 #: ../editors/DataTypeEditor.py:550 ../editors/DataTypeEditor.py:555
-#: ../editors/DataTypeEditor.py:579 ../editors/DataTypeEditor.py:584
-#: ../editors/DataTypeEditor.py:594 ../editors/DataTypeEditor.py:745
-#: ../editors/DataTypeEditor.py:752 ../editors/TextViewer.py:389
-#: ../editors/CodeFileEditor.py:783 ../ProjectController.py:343
-#: ../ProjectController.py:471 ../ProjectController.py:478
+#: ../editors/DataTypeEditor.py:574 ../editors/DataTypeEditor.py:743
+#: ../editors/DataTypeEditor.py:750 ../editors/TextViewer.py:389
+#: ../editors/CodeFileEditor.py:762 ../ProjectController.py:372
+#: ../ProjectController.py:512 ../ProjectController.py:519
 #: ../controls/FolderTree.py:217
 #: ../controls/DebugVariablePanel/DebugVariablePanel.py:166
 #: ../controls/DebugVariablePanel/DebugVariableTextViewer.py:137
 #: ../controls/DebugVariablePanel/DebugVariableGraphicViewer.py:231
-#: ../controls/VariablePanel.py:402 ../controls/VariablePanel.py:784
-#: ../Beremiz.py:1203 ../IDEFrame.py:1003 ../IDEFrame.py:1613
-#: ../IDEFrame.py:1654 ../IDEFrame.py:1659 ../IDEFrame.py:1673
-#: ../IDEFrame.py:1678 ../Beremiz_service.py:211
+#: ../controls/VariablePanel.py:402 ../controls/VariablePanel.py:759
+#: ../IDEFrame.py:1007 ../IDEFrame.py:1617 ../IDEFrame.py:1658
+#: ../IDEFrame.py:1663 ../IDEFrame.py:1677 ../IDEFrame.py:1682
+#: ../Beremiz_service.py:213
 msgid "Error"
 msgstr "Erreur"
 
-#: ../ProjectController.py:748
+#: ../ProjectController.py:789
 msgid ""
 "Error : At least one configuration and one resource must be declared in PLC "
 "!\n"
@@ -1580,12 +1590,12 @@
 "Erreur : Au moins une configuration ou une ressource doit être déclarée dans"
 " l'automate !\n"
 
-#: ../ProjectController.py:740
+#: ../ProjectController.py:781
 #, 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:671
+#: ../ProjectController.py:712
 #, python-format
 msgid ""
 "Error in ST/IL/SFC code generator :\n"
@@ -1599,28 +1609,28 @@
 msgid "Error while saving \"%s\"\n"
 msgstr "Erreur lors de l'enregistrement de \"%s\"\n"
 
-#: ../canfestival/canfestival.py:168
+#: ../canfestival/canfestival.py:170
 msgid "Error: Export slave failed\n"
 msgstr "Erreur : L'export de l'esclave a échoué\n"
 
-#: ../canfestival/canfestival.py:369
+#: ../canfestival/canfestival.py:371
 msgid "Error: No Master generated\n"
 msgstr "Erreur : Aucun maître généré\n"
 
-#: ../canfestival/canfestival.py:364
+#: ../canfestival/canfestival.py:366
 msgid "Error: No PLC built\n"
 msgstr "Erreur : Aucun automate compilé\n"
 
-#: ../ProjectController.py:1687
+#: ../ProjectController.py:1728
 #, python-format
 msgid "Exception while connecting %s!\n"
 msgstr "Une exception est apparu au cours de la connexion %s !\n"
 
-#: ../dialogs/FBDBlockDialog.py:117
+#: ../dialogs/FBDBlockDialog.py:120
 msgid "Execution Control:"
 msgstr "Contrôle d'exécution :"
 
-#: ../dialogs/FBDVariableDialog.py:79 ../dialogs/FBDBlockDialog.py:105
+#: ../dialogs/FBDVariableDialog.py:80 ../dialogs/FBDBlockDialog.py:108
 msgid "Execution Order:"
 msgstr "Ordre d'exécution :"
 
@@ -1636,7 +1646,7 @@
 msgid "Exponentiation"
 msgstr "Exponentiel"
 
-#: ../canfestival/canfestival.py:174
+#: ../canfestival/canfestival.py:176
 msgid "Export CanOpen slave to EDS file"
 msgstr "Exporter un esclave CANopen sous la forme d'un fichier EDS"
 
@@ -1644,11 +1654,11 @@
 msgid "Export graph values to clipboard"
 msgstr "Exporter les valeurs du graphique vers le presse-papier"
 
-#: ../canfestival/canfestival.py:173
+#: ../canfestival/canfestival.py:175
 msgid "Export slave"
 msgstr "Exporter un esclave"
 
-#: ../dialogs/FBDVariableDialog.py:89
+#: ../dialogs/FBDVariableDialog.py:90
 msgid "Expression:"
 msgstr "Expression :"
 
@@ -1656,38 +1666,38 @@
 msgid "External"
 msgstr "Externe"
 
-#: ../ProjectController.py:761
+#: ../ProjectController.py:802
 msgid "Extracting Located Variables...\n"
 msgstr "Extraction des variables adressées en cours...\n"
 
-#: ../dialogs/PouTransitionDialog.py:40 ../dialogs/PouActionDialog.py:31
-#: ../dialogs/PouDialog.py:36 ../controls/ProjectPropertiesPanel.py:143
+#: ../dialogs/PouTransitionDialog.py:36 ../dialogs/PouActionDialog.py:32
+#: ../dialogs/PouDialog.py:37 ../controls/ProjectPropertiesPanel.py:144
 msgid "FBD"
 msgstr "FBD"
 
-#: ../ProjectController.py:1750
+#: ../ProjectController.py:1791
 msgid "Failed : Must build before transfer.\n"
 msgstr "Echec : Le projet doit être compilé avant d'être transféré.\n"
 
-#: ../dialogs/LDElementDialog.py:77 ../editors/Viewer.py:462
+#: ../dialogs/LDElementDialog.py:77 ../editors/Viewer.py:521
 msgid "Falling Edge"
 msgstr "Front descendant"
 
-#: ../ProjectController.py:1029
+#: ../ProjectController.py:1070
 msgid "Fatal : cannot get builder.\n"
 msgstr "Erreur fatale : impossible de trouver un compilateur.\n"
 
-#: ../Beremiz.py:118
+#: ../Beremiz.py:156
 #, python-format
 msgid "Fetching %s"
 msgstr "Recherche %s"
 
-#: ../dialogs/DurationEditorDialog.py:160
+#: ../dialogs/DurationEditorDialog.py:164
 #, python-format
 msgid "Field %s hasn't a valid value!"
 msgstr "Le champ %s n'a pas une valeur valide !"
 
-#: ../dialogs/DurationEditorDialog.py:162
+#: ../dialogs/DurationEditorDialog.py:166
 #, python-format
 msgid "Fields %s haven't a valid value!"
 msgstr "Les champs %s n'ont pas une valeur valide !"
@@ -1697,8 +1707,8 @@
 msgid "File '%s' already exists!"
 msgstr "Le fichier '%s' existe déjà !"
 
-#: ../dialogs/SearchInProjectDialog.py:100 ../dialogs/FindInPouDialog.py:36
-#: ../dialogs/FindInPouDialog.py:106 ../IDEFrame.py:375
+#: ../dialogs/SearchInProjectDialog.py:98 ../dialogs/FindInPouDialog.py:37
+#: ../dialogs/FindInPouDialog.py:104 ../IDEFrame.py:375
 msgid "Find"
 msgstr "Rechercher"
 
@@ -1714,7 +1724,7 @@
 msgid "Find position"
 msgstr "Trouver la position"
 
-#: ../dialogs/FindInPouDialog.py:57
+#: ../dialogs/FindInPouDialog.py:55
 msgid "Find:"
 msgstr "Rechercher :"
 
@@ -1722,7 +1732,7 @@
 msgid "Force runtime reload\n"
 msgstr "Redémarrage du runtime forcé\n"
 
-#: ../editors/Viewer.py:1564
+#: ../editors/Viewer.py:1600
 msgid "Force value"
 msgstr "Forcer la valeur"
 
@@ -1730,28 +1740,28 @@
 msgid "Forcing Variable Value"
 msgstr "Forcer la valeur de la variable"
 
-#: ../dialogs/SFCTransitionDialog.py:179 ../dialogs/PouTransitionDialog.py:102
-#: ../dialogs/ProjectDialog.py:70 ../dialogs/PouActionDialog.py:94
-#: ../dialogs/PouDialog.py:116
+#: ../dialogs/SFCTransitionDialog.py:182 ../dialogs/PouTransitionDialog.py:97
+#: ../dialogs/ProjectDialog.py:73 ../dialogs/PouActionDialog.py:95
+#: ../dialogs/PouDialog.py:117
 #, python-format
 msgid "Form isn't complete. %s must be filled!"
 msgstr "Le formulaire est incomplet. %s doit être complété !"
 
-#: ../dialogs/SFCStepDialog.py:144 ../dialogs/FBDBlockDialog.py:232
-#: ../dialogs/ConnectionDialog.py:160
+#: ../dialogs/SFCStepDialog.py:147 ../dialogs/FBDBlockDialog.py:236
+#: ../dialogs/ConnectionDialog.py:163
 msgid "Form isn't complete. Name must be filled!"
 msgstr "Le formulaire est incomplet. Le nom doit être complété !"
 
-#: ../dialogs/FBDBlockDialog.py:228
+#: ../dialogs/FBDBlockDialog.py:232
 msgid "Form isn't complete. Valid block type must be selected!"
 msgstr ""
 "Le formulaire est incomplet. Un type de bloc valide doit être sélectionné !"
 
-#: ../dialogs/FindInPouDialog.py:74
+#: ../dialogs/FindInPouDialog.py:72
 msgid "Forward"
 msgstr "Vers le bas"
 
-#: ../dialogs/SearchInProjectDialog.py:36 ../IDEFrame.py:1745
+#: ../dialogs/SearchInProjectDialog.py:37 ../IDEFrame.py:1749
 msgid "Function"
 msgstr "Fonction"
 
@@ -1759,37 +1769,37 @@
 msgid "Function &Block"
 msgstr "&Bloc Fonctionnel"
 
-#: ../dialogs/SearchInProjectDialog.py:37 ../IDEFrame.py:1744
-#: ../IDEFrame.py:1937
+#: ../dialogs/SearchInProjectDialog.py:38 ../IDEFrame.py:1748
+#: ../IDEFrame.py:1941
 msgid "Function Block"
 msgstr "Bloc fonctionnel"
 
-#: ../controls/VariablePanel.py:837
+#: ../controls/VariablePanel.py:854
 msgid "Function Block Types"
 msgstr "Types de blocs fonctionnels"
 
-#: ../PLCControler.py:95
+#: ../PLCControler.py:97
 msgid "Function Blocks"
 msgstr "Blocs fonctionnels"
 
-#: ../editors/Viewer.py:248
+#: ../editors/Viewer.py:249
 msgid "Function Blocks can't be used in Functions!"
 msgstr "Les blocs fonctionnels ne peuvent être utilisés dans des functions !"
 
-#: ../PLCControler.py:2337
+#: ../PLCControler.py:2343
 #, python-format
 msgid "FunctionBlock \"%s\" can't be pasted in a Function!!!"
 msgstr "Le bloc fonctionnel \"%s\" ne peuvent être collés dans une function !"
 
-#: ../PLCControler.py:95
+#: ../PLCControler.py:97
 msgid "Functions"
 msgstr "Fonctions"
 
-#: ../PLCOpenEditor.py:115
+#: ../PLCOpenEditor.py:117
 msgid "Generate Program"
 msgstr "Générer le program"
 
-#: ../ProjectController.py:662
+#: ../ProjectController.py:703
 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"
 
@@ -1801,7 +1811,7 @@
 msgid "Go to current value"
 msgstr "Aller à la valeur actuelle"
 
-#: ../controls/ProjectPropertiesPanel.py:173
+#: ../controls/ProjectPropertiesPanel.py:174
 msgid "Graphics"
 msgstr "Graphiques"
 
@@ -1813,15 +1823,15 @@
 msgid "Greater than or equal to"
 msgstr "Supérieur ou égal à"
 
-#: ../controls/ProjectPropertiesPanel.py:134
+#: ../controls/ProjectPropertiesPanel.py:135
 msgid "Grid Resolution:"
 msgstr "Résolution de la grille :"
 
-#: ../runtime/NevowServer.py:181
+#: ../runtime/NevowServer.py:182
 msgid "HTTP interface port :"
 msgstr "Port d'interface HTTP:"
 
-#: ../controls/ProjectPropertiesPanel.py:120
+#: ../controls/ProjectPropertiesPanel.py:121
 msgid "Height:"
 msgstr "Hauteur :"
 
@@ -1829,15 +1839,16 @@
 msgid "Home Directory:"
 msgstr "Répertoire utilisateur :"
 
-#: ../controls/ProjectPropertiesPanel.py:150
+#: ../controls/ProjectPropertiesPanel.py:151
 msgid "Horizontal:"
 msgstr "Horizontal :"
 
-#: ../dialogs/DurationEditorDialog.py:44
+#: ../dialogs/DurationEditorDialog.py:45
 msgid "Hours:"
 msgstr "Heures :"
 
-#: ../dialogs/PouActionDialog.py:31 ../dialogs/PouDialog.py:36
+#: ../dialogs/PouTransitionDialog.py:36 ../dialogs/PouActionDialog.py:32
+#: ../dialogs/PouDialog.py:37
 msgid "IL"
 msgstr "IL"
 
@@ -1845,20 +1856,20 @@
 msgid "IP"
 msgstr "IP"
 
-#: ../Beremiz_service.py:308 ../Beremiz_service.py:309
+#: ../Beremiz_service.py:310 ../Beremiz_service.py:311
 msgid "IP is not valid!"
 msgstr "l'IP est invalide !"
 
-#: ../svgui/svgui.py:42 ../svgui/svgui.py:43
+#: ../svgui/svgui.py:44 ../svgui/svgui.py:45
 msgid "Import SVG"
 msgstr "Importer un SVG"
 
-#: ../dialogs/FBDVariableDialog.py:38 ../editors/Viewer.py:1591
+#: ../dialogs/FBDVariableDialog.py:39 ../editors/Viewer.py:1629
 #: ../controls/VariablePanel.py:71
 msgid "InOut"
 msgstr "Entrée-Sortie"
 
-#: ../editors/Viewer.py:1110
+#: ../editors/Viewer.py:431
 msgid "Inactive"
 msgstr "Inactif"
 
@@ -1877,11 +1888,15 @@
 msgid "Incompatible size of data between \"{a1}\" and \"{a2}\""
 msgstr "Taille de données incompatible entre \"{a1}\" et \"{a2}\""
 
-#: ../dialogs/ActionBlockDialog.py:38
+#: ../dialogs/ActionBlockDialog.py:39
 msgid "Indicator"
 msgstr "Indicateur"
 
-#: ../editors/Viewer.py:552
+#: ../editors/CodeFileEditor.py:739
+msgid "Initial"
+msgstr ""
+
+#: ../editors/Viewer.py:611
 msgid "Initial Step"
 msgstr "Étape initiale"
 
@@ -1895,23 +1910,23 @@
 msgid "Initial Value:"
 msgstr "Valeur initiale :"
 
-#: ../svgui/svgui.py:46
+#: ../svgui/svgui.py:48
 msgid "Inkscape"
 msgstr "Inkscape"
 
-#: ../dialogs/SFCTransitionDialog.py:75 ../dialogs/ActionBlockDialog.py:42
+#: ../dialogs/SFCTransitionDialog.py:76 ../dialogs/ActionBlockDialog.py:43
 msgid "Inline"
 msgstr "Inline"
 
-#: ../dialogs/SFCStepDialog.py:70 ../dialogs/FBDVariableDialog.py:37
-#: ../dialogs/BrowseLocationsDialog.py:40 ../editors/Viewer.py:289
-#: ../editors/Viewer.py:1589 ../editors/TextViewer.py:307
+#: ../dialogs/SFCStepDialog.py:71 ../dialogs/FBDVariableDialog.py:38
+#: ../dialogs/BrowseLocationsDialog.py:41 ../editors/Viewer.py:290
+#: ../editors/Viewer.py:1627 ../editors/TextViewer.py:307
 #: ../controls/LocationCellEditor.py:98 ../controls/VariablePanel.py:71
 #: ../controls/VariablePanel.py:291 ../controls/VariablePanel.py:351
 msgid "Input"
 msgstr "Entrée"
 
-#: ../dialogs/FBDBlockDialog.py:93
+#: ../dialogs/FBDBlockDialog.py:96
 msgid "Inputs:"
 msgstr "Entrées :"
 
@@ -1919,7 +1934,7 @@
 msgid "Insertion (into)"
 msgstr "Insertion (au milieu)"
 
-#: ../plcopen/plcopen.py:1691
+#: ../plcopen/plcopen.py:1696
 #, python-format
 msgid "Instance with id %d doesn't exist!"
 msgstr "L'instance dont l'id est %d n'existe pas !"
@@ -1940,7 +1955,7 @@
 msgid "Interval"
 msgstr "Interval"
 
-#: ../PLCControler.py:2325
+#: ../PLCControler.py:2331
 msgid "Invalid plcopen element(s)!!!"
 msgstr "Les éléments plcopen ne sont pas valides !!! "
 
@@ -1966,12 +1981,12 @@
 msgid "Invalid value \"%s\" for variable grid element"
 msgstr "Valeur \"%s\" invalide pour un élément de la grille de variables"
 
-#: ../editors/Viewer.py:233 ../editors/Viewer.py:236
+#: ../editors/Viewer.py:234 ../editors/Viewer.py:237
 #, python-format
 msgid "Invalid value \"%s\" for viewer block"
 msgstr "Valeur \"%s\" invalide pour un élément graphique"
 
-#: ../dialogs/ForceVariableDialog.py:177
+#: ../dialogs/ForceVariableDialog.py:195
 #, python-brace-format
 msgid "Invalid value \"{a1}\" for \"{a2}\" variable!"
 msgstr "Valeur invalide \"{a1}\" pour la variable \"{a2}\""
@@ -1984,12 +1999,12 @@
 "Valeur invalide !\n"
 "Vous devez rentrer une valeur numérique."
 
-#: ../editors/Viewer.py:557 ../editors/Viewer.py:2354
+#: ../editors/Viewer.py:616 ../editors/Viewer.py:2392
 msgid "Jump"
 msgstr "Renvoi"
 
-#: ../dialogs/PouTransitionDialog.py:40 ../dialogs/PouActionDialog.py:31
-#: ../dialogs/PouDialog.py:36 ../controls/ProjectPropertiesPanel.py:143
+#: ../dialogs/PouTransitionDialog.py:36 ../dialogs/PouActionDialog.py:32
+#: ../dialogs/PouDialog.py:37 ../controls/ProjectPropertiesPanel.py:144
 msgid "LD"
 msgstr "LD"
 
@@ -1998,37 +2013,37 @@
 msgid "Ladder element with id %d is on more than one rung."
 msgstr "L'élément de LD dont l'id est %d apparait dans plusieurs échelons. "
 
-#: ../dialogs/PouTransitionDialog.py:91 ../dialogs/PouActionDialog.py:83
-#: ../dialogs/PouDialog.py:104
+#: ../dialogs/PouTransitionDialog.py:86 ../dialogs/PouActionDialog.py:84
+#: ../dialogs/PouDialog.py:105
 msgid "Language"
 msgstr "Langue"
 
-#: ../controls/ProjectPropertiesPanel.py:186
+#: ../controls/ProjectPropertiesPanel.py:187
 msgid "Language (optional):"
 msgstr "Langue (optionnel) :"
 
-#: ../dialogs/PouTransitionDialog.py:65 ../dialogs/PouActionDialog.py:56
+#: ../dialogs/PouTransitionDialog.py:60 ../dialogs/PouActionDialog.py:56
 #: ../dialogs/PouDialog.py:73
 msgid "Language:"
 msgstr "Langue :"
 
-#: ../ProjectController.py:1756
+#: ../ProjectController.py:1797
 msgid "Latest build already matches current target. Transfering anyway...\n"
 msgstr "La dernière compilation correspond à la cible actuelle...\n"
 
-#: ../Beremiz_service.py:271
+#: ../Beremiz_service.py:273
 msgid "Launch WX GUI inspector"
 msgstr "Lancer un inspecteur d'IHM WX"
 
-#: ../Beremiz_service.py:270
+#: ../Beremiz_service.py:272
 msgid "Launch a live Python shell"
 msgstr "Lancer une console Python"
 
-#: ../editors/Viewer.py:485
+#: ../editors/Viewer.py:544
 msgid "Left"
 msgstr "Gauche"
 
-#: ../dialogs/LDPowerRailDialog.py:62
+#: ../dialogs/LDPowerRailDialog.py:63
 msgid "Left PowerRail"
 msgstr "Barre d'alimentation à gauche"
 
@@ -2056,19 +2071,19 @@
 msgid "Limitation"
 msgstr "Limitation"
 
-#: ../targets/toolchain_gcc.py:166
+#: ../targets/toolchain_gcc.py:202
 msgid "Linking :\n"
 msgstr "Linkage :\n"
 
-#: ../dialogs/DiscoveryDialog.py:111 ../controls/VariablePanel.py:72
+#: ../dialogs/DiscoveryDialog.py:112 ../controls/VariablePanel.py:72
 msgid "Local"
 msgstr "Locale"
 
-#: ../canfestival/canfestival.py:346
+#: ../canfestival/canfestival.py:348
 msgid "Local entries"
 msgstr "Entrées locales"
 
-#: ../ProjectController.py:1662
+#: ../ProjectController.py:1703
 msgid "Local service discovery failed!\n"
 msgstr "Echec de la sélection d'un service!\n"
 
@@ -2115,7 +2130,7 @@
 msgid "Maximum:"
 msgstr "Maximum :"
 
-#: ../dialogs/BrowseLocationsDialog.py:42 ../editors/Viewer.py:289
+#: ../dialogs/BrowseLocationsDialog.py:43 ../editors/Viewer.py:290
 #: ../editors/TextViewer.py:307 ../controls/LocationCellEditor.py:98
 #: ../controls/VariablePanel.py:291 ../controls/VariablePanel.py:351
 msgid "Memory"
@@ -2125,15 +2140,15 @@
 msgid "Menu ToolBar"
 msgstr "Barre d'outils du menu principal"
 
-#: ../dialogs/DurationEditorDialog.py:48
+#: ../dialogs/DurationEditorDialog.py:49
 msgid "Microseconds:"
 msgstr "Microsecondes :"
 
-#: ../editors/Viewer.py:490
+#: ../editors/Viewer.py:549
 msgid "Middle"
 msgstr "Milieu"
 
-#: ../dialogs/DurationEditorDialog.py:47
+#: ../dialogs/DurationEditorDialog.py:48
 msgid "Milliseconds:"
 msgstr "Millisecondes :"
 
@@ -2145,11 +2160,11 @@
 msgid "Minimum:"
 msgstr "Minimum :"
 
-#: ../dialogs/DurationEditorDialog.py:45
+#: ../dialogs/DurationEditorDialog.py:46
 msgid "Minutes:"
 msgstr "Minutes :"
 
-#: ../controls/ProjectPropertiesPanel.py:210
+#: ../controls/ProjectPropertiesPanel.py:211
 msgid "Miscellaneous"
 msgstr "Divers"
 
@@ -2235,17 +2250,17 @@
 msgstr "NOM"
 
 #: ../editors/ResourceEditor.py:68 ../editors/ResourceEditor.py:83
-#: ../editors/DataTypeEditor.py:50 ../controls/VariablePanel.py:53
-#: ../controls/VariablePanel.py:54
+#: ../editors/DataTypeEditor.py:50 ../editors/CodeFileEditor.py:739
+#: ../controls/VariablePanel.py:53 ../controls/VariablePanel.py:54
 msgid "Name"
 msgstr "Nom"
 
-#: ../Beremiz_service.py:332
+#: ../Beremiz_service.py:334
 msgid "Name must not be null!"
 msgstr "Le nom ne doit pas être vide !"
 
-#: ../dialogs/SFCStepDialog.py:56 ../dialogs/FBDBlockDialog.py:83
-#: ../dialogs/ConnectionDialog.py:75
+#: ../dialogs/SFCStepDialog.py:57 ../dialogs/FBDBlockDialog.py:86
+#: ../dialogs/ConnectionDialog.py:76
 msgid "Name:"
 msgstr "Nom :"
 
@@ -2253,20 +2268,20 @@
 msgid "Natural logarithm"
 msgstr "Logarithme népérien"
 
-#: ../dialogs/LDElementDialog.py:75 ../editors/Viewer.py:460
+#: ../dialogs/LDElementDialog.py:75 ../editors/Viewer.py:519
 msgid "Negated"
 msgstr "Inversé"
 
-#: ../Beremiz_service.py:578
+#: ../Beremiz_service.py:580
 msgid "Nevow Web service failed. "
 msgstr "Service Web Nevow échoué."
 
-#: ../Beremiz_service.py:554
+#: ../Beremiz_service.py:556
 msgid "Nevow/Athena import failed :"
 msgstr "Import Nevow/Athena échoué:"
 
-#: ../PLCOpenEditor.py:102 ../PLCOpenEditor.py:144 ../Beremiz.py:321
-#: ../Beremiz.py:356
+#: ../BeremizIDE.py:216 ../BeremizIDE.py:251 ../PLCOpenEditor.py:104
+#: ../PLCOpenEditor.py:146
 msgid "New"
 msgstr "Nouveau"
 
@@ -2274,11 +2289,11 @@
 msgid "New item"
 msgstr "Nouvel élément"
 
-#: ../editors/Viewer.py:459
+#: ../editors/Viewer.py:518
 msgid "No Modifier"
 msgstr "Pas de modificateur"
 
-#: ../ProjectController.py:1784
+#: ../ProjectController.py:1826
 msgid "No PLC to transfer (did build succeed ?)\n"
 msgstr "Aucun automate à transférer (la compilation a-t-elle réussi ?)\n"
 
@@ -2292,7 +2307,7 @@
 msgid "No connector found corresponding to \"{a1}\" continuation in \"{a2}\" POU"
 msgstr "Pas de connecteur correspondant à \"{a1}\" dans la continuité de \"{a2}\" POU"
 
-#: ../PLCOpenEditor.py:347
+#: ../PLCOpenEditor.py:357
 msgid ""
 "No documentation available.\n"
 "Coming soon."
@@ -2318,7 +2333,7 @@
 msgid "No search results available."
 msgstr "Pas de résultat de recherche disponible."
 
-#: ../svgui/svgui.py:131
+#: ../svgui/svgui.py:134
 #, python-format
 msgid "No such SVG file: %s\n"
 msgstr "Fichier SVG inconnu : %s\n"
@@ -2373,20 +2388,24 @@
 msgid "Numerical"
 msgstr "Numérique"
 
-#: ../dialogs/SearchInProjectDialog.py:86
+#: ../editors/CodeFileEditor.py:739
+msgid "OnChange"
+msgstr ""
+
+#: ../dialogs/SearchInProjectDialog.py:84
 msgid "Only Elements"
 msgstr "Uniquement les éléments"
 
-#: ../PLCOpenEditor.py:104 ../PLCOpenEditor.py:145 ../Beremiz.py:323
-#: ../Beremiz.py:357
+#: ../BeremizIDE.py:218 ../BeremizIDE.py:252 ../PLCOpenEditor.py:106
+#: ../PLCOpenEditor.py:147
 msgid "Open"
 msgstr "Ouvrir"
 
-#: ../svgui/svgui.py:140
+#: ../svgui/svgui.py:143
 msgid "Open Inkscape"
 msgstr "Ouverture de Inkscape"
 
-#: ../version.py:66
+#: ../version.py:77
 msgid ""
 "Open Source framework for automation, implemented IEC 61131 IDE with "
 "constantly growing set of extensions and flexible PLC runtime."
@@ -2394,11 +2413,11 @@
 "Cadriciel Open Source pour l'automatisme, IDE implémenté en IEC 61131 avec "
 "un lot d'extensions constament croissant et un executable PLC flexible."
 
-#: ../ProjectController.py:1836
+#: ../ProjectController.py:1878
 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:138
+#: ../wxglade_hmi/wxglade_hmi.py:155
 msgid "Open wxGlade"
 msgstr "Ouverture de wxGlade"
 
@@ -2406,11 +2425,11 @@
 msgid "Option"
 msgstr "Option"
 
-#: ../dialogs/FindInPouDialog.py:83
+#: ../dialogs/FindInPouDialog.py:81 ../editors/CodeFileEditor.py:739
 msgid "Options"
 msgstr "Options"
 
-#: ../controls/ProjectPropertiesPanel.py:97
+#: ../controls/ProjectPropertiesPanel.py:98
 msgid "Organization (optional):"
 msgstr "Groupe (optionnel) :"
 
@@ -2418,9 +2437,9 @@
 msgid "Other Profile"
 msgstr "Autre profil"
 
-#: ../dialogs/SFCStepDialog.py:71 ../dialogs/FBDVariableDialog.py:39
-#: ../dialogs/BrowseLocationsDialog.py:41 ../editors/Viewer.py:289
-#: ../editors/Viewer.py:1590 ../editors/TextViewer.py:307
+#: ../dialogs/SFCStepDialog.py:72 ../dialogs/FBDVariableDialog.py:40
+#: ../dialogs/BrowseLocationsDialog.py:42 ../editors/Viewer.py:290
+#: ../editors/Viewer.py:1628 ../editors/TextViewer.py:307
 #: ../controls/LocationCellEditor.py:98 ../controls/VariablePanel.py:71
 #: ../controls/VariablePanel.py:291 ../controls/VariablePanel.py:351
 msgid "Output"
@@ -2434,27 +2453,27 @@
 msgid "PDO Transmit"
 msgstr "PDO transmis"
 
-#: ../targets/toolchain_gcc.py:131
+#: ../targets/toolchain_gcc.py:167
 msgid "PLC :\n"
 msgstr "Automate :\n"
 
-#: ../Beremiz.py:453
+#: ../BeremizIDE.py:355
 msgid "PLC Log"
 msgstr "Log de l'automate"
 
-#: ../ProjectController.py:1013
+#: ../ProjectController.py:1054
 msgid "PLC code generation failed !\n"
 msgstr "Génération du code PLC échouée !\n"
 
-#: ../Beremiz_service.py:295
+#: ../Beremiz_service.py:297
 msgid "PLC is empty or already started."
 msgstr "Le PLC est vide ou déjà lancé."
 
-#: ../Beremiz_service.py:302
+#: ../Beremiz_service.py:304
 msgid "PLC is not started."
 msgstr "PLC non démarré"
 
-#: ../PLCOpenEditor.py:196 ../PLCOpenEditor.py:309
+#: ../PLCOpenEditor.py:206 ../PLCOpenEditor.py:319
 #, python-brace-format
 msgid ""
 "PLC syntax error at line {a1}:\n"
@@ -2463,15 +2482,15 @@
 "Erreur de syntaxe PLC à la ligne {a1}:\n"
 "{a2}"
 
-#: ../PLCOpenEditor.py:292 ../PLCOpenEditor.py:373
+#: ../PLCOpenEditor.py:302 ../PLCOpenEditor.py:383
 msgid "PLCOpen files (*.xml)|*.xml|All files|*.*"
 msgstr "Fichiers PLCOpen (*.xml)|*.xml|Tous les fichiers|*.*"
 
-#: ../PLCOpenEditor.py:152 ../PLCOpenEditor.py:209
+#: ../PLCOpenEditor.py:154 ../PLCOpenEditor.py:219
 msgid "PLCOpenEditor"
 msgstr "PLCOpenEditor"
 
-#: ../PLCOpenEditor.py:355
+#: ../PLCOpenEditor.py:365
 msgid ""
 "PLCOpenEditor is part of Beremiz project.\n"
 "\n"
@@ -2485,7 +2504,7 @@
 msgid "PORT"
 msgstr "PORT"
 
-#: ../dialogs/PouDialog.py:100
+#: ../dialogs/PouDialog.py:101
 msgid "POU Name"
 msgstr "Nom du POU"
 
@@ -2493,7 +2512,7 @@
 msgid "POU Name:"
 msgstr "Nom du POU :"
 
-#: ../dialogs/PouDialog.py:102
+#: ../dialogs/PouDialog.py:103
 msgid "POU Type"
 msgstr "Type du POU"
 
@@ -2511,15 +2530,15 @@
 msgid "PYRO using certificates in '%s' \n"
 msgstr "PYRO utilise les certificats dans '%s'\n"
 
-#: ../PLCOpenEditor.py:118 ../Beremiz.py:336
+#: ../BeremizIDE.py:231 ../PLCOpenEditor.py:120
 msgid "Page Setup"
 msgstr "Mise en page..."
 
-#: ../controls/ProjectPropertiesPanel.py:110
+#: ../controls/ProjectPropertiesPanel.py:111
 msgid "Page Size (optional):"
 msgstr "Taille de la page (optionnel) :"
 
-#: ../IDEFrame.py:2598
+#: ../IDEFrame.py:2613
 #, python-format
 msgid "Page: %d"
 msgstr "Page: %d"
@@ -2528,11 +2547,11 @@
 msgid "Parent instance"
 msgstr "Instance parent"
 
-#: ../editors/Viewer.py:598 ../IDEFrame.py:372 ../IDEFrame.py:426
+#: ../editors/Viewer.py:657 ../IDEFrame.py:372 ../IDEFrame.py:426
 msgid "Paste"
 msgstr "Coller"
 
-#: ../IDEFrame.py:1864
+#: ../IDEFrame.py:1868
 msgid "Paste POU"
 msgstr "Coller un POU"
 
@@ -2540,11 +2559,11 @@
 msgid "Pattern to search:"
 msgstr "Modèle à rechercher :"
 
-#: ../dialogs/LDPowerRailDialog.py:73
+#: ../dialogs/LDPowerRailDialog.py:74
 msgid "Pin number:"
 msgstr "Nombre de pattes :"
 
-#: ../editors/Viewer.py:2717 ../editors/Viewer.py:2974
+#: ../editors/Viewer.py:2757 ../editors/Viewer.py:3014
 #: ../editors/SFCViewer.py:770
 msgid "Please choose a target"
 msgstr "Choisissez une cible"
@@ -2553,7 +2572,7 @@
 msgid "Please enter a block name"
 msgstr "Entrer un nom de bloc s'il vous plaît"
 
-#: ../editors/Viewer.py:2587 ../editors/Viewer.py:3016
+#: ../editors/Viewer.py:2627 ../editors/Viewer.py:3056
 msgid "Please enter comment text"
 msgstr "Saisissez le texte du commentaire"
 
@@ -2562,7 +2581,7 @@
 msgid "Please enter step name"
 msgstr "Saisissez le nom de l'étape"
 
-#: ../Beremiz_service.py:194
+#: ../Beremiz_service.py:196
 msgid "Please enter text"
 msgstr "Saisissez le texte"
 
@@ -2571,23 +2590,23 @@
 msgid "Please enter value for a \"%s\" variable:"
 msgstr "Veuillez entrer la valeur pour une variable de type \"%s\" :"
 
-#: ../Beremiz_service.py:317
+#: ../Beremiz_service.py:319
 msgid "Port number must be 0 <= port <= 65535!"
 msgstr "Le numéro de port doit être compris entre 0 et 65535 !"
 
-#: ../Beremiz_service.py:317
+#: ../Beremiz_service.py:319
 msgid "Port number must be an integer!"
 msgstr "Le numéro de port doit être un entier !"
 
-#: ../editors/Viewer.py:536 ../editors/Viewer.py:2378
+#: ../editors/Viewer.py:595 ../editors/Viewer.py:2416
 msgid "Power Rail"
 msgstr "Barre d'alimentation"
 
-#: ../dialogs/LDPowerRailDialog.py:50
+#: ../dialogs/LDPowerRailDialog.py:51
 msgid "Power Rail Properties"
 msgstr "Propriétés de la barre d'alimentation"
 
-#: ../PLCOpenEditor.py:120 ../Beremiz.py:338
+#: ../BeremizIDE.py:233 ../PLCOpenEditor.py:122
 msgid "Preview"
 msgstr "Aperçu avant impression"
 
@@ -2595,12 +2614,12 @@
 msgid "Preview:"
 msgstr "Aperçu :"
 
-#: ../PLCOpenEditor.py:122 ../PLCOpenEditor.py:148 ../Beremiz.py:340
-#: ../Beremiz.py:360
+#: ../BeremizIDE.py:235 ../BeremizIDE.py:255 ../PLCOpenEditor.py:124
+#: ../PLCOpenEditor.py:150
 msgid "Print"
 msgstr "Imprimer"
 
-#: ../IDEFrame.py:1075
+#: ../IDEFrame.py:1079
 msgid "Print preview"
 msgstr "Aperçu avant impression"
 
@@ -2608,53 +2627,53 @@
 msgid "Priority"
 msgstr "Priorité"
 
-#: ../dialogs/SFCTransitionDialog.py:89
+#: ../dialogs/SFCTransitionDialog.py:90
 msgid "Priority:"
 msgstr "Priorité :"
 
-#: ../runtime/PLCObject.py:370
+#: ../runtime/PLCObject.py:369
 #, python-format
 msgid "Problem starting PLC : error %d"
 msgstr "Problème au démarrage du PLC : erreur %d"
 
-#: ../dialogs/ProjectDialog.py:55
+#: ../dialogs/ProjectDialog.py:58
 msgid "Product Name"
 msgstr "Nom de produit"
 
-#: ../controls/ProjectPropertiesPanel.py:80
+#: ../controls/ProjectPropertiesPanel.py:81
 msgid "Product Name (required):"
 msgstr "Nom du produit (obligatoire) :"
 
-#: ../controls/ProjectPropertiesPanel.py:82
+#: ../controls/ProjectPropertiesPanel.py:83
 msgid "Product Release (optional):"
 msgstr "Publication du produit (optionnel) :"
 
-#: ../dialogs/ProjectDialog.py:56
+#: ../dialogs/ProjectDialog.py:59
 msgid "Product Version"
 msgstr "Version du produit"
 
-#: ../controls/ProjectPropertiesPanel.py:81
+#: ../controls/ProjectPropertiesPanel.py:82
 msgid "Product Version (required):"
 msgstr "Version du produit (obligatoire) :"
 
-#: ../dialogs/SearchInProjectDialog.py:38 ../IDEFrame.py:1743
-#: ../IDEFrame.py:1940
+#: ../dialogs/SearchInProjectDialog.py:39 ../IDEFrame.py:1747
+#: ../IDEFrame.py:1944
 msgid "Program"
 msgstr "Programme"
 
-#: ../PLCOpenEditor.py:337
+#: ../PLCOpenEditor.py:347
 msgid "Program was successfully generated!"
 msgstr "Le programme a été généré avec succès !"
 
-#: ../PLCControler.py:96
+#: ../PLCControler.py:98
 msgid "Programs"
 msgstr "Programmes"
 
-#: ../editors/Viewer.py:242
+#: ../editors/Viewer.py:243
 msgid "Programs can't be used by other POUs!"
 msgstr "Les programmes ne peuvent être utilisés par les autres POUs !"
 
-#: ../controls/ProjectPropertiesPanel.py:84 ../IDEFrame.py:584
+#: ../controls/ProjectPropertiesPanel.py:85 ../IDEFrame.py:584
 msgid "Project"
 msgstr "Projet"
 
@@ -2663,23 +2682,23 @@
 msgid "Project '%s':"
 msgstr "Projet  '%s' :"
 
-#: ../ProjectController.py:1835
+#: ../ProjectController.py:1877
 msgid "Project Files"
 msgstr "Fichiers de projet"
 
-#: ../dialogs/ProjectDialog.py:54
+#: ../dialogs/ProjectDialog.py:57
 msgid "Project Name"
 msgstr "Nom du projet"
 
-#: ../controls/ProjectPropertiesPanel.py:78
+#: ../controls/ProjectPropertiesPanel.py:79
 msgid "Project Name (required):"
 msgstr "Nom du projet (obligatoire) :"
 
-#: ../controls/ProjectPropertiesPanel.py:79
+#: ../controls/ProjectPropertiesPanel.py:80
 msgid "Project Version (optional):"
 msgstr "Version du projet (optionnel) :"
 
-#: ../PLCControler.py:3158
+#: ../PLCControler.py:3164
 msgid ""
 "Project file syntax error:\n"
 "\n"
@@ -2687,7 +2706,7 @@
 "Erreur de syntaxe dans le fichier du projet :\n"
 "\n"
 
-#: ../dialogs/ProjectDialog.py:32 ../editors/ProjectNodeEditor.py:37
+#: ../dialogs/ProjectDialog.py:33 ../editors/ProjectNodeEditor.py:37
 msgid "Project properties"
 msgstr "Propriétés du projet"
 
@@ -2696,15 +2715,15 @@
 msgid "Project tree layout do not match confnode.xml {a1}!={a2} "
 msgstr ""
 
-#: ../dialogs/ConnectionDialog.py:94
+#: ../dialogs/ConnectionDialog.py:98
 msgid "Propagate Name"
 msgstr "Propager le nom"
 
-#: ../PLCControler.py:97
+#: ../PLCControler.py:99
 msgid "Properties"
 msgstr "Propriétés"
 
-#: ../Beremiz_service.py:440
+#: ../Beremiz_service.py:442
 msgid "Publishing service on local network"
 msgstr ""
 
@@ -2713,11 +2732,11 @@
 msgid "Pyro exception: %s\n"
 msgstr ""
 
-#: ../Beremiz_service.py:427
+#: ../Beremiz_service.py:429
 msgid "Pyro object's uri :"
 msgstr ""
 
-#: ../Beremiz_service.py:426
+#: ../Beremiz_service.py:428
 msgid "Pyro port :"
 msgstr "Pyro port :"
 
@@ -2729,11 +2748,11 @@
 msgid "Python file"
 msgstr "Fichier Python"
 
-#: ../dialogs/ActionBlockDialog.py:38
+#: ../dialogs/ActionBlockDialog.py:39
 msgid "Qualifier"
 msgstr "Qualificatif"
 
-#: ../PLCOpenEditor.py:128 ../Beremiz.py:343 ../Beremiz_service.py:273
+#: ../BeremizIDE.py:238 ../PLCOpenEditor.py:130 ../Beremiz_service.py:275
 msgid "Quit"
 msgstr "Quitter"
 
@@ -2741,11 +2760,11 @@
 msgid "Range:"
 msgstr "Echelle :"
 
-#: ../ProjectController.py:1831
+#: ../ProjectController.py:1873
 msgid "Raw IEC code"
 msgstr "Ajout code IEC"
 
-#: ../Beremiz.py:1143
+#: ../BeremizIDE.py:1047
 #, python-format
 msgid "Really delete node '%s'?"
 msgstr "Êtes-vous sûr de vouloir supprimer le noeud '%s' ?"
@@ -2754,11 +2773,11 @@
 msgid "Redo"
 msgstr "Refaire"
 
-#: ../dialogs/SFCTransitionDialog.py:74
+#: ../dialogs/SFCTransitionDialog.py:75
 msgid "Reference"
 msgstr "Référence"
 
-#: ../dialogs/DiscoveryDialog.py:106 ../IDEFrame.py:432
+#: ../dialogs/DiscoveryDialog.py:107 ../IDEFrame.py:432
 msgid "Refresh"
 msgstr "Actualiser"
 
@@ -2766,11 +2785,11 @@
 msgid "Regular expression"
 msgstr "Expression régulière"
 
-#: ../dialogs/FindInPouDialog.py:98
+#: ../dialogs/FindInPouDialog.py:96
 msgid "Regular expressions"
 msgstr "Expressions régulières"
 
-#: ../editors/Viewer.py:1567
+#: ../editors/Viewer.py:1603
 msgid "Release value"
 msgstr "Relacher la valeur"
 
@@ -2778,16 +2797,16 @@
 msgid "Remainder (modulo)"
 msgstr "Modulo"
 
-#: ../Beremiz.py:1144
+#: ../BeremizIDE.py:1048
 #, python-format
 msgid "Remove %s node"
 msgstr "Enlever un noeud %s"
 
-#: ../IDEFrame.py:2404
+#: ../IDEFrame.py:2419
 msgid "Remove Datatype"
 msgstr "Supprimer le Datatype"
 
-#: ../IDEFrame.py:2409
+#: ../IDEFrame.py:2424
 msgid "Remove Pou"
 msgstr "Supprimer le Pou"
 
@@ -2819,7 +2838,7 @@
 msgid "Remove variable"
 msgstr "Supprimer une variable"
 
-#: ../IDEFrame.py:1944
+#: ../IDEFrame.py:1948
 msgid "Rename"
 msgstr "Renommer"
 
@@ -2827,7 +2846,7 @@
 msgid "Replace File"
 msgstr "Remplacer un fichier"
 
-#: ../editors/Viewer.py:502
+#: ../editors/Viewer.py:561
 msgid "Replace Wire by connections"
 msgstr "Remplacer le fil par les connexions"
 
@@ -2839,7 +2858,7 @@
 msgid "Reset"
 msgstr "Mise à zéro"
 
-#: ../editors/Viewer.py:583
+#: ../editors/Viewer.py:642
 msgid "Reset Execution Order"
 msgstr "Réinitialiser l'order d'exécution"
 
@@ -2851,7 +2870,7 @@
 msgid "Reset search result"
 msgstr "Réinitialiser le résultat de la recherche"
 
-#: ../PLCControler.py:97 ../Beremiz.py:1075
+#: ../BeremizIDE.py:979 ../PLCControler.py:99
 msgid "Resources"
 msgstr "Ressources"
 
@@ -2863,15 +2882,15 @@
 msgid "Return Type:"
 msgstr "Type de retour :"
 
-#: ../editors/Viewer.py:487
+#: ../editors/Viewer.py:546
 msgid "Right"
 msgstr "Droite"
 
-#: ../dialogs/LDPowerRailDialog.py:63
+#: ../dialogs/LDPowerRailDialog.py:64
 msgid "Right PowerRail"
 msgstr "Barre d'alimentation à droite"
 
-#: ../dialogs/LDElementDialog.py:77 ../editors/Viewer.py:461
+#: ../dialogs/LDElementDialog.py:77 ../editors/Viewer.py:520
 msgid "Rising Edge"
 msgstr "Front montant"
 
@@ -2887,15 +2906,15 @@
 msgid "Rounding up/down"
 msgstr "Arrondi"
 
-#: ../ProjectController.py:1799
+#: ../ProjectController.py:1841
 msgid "Run"
 msgstr "Exécuter"
 
-#: ../ProjectController.py:1058
+#: ../ProjectController.py:1099
 msgid "Runtime IO extensions C code generation failed !\n"
 msgstr ""
 
-#: ../ProjectController.py:1067
+#: ../ProjectController.py:1108
 msgid "Runtime library extensions C code generation failed !\n"
 msgstr ""
 
@@ -2907,7 +2926,7 @@
 msgid "SDO Server"
 msgstr "Serveur SDO"
 
-#: ../dialogs/PouDialog.py:36 ../controls/ProjectPropertiesPanel.py:143
+#: ../dialogs/PouDialog.py:37 ../controls/ProjectPropertiesPanel.py:144
 msgid "SFC"
 msgstr "SFC"
 
@@ -2921,16 +2940,16 @@
 msgid "SFC transition in POU \"%s\" must be connected."
 msgstr ""
 
-#: ../dialogs/PouTransitionDialog.py:40 ../dialogs/PouActionDialog.py:31
-#: ../dialogs/PouDialog.py:36
+#: ../dialogs/PouTransitionDialog.py:36 ../dialogs/PouActionDialog.py:32
+#: ../dialogs/PouDialog.py:37
 msgid "ST"
 msgstr "ST"
 
-#: ../PLCOpenEditor.py:324
+#: ../PLCOpenEditor.py:334
 msgid "ST files (*.st)|*.st|All files|*.*"
 msgstr "Fichiers ST (*.st)|*.st|Tous les fichiers|*.*"
 
-#: ../svgui/svgui.py:125
+#: ../svgui/svgui.py:128
 msgid "SVG files (*.svg)|*.svg|All files|*.*"
 msgstr "Fichiers SVG (*.svg)|*.svg|Tous les fichiers|*.*"
 
@@ -2938,20 +2957,20 @@
 msgid "SVGUI"
 msgstr "SVGUI"
 
-#: ../PLCOpenEditor.py:111 ../PLCOpenEditor.py:146 ../Beremiz.py:327
-#: ../Beremiz.py:358
+#: ../BeremizIDE.py:222 ../BeremizIDE.py:253 ../PLCOpenEditor.py:113
+#: ../PLCOpenEditor.py:148
 msgid "Save"
 msgstr "Enregistrer"
 
-#: ../PLCOpenEditor.py:113 ../PLCOpenEditor.py:147 ../Beremiz.py:359
+#: ../BeremizIDE.py:254 ../PLCOpenEditor.py:115 ../PLCOpenEditor.py:149
 msgid "Save As..."
 msgstr "Enregistrer sous..."
 
-#: ../Beremiz.py:329
+#: ../BeremizIDE.py:224
 msgid "Save as"
 msgstr "Enregistrer sous..."
 
-#: ../ProjectController.py:470
+#: ../ProjectController.py:511
 msgid "Save path is the same as path of a project! \n"
 msgstr ""
 
@@ -2963,12 +2982,12 @@
 msgid "Search"
 msgstr "Rechercher"
 
-#: ../dialogs/SearchInProjectDialog.py:44 ../IDEFrame.py:382
+#: ../dialogs/SearchInProjectDialog.py:45 ../IDEFrame.py:382
 #: ../IDEFrame.py:428
 msgid "Search in Project"
 msgstr "Rechercher dans le projet"
 
-#: ../dialogs/DurationEditorDialog.py:46
+#: ../dialogs/DurationEditorDialog.py:47
 msgid "Seconds:"
 msgstr "Secondes :"
 
@@ -2976,17 +2995,17 @@
 msgid "Select All"
 msgstr "Tout sélectionner"
 
-#: ../editors/Viewer.py:288 ../editors/TextViewer.py:306
+#: ../editors/Viewer.py:289 ../editors/TextViewer.py:306
 #: ../controls/LocationCellEditor.py:97 ../controls/VariablePanel.py:290
 #: ../controls/VariablePanel.py:350
 msgid "Select a variable class:"
 msgstr "Sélectionner une direction pour la variable :"
 
-#: ../ProjectController.py:1216
+#: ../ProjectController.py:1257
 msgid "Select an editor:"
 msgstr "Sélectionner un éditeur :"
 
-#: ../controls/PouInstanceVariablesPanel.py:276
+#: ../controls/PouInstanceVariablesPanel.py:281
 msgid "Select an instance"
 msgstr "Sélectionnez une instance"
 
@@ -2994,7 +3013,7 @@
 msgid "Select an object"
 msgstr "Sélectionner un objet"
 
-#: ../ProjectController.py:477
+#: ../ProjectController.py:518
 msgid "Selected directory already contains another project. Overwrite? \n"
 msgstr ""
 
@@ -3030,19 +3049,19 @@
 msgid "Shift right"
 msgstr "Décalage à droite"
 
-#: ../ProjectController.py:1825
+#: ../ProjectController.py:1867
 msgid "Show IEC code generated by PLCGenerator"
 msgstr "Afficher le code IEC généré par PLCGenerator"
 
-#: ../canfestival/canfestival.py:387
+#: ../canfestival/canfestival.py:389
 msgid "Show Master"
 msgstr "Afficher le maître"
 
-#: ../canfestival/canfestival.py:388
+#: ../canfestival/canfestival.py:390
 msgid "Show Master generated by config_utils"
 msgstr "Afficher le maître généré par config_utils"
 
-#: ../ProjectController.py:1823
+#: ../ProjectController.py:1865
 msgid "Show code"
 msgstr "Afficher le code"
 
@@ -3077,52 +3096,52 @@
 msgid "Square root (base 2)"
 msgstr "Racine carré (base 2)"
 
-#: ../plcopen/definitions.py:46
+#: ../plcopen/definitions.py:48
 msgid "Standard function blocks"
 msgstr "Blocs fonctionnels standards"
 
-#: ../ProjectController.py:1801 ../Beremiz_service.py:261
+#: ../ProjectController.py:1843 ../Beremiz_service.py:263
 msgid "Start PLC"
 msgstr "Démarrer l'automate"
 
-#: ../ProjectController.py:1005
+#: ../ProjectController.py:1046
 #, python-format
 msgid "Start build in %s\n"
 msgstr "Début de la compilation dans %s\n"
 
-#: ../ProjectController.py:1319
+#: ../ProjectController.py:1360
 msgid "Started"
 msgstr "Démarré"
 
-#: ../ProjectController.py:1607
+#: ../ProjectController.py:1648
 msgid "Starting PLC\n"
 msgstr "Démarrer l'automate\n"
 
-#: ../Beremiz.py:463
+#: ../BeremizIDE.py:365
 msgid "Status ToolBar"
 msgstr "Barre d'outils de statut"
 
-#: ../editors/Viewer.py:553 ../editors/Viewer.py:2353
+#: ../editors/Viewer.py:612 ../editors/Viewer.py:2391
 msgid "Step"
 msgstr "Étape"
 
-#: ../ProjectController.py:1804
+#: ../ProjectController.py:1846
 msgid "Stop"
 msgstr "Arrêter"
 
-#: ../Beremiz_service.py:262
+#: ../Beremiz_service.py:264
 msgid "Stop PLC"
 msgstr "Arrêter l'automate"
 
-#: ../ProjectController.py:1806
+#: ../ProjectController.py:1848
 msgid "Stop Running PLC"
 msgstr "Arrêter l'automate en cours d'exécution"
 
-#: ../ProjectController.py:1320
+#: ../ProjectController.py:1361
 msgid "Stopped"
 msgstr "Arrêté"
 
-#: ../ProjectController.py:1579
+#: ../ProjectController.py:1620
 msgid "Stopping debugger...\n"
 msgstr "Arrêt du débogage en cours\n"
 
@@ -3138,7 +3157,7 @@
 msgid "Subtraction"
 msgstr "Soustraction"
 
-#: ../ProjectController.py:1044
+#: ../ProjectController.py:1085
 msgid "Successfully built.\n"
 msgstr "Compilé avec succès.\n"
 
@@ -3146,7 +3165,7 @@
 msgid "Switch perspective"
 msgstr ""
 
-#: ../dialogs/SearchInProjectDialog.py:165 ../dialogs/FindInPouDialog.py:172
+#: ../dialogs/SearchInProjectDialog.py:165 ../dialogs/FindInPouDialog.py:115
 msgid "Syntax error in regular expression of pattern to search!"
 msgstr ""
 "Erreur de syntaxe dans l'expression régulière du modèle à rechercher !"
@@ -3171,6 +3190,18 @@
 msgid "Temp"
 msgstr "Temporaire"
 
+#: ../version.py:30
+msgid ""
+"The best place to ask questions about Beremiz/PLCOpenEditor\n"
+"is project's mailing list: beremiz-devel@lists.sourceforge.net\n"
+"\n"
+"This is the main community support channel.\n"
+"For posting it is required to be subscribed to the mailing list.\n"
+"\n"
+"You can subscribe to the list here:\n"
+"https://lists.sourceforge.net/lists/listinfo/beremiz-devel"
+msgstr ""
+
 #: ../editors/FileManagementPanel.py:180
 #, python-format
 msgid ""
@@ -3184,11 +3215,11 @@
 msgid "The group of block must be coherent!"
 msgstr "Le groupe de blocs doit être cohérent !"
 
-#: ../Beremiz.py:640 ../IDEFrame.py:1011
+#: ../BeremizIDE.py:542 ../IDEFrame.py:1015
 msgid "There are changes, do you want to save?"
 msgstr "Le projet a été modifié. Voulez-vous l'enregistrer ?"
 
-#: ../IDEFrame.py:1654 ../IDEFrame.py:1673
+#: ../IDEFrame.py:1658 ../IDEFrame.py:1677
 #, python-format
 msgid ""
 "There is a POU named \"%s\". This could cause a conflict. Do you wish to "
@@ -3197,7 +3228,7 @@
 "Un POU a pour nom \"%s\". Cela peut générer des conflits. Voulez-vous "
 "continuer ?"
 
-#: ../IDEFrame.py:1098
+#: ../IDEFrame.py:1102
 msgid ""
 "There was a problem printing.\n"
 "Perhaps your current printer is not set correctly?"
@@ -3247,28 +3278,32 @@
 msgid "Time-of-day subtraction"
 msgstr "Soustraction d'horodatage"
 
-#: ../editors/Viewer.py:489
+#: ../dialogs/ForceVariableDialog.py:172
+msgid "Toggle value"
+msgstr ""
+
+#: ../editors/Viewer.py:548
 msgid "Top"
 msgstr "Haut"
 
-#: ../ProjectController.py:1813
+#: ../ProjectController.py:1855
 msgid "Transfer"
 msgstr "Transférer"
 
-#: ../ProjectController.py:1815
+#: ../ProjectController.py:1857
 msgid "Transfer PLC"
 msgstr "Transférer l'automate"
 
-#: ../ProjectController.py:1779
+#: ../ProjectController.py:1820
 msgid "Transfer completed successfully.\n"
 msgstr "Transfert effectué avec succès.\n"
 
-#: ../ProjectController.py:1781
+#: ../ProjectController.py:1823
 msgid "Transfer failed\n"
 msgstr "Le transfert a échoué\n"
 
-#: ../editors/Viewer.py:554 ../editors/Viewer.py:2355
-#: ../editors/Viewer.py:2382
+#: ../editors/Viewer.py:613 ../editors/Viewer.py:2393
+#: ../editors/Viewer.py:2420
 msgid "Transition"
 msgstr "Transition"
 
@@ -3281,11 +3316,11 @@
 "Le code de la transition \"%s\"  doit contenir une variable de sortie ou un "
 "relai dont la référence est son nom"
 
-#: ../dialogs/PouTransitionDialog.py:89
+#: ../dialogs/PouTransitionDialog.py:84
 msgid "Transition Name"
 msgstr "Nom de la transition"
 
-#: ../dialogs/PouTransitionDialog.py:58
+#: ../dialogs/PouTransitionDialog.py:53
 msgid "Transition Name:"
 msgstr "Nom de la transition :"
 
@@ -3301,12 +3336,12 @@
 "\"{a2}\" POU"
 msgstr ""
 
-#: ../plcopen/plcopen.py:1318
+#: ../plcopen/plcopen.py:1323
 #, python-format
 msgid "Transition with name %s doesn't exist!"
 msgstr "La transition nommée %s n'existe pas !"
 
-#: ../PLCControler.py:96
+#: ../PLCControler.py:98
 msgid "Transitions"
 msgstr "Transitions"
 
@@ -3318,17 +3353,17 @@
 msgid "Triggering"
 msgstr "Activation"
 
-#: ../Beremiz_service.py:476
+#: ../Beremiz_service.py:478
 msgid "Twisted unavailable."
 msgstr ""
 
-#: ../dialogs/ActionBlockDialog.py:38 ../editors/ResourceEditor.py:83
-#: ../editors/DataTypeEditor.py:50 ../controls/VariablePanel.py:53
-#: ../controls/VariablePanel.py:54
+#: ../dialogs/ActionBlockDialog.py:39 ../editors/ResourceEditor.py:83
+#: ../editors/DataTypeEditor.py:50 ../editors/CodeFileEditor.py:739
+#: ../controls/VariablePanel.py:53 ../controls/VariablePanel.py:54
 msgid "Type"
 msgstr "Type"
 
-#: ../dialogs/BrowseLocationsDialog.py:48
+#: ../dialogs/BrowseLocationsDialog.py:49
 msgid "Type and derivated"
 msgstr "Type et ses dérivés"
 
@@ -3345,13 +3380,13 @@
 msgid "Type infos:"
 msgstr "Propriétés du type :"
 
-#: ../dialogs/BrowseLocationsDialog.py:49
+#: ../dialogs/BrowseLocationsDialog.py:50
 msgid "Type strict"
 msgstr "Type uniquement"
 
-#: ../dialogs/SFCDivergenceDialog.py:59 ../dialogs/SFCTransitionDialog.py:57
-#: ../dialogs/LDPowerRailDialog.py:56 ../dialogs/BrowseLocationsDialog.py:99
-#: ../dialogs/FBDBlockDialog.py:65 ../dialogs/ConnectionDialog.py:58
+#: ../dialogs/SFCDivergenceDialog.py:59 ../dialogs/SFCTransitionDialog.py:58
+#: ../dialogs/LDPowerRailDialog.py:57 ../dialogs/BrowseLocationsDialog.py:100
+#: ../dialogs/FBDBlockDialog.py:66 ../dialogs/ConnectionDialog.py:59
 msgid "Type:"
 msgstr "Type :"
 
@@ -3379,20 +3414,20 @@
 msgid "Undo"
 msgstr "Défaire"
 
-#: ../ProjectController.py:382
+#: ../ProjectController.py:423
 msgid "Unknown"
 msgstr "Inconnu"
 
-#: ../editors/Viewer.py:393
+#: ../editors/Viewer.py:394
 #, python-format
 msgid "Unknown variable \"%s\" for this POU!"
 msgstr "Variable \"%s\" inconnue dans ce POU !"
 
-#: ../ProjectController.py:379 ../ProjectController.py:380
+#: ../ProjectController.py:420 ../ProjectController.py:421
 msgid "Unnamed"
 msgstr "SansNom"
 
-#: ../PLCControler.py:636
+#: ../PLCControler.py:638
 #, python-format
 msgid "Unnamed%d"
 msgstr "Sansnom%d"
@@ -3402,7 +3437,7 @@
 msgid "Unrecognized data size \"%s\""
 msgstr "Taille de donnée \"%s\" non identifié !"
 
-#: ../editors/DataTypeEditor.py:632 ../controls/VariablePanel.py:810
+#: ../editors/DataTypeEditor.py:630 ../controls/VariablePanel.py:827
 msgid "User Data Types"
 msgstr "Types de donnée du projet"
 
@@ -3410,11 +3445,11 @@
 msgid "User Type"
 msgstr "Type utilisateur"
 
-#: ../PLCControler.py:95
+#: ../PLCControler.py:97
 msgid "User-defined POUs"
 msgstr "POUs du projet"
 
-#: ../dialogs/ActionBlockDialog.py:38
+#: ../dialogs/ActionBlockDialog.py:39
 msgid "Value"
 msgstr "Valeur"
 
@@ -3422,28 +3457,28 @@
 msgid "Values:"
 msgstr "Valeurs"
 
-#: ../dialogs/ActionBlockDialog.py:42 ../editors/Viewer.py:526
-#: ../editors/Viewer.py:2385
+#: ../dialogs/ActionBlockDialog.py:43 ../editors/Viewer.py:585
+#: ../editors/Viewer.py:2423
 msgid "Variable"
 msgstr "Variable"
 
-#: ../editors/Viewer.py:308 ../editors/Viewer.py:338 ../editors/Viewer.py:360
+#: ../editors/Viewer.py:309 ../editors/Viewer.py:339 ../editors/Viewer.py:361
 #: ../editors/TextViewer.py:292 ../editors/TextViewer.py:343
 #: ../editors/TextViewer.py:366 ../controls/VariablePanel.py:329
 msgid "Variable Drop"
 msgstr ""
 
-#: ../dialogs/FBDVariableDialog.py:63
+#: ../dialogs/FBDVariableDialog.py:64
 msgid "Variable Properties"
 msgstr "Propriétés de la variable"
 
-#: ../editors/Viewer.py:288 ../editors/TextViewer.py:306
+#: ../editors/Viewer.py:289 ../editors/TextViewer.py:306
 #: ../controls/LocationCellEditor.py:97 ../controls/VariablePanel.py:290
 #: ../controls/VariablePanel.py:350
 msgid "Variable class"
 msgstr "Direction de la variable"
 
-#: ../editors/Viewer.py:395 ../editors/TextViewer.py:387
+#: ../editors/Viewer.py:396 ../editors/TextViewer.py:387
 msgid "Variable don't belong to this POU!"
 msgstr "La variable n'appartient pas à ce POU !"
 
@@ -3455,11 +3490,11 @@
 msgid "Variables"
 msgstr "Variables"
 
-#: ../controls/ProjectPropertiesPanel.py:151
+#: ../controls/ProjectPropertiesPanel.py:152
 msgid "Vertical:"
 msgstr "Vertical :"
 
-#: ../Beremiz_service.py:586
+#: ../Beremiz_service.py:588
 msgid "WAMP client startup failed. "
 msgstr ""
 
@@ -3477,19 +3512,19 @@
 msgid "WAMP connection to '%s' failed.\n"
 msgstr ""
 
-#: ../Beremiz_service.py:562
+#: ../Beremiz_service.py:564
 msgid "WAMP import failed :"
 msgstr ""
 
-#: ../wxglade_hmi/wxglade_hmi.py:35
+#: ../wxglade_hmi/wxglade_hmi.py:37
 msgid "WXGLADE GUI"
 msgstr "IHM WXGlade"
 
-#: ../dialogs/PouDialog.py:128 ../editors/LDViewer.py:891
+#: ../dialogs/PouDialog.py:129 ../editors/LDViewer.py:891
 msgid "Warning"
 msgstr "Attention"
 
-#: ../ProjectController.py:666
+#: ../ProjectController.py:707
 msgid "Warnings in ST/IL/SFC code generator :\n"
 msgstr "Mises en garde du generateur de code ST/IL/SFC :\n"
 
@@ -3497,11 +3532,11 @@
 msgid "Whole Project"
 msgstr "Tout le projet"
 
-#: ../controls/ProjectPropertiesPanel.py:119
+#: ../controls/ProjectPropertiesPanel.py:120
 msgid "Width:"
 msgstr "Longueur :"
 
-#: ../dialogs/FindInPouDialog.py:93
+#: ../dialogs/FindInPouDialog.py:91
 msgid "Wrap search"
 msgstr "Boucler"
 
@@ -3513,7 +3548,7 @@
 msgid "WxGlade GUI"
 msgstr "Interface WxGlade"
 
-#: ../svgui/svgui.py:139
+#: ../svgui/svgui.py:142
 msgid ""
 "You don't have write permissions.\n"
 "Open Inkscape anyway ?"
@@ -3521,7 +3556,7 @@
 "Vous n'avez pas les permissions d'écriture.\n"
 "Ouvrir Inkscape tout de même ?"
 
-#: ../wxglade_hmi/wxglade_hmi.py:137
+#: ../wxglade_hmi/wxglade_hmi.py:154
 msgid ""
 "You don't have write permissions.\n"
 "Open wxGlade anyway ?"
@@ -3529,7 +3564,7 @@
 "Vous n'avez pas les permissions d'écriture.\n"
 "Ouvrir wxGlade tout de même ?"
 
-#: ../ProjectController.py:342
+#: ../ProjectController.py:371
 msgid ""
 "You must have permission to work on the project\n"
 "Work on a project copy ?"
@@ -3554,7 +3589,7 @@
 msgid "You must type a name!"
 msgstr "Vous devez saisir un nom !"
 
-#: ../dialogs/ForceVariableDialog.py:175
+#: ../dialogs/ForceVariableDialog.py:193
 msgid "You must type a value!"
 msgstr "Vous devez saisir une valeur !"
 
@@ -3562,11 +3597,11 @@
 msgid "Zoom"
 msgstr "Zoom"
 
-#: ../dialogs/DurationEditorDialog.py:151
+#: ../dialogs/DurationEditorDialog.py:155
 msgid "days"
 msgstr "jours"
 
-#: ../PLCOpenEditor.py:333
+#: ../PLCOpenEditor.py:343
 #, python-format
 msgid "error: %s\n"
 msgstr "erreur: %s\n"
@@ -3576,43 +3611,43 @@
 msgid "exited with status {a1} (pid {a2})\n"
 msgstr ""
 
-#: ../PLCOpenEditor.py:396 ../PLCOpenEditor.py:398
+#: ../PLCOpenEditor.py:406 ../PLCOpenEditor.py:408
 msgid "file : "
 msgstr "fichier :"
 
-#: ../dialogs/PouDialog.py:31
+#: ../dialogs/PouDialog.py:32
 msgid "function"
 msgstr "fonction"
 
-#: ../PLCOpenEditor.py:399
+#: ../PLCOpenEditor.py:409
 msgid "function : "
 msgstr "fonction :"
 
-#: ../dialogs/PouDialog.py:31
+#: ../dialogs/PouDialog.py:32
 msgid "functionBlock"
 msgstr "Bloc fonctionnel"
 
-#: ../dialogs/DurationEditorDialog.py:151
+#: ../dialogs/DurationEditorDialog.py:155
 msgid "hours"
 msgstr "heures"
 
-#: ../PLCOpenEditor.py:399
+#: ../PLCOpenEditor.py:409
 msgid "line : "
 msgstr "ligne :"
 
-#: ../dialogs/DurationEditorDialog.py:153
+#: ../dialogs/DurationEditorDialog.py:157
 msgid "milliseconds"
 msgstr ""
 
-#: ../dialogs/DurationEditorDialog.py:152
+#: ../dialogs/DurationEditorDialog.py:156
 msgid "minutes"
 msgstr "minutes"
 
-#: ../dialogs/PouDialog.py:31
+#: ../dialogs/PouDialog.py:32
 msgid "program"
 msgstr "programme"
 
-#: ../dialogs/DurationEditorDialog.py:152
+#: ../dialogs/DurationEditorDialog.py:156
 msgid "seconds"
 msgstr "secondes"
 
@@ -3628,16 +3663,16 @@
 msgid "string right of"
 msgstr "Caractères à droite de"
 
-#: ../Beremiz.py:126
+#: ../Beremiz.py:164
 msgid "update info unavailable."
 msgstr "Information de mise à jour non disponible."
 
-#: ../PLCOpenEditor.py:331
+#: ../PLCOpenEditor.py:341
 #, python-format
 msgid "warning: %s\n"
 msgstr "attention: %s\n"
 
-#: ../PLCControler.py:970
+#: ../PLCControler.py:972
 #, python-brace-format
 msgid "{a1} \"{a2}\" can't be pasted as a {a3}."
 msgstr ""
@@ -3704,9 +3739,6 @@
 msgid "LDFLAGS"
 msgstr "LDFLAGS"
 
-msgid "PLC"
-msgstr "PLC"
-
 msgid "Linux"
 msgstr "Linux"