Update localization template
authorAndrey Skvortsov <andrej.skvortzov@gmail.com>
Wed, 03 Oct 2018 14:20:57 +0300
changeset 2426 aef7f2ca4e69
parent 2425 68e7da937162
child 2427 9554952d36d7
Update localization template
i18n/app.fil
i18n/messages.po
i18n/messages.pot
--- a/i18n/app.fil	Wed Oct 03 14:19:41 2018 +0300
+++ b/i18n/app.fil	Wed Oct 03 14:20:57 2018 +0300
@@ -21,6 +21,7 @@
 ../dialogs/ArrayTypeDialog.py
 ../dialogs/PouNameDialog.py
 ../dialogs/BrowseLocationsDialog.py
+../dialogs/CommentEditDialog.py
 ../dialogs/FBDBlockDialog.py
 ../dialogs/ConnectionDialog.py
 ../dialogs/BrowseValuesLibraryDialog.py
@@ -35,6 +36,12 @@
 ../graphics/LD_Objects.py
 ../graphics/SFC_Objects.py
 ../graphics/GraphicCommons.py
+../bacnet/BacnetSlaveEditor.py
+../bacnet/bacnet.py
+../bacnet/ede_files/template_ObjTypes.csv
+../bacnet/ede_files/template_Units.csv
+../bacnet/ede_files/template_EDE.csv
+../bacnet/ede_files/template_StateTexts.csv
 ../connectors/PYRO/__init__.py
 ../connectors/PYRO/dialog.py
 ../connectors/__init__.py
@@ -56,8 +63,17 @@
 ../py_ext/PythonFileCTNMixin.py
 ../wxglade_hmi/wxglade_hmi.py
 ../modbus/modbus.py
+../etherlab/EthercatCIA402Slave.py
+../etherlab/EtherCATManagementEditor.py
+../etherlab/CommonEtherCATFunction.py
+../etherlab/EthercatSlave.py
+../etherlab/etherlab.py
+../etherlab/EthercatCFileGenerator.py
+../etherlab/ConfigEditor.py
+../etherlab/EthercatMaster.py
 ../runtime/NevowServer.py
 ../runtime/WampClient.py
+../runtime/PlcStatus.py
 ../runtime/PLCObject.py
 ../runtime/ServicePublisher.py
 ../ConfigTreeNode.py
--- a/i18n/messages.po	Wed Oct 03 14:19:41 2018 +0300
+++ b/i18n/messages.po	Wed Oct 03 14:20:57 2018 +0300
@@ -7,8 +7,8 @@
 msgstr ""
 "Project-Id-Version: Beremiz\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-06-15 16:39+0300\n"
-"PO-Revision-Date: 2018-06-15 16:39+0300\n"
+"POT-Creation-Date: 2018-10-03 14:20+0300\n"
+"PO-Revision-Date: 2018-10-03 14:20+0300\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
 "Language: en_US\n"
@@ -42,37 +42,46 @@
 "\n"
 "Traceback:\n"
 
-#: ../controls/VariablePanel.py:90
+#: ../controls/VariablePanel.py:87
 msgid "   External"
 msgstr "   External"
 
-#: ../controls/VariablePanel.py:89
+#: ../controls/VariablePanel.py:86
 msgid "   InOut"
 msgstr "   InOut"
 
-#: ../controls/VariablePanel.py:89
+#: ../controls/VariablePanel.py:86
 msgid "   Input"
 msgstr "   Input"
 
-#: ../controls/VariablePanel.py:90
+#: ../controls/VariablePanel.py:87
 msgid "   Local"
 msgstr "   Local"
 
-#: ../controls/VariablePanel.py:89
+#: ../controls/VariablePanel.py:86
 msgid "   Output"
 msgstr "   Output"
 
-#: ../controls/VariablePanel.py:91
+#: ../controls/VariablePanel.py:88
 msgid "   Temp"
 msgstr "   Temp"
 
-#: ../dialogs/PouTransitionDialog.py:101 ../dialogs/ProjectDialog.py:74
-#: ../dialogs/PouActionDialog.py:99 ../dialogs/PouDialog.py:122
+#: ../etherlab/etherlab.py:301
+#, python-format
+msgid " (rev. %s)"
+msgstr " (rev. %s)"
+
+#: ../etherlab/CommonEtherCATFunction.py:1599
+msgid " Warning..."
+msgstr " Warning..."
+
+#: ../dialogs/PouTransitionDialog.py:100 ../dialogs/ProjectDialog.py:72
+#: ../dialogs/PouActionDialog.py:99 ../dialogs/PouDialog.py:157
 #, python-format
 msgid " and %s"
 msgstr " and %s"
 
-#: ../ProjectController.py:1182
+#: ../ProjectController.py:1236
 msgid " generation failed !\n"
 msgstr " generation failed !\n"
 
@@ -96,7 +105,7 @@
 msgid "\"%s\" can't use itself!"
 msgstr "\"%s\" can't use itself!"
 
-#: ../IDEFrame.py:1688 ../IDEFrame.py:1707
+#: ../IDEFrame.py:1705 ../IDEFrame.py:1724
 #, python-format
 msgid "\"%s\" config already exists!"
 msgstr "\"%s\" config already exists!"
@@ -111,32 +120,32 @@
 msgid "\"%s\" configuration doesn't exist !!!"
 msgstr "\"%s\" configuration doesn't exist !!!"
 
-#: ../IDEFrame.py:1638
+#: ../IDEFrame.py:1655
 #, python-format
 msgid "\"%s\" data type already exists!"
 msgstr "\"%s\" data type already exists!"
 
-#: ../dialogs/PouTransitionDialog.py:112 ../dialogs/BlockPreviewDialog.py:220
+#: ../dialogs/PouTransitionDialog.py:111 ../dialogs/BlockPreviewDialog.py:220
 #: ../dialogs/PouActionDialog.py:110 ../editors/Viewer.py:304
 #: ../editors/Viewer.py:374 ../editors/Viewer.py:398 ../editors/Viewer.py:418
 #: ../editors/TextViewer.py:270 ../editors/TextViewer.py:299
-#: ../controls/VariablePanel.py:425
+#: ../controls/VariablePanel.py:424
 #, python-format
 msgid "\"%s\" element for this pou already exists!"
 msgstr "\"%s\" element for this pou already exists!"
 
-#: ../BeremizIDE.py:928
+#: ../BeremizIDE.py:925
 #, python-format
 msgid "\"%s\" folder is not a valid Beremiz project\n"
 msgstr "\"%s\" folder is not a valid Beremiz project\n"
 
-#: ../dialogs/SFCStepNameDialog.py:56 ../dialogs/PouTransitionDialog.py:108
+#: ../dialogs/SFCStepNameDialog.py:56 ../dialogs/PouTransitionDialog.py:107
 #: ../dialogs/BlockPreviewDialog.py:209 ../dialogs/PouNameDialog.py:54
-#: ../dialogs/PouActionDialog.py:106 ../dialogs/PouDialog.py:129
-#: ../editors/ResourceEditor.py:483 ../editors/ResourceEditor.py:518
-#: ../editors/DataTypeEditor.py:571 ../editors/DataTypeEditor.py:603
-#: ../editors/CodeFileEditor.py:774 ../controls/VariablePanel.py:787
-#: ../IDEFrame.py:1629
+#: ../dialogs/PouActionDialog.py:106 ../dialogs/PouDialog.py:164
+#: ../etherlab/ConfigEditor.py:973 ../editors/ResourceEditor.py:481
+#: ../editors/ResourceEditor.py:518 ../editors/DataTypeEditor.py:571
+#: ../editors/DataTypeEditor.py:603 ../editors/CodeFileEditor.py:793
+#: ../controls/VariablePanel.py:798 ../IDEFrame.py:1646
 #, python-format
 msgid "\"%s\" is a keyword. It can't be used!"
 msgstr "\"%s\" is a keyword. It can't be used!"
@@ -151,27 +160,28 @@
 msgid "\"%s\" is not a valid folder!"
 msgstr "\"%s\" is not a valid folder!"
 
-#: ../dialogs/SFCStepNameDialog.py:54 ../dialogs/PouTransitionDialog.py:106
+#: ../dialogs/SFCStepNameDialog.py:54 ../dialogs/PouTransitionDialog.py:105
 #: ../dialogs/BlockPreviewDialog.py:205 ../dialogs/PouNameDialog.py:52
-#: ../dialogs/PouActionDialog.py:104 ../dialogs/PouDialog.py:127
-#: ../editors/ResourceEditor.py:481 ../editors/ResourceEditor.py:516
-#: ../editors/DataTypeEditor.py:601 ../editors/CodeFileEditor.py:772
-#: ../controls/VariablePanel.py:785 ../IDEFrame.py:1627
+#: ../dialogs/PouActionDialog.py:104 ../dialogs/PouDialog.py:162
+#: ../etherlab/ConfigEditor.py:971 ../editors/ResourceEditor.py:479
+#: ../editors/ResourceEditor.py:516 ../editors/DataTypeEditor.py:601
+#: ../editors/CodeFileEditor.py:791 ../controls/VariablePanel.py:796
+#: ../IDEFrame.py:1644
 #, python-format
 msgid "\"%s\" is not a valid identifier!"
 msgstr "\"%s\" is not a valid identifier!"
 
-#: ../IDEFrame.py:2436
+#: ../IDEFrame.py:2454
 #, python-format
 msgid "\"%s\" is used by one or more POUs. Do you wish to continue?"
 msgstr "\"%s\" is used by one or more POUs. Do you wish to continue?"
 
-#: ../dialogs/BlockPreviewDialog.py:213 ../dialogs/PouDialog.py:131
+#: ../dialogs/BlockPreviewDialog.py:213 ../dialogs/PouDialog.py:166
 #: ../editors/Viewer.py:302 ../editors/Viewer.py:359 ../editors/Viewer.py:389
 #: ../editors/Viewer.py:411 ../editors/TextViewer.py:268
 #: ../editors/TextViewer.py:297 ../editors/TextViewer.py:351
-#: ../editors/TextViewer.py:374 ../controls/VariablePanel.py:364
-#: ../IDEFrame.py:1647
+#: ../editors/TextViewer.py:374 ../controls/VariablePanel.py:363
+#: ../IDEFrame.py:1664
 #, python-format
 msgid "\"%s\" pou already exists!"
 msgstr "\"%s\" pou already exists!"
@@ -200,7 +210,7 @@
 "\"%s\" value isn't a valid array dimension!\n"
 "Right value must be greater than left value."
 
-#: ../PLCGenerator.py:1133
+#: ../PLCGenerator.py:1182
 #, python-brace-format
 msgid "\"{a1}\" function cancelled in \"{a2}\" POU: No input connected"
 msgstr "\"{a1}\" function cancelled in \"{a2}\" POU: No input connected"
@@ -220,35 +230,35 @@
 msgid "\"{a1}\" resource doesn't exist in \"{a2}\" configuration !!!"
 msgstr "\"{a1}\" resource doesn't exist in \"{a2}\" configuration !!!"
 
-#: ../controls/DebugVariablePanel/DebugVariablePanel.py:580
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:559
 #, python-format
 msgid "%03gms"
 msgstr "%03gms"
 
-#: ../controls/DebugVariablePanel/DebugVariablePanel.py:571
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:550
 #, python-format
 msgid "%dd"
 msgstr "%dd"
 
-#: ../controls/DebugVariablePanel/DebugVariablePanel.py:61
-#: ../controls/DebugVariablePanel/DebugVariablePanel.py:572
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:189
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:551
 #, python-format
 msgid "%dh"
 msgstr "%dh"
 
-#: ../controls/DebugVariablePanel/DebugVariablePanel.py:60
-#: ../controls/DebugVariablePanel/DebugVariablePanel.py:573
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:188
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:552
 #, python-format
 msgid "%dm"
 msgstr "%dm"
 
-#: ../controls/DebugVariablePanel/DebugVariablePanel.py:58
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:186
 #, python-format
 msgid "%dms"
 msgstr "%dms"
 
-#: ../controls/DebugVariablePanel/DebugVariablePanel.py:59
-#: ../controls/DebugVariablePanel/DebugVariablePanel.py:574
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:187
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:553
 #, python-format
 msgid "%ds"
 msgstr "%ds"
@@ -281,7 +291,12 @@
 msgid "%s body don't have text!"
 msgstr "%s body don't have text!"
 
-#: ../IDEFrame.py:388
+#: ../etherlab/ConfigEditor.py:856
+#, python-format
+msgid "%s's nodes"
+msgstr "%s's nodes"
+
+#: ../IDEFrame.py:391
 msgid "&Add Element"
 msgstr "&Add Element"
 
@@ -290,35 +305,35 @@
 msgid "&Close"
 msgstr "&Close"
 
-#: ../IDEFrame.py:361
+#: ../IDEFrame.py:364
 msgid "&Configuration"
 msgstr "&Configuration"
 
-#: ../IDEFrame.py:350
+#: ../IDEFrame.py:353
 msgid "&Data Type"
 msgstr "&Data Type"
 
-#: ../IDEFrame.py:392
+#: ../IDEFrame.py:395
 msgid "&Delete"
 msgstr "&Delete"
 
-#: ../IDEFrame.py:342
+#: ../IDEFrame.py:345
 msgid "&Display"
 msgstr "&Display"
 
-#: ../IDEFrame.py:341
+#: ../IDEFrame.py:344
 msgid "&Edit"
 msgstr "&Edit"
 
-#: ../IDEFrame.py:340
+#: ../IDEFrame.py:343
 msgid "&File"
 msgstr "&File"
 
-#: ../IDEFrame.py:352
+#: ../IDEFrame.py:355
 msgid "&Function"
 msgstr "&Function"
 
-#: ../IDEFrame.py:343
+#: ../IDEFrame.py:346
 msgid "&Help"
 msgstr "&Help"
 
@@ -326,7 +341,7 @@
 msgid "&License"
 msgstr "&License"
 
-#: ../IDEFrame.py:356
+#: ../IDEFrame.py:359
 msgid "&Program"
 msgstr "&Program"
 
@@ -338,10 +353,14 @@
 msgid "&Recent Projects"
 msgstr "&Recent Projects"
 
-#: ../IDEFrame.py:358
+#: ../IDEFrame.py:361
 msgid "&Resource"
 msgstr "&Resource"
 
+#: ../etherlab/ConfigEditor.py:450
+msgid "'Read from' and 'Write to' variables types are not compatible"
+msgstr "'Read from' and 'Write to' variables types are not compatible"
+
 #: ../controls/SearchResultPanel.py:247
 #, python-brace-format
 msgid "'{a1}' - {a2} match in project"
@@ -352,7 +371,7 @@
 msgid "'{a1}' - {a2} matches in project"
 msgstr "'{a1}' - {a2} matches in project"
 
-#: ../connectors/PYRO/__init__.py:98
+#: ../connectors/PYRO/__init__.py:99
 #, python-brace-format
 msgid "'{a1}' is located at {a2}\n"
 msgstr "'{a1}' is located at {a2}\n"
@@ -362,8 +381,8 @@
 msgid "(%d matches)"
 msgstr "(%d matches)"
 
-#: ../dialogs/PouTransitionDialog.py:103 ../dialogs/PouActionDialog.py:101
-#: ../dialogs/PouDialog.py:124
+#: ../dialogs/PouTransitionDialog.py:102 ../dialogs/PouActionDialog.py:101
+#: ../dialogs/PouDialog.py:159
 #, python-format
 msgid ", %s"
 msgstr ", %s"
@@ -388,15 +407,15 @@
 msgid "1s"
 msgstr "1s"
 
-#: ../dialogs/PouDialog.py:133 ../IDEFrame.py:1650 ../IDEFrame.py:1696
-#: ../IDEFrame.py:1715
+#: ../dialogs/PouDialog.py:168 ../IDEFrame.py:1667 ../IDEFrame.py:1713
+#: ../IDEFrame.py:1732
 #, python-format
 msgid "A POU has an element named \"%s\". This could cause a conflict. Do you wish to continue?"
 msgstr "A POU has an element named \"%s\". This could cause a conflict. Do you wish to continue?"
 
-#: ../dialogs/SFCStepNameDialog.py:58 ../dialogs/PouTransitionDialog.py:110
+#: ../dialogs/SFCStepNameDialog.py:58 ../dialogs/PouTransitionDialog.py:109
 #: ../dialogs/PouNameDialog.py:56 ../dialogs/PouActionDialog.py:108
-#: ../controls/VariablePanel.py:789 ../IDEFrame.py:1664 ../IDEFrame.py:1677
+#: ../controls/VariablePanel.py:800 ../IDEFrame.py:1681 ../IDEFrame.py:1694
 #, python-format
 msgid "A POU named \"%s\" already exists!"
 msgstr "A POU named \"%s\" already exists!"
@@ -406,21 +425,21 @@
 msgid "A child named \"{a1}\" already exists -> \"{a2}\"\n"
 msgstr "A child named \"{a1}\" already exists -> \"{a2}\"\n"
 
-#: ../dialogs/BrowseLocationsDialog.py:229
+#: ../dialogs/BrowseLocationsDialog.py:228
 msgid "A location must be selected!"
 msgstr "A location must be selected!"
 
-#: ../editors/ResourceEditor.py:485
+#: ../editors/ResourceEditor.py:483
 msgid "A task with the same name already exists!"
 msgstr "A task with the same name already exists!"
 
-#: ../dialogs/SFCStepNameDialog.py:60 ../controls/VariablePanel.py:791
-#: ../IDEFrame.py:1666 ../IDEFrame.py:1679
+#: ../dialogs/SFCStepNameDialog.py:60 ../controls/VariablePanel.py:802
+#: ../IDEFrame.py:1683 ../IDEFrame.py:1696
 #, python-format
 msgid "A variable with \"%s\" as name already exists in this pou!"
 msgstr "A variable with \"%s\" as name already exists in this pou!"
 
-#: ../editors/CodeFileEditor.py:778
+#: ../editors/CodeFileEditor.py:797
 #, python-format
 msgid "A variable with \"%s\" as name already exists!"
 msgstr "A variable with \"%s\" as name already exists!"
@@ -433,11 +452,15 @@
 msgid "Absolute number"
 msgstr "Absolute number"
 
+#: ../etherlab/ConfigEditor.py:48
+msgid "Access"
+msgstr "Access"
+
 #: ../dialogs/SFCStepDialog.py:75 ../dialogs/ActionBlockDialog.py:47
 msgid "Action"
 msgstr "Action"
 
-#: ../editors/Viewer.py:653 ../editors/Viewer.py:2427
+#: ../editors/Viewer.py:656 ../editors/Viewer.py:2429
 msgid "Action Block"
 msgstr "Action Block"
 
@@ -462,56 +485,64 @@
 msgid "Actions:"
 msgstr "Actions:"
 
-#: ../editors/Viewer.py:473
+#: ../editors/Viewer.py:484
 msgid "Active"
 msgstr "Active"
 
 #: ../canfestival/SlaveEditor.py:84 ../canfestival/NetworkEditor.py:108
-#: ../BeremizIDE.py:1001 ../editors/Viewer.py:686
+#: ../BeremizIDE.py:998 ../editors/Viewer.py:689
 msgid "Add"
 msgstr "Add"
 
-#: ../IDEFrame.py:1924 ../IDEFrame.py:1959
+#: ../IDEFrame.py:1941 ../IDEFrame.py:1976
 msgid "Add Action"
 msgstr "Add Action"
 
-#: ../features.py:33
+#: ../features.py:22
 msgid "Add C code accessing located variables synchronously"
 msgstr "Add C code accessing located variables synchronously"
 
-#: ../IDEFrame.py:1907
+#: ../IDEFrame.py:1924
 msgid "Add Configuration"
 msgstr "Add Configuration"
 
-#: ../IDEFrame.py:1887
+#: ../IDEFrame.py:1904
 msgid "Add DataType"
 msgstr "Add DataType"
 
-#: ../editors/Viewer.py:609
+#: ../editors/Viewer.py:612
 msgid "Add Divergence Branch"
 msgstr "Add Divergence Branch"
 
+#: ../etherlab/EthercatMaster.py:297
+msgid "Add Ethercat Slave"
+msgstr "Add Ethercat Slave"
+
+#: ../etherlab/EthercatMaster.py:297
+msgid "Add Ethercat Slave to Master"
+msgstr "Add Ethercat Slave to Master"
+
 #: ../dialogs/DiscoveryDialog.py:121
 msgid "Add IP"
 msgstr "Add IP"
 
-#: ../IDEFrame.py:1895
+#: ../IDEFrame.py:1912
 msgid "Add POU"
 msgstr "Add POU"
 
-#: ../features.py:34
+#: ../features.py:23
 msgid "Add Python code executed asynchronously"
 msgstr "Add Python code executed asynchronously"
 
-#: ../IDEFrame.py:1935 ../IDEFrame.py:1985
+#: ../IDEFrame.py:1952 ../IDEFrame.py:2002
 msgid "Add Resource"
 msgstr "Add Resource"
 
-#: ../IDEFrame.py:1913 ../IDEFrame.py:1956
+#: ../IDEFrame.py:1930 ../IDEFrame.py:1973
 msgid "Add Transition"
 msgstr "Add Transition"
 
-#: ../editors/Viewer.py:596
+#: ../editors/Viewer.py:599
 msgid "Add Wire Segment"
 msgstr "Add Wire Segment"
 
@@ -519,7 +550,7 @@
 msgid "Add a new initial step"
 msgstr "Add a new initial step"
 
-#: ../editors/Viewer.py:2791 ../editors/SFCViewer.py:784
+#: ../editors/Viewer.py:2790 ../editors/SFCViewer.py:784
 msgid "Add a new jump"
 msgstr "Add a new jump"
 
@@ -527,7 +558,7 @@
 msgid "Add a new step"
 msgstr "Add a new step"
 
-#: ../features.py:35
+#: ../features.py:24
 msgid "Add a simple WxGlade based GUI."
 msgstr "Add a simple WxGlade based GUI."
 
@@ -539,22 +570,49 @@
 msgid "Add element"
 msgstr "Add element"
 
-#: ../editors/ResourceEditor.py:283
+#: ../etherlab/ConfigEditor.py:1388
+msgid "Add file from ESI files database"
+msgstr "Add file from ESI files database"
+
+#: ../etherlab/ConfigEditor.py:1360
+msgid "Add file to project"
+msgstr "Add file to project"
+
+#: ../editors/ResourceEditor.py:281
 msgid "Add instance"
 msgstr "Add instance"
 
+#: ../etherlab/ConfigEditor.py:652
+msgid "Add process variable"
+msgstr "Add process variable"
+
 #: ../canfestival/NetworkEditor.py:110
 msgid "Add slave"
 msgstr "Add slave"
 
-#: ../editors/ResourceEditor.py:252
+#: ../etherlab/ConfigEditor.py:679
+msgid "Add startup service variable"
+msgstr "Add startup service variable"
+
+#: ../editors/ResourceEditor.py:250
 msgid "Add task"
 msgstr "Add task"
 
-#: ../editors/CodeFileEditor.py:654 ../controls/VariablePanel.py:481
+#: ../bacnet/BacnetSlaveEditor.py:811 ../editors/CodeFileEditor.py:672
+#: ../controls/VariablePanel.py:483
 msgid "Add variable"
 msgstr "Add variable"
 
+#: ../etherlab/etherlab.py:186
+msgid ""
+"Adding a PDO not defined in default configuration\n"
+"for mapping needed location variables\n"
+"(1 if possible)"
+msgstr ""
+"Adding a PDO not defined in default configuration\n"
+"for mapping needed location variables\n"
+"(1 if possible)"
+
 #: ../plcopen/iec_std.csv:33
 msgid "Addition"
 msgstr "Addition"
@@ -563,27 +621,28 @@
 msgid "Additional function blocks"
 msgstr "Additional function blocks"
 
-#: ../editors/Viewer.py:669
+#: ../editors/Viewer.py:672
 msgid "Adjust Block Size"
 msgstr "Adjust Block Size"
 
-#: ../editors/Viewer.py:1720
+#: ../editors/Viewer.py:1722
 msgid "Alignment"
 msgstr "Alignment"
 
 #: ../dialogs/BrowseLocationsDialog.py:42
-#: ../dialogs/BrowseLocationsDialog.py:53
-#: ../dialogs/BrowseLocationsDialog.py:152
-#: ../dialogs/BrowseLocationsDialog.py:155 ../controls/LogViewer.py:307
-#: ../controls/VariablePanel.py:88
+#: ../dialogs/BrowseLocationsDialog.py:50
+#: ../dialogs/BrowseLocationsDialog.py:151
+#: ../dialogs/BrowseLocationsDialog.py:154 ../etherlab/ConfigEditor.py:65
+#: ../etherlab/ConfigEditor.py:853 ../controls/LogViewer.py:307
+#: ../controls/VariablePanel.py:85
 msgid "All"
 msgstr "All"
 
-#: ../editors/FileManagementPanel.py:37
+#: ../editors/FileManagementPanel.py:51
 msgid "All files (*.*)|*.*|CSV files (*.csv)|*.csv"
 msgstr "All files (*.*)|*.*|CSV files (*.csv)|*.csv"
 
-#: ../ProjectController.py:1670
+#: ../ProjectController.py:1752
 msgid "Already connected. Please disconnect\n"
 msgstr "Already connected. Please disconnect\n"
 
@@ -596,6 +655,23 @@
 msgid "An instance with the same name already exists!"
 msgstr "An instance with the same name already exists!"
 
+#: ../etherlab/ConfigEditor.py:975
+#, python-format
+msgid "An variable named \"%s\" already exists!"
+msgstr "An variable named \"%s\" already exists!"
+
+#: ../bacnet/BacnetSlaveEditor.py:935
+msgid "Analog Input Objects"
+msgstr "Analog Input Objects"
+
+#: ../bacnet/BacnetSlaveEditor.py:934
+msgid "Analog Output Objects"
+msgstr "Analog Output Objects"
+
+#: ../bacnet/BacnetSlaveEditor.py:933
+msgid "Analog Value Objects"
+msgstr "Analog Value Objects"
+
 #: ../dialogs/ConnectionDialog.py:103
 msgid "Apply name modification to all continuations with the same name"
 msgstr "Apply name modification to all continuations with the same name"
@@ -617,7 +693,7 @@
 msgstr "Arithmetic"
 
 #: ../editors/DataTypeEditor.py:60 ../editors/DataTypeEditor.py:649
-#: ../controls/VariablePanel.py:872
+#: ../controls/VariablePanel.py:883
 msgid "Array"
 msgstr "Array"
 
@@ -625,22 +701,34 @@
 msgid "Assignment"
 msgstr "Assignment"
 
-#: ../dialogs/FBDVariableDialog.py:226
+#: ../dialogs/FBDVariableDialog.py:227
 msgid "At least a variable or an expression must be selected!"
 msgstr "At least a variable or an expression must be selected!"
 
-#: ../controls/ProjectPropertiesPanel.py:111
+#: ../controls/ProjectPropertiesPanel.py:113
 msgid "Author"
 msgstr "Author"
 
-#: ../controls/ProjectPropertiesPanel.py:108
+#: ../controls/ProjectPropertiesPanel.py:110
 msgid "Author Name (optional):"
 msgstr "Author Name (optional):"
 
+#: ../etherlab/EthercatCIA402Slave.py:125
+msgid "Axis Pos"
+msgstr "Axis Pos"
+
+#: ../etherlab/EthercatCIA402Slave.py:118
+msgid "Axis Ref"
+msgstr "Axis Ref"
+
 #: ../dialogs/FindInPouDialog.py:80
 msgid "Backward"
 msgstr "Backward"
 
+#: ../features.py:19
+msgid "Bacnet support"
+msgstr "Bacnet support"
+
 #: ../canfestival/config_utils.py:365 ../canfestival/config_utils.py:672
 #, python-format
 msgid "Bad location size : %s"
@@ -651,14 +739,30 @@
 msgid "Base Type:"
 msgstr "Base Type:"
 
-#: ../editors/DataTypeEditor.py:639 ../controls/VariablePanel.py:830
+#: ../editors/DataTypeEditor.py:639 ../controls/VariablePanel.py:841
 msgid "Base Types"
 msgstr "Base Types"
 
-#: ../BeremizIDE.py:483
+#: ../BeremizIDE.py:479
 msgid "Beremiz"
 msgstr "Beremiz"
 
+#: ../runtime/NevowServer.py:201
+msgid "Beremiz Runtime Settings"
+msgstr "Beremiz Runtime Settings"
+
+#: ../bacnet/BacnetSlaveEditor.py:938
+msgid "Binary Input Objects"
+msgstr "Binary Input Objects"
+
+#: ../bacnet/BacnetSlaveEditor.py:937
+msgid "Binary Output Objects"
+msgstr "Binary Output Objects"
+
+#: ../bacnet/BacnetSlaveEditor.py:936
+msgid "Binary Value Objects"
+msgstr "Binary Value Objects"
+
 #: ../plcopen/iec_std.csv:70
 msgid "Binary selection (1 of 2)"
 msgstr "Binary selection (1 of 2)"
@@ -687,7 +791,7 @@
 msgid "Bitwise inverting"
 msgstr "Bitwise inverting"
 
-#: ../editors/Viewer.py:621 ../editors/Viewer.py:2440
+#: ../editors/Viewer.py:624 ../editors/Viewer.py:2442
 msgid "Block"
 msgstr "Block"
 
@@ -699,11 +803,11 @@
 msgid "Block name"
 msgstr "Block name"
 
-#: ../editors/Viewer.py:586
+#: ../editors/Viewer.py:589
 msgid "Bottom"
 msgstr "Bottom"
 
-#: ../ProjectController.py:1400
+#: ../runtime/PlcStatus.py:11
 msgid "Broken"
 msgstr "Broken"
 
@@ -712,27 +816,27 @@
 msgid "Browse %s values library"
 msgstr "Browse %s values library"
 
-#: ../dialogs/BrowseLocationsDialog.py:72
+#: ../dialogs/BrowseLocationsDialog.py:69
 msgid "Browse Locations"
 msgstr "Browse Locations"
 
-#: ../ProjectController.py:1815
+#: ../ProjectController.py:1898
 msgid "Build"
 msgstr "Build"
 
-#: ../ProjectController.py:1335
+#: ../ProjectController.py:1397
 msgid "Build directory already clean\n"
 msgstr "Build directory already clean\n"
 
-#: ../ProjectController.py:1816
+#: ../ProjectController.py:1899
 msgid "Build project into build folder"
 msgstr "Build project into build folder"
 
-#: ../ProjectController.py:1108
+#: ../ProjectController.py:1155
 msgid "C Build crashed !\n"
 msgstr "C Build crashed !\n"
 
-#: ../ProjectController.py:1105
+#: ../ProjectController.py:1152
 msgid "C Build failed.\n"
 msgstr "C Build failed.\n"
 
@@ -740,7 +844,7 @@
 msgid "C code"
 msgstr "C code"
 
-#: ../ProjectController.py:1186
+#: ../ProjectController.py:1240
 msgid "C code generated successfully.\n"
 msgstr "C code generated successfully.\n"
 
@@ -753,7 +857,7 @@
 msgid "C compilation of %s failed.\n"
 msgstr "C compilation of %s failed.\n"
 
-#: ../features.py:33
+#: ../features.py:22
 msgid "C extension"
 msgstr "C extension"
 
@@ -769,16 +873,20 @@
 msgid "CANOpen slave"
 msgstr "CANOpen slave"
 
-#: ../features.py:31
+#: ../features.py:18
 msgid "CANopen support"
 msgstr "CANopen support"
 
+#: ../etherlab/ConfigEditor.py:858
+msgid "CIA402 nodes"
+msgstr "CIA402 nodes"
+
 #: ../plcopen/plcopen.py:1839 ../plcopen/plcopen.py:1853
 #: ../plcopen/plcopen.py:1878 ../plcopen/plcopen.py:1894
 msgid "Can only generate execution order on FBD networks!"
 msgstr "Can only generate execution order on FBD networks!"
 
-#: ../controls/VariablePanel.py:291
+#: ../controls/VariablePanel.py:290
 msgid "Can only give a location to local or global variables"
 msgstr "Can only give a location to local or global variables"
 
@@ -787,7 +895,7 @@
 msgid "Can't generate program to file %s!"
 msgstr "Can't generate program to file %s!"
 
-#: ../controls/VariablePanel.py:289
+#: ../controls/VariablePanel.py:288
 msgid "Can't give a location to a function block instance"
 msgstr "Can't give a location to a function block instance"
 
@@ -796,7 +904,7 @@
 msgid "Can't save project to file %s!"
 msgstr "Can't save project to file %s!"
 
-#: ../controls/VariablePanel.py:339
+#: ../controls/VariablePanel.py:338
 msgid "Can't set an initial value to a function block instance"
 msgstr "Can't set an initial value to a function block instance"
 
@@ -810,11 +918,11 @@
 msgid "Cannot find lower free IEC channel than %d\n"
 msgstr "Cannot find lower free IEC channel than %d\n"
 
-#: ../connectors/PYRO/__init__.py:139
+#: ../connectors/PYRO/__init__.py:140
 msgid "Cannot get PLC status - connection failed.\n"
 msgstr "Cannot get PLC status - connection failed.\n"
 
-#: ../ProjectController.py:967
+#: ../ProjectController.py:1013
 msgid "Cannot open/parse VARIABLES.csv!\n"
 msgstr "Cannot open/parse VARIABLES.csv!\n"
 
@@ -823,7 +931,7 @@
 msgid "Cannot set bit offset for non bool '{a1}' variable (ID:{a2},Idx:{a3},sIdx:{a4}))"
 msgstr "Cannot set bit offset for non bool '{a1}' variable (ID:{a2},Idx:{a3},sIdx:{a4}))"
 
-#: ../ProjectController.py:1761
+#: ../ProjectController.py:1842
 msgid "Cannot transfer while PLC is running. Stop it now?"
 msgstr "Cannot transfer while PLC is running. Stop it now?"
 
@@ -831,27 +939,27 @@
 msgid "Case sensitive"
 msgstr "Case sensitive"
 
-#: ../editors/Viewer.py:581
+#: ../editors/Viewer.py:584
 msgid "Center"
 msgstr "Center"
 
-#: ../Beremiz_service.py:276
+#: ../Beremiz_service.py:289
 msgid "Change IP of interface to bind"
 msgstr "Change IP of interface to bind"
 
-#: ../Beremiz_service.py:275
+#: ../Beremiz_service.py:288
 msgid "Change Name"
 msgstr "Change Name"
 
-#: ../IDEFrame.py:1977
+#: ../IDEFrame.py:1994
 msgid "Change POU Type To"
 msgstr "Change POU Type To"
 
-#: ../Beremiz_service.py:277
+#: ../Beremiz_service.py:290
 msgid "Change Port Number"
 msgstr "Change Port Number"
 
-#: ../Beremiz_service.py:278
+#: ../Beremiz_service.py:291
 msgid "Change working directory"
 msgstr "Change working directory"
 
@@ -863,16 +971,21 @@
 msgid "Choose a SVG file"
 msgstr "Choose a SVG file"
 
-#: ../ProjectController.py:561
+#: ../etherlab/EtherCATManagementEditor.py:911
+#: ../etherlab/EtherCATManagementEditor.py:1306
+msgid "Choose a binary file"
+msgstr "Choose a binary file"
+
+#: ../ProjectController.py:582
 msgid "Choose a directory to save project"
 msgstr "Choose a directory to save project"
 
-#: ../canfestival/canfestival.py:171 ../PLCOpenEditor.py:276
-#: ../PLCOpenEditor.py:308 ../PLCOpenEditor.py:357
+#: ../canfestival/canfestival.py:171 ../bacnet/bacnet.py:434
+#: ../PLCOpenEditor.py:276 ../PLCOpenEditor.py:308 ../PLCOpenEditor.py:357
 msgid "Choose a file"
 msgstr "Choose a file"
 
-#: ../BeremizIDE.py:900
+#: ../BeremizIDE.py:897
 msgid "Choose a project"
 msgstr "Choose a project"
 
@@ -881,19 +994,23 @@
 msgid "Choose a value for %s:"
 msgstr "Choose a value for %s:"
 
-#: ../Beremiz_service.py:333
+#: ../Beremiz_service.py:346
 msgid "Choose a working directory "
 msgstr "Choose a working directory "
 
-#: ../BeremizIDE.py:864
+#: ../etherlab/ConfigEditor.py:1234
+msgid "Choose an XML file"
+msgstr "Choose an XML file"
+
+#: ../BeremizIDE.py:861
 msgid "Choose an empty directory for new project"
 msgstr "Choose an empty directory for new project"
 
-#: ../ProjectController.py:468
+#: ../ProjectController.py:483
 msgid "Chosen folder doesn't contain a program. It's not a valid project!"
 msgstr "Chosen folder doesn't contain a program. It's not a valid project!"
 
-#: ../ProjectController.py:435
+#: ../ProjectController.py:450
 msgid "Chosen folder isn't empty. You can't use it for a new project!"
 msgstr "Chosen folder isn't empty. You can't use it for a new project!"
 
@@ -901,15 +1018,15 @@
 msgid "Class"
 msgstr "Class"
 
-#: ../controls/VariablePanel.py:472
+#: ../controls/VariablePanel.py:474
 msgid "Class Filter:"
 msgstr "Class Filter:"
 
-#: ../dialogs/FBDVariableDialog.py:74
+#: ../dialogs/FBDVariableDialog.py:75
 msgid "Class:"
 msgstr "Class:"
 
-#: ../ProjectController.py:1821
+#: ../ProjectController.py:1904
 msgid "Clean"
 msgstr "Clean"
 
@@ -917,32 +1034,33 @@
 msgid "Clean log messages"
 msgstr "Clean log messages"
 
-#: ../ProjectController.py:1822
+#: ../ProjectController.py:1905
 msgid "Clean project build folder"
 msgstr "Clean project build folder"
 
-#: ../ProjectController.py:1332
+#: ../ProjectController.py:1394
 msgid "Cleaning the build directory\n"
 msgstr "Cleaning the build directory\n"
 
-#: ../IDEFrame.py:437
+#: ../IDEFrame.py:439
 msgid "Clear Errors"
 msgstr "Clear Errors"
 
-#: ../editors/Viewer.py:680
+#: ../editors/Viewer.py:683
 msgid "Clear Execution Order"
 msgstr "Clear Execution Order"
 
 #: ../dialogs/SearchInProjectDialog.py:107 ../dialogs/FindInPouDialog.py:112
+#: ../etherlab/ConfigEditor.py:1361
 msgid "Close"
 msgstr "Close"
 
-#: ../BeremizIDE.py:627 ../PLCOpenEditor.py:183
+#: ../BeremizIDE.py:623 ../PLCOpenEditor.py:183
 msgid "Close Application"
 msgstr "Close Application"
 
-#: ../BeremizIDE.py:253 ../BeremizIDE.py:566 ../PLCOpenEditor.py:81
-#: ../IDEFrame.py:1040
+#: ../BeremizIDE.py:253 ../BeremizIDE.py:562 ../PLCOpenEditor.py:81
+#: ../IDEFrame.py:1053
 msgid "Close Project"
 msgstr "Close Project"
 
@@ -950,28 +1068,32 @@
 msgid "Close Tab"
 msgstr "Close Tab"
 
-#: ../editors/Viewer.py:638 ../editors/Viewer.py:2448
+#: ../editors/Viewer.py:641 ../editors/Viewer.py:2450
 msgid "Coil"
 msgstr "Coil"
 
-#: ../editors/Viewer.py:659 ../editors/LDViewer.py:517
+#: ../editors/Viewer.py:662 ../editors/LDViewer.py:517
 msgid "Comment"
 msgstr "Comment"
 
+#: ../etherlab/ConfigEditor.py:66
+msgid "Communication Parameters"
+msgstr "Communication Parameters"
+
 #: ../BeremizIDE.py:303 ../BeremizIDE.py:307 ../PLCOpenEditor.py:134
 #: ../PLCOpenEditor.py:138
 msgid "Community support"
 msgstr "Community support"
 
-#: ../dialogs/ProjectDialog.py:65
+#: ../dialogs/ProjectDialog.py:63
 msgid "Company Name"
 msgstr "Company Name"
 
-#: ../controls/ProjectPropertiesPanel.py:106
+#: ../controls/ProjectPropertiesPanel.py:108
 msgid "Company Name (required):"
 msgstr "Company Name (required):"
 
-#: ../controls/ProjectPropertiesPanel.py:107
+#: ../controls/ProjectPropertiesPanel.py:109
 msgid "Company URL (optional):"
 msgstr "Company URL (optional):"
 
@@ -979,7 +1101,7 @@
 msgid "Comparison"
 msgstr "Comparison"
 
-#: ../ProjectController.py:756
+#: ../ProjectController.py:787
 msgid "Compiling IEC Program into C code...\n"
 msgstr "Compiling IEC Program into C code...\n"
 
@@ -1005,25 +1127,25 @@
 
 #: ../editors/Viewer.py:351 ../editors/Viewer.py:381 ../editors/Viewer.py:403
 #: ../editors/TextViewer.py:289 ../editors/TextViewer.py:343
-#: ../editors/TextViewer.py:366 ../controls/VariablePanel.py:354
+#: ../editors/TextViewer.py:366 ../controls/VariablePanel.py:353
 msgid "Confirm or change variable name"
 msgstr "Confirm or change variable name"
 
-#: ../ProjectController.py:1842
+#: ../ProjectController.py:1925
 msgid "Connect"
 msgstr "Connect"
 
-#: ../ProjectController.py:1843
+#: ../ProjectController.py:1926
 msgid "Connect to the target PLC"
 msgstr "Connect to the target PLC"
 
-#: ../ProjectController.py:1391
+#: ../ProjectController.py:1469
 #, python-format
 msgid "Connected to URI: %s"
 msgstr "Connected to URI: %s"
 
-#: ../dialogs/SFCTransitionDialog.py:78 ../editors/Viewer.py:623
-#: ../editors/Viewer.py:2441
+#: ../dialogs/SFCTransitionDialog.py:78 ../editors/Viewer.py:626
+#: ../editors/Viewer.py:2443
 msgid "Connection"
 msgstr "Connection"
 
@@ -1031,25 +1153,25 @@
 msgid "Connection Properties"
 msgstr "Connection Properties"
 
-#: ../ProjectController.py:1691
+#: ../ProjectController.py:1773
 msgid "Connection canceled!\n"
 msgstr "Connection canceled!\n"
 
-#: ../ProjectController.py:1714
+#: ../ProjectController.py:1797
 #, python-format
 msgid "Connection failed to %s!\n"
 msgstr "Connection failed to %s!\n"
 
-#: ../connectors/PYRO/__init__.py:123 ../connectors/WAMP/__init__.py:120
+#: ../connectors/PYRO/__init__.py:124 ../connectors/WAMP/__init__.py:121
 msgid "Connection lost!\n"
 msgstr "Connection lost!\n"
 
-#: ../connectors/PYRO/__init__.py:110
+#: ../connectors/PYRO/__init__.py:111
 #, python-format
 msgid "Connection to '%s' failed.\n"
 msgstr "Connection to '%s' failed.\n"
 
-#: ../dialogs/ConnectionDialog.py:67 ../editors/Viewer.py:1676
+#: ../dialogs/ConnectionDialog.py:67 ../editors/Viewer.py:1678
 msgid "Connector"
 msgstr "Connector"
 
@@ -1057,7 +1179,7 @@
 msgid "Connectors:"
 msgstr "Connectors:"
 
-#: ../BeremizIDE.py:378
+#: ../BeremizIDE.py:374
 msgid "Console"
 msgstr "Console"
 
@@ -1065,18 +1187,22 @@
 msgid "Constant"
 msgstr "Constant"
 
-#: ../editors/Viewer.py:634 ../editors/Viewer.py:2444
+#: ../editors/Viewer.py:637 ../editors/Viewer.py:2446
 msgid "Contact"
 msgstr "Contact"
 
-#: ../controls/ProjectPropertiesPanel.py:217
+#: ../controls/ProjectPropertiesPanel.py:219
 msgid "Content Description (optional):"
 msgstr "Content Description (optional):"
 
-#: ../dialogs/ConnectionDialog.py:68 ../editors/Viewer.py:1677
+#: ../dialogs/ConnectionDialog.py:68 ../editors/Viewer.py:1679
 msgid "Continuation"
 msgstr "Continuation"
 
+#: ../etherlab/EtherCATManagementEditor.py:37
+msgid "Control Byte"
+msgstr "Control Byte"
+
 #: ../plcopen/iec_std.csv:18
 msgid "Conversion from BCD"
 msgstr "Conversion from BCD"
@@ -1093,20 +1219,20 @@
 msgid "Conversion to time-of-day"
 msgstr "Conversion to time-of-day"
 
-#: ../editors/Viewer.py:695 ../controls/LogViewer.py:713 ../IDEFrame.py:372
-#: ../IDEFrame.py:427
+#: ../editors/Viewer.py:698 ../controls/LogViewer.py:713 ../IDEFrame.py:375
+#: ../IDEFrame.py:428
 msgid "Copy"
 msgstr "Copy"
 
-#: ../IDEFrame.py:1964
+#: ../IDEFrame.py:1981
 msgid "Copy POU"
 msgstr "Copy POU"
 
-#: ../editors/FileManagementPanel.py:68
+#: ../editors/FileManagementPanel.py:67
 msgid "Copy file from left folder to right"
 msgstr "Copy file from left folder to right"
 
-#: ../editors/FileManagementPanel.py:67
+#: ../editors/FileManagementPanel.py:66
 msgid "Copy file from right folder to left"
 msgstr "Copy file from right folder to left"
 
@@ -1128,6 +1254,16 @@
 msgid "Couldn't import old %s file."
 msgstr "Couldn't import old %s file."
 
+#: ../etherlab/EthercatMaster.py:258
+#, python-format
+msgid "Couldn't load %s network configuration file."
+msgstr "Couldn't load %s network configuration file."
+
+#: ../etherlab/EthercatMaster.py:279
+#, python-format
+msgid "Couldn't load %s network process variables file."
+msgstr "Couldn't load %s network process variables file."
+
 #: ../ConfigTreeNode.py:630
 #, python-brace-format
 msgid ""
@@ -1146,15 +1282,24 @@
 "Couldn't load confnode parameters {a1} :\n"
 " {a2}"
 
+#: ../etherlab/etherlab.py:264
+#, python-brace-format
+msgid ""
+"Couldn't load {a1} XML file:\n"
+"{a2}"
+msgstr ""
+"Couldn't load {a1} XML file:\n"
+"{a2}"
+
 #: ../PLCControler.py:552
 msgid "Couldn't paste non-POU object."
 msgstr "Couldn't paste non-POU object."
 
-#: ../ProjectController.py:1636
+#: ../ProjectController.py:1717
 msgid "Couldn't start PLC !\n"
 msgstr "Couldn't start PLC !\n"
 
-#: ../ProjectController.py:1644
+#: ../ProjectController.py:1725
 msgid "Couldn't stop PLC !\n"
 msgstr "Couldn't stop PLC !\n"
 
@@ -1162,43 +1307,43 @@
 msgid "Create HMI"
 msgstr "Create HMI"
 
-#: ../dialogs/PouDialog.py:54
+#: ../dialogs/PouDialog.py:48
 msgid "Create a new POU"
 msgstr "Create a new POU"
 
-#: ../dialogs/PouActionDialog.py:45
+#: ../dialogs/PouActionDialog.py:42
 msgid "Create a new action"
 msgstr "Create a new action"
 
-#: ../IDEFrame.py:166
+#: ../IDEFrame.py:313
 msgid "Create a new action block"
 msgstr "Create a new action block"
 
-#: ../IDEFrame.py:115 ../IDEFrame.py:145 ../IDEFrame.py:178
+#: ../IDEFrame.py:262 ../IDEFrame.py:292 ../IDEFrame.py:325
 msgid "Create a new block"
 msgstr "Create a new block"
 
-#: ../IDEFrame.py:139
+#: ../IDEFrame.py:286
 msgid "Create a new branch"
 msgstr "Create a new branch"
 
-#: ../IDEFrame.py:133
+#: ../IDEFrame.py:280
 msgid "Create a new coil"
 msgstr "Create a new coil"
 
-#: ../IDEFrame.py:109 ../IDEFrame.py:124 ../IDEFrame.py:154
+#: ../IDEFrame.py:256 ../IDEFrame.py:271 ../IDEFrame.py:301
 msgid "Create a new comment"
 msgstr "Create a new comment"
 
-#: ../IDEFrame.py:118 ../IDEFrame.py:148 ../IDEFrame.py:181
+#: ../IDEFrame.py:265 ../IDEFrame.py:295 ../IDEFrame.py:328
 msgid "Create a new connection"
 msgstr "Create a new connection"
 
-#: ../IDEFrame.py:136 ../IDEFrame.py:187
+#: ../IDEFrame.py:283 ../IDEFrame.py:334
 msgid "Create a new contact"
 msgstr "Create a new contact"
 
-#: ../IDEFrame.py:169
+#: ../IDEFrame.py:316
 msgid "Create a new divergence"
 msgstr "Create a new divergence"
 
@@ -1206,43 +1351,55 @@
 msgid "Create a new divergence or convergence"
 msgstr "Create a new divergence or convergence"
 
-#: ../IDEFrame.py:157
+#: ../IDEFrame.py:304
 msgid "Create a new initial step"
 msgstr "Create a new initial step"
 
-#: ../IDEFrame.py:172
+#: ../IDEFrame.py:319
 msgid "Create a new jump"
 msgstr "Create a new jump"
 
-#: ../IDEFrame.py:127 ../IDEFrame.py:184
+#: ../IDEFrame.py:274 ../IDEFrame.py:331
 msgid "Create a new power rail"
 msgstr "Create a new power rail"
 
-#: ../IDEFrame.py:130
+#: ../IDEFrame.py:277
 msgid "Create a new rung"
 msgstr "Create a new rung"
 
-#: ../IDEFrame.py:160
+#: ../IDEFrame.py:307
 msgid "Create a new step"
 msgstr "Create a new step"
 
-#: ../dialogs/PouTransitionDialog.py:49 ../IDEFrame.py:163
+#: ../dialogs/PouTransitionDialog.py:45 ../IDEFrame.py:310
 msgid "Create a new transition"
 msgstr "Create a new transition"
 
-#: ../IDEFrame.py:112 ../IDEFrame.py:142 ../IDEFrame.py:175
+#: ../IDEFrame.py:259 ../IDEFrame.py:289 ../IDEFrame.py:322
 msgid "Create a new variable"
 msgstr "Create a new variable"
 
+#: ../etherlab/etherlab.py:183
+msgid "Creating new PDO"
+msgstr "Creating new PDO"
+
 #: ../dialogs/AboutDialog.py:109
 msgid "Credits"
 msgstr "Credits"
 
-#: ../Beremiz_service.py:424
+#: ../runtime/WampClient.py:400
+msgid "Current status"
+msgstr "Current status"
+
+#: ../Beremiz_service.py:437
 msgid "Current working directory :"
 msgstr "Current working directory :"
 
-#: ../editors/Viewer.py:694 ../IDEFrame.py:370 ../IDEFrame.py:426
+#: ../runtime/WampClient.py:161
+msgid "Custom protocol options failed :"
+msgstr "Custom protocol options failed :"
+
+#: ../editors/Viewer.py:697 ../IDEFrame.py:373 ../IDEFrame.py:427
 msgid "Cut"
 msgstr "Cut"
 
@@ -1291,11 +1448,11 @@
 msgid "Date subtraction"
 msgstr "Date subtraction"
 
-#: ../dialogs/DurationEditorDialog.py:46
+#: ../dialogs/DurationEditorDialog.py:57
 msgid "Days:"
 msgstr "Days:"
 
-#: ../ProjectController.py:1729
+#: ../ProjectController.py:1809
 msgid "Debug does not match PLC - stop/transfert/start to re-enable\n"
 msgstr "Debug does not match PLC - stop/transfert/start to re-enable\n"
 
@@ -1303,42 +1460,51 @@
 msgid "Debug instance"
 msgstr "Debug instance"
 
-#: ../editors/Viewer.py:490
+#: ../editors/Viewer.py:493
 #, python-format
 msgid "Debug: %s"
 msgstr "Debug: %s"
 
-#: ../ProjectController.py:1471
+#: ../ProjectController.py:1548
 #, python-format
 msgid "Debug: Unknown variable '%s'\n"
 msgstr "Debug: Unknown variable '%s'\n"
 
-#: ../ProjectController.py:1469
+#: ../ProjectController.py:1545
 #, python-format
 msgid "Debug: Unsupported type to debug '%s'\n"
 msgstr "Debug: Unsupported type to debug '%s'\n"
 
-#: ../IDEFrame.py:660
+#: ../IDEFrame.py:666
 msgid "Debugger"
 msgstr "Debugger"
 
-#: ../ProjectController.py:1726
+#: ../ProjectController.py:1805
 msgid "Debugger ready\n"
 msgstr "Debugger ready\n"
 
-#: ../BeremizIDE.py:1004 ../editors/Viewer.py:670 ../IDEFrame.py:1993
+#: ../etherlab/EtherCATManagementEditor.py:37
+msgid "Default Size"
+msgstr "Default Size"
+
+#: ../etherlab/EthercatCFileGenerator.py:174
+#, python-format
+msgid "Definition conflict for location \"%s\""
+msgstr "Definition conflict for location \"%s\""
+
+#: ../BeremizIDE.py:1001 ../editors/Viewer.py:673 ../IDEFrame.py:2010
 msgid "Delete"
 msgstr "Delete"
 
-#: ../editors/Viewer.py:610
+#: ../editors/Viewer.py:613
 msgid "Delete Divergence Branch"
 msgstr "Delete Divergence Branch"
 
-#: ../editors/FileManagementPanel.py:157
+#: ../etherlab/ConfigEditor.py:1261 ../editors/FileManagementPanel.py:156
 msgid "Delete File"
 msgstr "Delete File"
 
-#: ../editors/Viewer.py:597
+#: ../editors/Viewer.py:600
 msgid "Delete Wire Segment"
 msgstr "Delete Wire Segment"
 
@@ -1354,11 +1520,12 @@
 msgid "Derivation Type:"
 msgstr "Derivation Type:"
 
-#: ../editors/CodeFileEditor.py:735
+#: ../etherlab/ConfigEditor.py:346 ../etherlab/ConfigEditor.py:465
+#: ../editors/CodeFileEditor.py:754
 msgid "Description"
 msgstr "Description"
 
-#: ../controls/VariablePanel.py:463
+#: ../controls/VariablePanel.py:465
 msgid "Description:"
 msgstr "Description:"
 
@@ -1370,7 +1537,7 @@
 msgid "Direction"
 msgstr "Direction"
 
-#: ../dialogs/BrowseLocationsDialog.py:102
+#: ../dialogs/BrowseLocationsDialog.py:101
 msgid "Direction:"
 msgstr "Direction:"
 
@@ -1378,19 +1545,19 @@
 msgid "Directly"
 msgstr "Directly"
 
-#: ../ProjectController.py:1855
+#: ../ProjectController.py:1938
 msgid "Disconnect"
 msgstr "Disconnect"
 
-#: ../ProjectController.py:1856
+#: ../ProjectController.py:1939
 msgid "Disconnect from PLC"
 msgstr "Disconnect from PLC"
 
-#: ../ProjectController.py:1401
+#: ../runtime/PlcStatus.py:14
 msgid "Disconnected"
 msgstr "Disconnected"
 
-#: ../editors/Viewer.py:654 ../editors/Viewer.py:2436
+#: ../editors/Viewer.py:657 ../editors/Viewer.py:2438
 msgid "Divergence"
 msgstr "Divergence"
 
@@ -1398,7 +1565,7 @@
 msgid "Division"
 msgstr "Division"
 
-#: ../editors/FileManagementPanel.py:156
+#: ../etherlab/ConfigEditor.py:1260 ../editors/FileManagementPanel.py:155
 #, python-format
 msgid "Do you really want to delete the file '%s'?"
 msgstr "Do you really want to delete the file '%s'?"
@@ -1411,15 +1578,31 @@
 msgid "Done"
 msgstr "Done"
 
+#: ../runtime/WampClient.py:384
+msgid "Download"
+msgstr "Download"
+
 #: ../dialogs/ActionBlockDialog.py:42
 msgid "Duration"
 msgstr "Duration"
 
+#: ../bacnet/bacnet.py:437
+msgid "EDE files (*_EDE.csv)|*_EDE.csv|All files|*.*"
+msgstr "EDE files (*_EDE.csv)|*_EDE.csv|All files|*.*"
+
 #: ../canfestival/canfestival.py:174
 msgid "EDS files (*.eds)|*.eds|All files|*.*"
 msgstr "EDS files (*.eds)|*.eds|All files|*.*"
 
-#: ../editors/Viewer.py:668
+#: ../etherlab/ConfigEditor.py:1342
+msgid "ESI Files Database management"
+msgstr "ESI Files Database management"
+
+#: ../etherlab/ConfigEditor.py:1109
+msgid "ESI Files:"
+msgstr "ESI Files:"
+
+#: ../editors/Viewer.py:671
 msgid "Edit Block"
 msgstr "Edit Block"
 
@@ -1431,7 +1614,7 @@
 msgid "Edit Contact Values"
 msgstr "Edit Contact Values"
 
-#: ../dialogs/DurationEditorDialog.py:62
+#: ../dialogs/DurationEditorDialog.py:54
 msgid "Edit Duration"
 msgstr "Edit Duration"
 
@@ -1451,11 +1634,11 @@
 msgid "Edit array type properties"
 msgstr "Edit array type properties"
 
-#: ../editors/Viewer.py:2660 ../editors/Viewer.py:3102
+#: ../dialogs/CommentEditDialog.py:53
 msgid "Edit comment"
 msgstr "Edit comment"
 
-#: ../editors/FileManagementPanel.py:69
+#: ../editors/FileManagementPanel.py:68
 msgid "Edit file"
 msgstr "Edit file"
 
@@ -1463,11 +1646,11 @@
 msgid "Edit item"
 msgstr "Edit item"
 
-#: ../editors/Viewer.py:3059
+#: ../editors/Viewer.py:3058
 msgid "Edit jump target"
 msgstr "Edit jump target"
 
-#: ../ProjectController.py:1873
+#: ../ProjectController.py:1956
 msgid "Edit raw IEC code added to code generated by PLCGenerator"
 msgstr "Edit raw IEC code added to code generated by PLCGenerator"
 
@@ -1479,11 +1662,11 @@
 msgid "Edit transition"
 msgstr "Edit transition"
 
-#: ../IDEFrame.py:632
+#: ../IDEFrame.py:638
 msgid "Editor ToolBar"
 msgstr "Editor ToolBar"
 
-#: ../ProjectController.py:1294
+#: ../ProjectController.py:1355
 msgid "Editor selection"
 msgstr "Editor selection"
 
@@ -1491,7 +1674,7 @@
 msgid "Elements :"
 msgstr "Elements :"
 
-#: ../ProjectController.py:1399
+#: ../runtime/PlcStatus.py:15
 msgid "Empty"
 msgstr "Empty"
 
@@ -1499,18 +1682,43 @@
 msgid "Empty dimension isn't allowed."
 msgstr "Empty dimension isn't allowed."
 
-#: ../Beremiz_service.py:341
+#: ../etherlab/EtherCATManagementEditor.py:37
+msgid "Enable"
+msgstr "Enable"
+
+#: ../runtime/WampClient.py:410
+msgid "Enable WAMP connection"
+msgstr "Enable WAMP connection"
+
+#: ../Beremiz_service.py:354
 msgid "Enter a name "
 msgstr "Enter a name "
 
-#: ../Beremiz_service.py:326
+#: ../Beremiz_service.py:339
 msgid "Enter a port number "
 msgstr "Enter a port number "
 
-#: ../Beremiz_service.py:317
+#: ../etherlab/EtherCATManagementEditor.py:627
+msgid "Enter hex or dec value (if enter dec value, it automatically conversed hex value)"
+msgstr "Enter hex or dec value (if enter dec value, it automatically conversed hex value)"
+
+#: ../etherlab/EtherCATManagementEditor.py:1964
+msgid "Enter hex(0xnnnn) or dec(n) value"
+msgstr "Enter hex(0xnnnn) or dec(n) value"
+
+#: ../Beremiz_service.py:330
 msgid "Enter the IP of the interface to bind"
 msgstr "Enter the IP of the interface to bind"
 
+#: ../etherlab/ConfigEditor.py:502
+msgid "Entry can't be write through SDO"
+msgstr "Entry can't be write through SDO"
+
+#: ../etherlab/EthercatCFileGenerator.py:569
+#, python-brace-format
+msgid "Entry index 0x{a1:.4x}, subindex 0x{a2:.2x} not mapped for device {a3}"
+msgstr "Entry index 0x{a1:.4x}, subindex 0x{a2:.2x} not mapped for device {a3}"
+
 #: ../editors/DataTypeEditor.py:60
 msgid "Enumerated"
 msgstr "Enumerated"
@@ -1521,42 +1729,45 @@
 
 #: ../dialogs/ForceVariableDialog.py:213
 #: ../dialogs/SearchInProjectDialog.py:172 ../dialogs/SFCStepNameDialog.py:64
-#: ../dialogs/DurationEditorDialog.py:124
-#: ../dialogs/DurationEditorDialog.py:170 ../dialogs/PouTransitionDialog.py:114
-#: ../dialogs/BlockPreviewDialog.py:237 ../dialogs/ProjectDialog.py:80
+#: ../dialogs/DurationEditorDialog.py:125
+#: ../dialogs/DurationEditorDialog.py:172 ../dialogs/PouTransitionDialog.py:113
+#: ../dialogs/BlockPreviewDialog.py:237 ../dialogs/ProjectDialog.py:78
 #: ../dialogs/ArrayTypeDialog.py:114 ../dialogs/PouNameDialog.py:58
-#: ../dialogs/BrowseLocationsDialog.py:229
+#: ../dialogs/BrowseLocationsDialog.py:228
 #: ../dialogs/BrowseValuesLibraryDialog.py:87 ../dialogs/PouActionDialog.py:112
-#: ../dialogs/PouDialog.py:143 ../PLCOpenEditor.py:319 ../PLCOpenEditor.py:324
-#: ../editors/ResourceEditor.py:470 ../editors/Viewer.py:467
-#: ../editors/LDViewer.py:677 ../editors/LDViewer.py:893
-#: ../editors/LDViewer.py:897 ../editors/DataTypeEditor.py:566
-#: ../editors/DataTypeEditor.py:571 ../editors/DataTypeEditor.py:590
-#: ../editors/DataTypeEditor.py:759 ../editors/DataTypeEditor.py:766
-#: ../editors/TextViewer.py:390 ../editors/CodeFileEditor.py:760
-#: ../ProjectController.py:391 ../ProjectController.py:531
-#: ../ProjectController.py:538 ../controls/FolderTree.py:222
-#: ../controls/ProjectPropertiesPanel.py:306
-#: ../controls/DebugVariablePanel/DebugVariablePanel.py:173
+#: ../dialogs/PouDialog.py:178 ../PLCOpenEditor.py:319 ../PLCOpenEditor.py:324
+#: ../etherlab/ConfigEditor.py:458 ../etherlab/ConfigEditor.py:510
+#: ../etherlab/ConfigEditor.py:981 ../etherlab/ConfigEditor.py:1047
+#: ../etherlab/ConfigEditor.py:1246 ../etherlab/ConfigEditor.py:1314
+#: ../etherlab/EthercatMaster.py:463 ../editors/ResourceEditor.py:468
+#: ../editors/Viewer.py:467 ../editors/LDViewer.py:677
+#: ../editors/LDViewer.py:893 ../editors/LDViewer.py:897
+#: ../editors/DataTypeEditor.py:566 ../editors/DataTypeEditor.py:571
+#: ../editors/DataTypeEditor.py:590 ../editors/DataTypeEditor.py:759
+#: ../editors/DataTypeEditor.py:766 ../editors/TextViewer.py:390
+#: ../editors/CodeFileEditor.py:779 ../ProjectController.py:404
+#: ../ProjectController.py:548 ../ProjectController.py:557
+#: ../controls/FolderTree.py:222 ../controls/ProjectPropertiesPanel.py:308
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:163
 #: ../controls/DebugVariablePanel/DebugVariableTextViewer.py:138
 #: ../controls/DebugVariablePanel/DebugVariableGraphicViewer.py:227
-#: ../controls/VariablePanel.py:431 ../controls/VariablePanel.py:773
-#: ../util/ExceptionHandler.py:70 ../IDEFrame.py:1036 ../IDEFrame.py:1650
-#: ../IDEFrame.py:1691 ../IDEFrame.py:1696 ../IDEFrame.py:1710
-#: ../IDEFrame.py:1715 ../Beremiz_service.py:221
+#: ../controls/VariablePanel.py:430 ../controls/VariablePanel.py:784
+#: ../util/ExceptionHandler.py:70 ../IDEFrame.py:1049 ../IDEFrame.py:1667
+#: ../IDEFrame.py:1708 ../IDEFrame.py:1713 ../IDEFrame.py:1727
+#: ../IDEFrame.py:1732 ../Beremiz_service.py:234
 msgid "Error"
 msgstr "Error"
 
-#: ../ProjectController.py:811
+#: ../ProjectController.py:848
 msgid "Error : At least one configuration and one resource must be declared in PLC !\n"
 msgstr "Error : At least one configuration and one resource must be declared in PLC !\n"
 
-#: ../ProjectController.py:803
+#: ../ProjectController.py:838
 #, python-format
 msgid "Error : IEC to C compiler returned %d\n"
 msgstr "Error : IEC to C compiler returned %d\n"
 
-#: ../ProjectController.py:731
+#: ../ProjectController.py:762
 #, python-format
 msgid ""
 "Error in ST/IL/SFC code generator :\n"
@@ -1570,7 +1781,17 @@
 msgid "Error while saving \"%s\"\n"
 msgstr "Error while saving \"%s\"\n"
 
-#: ../canfestival/canfestival.py:179
+#: ../bacnet/bacnet.py:581
+#, python-brace-format
+msgid "Error: BACnet server '{a1}.x: {a2}' contains objects with duplicate object identifiers.\n"
+msgstr "Error: BACnet server '{a1}.x: {a2}' contains objects with duplicate object identifiers.\n"
+
+#: ../bacnet/bacnet.py:573
+#, python-brace-format
+msgid "Error: BACnet server '{a1}.x:{a2}' contains objects with duplicate object names.\n"
+msgstr "Error: BACnet server '{a1}.x:{a2}' contains objects with duplicate object names.\n"
+
+#: ../canfestival/canfestival.py:179 ../bacnet/bacnet.py:444
 msgid "Error: Export slave failed\n"
 msgstr "Error: Export slave failed\n"
 
@@ -1587,7 +1808,23 @@
 msgid "Error: No PLC built\n"
 msgstr "Error: No PLC built\n"
 
-#: ../ProjectController.py:1708
+#: ../etherlab/ConfigEditor.py:269
+msgid "EtherCAT Management"
+msgstr "EtherCAT Management"
+
+#: ../features.py:20
+msgid "EtherCAT master"
+msgstr "EtherCAT master"
+
+#: ../etherlab/EthercatMaster.py:302
+msgid "Ethercat Slave Type"
+msgstr "Ethercat Slave Type"
+
+#: ../etherlab/ConfigEditor.py:267
+msgid "Ethercat node"
+msgstr "Ethercat node"
+
+#: ../ProjectController.py:1791
 #, python-format
 msgid "Exception while connecting %s!\n"
 msgstr "Exception while connecting %s!\n"
@@ -1596,11 +1833,11 @@
 msgid "Execution Control:"
 msgstr "Execution Control:"
 
-#: ../dialogs/FBDVariableDialog.py:84 ../dialogs/FBDBlockDialog.py:111
+#: ../dialogs/FBDVariableDialog.py:85 ../dialogs/FBDBlockDialog.py:111
 msgid "Execution Order:"
 msgstr "Execution Order:"
 
-#: ../features.py:36
+#: ../features.py:25
 msgid "Experimental web based HMI"
 msgstr "Experimental web based HMI"
 
@@ -1612,44 +1849,48 @@
 msgid "Exponentiation"
 msgstr "Exponentiation"
 
+#: ../bacnet/bacnet.py:156
+msgid "Export BACnet slave to EDE file"
+msgstr "Export BACnet slave to EDE file"
+
 #: ../canfestival/canfestival.py:186
 msgid "Export CanOpen slave to EDS file"
 msgstr "Export CanOpen slave to EDS file"
 
-#: ../controls/DebugVariablePanel/DebugVariablePanel.py:246
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:243
 msgid "Export graph values to clipboard"
 msgstr "Export graph values to clipboard"
 
-#: ../canfestival/canfestival.py:185
+#: ../canfestival/canfestival.py:185 ../bacnet/bacnet.py:155
 msgid "Export slave"
 msgstr "Export slave"
 
-#: ../dialogs/FBDVariableDialog.py:94
+#: ../dialogs/FBDVariableDialog.py:95
 msgid "Expression:"
 msgstr "Expression:"
 
-#: ../controls/VariablePanel.py:90
+#: ../controls/VariablePanel.py:87
 msgid "External"
 msgstr "External"
 
-#: ../ProjectController.py:826
+#: ../ProjectController.py:866
 msgid "Extracting Located Variables...\n"
 msgstr "Extracting Located Variables...\n"
 
 #: ../dialogs/PouTransitionDialog.py:40 ../dialogs/PouActionDialog.py:36
-#: ../dialogs/PouDialog.py:44 ../controls/ProjectPropertiesPanel.py:158
+#: ../dialogs/PouDialog.py:128 ../controls/ProjectPropertiesPanel.py:161
 msgid "FBD"
 msgstr "FBD"
 
-#: ../ProjectController.py:1773
+#: ../ProjectController.py:1855
 msgid "Failed : Must build before transfer.\n"
 msgstr "Failed : Must build before transfer.\n"
 
-#: ../dialogs/LDElementDialog.py:80 ../editors/Viewer.py:556
+#: ../dialogs/LDElementDialog.py:80 ../editors/Viewer.py:559
 msgid "Falling Edge"
 msgstr "Falling Edge"
 
-#: ../ProjectController.py:1098
+#: ../ProjectController.py:1145
 msgid "Fatal : cannot get builder.\n"
 msgstr "Fatal : cannot get builder.\n"
 
@@ -1658,12 +1899,12 @@
 msgid "Fetching %s"
 msgstr "Fetching %s"
 
-#: ../dialogs/DurationEditorDialog.py:167
+#: ../dialogs/DurationEditorDialog.py:169
 #, python-format
 msgid "Field %s hasn't a valid value!"
 msgstr "Field %s hasn't a valid value!"
 
-#: ../dialogs/DurationEditorDialog.py:169
+#: ../dialogs/DurationEditorDialog.py:171
 #, python-format
 msgid "Fields %s haven't a valid value!"
 msgstr "Fields %s haven't a valid value!"
@@ -1673,16 +1914,20 @@
 msgid "File '%s' already exists!"
 msgstr "File '%s' already exists!"
 
+#: ../runtime/WampClient.py:407
+msgid "File containing secret for that ID"
+msgstr "File containing secret for that ID"
+
 #: ../dialogs/SearchInProjectDialog.py:102 ../dialogs/FindInPouDialog.py:40
-#: ../dialogs/FindInPouDialog.py:107 ../IDEFrame.py:377
+#: ../dialogs/FindInPouDialog.py:107 ../IDEFrame.py:380
 msgid "Find"
 msgstr "Find"
 
-#: ../IDEFrame.py:379
+#: ../IDEFrame.py:382
 msgid "Find Next"
 msgstr "Find Next"
 
-#: ../IDEFrame.py:381
+#: ../IDEFrame.py:384
 msgid "Find Previous"
 msgstr "Find Previous"
 
@@ -1694,7 +1939,7 @@
 msgid "Find:"
 msgstr "Find:"
 
-#: ../editors/Viewer.py:1633
+#: ../editors/Viewer.py:1635
 msgid "Force value"
 msgstr "Force value"
 
@@ -1702,9 +1947,9 @@
 msgid "Forcing Variable Value"
 msgstr "Forcing Variable Value"
 
-#: ../dialogs/SFCTransitionDialog.py:184 ../dialogs/PouTransitionDialog.py:104
-#: ../dialogs/ProjectDialog.py:79 ../dialogs/PouActionDialog.py:102
-#: ../dialogs/PouDialog.py:125
+#: ../dialogs/SFCTransitionDialog.py:184 ../dialogs/PouTransitionDialog.py:103
+#: ../dialogs/ProjectDialog.py:77 ../dialogs/PouActionDialog.py:102
+#: ../dialogs/PouDialog.py:160
 #, python-format
 msgid "Form isn't complete. %s must be filled!"
 msgstr "Form isn't complete. %s must be filled!"
@@ -1722,20 +1967,24 @@
 msgid "Forward"
 msgstr "Forward"
 
-#: ../dialogs/SearchInProjectDialog.py:40 ../IDEFrame.py:1780
+#: ../IDEFrame.py:455
+msgid "Full screen"
+msgstr "Full screen"
+
+#: ../dialogs/SearchInProjectDialog.py:40 ../IDEFrame.py:1797
 msgid "Function"
 msgstr "Function"
 
-#: ../IDEFrame.py:354
+#: ../IDEFrame.py:357
 msgid "Function &Block"
 msgstr "Function &Block"
 
-#: ../dialogs/SearchInProjectDialog.py:41 ../IDEFrame.py:1779
-#: ../IDEFrame.py:1972
+#: ../dialogs/SearchInProjectDialog.py:41 ../IDEFrame.py:1796
+#: ../IDEFrame.py:1989
 msgid "Function Block"
 msgstr "Function Block"
 
-#: ../controls/VariablePanel.py:868
+#: ../controls/VariablePanel.py:879
 msgid "Function Block Types"
 msgstr "Function Block Types"
 
@@ -1760,19 +2009,19 @@
 msgid "Generate Program"
 msgstr "Generate Program"
 
-#: ../ProjectController.py:722
+#: ../ProjectController.py:750
 msgid "Generating SoftPLC IEC-61131 ST/IL/SFC code...\n"
 msgstr "Generating SoftPLC IEC-61131 ST/IL/SFC code...\n"
 
-#: ../controls/VariablePanel.py:91
+#: ../controls/VariablePanel.py:88
 msgid "Global"
 msgstr "Global"
 
-#: ../controls/DebugVariablePanel/DebugVariablePanel.py:245
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:242
 msgid "Go to current value"
 msgstr "Go to current value"
 
-#: ../controls/ProjectPropertiesPanel.py:189
+#: ../controls/ProjectPropertiesPanel.py:192
 msgid "Graphics"
 msgstr "Graphics"
 
@@ -1784,32 +2033,36 @@
 msgid "Greater than or equal to"
 msgstr "Greater than or equal to"
 
-#: ../controls/ProjectPropertiesPanel.py:149
+#: ../controls/ProjectPropertiesPanel.py:152
 msgid "Grid Resolution:"
 msgstr "Grid Resolution:"
 
-#: ../runtime/NevowServer.py:192
+#: ../runtime/NevowServer.py:313
 msgid "HTTP interface port :"
 msgstr "HTTP interface port :"
 
-#: ../controls/ProjectPropertiesPanel.py:135
+#: ../controls/ProjectPropertiesPanel.py:138
 msgid "Height:"
 msgstr "Height:"
 
-#: ../editors/FileManagementPanel.py:89
+#: ../editors/FileManagementPanel.py:88
 msgid "Home Directory:"
 msgstr "Home Directory:"
 
-#: ../controls/ProjectPropertiesPanel.py:165
+#: ../controls/ProjectPropertiesPanel.py:168
 msgid "Horizontal:"
 msgstr "Horizontal:"
 
-#: ../dialogs/DurationEditorDialog.py:47
+#: ../dialogs/DurationEditorDialog.py:58
 msgid "Hours:"
 msgstr "Hours:"
 
+#: ../runtime/WampClient.py:404
+msgid "ID"
+msgstr "ID"
+
 #: ../dialogs/PouTransitionDialog.py:40 ../dialogs/PouActionDialog.py:36
-#: ../dialogs/PouDialog.py:44
+#: ../dialogs/PouDialog.py:128
 msgid "IL"
 msgstr "IL"
 
@@ -1817,52 +2070,64 @@
 msgid "IP"
 msgstr "IP"
 
-#: ../Beremiz_service.py:318 ../Beremiz_service.py:320
+#: ../Beremiz_service.py:331 ../Beremiz_service.py:333
 msgid "IP is not valid!"
 msgstr "IP is not valid!"
 
+#: ../etherlab/ConfigEditor.py:1387
+msgid "Import ESI file"
+msgstr "Import ESI file"
+
 #: ../svgui/svgui.py:50 ../svgui/svgui.py:51
 msgid "Import SVG"
 msgstr "Import SVG"
 
-#: ../dialogs/FBDVariableDialog.py:41 ../editors/Viewer.py:1662
-#: ../controls/VariablePanel.py:89
+#: ../etherlab/ConfigEditor.py:1352
+msgid "Import file to ESI files database"
+msgstr "Import file to ESI files database"
+
+#: ../dialogs/FBDVariableDialog.py:64 ../editors/Viewer.py:1664
+#: ../controls/VariablePanel.py:86
 msgid "InOut"
 msgstr "InOut"
 
-#: ../PLCGenerator.py:1040
+#: ../PLCGenerator.py:1089
 #, python-brace-format
 msgid "InOut variable {a1} in block {a2} in POU {a3} must be connected."
 msgstr "InOut variable {a1} in block {a2} in POU {a3} must be connected."
 
-#: ../editors/Viewer.py:473
+#: ../editors/Viewer.py:484
 msgid "Inactive"
 msgstr "Inactive"
 
-#: ../controls/VariablePanel.py:300
+#: ../controls/VariablePanel.py:299
 #, python-brace-format
 msgid "Incompatible data types between \"{a1}\" and \"{a2}\""
 msgstr "Incompatible data types between \"{a1}\" and \"{a2}\""
 
-#: ../controls/VariablePanel.py:306
+#: ../controls/VariablePanel.py:305
 #, python-format
 msgid "Incompatible size of data between \"%s\" and \"BOOL\""
 msgstr "Incompatible size of data between \"%s\" and \"BOOL\""
 
-#: ../controls/VariablePanel.py:310
+#: ../controls/VariablePanel.py:309
 #, python-brace-format
 msgid "Incompatible size of data between \"{a1}\" and \"{a2}\""
 msgstr "Incompatible size of data between \"{a1}\" and \"{a2}\""
 
+#: ../etherlab/ConfigEditor.py:48 ../etherlab/ConfigEditor.py:465
+msgid "Index"
+msgstr "Index"
+
 #: ../dialogs/ActionBlockDialog.py:42
 msgid "Indicator"
 msgstr "Indicator"
 
-#: ../editors/CodeFileEditor.py:734
+#: ../editors/CodeFileEditor.py:753
 msgid "Initial"
 msgstr "Initial"
 
-#: ../editors/Viewer.py:650
+#: ../editors/Viewer.py:653
 msgid "Initial Step"
 msgstr "Initial Step"
 
@@ -1875,6 +2140,14 @@
 msgid "Initial Value:"
 msgstr "Initial Value:"
 
+#: ../etherlab/EthercatCIA402Slave.py:119
+msgid "Initiate Drag'n drop of Axis ref located variable"
+msgstr "Initiate Drag'n drop of Axis ref located variable"
+
+#: ../etherlab/EthercatCIA402Slave.py:126
+msgid "Initiate Drag'n drop of Network position located variable"
+msgstr "Initiate Drag'n drop of Network position located variable"
+
 #: ../svgui/svgui.py:56
 msgid "Inkscape"
 msgstr "Inkscape"
@@ -1883,11 +2156,11 @@
 msgid "Inline"
 msgstr "Inline"
 
-#: ../dialogs/SFCStepDialog.py:73 ../dialogs/FBDVariableDialog.py:40
+#: ../dialogs/SFCStepDialog.py:73 ../dialogs/FBDVariableDialog.py:63
 #: ../dialogs/BrowseLocationsDialog.py:43 ../editors/Viewer.py:333
-#: ../editors/Viewer.py:1660 ../editors/TextViewer.py:307
-#: ../controls/LocationCellEditor.py:103 ../controls/VariablePanel.py:89
-#: ../controls/VariablePanel.py:317 ../controls/VariablePanel.py:380
+#: ../editors/Viewer.py:1662 ../editors/TextViewer.py:307
+#: ../controls/LocationCellEditor.py:103 ../controls/VariablePanel.py:86
+#: ../controls/VariablePanel.py:316 ../controls/VariablePanel.py:379
 msgid "Input"
 msgstr "Input"
 
@@ -1904,11 +2177,11 @@
 msgid "Instance with id %d doesn't exist!"
 msgstr "Instance with id %d doesn't exist!"
 
-#: ../editors/ResourceEditor.py:279
+#: ../editors/ResourceEditor.py:277
 msgid "Instances:"
 msgstr "Instances:"
 
-#: ../controls/VariablePanel.py:88
+#: ../controls/VariablePanel.py:85
 msgid "Interface"
 msgstr "Interface"
 
@@ -1920,7 +2193,7 @@
 msgid "Interval"
 msgstr "Interval"
 
-#: ../controls/ProjectPropertiesPanel.py:304
+#: ../controls/ProjectPropertiesPanel.py:306
 msgid ""
 "Invalid URL!\n"
 "Please enter correct URL address."
@@ -1942,14 +2215,26 @@
 msgid "Invalid type \"{a1}\"-> {a2} != {a3} for location \"{a4}\""
 msgstr "Invalid type \"{a1}\"-> {a2} != {a3} for location \"{a4}\""
 
-#: ../controls/DebugVariablePanel/DebugVariablePanel.py:139
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:129
 #: ../controls/DebugVariablePanel/DebugVariableTextViewer.py:93
 #: ../controls/DebugVariablePanel/DebugVariableGraphicViewer.py:162
 #, python-format
 msgid "Invalid value \"%s\" for debug variable"
 msgstr "Invalid value \"%s\" for debug variable"
 
-#: ../controls/VariablePanel.py:279 ../controls/VariablePanel.py:282
+#: ../etherlab/ConfigEditor.py:418 ../etherlab/ConfigEditor.py:421
+#: ../etherlab/ConfigEditor.py:452
+#, python-format
+msgid "Invalid value \"%s\" for process variable"
+msgstr "Invalid value \"%s\" for process variable"
+
+#: ../etherlab/ConfigEditor.py:480 ../etherlab/ConfigEditor.py:483
+#: ../etherlab/ConfigEditor.py:504
+#, python-format
+msgid "Invalid value \"%s\" for startup command"
+msgstr "Invalid value \"%s\" for startup command"
+
+#: ../controls/VariablePanel.py:278 ../controls/VariablePanel.py:281
 #, python-format
 msgid "Invalid value \"%s\" for variable grid element"
 msgstr "Invalid value \"%s\" for variable grid element"
@@ -1964,7 +2249,12 @@
 msgid "Invalid value \"{a1}\" for \"{a2}\" variable!"
 msgstr "Invalid value \"{a1}\" for \"{a2}\" variable!"
 
-#: ../dialogs/DurationEditorDialog.py:124
+#: ../etherlab/CommonEtherCATFunction.py:31
+#, python-format
+msgid "Invalid value for HexDecValue \"%s\""
+msgstr "Invalid value for HexDecValue \"%s\""
+
+#: ../dialogs/DurationEditorDialog.py:125
 msgid ""
 "Invalid value!\n"
 "You must fill a numeric value."
@@ -1976,12 +2266,12 @@
 msgid "Is connection secure?"
 msgstr "Is connection secure?"
 
-#: ../editors/Viewer.py:655 ../editors/Viewer.py:2425
+#: ../editors/Viewer.py:658 ../editors/Viewer.py:2427
 msgid "Jump"
 msgstr "Jump"
 
 #: ../dialogs/PouTransitionDialog.py:40 ../dialogs/PouActionDialog.py:36
-#: ../dialogs/PouDialog.py:44 ../controls/ProjectPropertiesPanel.py:158
+#: ../dialogs/PouDialog.py:128 ../controls/ProjectPropertiesPanel.py:161
 msgid "LD"
 msgstr "LD"
 
@@ -1990,33 +2280,33 @@
 msgid "Ladder element with id %d is on more than one rung."
 msgstr "Ladder element with id %d is on more than one rung."
 
-#: ../dialogs/PouTransitionDialog.py:93 ../dialogs/PouActionDialog.py:91
-#: ../dialogs/PouDialog.py:113
+#: ../dialogs/PouTransitionDialog.py:92 ../dialogs/PouActionDialog.py:91
+#: ../dialogs/PouDialog.py:148
 msgid "Language"
 msgstr "Language"
 
-#: ../controls/ProjectPropertiesPanel.py:206
+#: ../controls/ProjectPropertiesPanel.py:208
 msgid "Language (optional):"
 msgstr "Language (optional):"
 
-#: ../dialogs/PouTransitionDialog.py:67 ../dialogs/PouActionDialog.py:63
-#: ../dialogs/PouDialog.py:81
+#: ../dialogs/PouTransitionDialog.py:66 ../dialogs/PouActionDialog.py:63
+#: ../dialogs/PouDialog.py:79
 msgid "Language:"
 msgstr "Language:"
 
-#: ../ProjectController.py:1779
+#: ../ProjectController.py:1861
 msgid "Latest build already matches current target. Transfering anyway...\n"
 msgstr "Latest build already matches current target. Transfering anyway...\n"
 
-#: ../Beremiz_service.py:281
+#: ../Beremiz_service.py:294
 msgid "Launch WX GUI inspector"
 msgstr "Launch WX GUI inspector"
 
-#: ../Beremiz_service.py:280
+#: ../Beremiz_service.py:293
 msgid "Launch a live Python shell"
 msgstr "Launch a live Python shell"
 
-#: ../editors/Viewer.py:580
+#: ../editors/Viewer.py:583
 msgid "Left"
 msgstr "Left"
 
@@ -2036,7 +2326,7 @@
 msgid "Less than or equal to"
 msgstr "Less than or equal to"
 
-#: ../IDEFrame.py:652
+#: ../IDEFrame.py:658
 msgid "Library"
 msgstr "Library"
 
@@ -2052,7 +2342,7 @@
 msgid "Linking :\n"
 msgstr "Linking :\n"
 
-#: ../dialogs/DiscoveryDialog.py:115 ../controls/VariablePanel.py:90
+#: ../dialogs/DiscoveryDialog.py:115 ../controls/VariablePanel.py:87
 msgid "Local"
 msgstr "Local"
 
@@ -2060,7 +2350,7 @@
 msgid "Local entries"
 msgstr "Local entries"
 
-#: ../ProjectController.py:1685
+#: ../ProjectController.py:1767
 msgid "Local service discovery failed!\n"
 msgstr "Local service discovery failed!\n"
 
@@ -2068,28 +2358,44 @@
 msgid "Location"
 msgstr "Location"
 
-#: ../dialogs/BrowseLocationsDialog.py:79
+#: ../dialogs/BrowseLocationsDialog.py:78
 msgid "Locations available:"
 msgstr "Locations available:"
 
+#: ../runtime/NevowServer.py:175
+msgid "Log message level"
+msgstr "Log message level"
+
 #: ../plcopen/iec_std.csv:25
 msgid "Logarithm to base 10"
 msgstr "Logarithm to base 10"
 
-#: ../connectors/PYRO/__init__.py:102
+#: ../connectors/PYRO/__init__.py:103
 #, python-format
 msgid "MDNS resolution failure for '%s'\n"
 msgstr "MDNS resolution failure for '%s'\n"
 
+#: ../etherlab/ConfigEditor.py:67
+msgid "Manufacturer Specific"
+msgstr "Manufacturer Specific"
+
 #: ../canfestival/SlaveEditor.py:68 ../canfestival/NetworkEditor.py:92
 msgid "Map Variable"
 msgstr "Map Variable"
 
-#: ../features.py:31
+#: ../features.py:19
+msgid "Map located variables over Bacnet"
+msgstr "Map located variables over Bacnet"
+
+#: ../features.py:18
 msgid "Map located variables over CANopen"
 msgstr "Map located variables over CANopen"
 
-#: ../features.py:32
+#: ../features.py:20
+msgid "Map located variables over EtherCAT"
+msgstr "Map located variables over EtherCAT"
+
+#: ../features.py:21
 msgid "Map located variables over Modbus"
 msgstr "Map located variables over Modbus"
 
@@ -2097,11 +2403,27 @@
 msgid "Master"
 msgstr "Master"
 
+#: ../etherlab/ConfigEditor.py:613
+msgid "Master State"
+msgstr "Master State"
+
 #: ../ConfigTreeNode.py:544
 #, python-brace-format
 msgid "Max count ({a1}) reached for this confnode of type {a2} "
 msgstr "Max count ({a1}) reached for this confnode of type {a2} "
 
+#: ../etherlab/etherlab.py:173
+msgid "Max entries by PDO"
+msgstr "Max entries by PDO"
+
+#: ../etherlab/etherlab.py:176
+msgid ""
+"Maximal number of entries mapped in a PDO\n"
+"including empty entries used for PDO alignment"
+msgstr ""
+"Maximal number of entries mapped in a PDO\n"
+"including empty entries used for PDO alignment"
+
 #: ../plcopen/iec_std.csv:71
 msgid "Maximum"
 msgstr "Maximum"
@@ -2112,26 +2434,34 @@
 
 #: ../dialogs/BrowseLocationsDialog.py:45 ../editors/Viewer.py:333
 #: ../editors/TextViewer.py:307 ../controls/LocationCellEditor.py:103
-#: ../controls/VariablePanel.py:317 ../controls/VariablePanel.py:380
+#: ../controls/VariablePanel.py:316 ../controls/VariablePanel.py:379
 msgid "Memory"
 msgstr "Memory"
 
-#: ../IDEFrame.py:617
+#: ../IDEFrame.py:623
 msgid "Menu ToolBar"
 msgstr "Menu ToolBar"
 
-#: ../dialogs/DurationEditorDialog.py:51
+#: ../runtime/NevowServer.py:176
+msgid "Message text"
+msgstr "Message text"
+
+#: ../dialogs/DurationEditorDialog.py:62
 msgid "Microseconds:"
 msgstr "Microseconds:"
 
-#: ../editors/Viewer.py:585
+#: ../editors/Viewer.py:588
 msgid "Middle"
 msgstr "Middle"
 
-#: ../dialogs/DurationEditorDialog.py:50
+#: ../dialogs/DurationEditorDialog.py:61
 msgid "Milliseconds:"
 msgstr "Milliseconds:"
 
+#: ../etherlab/etherlab.py:167
+msgid "Minimal size in bits between 2 pdo entries"
+msgstr "Minimal size in bits between 2 pdo entries"
+
 #: ../plcopen/iec_std.csv:72
 msgid "Minimum"
 msgstr "Minimum"
@@ -2140,15 +2470,15 @@
 msgid "Minimum:"
 msgstr "Minimum:"
 
-#: ../dialogs/DurationEditorDialog.py:48
+#: ../dialogs/DurationEditorDialog.py:59
 msgid "Minutes:"
 msgstr "Minutes:"
 
-#: ../controls/ProjectPropertiesPanel.py:231
+#: ../etherlab/etherlab.py:238 ../controls/ProjectPropertiesPanel.py:233
 msgid "Miscellaneous"
 msgstr "Miscellaneous"
 
-#: ../features.py:32
+#: ../features.py:21
 msgid "Modbus support"
 msgstr "Modbus support"
 
@@ -2156,7 +2486,20 @@
 msgid "Modifier:"
 msgstr "Modifier:"
 
-#: ../PLCGenerator.py:795 ../PLCGenerator.py:1269
+#: ../etherlab/ConfigEditor.py:1313
+#, python-format
+msgid "Module %s must be an integer!"
+msgstr "Module %s must be an integer!"
+
+#: ../etherlab/ConfigEditor.py:1376
+msgid "Modules Library"
+msgstr "Modules Library"
+
+#: ../etherlab/ConfigEditor.py:1145
+msgid "Modules library:"
+msgstr "Modules library:"
+
+#: ../PLCGenerator.py:795 ../PLCGenerator.py:1318
 #, python-brace-format
 msgid "More than one connector found corresponding to \"{a1}\" continuation in \"{a2}\" POU"
 msgstr "More than one connector found corresponding to \"{a1}\" continuation in \"{a2}\" POU"
@@ -2181,23 +2524,31 @@
 msgid "Move element up"
 msgstr "Move element up"
 
-#: ../editors/ResourceEditor.py:286
+#: ../editors/ResourceEditor.py:284
 msgid "Move instance down"
 msgstr "Move instance down"
 
-#: ../editors/ResourceEditor.py:285
+#: ../editors/ResourceEditor.py:283
 msgid "Move instance up"
 msgstr "Move instance up"
 
-#: ../editors/ResourceEditor.py:255
+#: ../etherlab/ConfigEditor.py:655
+msgid "Move process variable down"
+msgstr "Move process variable down"
+
+#: ../etherlab/ConfigEditor.py:654
+msgid "Move process variable up"
+msgstr "Move process variable up"
+
+#: ../editors/ResourceEditor.py:253
 msgid "Move task down"
 msgstr "Move task down"
 
-#: ../editors/ResourceEditor.py:254
+#: ../editors/ResourceEditor.py:252
 msgid "Move task up"
 msgstr "Move task up"
 
-#: ../IDEFrame.py:106 ../IDEFrame.py:121 ../IDEFrame.py:151 ../IDEFrame.py:192
+#: ../IDEFrame.py:253 ../IDEFrame.py:268 ../IDEFrame.py:298 ../IDEFrame.py:339
 msgid "Move the view"
 msgstr "Move the view"
 
@@ -2205,14 +2556,28 @@
 msgid "Move up"
 msgstr "Move up"
 
-#: ../editors/CodeFileEditor.py:657 ../controls/VariablePanel.py:484
+#: ../bacnet/BacnetSlaveEditor.py:814 ../editors/CodeFileEditor.py:675
+#: ../controls/VariablePanel.py:486
 msgid "Move variable down"
 msgstr "Move variable down"
 
-#: ../editors/CodeFileEditor.py:656 ../controls/VariablePanel.py:483
+#: ../bacnet/BacnetSlaveEditor.py:813 ../editors/CodeFileEditor.py:674
+#: ../controls/VariablePanel.py:485
 msgid "Move variable up"
 msgstr "Move variable up"
 
+#: ../bacnet/BacnetSlaveEditor.py:941
+msgid "Multi-State Input Objects"
+msgstr "Multi-State Input Objects"
+
+#: ../bacnet/BacnetSlaveEditor.py:940
+msgid "Multi-State Output Objects"
+msgstr "Multi-State Output Objects"
+
+#: ../bacnet/BacnetSlaveEditor.py:939
+msgid "Multi-State Value Objects"
+msgstr "Multi-State Value Objects"
+
 #: ../plcopen/iec_std.csv:74
 msgid "Multiplexer (select 1 of N)"
 msgstr "Multiplexer (select 1 of N)"
@@ -2221,7 +2586,7 @@
 msgid "Multiplication"
 msgstr "Multiplication"
 
-#: ../editors/FileManagementPanel.py:87
+#: ../editors/FileManagementPanel.py:86
 msgid "My Computer:"
 msgstr "My Computer:"
 
@@ -2229,13 +2594,15 @@
 msgid "NAME"
 msgstr "NAME"
 
-#: ../editors/ResourceEditor.py:76 ../editors/ResourceEditor.py:97
-#: ../editors/DataTypeEditor.py:55 ../editors/CodeFileEditor.py:732
+#: ../etherlab/EtherCATManagementEditor.py:37 ../etherlab/ConfigEditor.py:48
+#: ../etherlab/ConfigEditor.py:343 ../etherlab/ConfigEditor.py:1167
+#: ../editors/ResourceEditor.py:76 ../editors/ResourceEditor.py:94
+#: ../editors/DataTypeEditor.py:55 ../editors/CodeFileEditor.py:751
 #: ../controls/VariablePanel.py:59
 msgid "Name"
 msgstr "Name"
 
-#: ../Beremiz_service.py:342
+#: ../Beremiz_service.py:355
 msgid "Name must not be null!"
 msgstr "Name must not be null!"
 
@@ -2248,15 +2615,19 @@
 msgid "Natural logarithm"
 msgstr "Natural logarithm"
 
-#: ../dialogs/LDElementDialog.py:78 ../editors/Viewer.py:554
+#: ../dialogs/LDElementDialog.py:78 ../editors/Viewer.py:557
 msgid "Negated"
 msgstr "Negated"
 
-#: ../Beremiz_service.py:610
+#: ../etherlab/ConfigEditor.py:612
+msgid "Network"
+msgstr "Network"
+
+#: ../Beremiz_service.py:620
 msgid "Nevow Web service failed. "
 msgstr "Nevow Web service failed. "
 
-#: ../Beremiz_service.py:580
+#: ../Beremiz_service.py:596
 msgid "Nevow/Athena import failed :"
 msgstr "Nevow/Athena import failed :"
 
@@ -2269,20 +2640,29 @@
 msgid "New item"
 msgstr "New item"
 
-#: ../editors/Viewer.py:553
+#: ../editors/Viewer.py:556
 msgid "No Modifier"
 msgstr "No Modifier"
 
-#: ../ProjectController.py:1808
+#: ../ProjectController.py:1891
 msgid "No PLC to transfer (did build succeed ?)\n"
 msgstr "No PLC to transfer (did build succeed ?)\n"
 
-#: ../PLCGenerator.py:1678
+#: ../etherlab/EthercatCFileGenerator.py:504
+#, python-format
+msgid "No Sync manager defined for %s!"
+msgstr "No Sync manager defined for %s!"
+
+#: ../PLCGenerator.py:1727
 #, python-format
 msgid "No body defined in \"%s\" POU"
 msgstr "No body defined in \"%s\" POU"
 
-#: ../PLCGenerator.py:816 ../PLCGenerator.py:1281
+#: ../etherlab/CommonEtherCATFunction.py:1581
+msgid "No connected slaves"
+msgstr "No connected slaves"
+
+#: ../PLCGenerator.py:816 ../PLCGenerator.py:1330
 #, python-brace-format
 msgid "No connector found corresponding to \"{a1}\" continuation in \"{a2}\" POU"
 msgstr "No connector found corresponding to \"{a1}\" continuation in \"{a2}\" POU"
@@ -2300,7 +2680,17 @@
 msgid "No informations found for \"%s\" block"
 msgstr "No informations found for \"%s\" block"
 
-#: ../PLCGenerator.py:1232
+#: ../etherlab/EthercatCFileGenerator.py:224
+#, python-format
+msgid "No informations found for device %s!"
+msgstr "No informations found for device %s!"
+
+#: ../etherlab/EthercatCFileGenerator.py:515
+#, python-format
+msgid "No more free PDO index available for %s!"
+msgstr "No more free PDO index available for %s!"
+
+#: ../PLCGenerator.py:1281
 #, python-brace-format
 msgid "No output {a1} variable found in block {a2} in POU {a3}. Connection must be broken"
 msgstr "No output {a1} variable found in block {a2} in POU {a3}. Connection must be broken"
@@ -2309,11 +2699,21 @@
 msgid "No search results available."
 msgstr "No search results available."
 
+#: ../etherlab/ConfigEditor.py:1029
+#, python-format
+msgid "No slave defined at position %d!"
+msgstr "No slave defined at position %d!"
+
 #: ../svgui/svgui.py:142
 #, python-format
 msgid "No such SVG file: %s\n"
 msgstr "No such SVG file: %s\n"
 
+#: ../etherlab/ConfigEditor.py:1245
+#, python-format
+msgid "No such XML file: %s\n"
+msgstr "No such XML file: %s\n"
+
 #: ../canfestival/config_utils.py:682
 #, python-brace-format
 msgid "No such index/subindex ({a1},{a2}) (variable {a3})"
@@ -2324,15 +2724,33 @@
 msgid "No such index/subindex ({a1},{a2}) in ID : {a3} (variable {a4})"
 msgstr "No such index/subindex ({a1},{a2}) in ID : {a3} (variable {a4})"
 
+#: ../etherlab/EthercatCFileGenerator.py:438
+#, python-format
+msgid "No sync manager available for %s pdo!"
+msgstr "No sync manager available for %s pdo!"
+
 #: ../dialogs/BrowseValuesLibraryDialog.py:87
 msgid "No valid value selected!"
 msgstr "No valid value selected!"
 
-#: ../PLCGenerator.py:1676
+#: ../PLCGenerator.py:1725
 #, python-format
 msgid "No variable defined in \"%s\" POU"
 msgstr "No variable defined in \"%s\" POU"
 
+#: ../etherlab/ConfigEditor.py:606
+#, python-format
+msgid "Node Position: %d"
+msgstr "Node Position: %d"
+
+#: ../etherlab/ConfigEditor.py:697
+msgid "Node filter:"
+msgstr "Node filter:"
+
+#: ../etherlab/ConfigEditor.py:717
+msgid "Nodes variables filter:"
+msgstr "Nodes variables filter:"
+
 #: ../canfestival/config_utils.py:379
 #, python-brace-format
 msgid "Non existing node ID : {a1} (variable {a2})"
@@ -2355,6 +2773,10 @@
 msgid "Not equal to"
 msgstr "Not equal to"
 
+#: ../etherlab/EtherCATManagementEditor.py:361
+msgid "Now Uploading..."
+msgstr "Now Uploading..."
+
 #: ../dialogs/SFCDivergenceDialog.py:91
 msgid "Number of sequences:"
 msgstr "Number of sequences:"
@@ -2363,7 +2785,11 @@
 msgid "Numerical"
 msgstr "Numerical"
 
-#: ../editors/CodeFileEditor.py:736
+#: ../bacnet/BacnetSlaveEditor.py:808
+msgid "Object Properties:"
+msgstr "Object Properties:"
+
+#: ../editors/CodeFileEditor.py:755
 msgid "OnChange"
 msgstr "OnChange"
 
@@ -2380,15 +2806,15 @@
 msgid "Open Inkscape"
 msgstr "Open Inkscape"
 
-#: ../version.py:86
+#: ../version.py:88
 msgid "Open Source framework for automation, implemented IEC 61131 IDE with constantly growing set of extensions and flexible PLC runtime."
 msgstr "Open Source framework for automation, implemented IEC 61131 IDE with constantly growing set of extensions and flexible PLC runtime."
 
-#: ../ProjectController.py:1879
+#: ../ProjectController.py:1962
 msgid "Open a file explorer to manage project files"
 msgstr "Open a file explorer to manage project files"
 
-#: ../wxglade_hmi/wxglade_hmi.py:161
+#: ../wxglade_hmi/wxglade_hmi.py:176
 msgid "Open wxGlade"
 msgstr "Open wxGlade"
 
@@ -2396,11 +2822,11 @@
 msgid "Option"
 msgstr "Option"
 
-#: ../dialogs/FindInPouDialog.py:84 ../editors/CodeFileEditor.py:737
+#: ../dialogs/FindInPouDialog.py:84 ../editors/CodeFileEditor.py:756
 msgid "Options"
 msgstr "Options"
 
-#: ../controls/ProjectPropertiesPanel.py:109
+#: ../controls/ProjectPropertiesPanel.py:111
 msgid "Organization (optional):"
 msgstr "Organization (optional):"
 
@@ -2408,14 +2834,19 @@
 msgid "Other Profile"
 msgstr "Other Profile"
 
-#: ../dialogs/SFCStepDialog.py:74 ../dialogs/FBDVariableDialog.py:42
+#: ../dialogs/SFCStepDialog.py:74 ../dialogs/FBDVariableDialog.py:65
 #: ../dialogs/BrowseLocationsDialog.py:44 ../editors/Viewer.py:333
-#: ../editors/Viewer.py:1661 ../editors/TextViewer.py:307
-#: ../controls/LocationCellEditor.py:103 ../controls/VariablePanel.py:89
-#: ../controls/VariablePanel.py:317 ../controls/VariablePanel.py:380
+#: ../editors/Viewer.py:1663 ../editors/TextViewer.py:307
+#: ../controls/LocationCellEditor.py:103 ../controls/VariablePanel.py:86
+#: ../controls/VariablePanel.py:316 ../controls/VariablePanel.py:379
 msgid "Output"
 msgstr "Output"
 
+#: ../etherlab/EthercatCFileGenerator.py:170
+#, python-brace-format
+msgid "Output variables can't be defined with different locations ({a1} and {a2})"
+msgstr "Output variables can't be defined with different locations ({a1} and {a2})"
+
 #: ../canfestival/SlaveEditor.py:67 ../canfestival/NetworkEditor.py:91
 msgid "PDO Receive"
 msgstr "PDO Receive"
@@ -2424,26 +2855,39 @@
 msgid "PDO Transmit"
 msgstr "PDO Transmit"
 
+#: ../etherlab/etherlab.py:164
+msgid "PDO alignment"
+msgstr "PDO alignment"
+
 #: ../targets/toolchain_gcc.py:174
 msgid "PLC :\n"
 msgstr "PLC :\n"
 
-#: ../BeremizIDE.py:383
+#: ../BeremizIDE.py:379
 msgid "PLC Log"
 msgstr "PLC Log"
 
-#: ../ProjectController.py:1082
+#: ../ProjectController.py:1129
 msgid "PLC code generation failed !\n"
 msgstr "PLC code generation failed !\n"
 
-#: ../Beremiz_service.py:305
+#: ../etherlab/EtherCATManagementEditor.py:250
+msgid "PLC is Not Started"
+msgstr "PLC is Not Started"
+
+#: ../Beremiz_service.py:318
 msgid "PLC is empty or already started."
 msgstr "PLC is empty or already started."
 
-#: ../Beremiz_service.py:312
+#: ../Beremiz_service.py:325
 msgid "PLC is not started."
 msgstr "PLC is not started."
 
+#: ../etherlab/EtherCATManagementEditor.py:2160
+#: ../etherlab/CommonEtherCATFunction.py:1589
+msgid "PLC not connected!"
+msgstr "PLC not connected!"
+
 #: ../PLCOpenEditor.py:180 ../PLCOpenEditor.py:293
 #, python-brace-format
 msgid ""
@@ -2475,28 +2919,28 @@
 msgid "PORT"
 msgstr "PORT"
 
-#: ../dialogs/PouDialog.py:109
+#: ../dialogs/PouDialog.py:144
 msgid "POU Name"
 msgstr "POU Name"
 
-#: ../dialogs/PouDialog.py:66
+#: ../dialogs/PouDialog.py:64
 msgid "POU Name:"
 msgstr "POU Name:"
 
-#: ../dialogs/PouDialog.py:111
+#: ../dialogs/PouDialog.py:146
 msgid "POU Type"
 msgstr "POU Type"
 
-#: ../dialogs/PouDialog.py:73
+#: ../dialogs/PouDialog.py:71
 msgid "POU Type:"
 msgstr "POU Type:"
 
-#: ../connectors/PYRO/__init__.py:52
+#: ../connectors/PYRO/__init__.py:53
 #, python-format
 msgid "PYRO connecting to URI : %s\n"
 msgstr "PYRO connecting to URI : %s\n"
 
-#: ../connectors/PYRO/__init__.py:68
+#: ../connectors/PYRO/__init__.py:69
 #, python-format
 msgid "PYRO using certificates in '%s' \n"
 msgstr "PYRO using certificates in '%s' \n"
@@ -2505,11 +2949,11 @@
 msgid "Page Setup"
 msgstr "Page Setup"
 
-#: ../controls/ProjectPropertiesPanel.py:124
+#: ../controls/ProjectPropertiesPanel.py:127
 msgid "Page Size (optional):"
 msgstr "Page Size (optional):"
 
-#: ../IDEFrame.py:2640
+#: ../IDEFrame.py:2660
 #, python-format
 msgid "Page: %d"
 msgstr "Page: %d"
@@ -2518,11 +2962,11 @@
 msgid "Parent instance"
 msgstr "Parent instance"
 
-#: ../editors/Viewer.py:696 ../IDEFrame.py:374 ../IDEFrame.py:428
+#: ../editors/Viewer.py:699 ../IDEFrame.py:377 ../IDEFrame.py:429
 msgid "Paste"
 msgstr "Paste"
 
-#: ../IDEFrame.py:1899
+#: ../IDEFrame.py:1916
 msgid "Paste POU"
 msgstr "Paste POU"
 
@@ -2534,7 +2978,11 @@
 msgid "Pin number:"
 msgstr "Pin number:"
 
-#: ../editors/Viewer.py:2792 ../editors/Viewer.py:3060
+#: ../runtime/NevowServer.py:163
+msgid "Platform"
+msgstr "Platform"
+
+#: ../editors/Viewer.py:2791 ../editors/Viewer.py:3059
 #: ../editors/SFCViewer.py:785
 msgid "Please choose a target"
 msgstr "Please choose a target"
@@ -2543,7 +2991,7 @@
 msgid "Please enter a block name"
 msgstr "Please enter a block name"
 
-#: ../editors/Viewer.py:2661 ../editors/Viewer.py:3103
+#: ../dialogs/CommentEditDialog.py:52
 msgid "Please enter comment text"
 msgstr "Please enter comment text"
 
@@ -2552,7 +3000,8 @@
 msgid "Please enter step name"
 msgstr "Please enter step name"
 
-#: ../dialogs/PouNameDialog.py:37 ../Beremiz_service.py:209
+#: ../dialogs/SFCStepNameDialog.py:37 ../dialogs/PouNameDialog.py:37
+#: ../Beremiz_service.py:222
 msgid "Please enter text"
 msgstr "Please enter text"
 
@@ -2561,15 +3010,19 @@
 msgid "Please enter value for a \"%s\" variable:"
 msgstr "Please enter value for a \"%s\" variable:"
 
-#: ../Beremiz_service.py:327
+#: ../Beremiz_service.py:340
 msgid "Port number must be 0 <= port <= 65535!"
 msgstr "Port number must be 0 <= port <= 65535!"
 
-#: ../Beremiz_service.py:327
+#: ../Beremiz_service.py:340
 msgid "Port number must be an integer!"
 msgstr "Port number must be an integer!"
 
-#: ../editors/Viewer.py:633 ../editors/Viewer.py:2449
+#: ../etherlab/ConfigEditor.py:47 ../etherlab/ConfigEditor.py:465
+msgid "Position"
+msgstr "Position"
+
+#: ../editors/Viewer.py:636 ../editors/Viewer.py:2451
 msgid "Power Rail"
 msgstr "Power Rail"
 
@@ -2590,7 +3043,7 @@
 msgid "Print"
 msgstr "Print"
 
-#: ../IDEFrame.py:1110
+#: ../IDEFrame.py:1123
 msgid "Print preview"
 msgstr "Print preview"
 
@@ -2602,33 +3055,37 @@
 msgid "Priority:"
 msgstr "Priority:"
 
-#: ../runtime/PLCObject.py:518
+#: ../runtime/PLCObject.py:523
 #, python-format
 msgid "Problem starting PLC : error %d"
 msgstr "Problem starting PLC : error %d"
 
-#: ../dialogs/ProjectDialog.py:63
+#: ../etherlab/ConfigEditor.py:647
+msgid "Process variables mapped between nodes:"
+msgstr "Process variables mapped between nodes:"
+
+#: ../dialogs/ProjectDialog.py:61
 msgid "Product Name"
 msgstr "Product Name"
 
-#: ../controls/ProjectPropertiesPanel.py:90
+#: ../controls/ProjectPropertiesPanel.py:91
 msgid "Product Name (required):"
 msgstr "Product Name (required):"
 
-#: ../controls/ProjectPropertiesPanel.py:92
+#: ../controls/ProjectPropertiesPanel.py:93
 msgid "Product Release (optional):"
 msgstr "Product Release (optional):"
 
-#: ../dialogs/ProjectDialog.py:64
+#: ../dialogs/ProjectDialog.py:62
 msgid "Product Version"
 msgstr "Product Version"
 
-#: ../controls/ProjectPropertiesPanel.py:91
+#: ../controls/ProjectPropertiesPanel.py:92
 msgid "Product Version (required):"
 msgstr "Product Version (required):"
 
-#: ../dialogs/SearchInProjectDialog.py:42 ../IDEFrame.py:1778
-#: ../IDEFrame.py:1975
+#: ../dialogs/SearchInProjectDialog.py:42 ../IDEFrame.py:1795
+#: ../IDEFrame.py:1992
 msgid "Program"
 msgstr "Program"
 
@@ -2644,7 +3101,7 @@
 msgid "Programs can't be used by other POUs!"
 msgstr "Programs can't be used by other POUs!"
 
-#: ../controls/ProjectPropertiesPanel.py:94 ../IDEFrame.py:601
+#: ../controls/ProjectPropertiesPanel.py:95 ../IDEFrame.py:607
 msgid "Project"
 msgstr "Project"
 
@@ -2653,19 +3110,19 @@
 msgid "Project '%s':"
 msgstr "Project '%s':"
 
-#: ../ProjectController.py:1878
+#: ../ProjectController.py:1961
 msgid "Project Files"
 msgstr "Project Files"
 
-#: ../dialogs/ProjectDialog.py:62
+#: ../dialogs/ProjectDialog.py:60
 msgid "Project Name"
 msgstr "Project Name"
 
-#: ../controls/ProjectPropertiesPanel.py:88
+#: ../controls/ProjectPropertiesPanel.py:89
 msgid "Project Name (required):"
 msgstr "Project Name (required):"
 
-#: ../controls/ProjectPropertiesPanel.py:89
+#: ../controls/ProjectPropertiesPanel.py:90
 msgid "Project Version (optional):"
 msgstr "Project Version (optional):"
 
@@ -2694,16 +3151,16 @@
 msgid "Properties"
 msgstr "Properties"
 
-#: ../Beremiz_service.py:427
+#: ../Beremiz_service.py:440
 msgid "Publishing service on local network"
 msgstr "Publishing service on local network"
 
-#: ../connectors/PYRO/__init__.py:126
+#: ../connectors/PYRO/__init__.py:127
 #, python-format
 msgid "Pyro exception: %s\n"
 msgstr "Pyro exception: %s\n"
 
-#: ../Beremiz_service.py:420
+#: ../Beremiz_service.py:433
 msgid "Pyro port :"
 msgstr "Pyro port :"
 
@@ -2711,7 +3168,7 @@
 msgid "Python code"
 msgstr "Python code"
 
-#: ../features.py:34
+#: ../features.py:23
 msgid "Python file"
 msgstr "Python file"
 
@@ -2719,19 +3176,23 @@
 msgid "Qualifier"
 msgstr "Qualifier"
 
-#: ../BeremizIDE.py:263 ../PLCOpenEditor.py:101 ../Beremiz_service.py:283
+#: ../BeremizIDE.py:263 ../PLCOpenEditor.py:101 ../Beremiz_service.py:296
 msgid "Quit"
 msgstr "Quit"
 
-#: ../controls/DebugVariablePanel/DebugVariablePanel.py:227
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:224
 msgid "Range:"
 msgstr "Range:"
 
-#: ../ProjectController.py:1872
+#: ../ProjectController.py:1955
 msgid "Raw IEC code"
 msgstr "Raw IEC code"
 
-#: ../BeremizIDE.py:1083
+#: ../etherlab/ConfigEditor.py:344
+msgid "Read from (nodeid, index, subindex)"
+msgstr "Read from (nodeid, index, subindex)"
+
+#: ../BeremizIDE.py:1080
 #, python-format
 msgid "Really delete node '%s'?"
 msgstr "Really delete node '%s'?"
@@ -2740,7 +3201,7 @@
 msgid "Realm:"
 msgstr "Realm:"
 
-#: ../IDEFrame.py:367 ../IDEFrame.py:424
+#: ../IDEFrame.py:370 ../IDEFrame.py:425
 msgid "Redo"
 msgstr "Redo"
 
@@ -2748,10 +3209,14 @@
 msgid "Reference"
 msgstr "Reference"
 
-#: ../dialogs/DiscoveryDialog.py:109 ../IDEFrame.py:434
+#: ../dialogs/DiscoveryDialog.py:109 ../IDEFrame.py:436
 msgid "Refresh"
 msgstr "Refresh"
 
+#: ../etherlab/EtherCATManagementEditor.py:1965
+msgid "Register Modify Dialog"
+msgstr "Register Modify Dialog"
+
 #: ../dialogs/SearchInProjectDialog.py:70
 msgid "Regular expression"
 msgstr "Regular expression"
@@ -2760,7 +3225,7 @@
 msgid "Regular expressions"
 msgstr "Regular expressions"
 
-#: ../editors/Viewer.py:1636
+#: ../editors/Viewer.py:1638
 msgid "Release value"
 msgstr "Release value"
 
@@ -2768,16 +3233,16 @@
 msgid "Remainder (modulo)"
 msgstr "Remainder (modulo)"
 
-#: ../BeremizIDE.py:1084
+#: ../BeremizIDE.py:1081
 #, python-format
 msgid "Remove %s node"
 msgstr "Remove %s node"
 
-#: ../IDEFrame.py:2445
+#: ../IDEFrame.py:2463
 msgid "Remove Datatype"
 msgstr "Remove Datatype"
 
-#: ../IDEFrame.py:2450
+#: ../IDEFrame.py:2468
 msgid "Remove Pou"
 msgstr "Remove Pou"
 
@@ -2789,35 +3254,52 @@
 msgid "Remove element"
 msgstr "Remove element"
 
-#: ../editors/FileManagementPanel.py:66
+#: ../etherlab/ConfigEditor.py:1353
+msgid "Remove file from database"
+msgstr "Remove file from database"
+
+#: ../editors/FileManagementPanel.py:65
 msgid "Remove file from left folder"
 msgstr "Remove file from left folder"
 
-#: ../editors/ResourceEditor.py:284
+#: ../etherlab/ConfigEditor.py:1389
+msgid "Remove file from library"
+msgstr "Remove file from library"
+
+#: ../editors/ResourceEditor.py:282
 msgid "Remove instance"
 msgstr "Remove instance"
 
+#: ../etherlab/ConfigEditor.py:653
+msgid "Remove process variable"
+msgstr "Remove process variable"
+
 #: ../canfestival/NetworkEditor.py:111
 msgid "Remove slave"
 msgstr "Remove slave"
 
-#: ../editors/ResourceEditor.py:253
+#: ../etherlab/ConfigEditor.py:680
+msgid "Remove startup service variable"
+msgstr "Remove startup service variable"
+
+#: ../editors/ResourceEditor.py:251
 msgid "Remove task"
 msgstr "Remove task"
 
-#: ../editors/CodeFileEditor.py:655 ../controls/VariablePanel.py:482
+#: ../bacnet/BacnetSlaveEditor.py:812 ../editors/CodeFileEditor.py:673
+#: ../controls/VariablePanel.py:484
 msgid "Remove variable"
 msgstr "Remove variable"
 
-#: ../IDEFrame.py:1979
+#: ../IDEFrame.py:1996
 msgid "Rename"
 msgstr "Rename"
 
-#: ../editors/FileManagementPanel.py:187
+#: ../editors/FileManagementPanel.py:186
 msgid "Replace File"
 msgstr "Replace File"
 
-#: ../editors/Viewer.py:598
+#: ../editors/Viewer.py:601
 msgid "Replace Wire by connections"
 msgstr "Replace Wire by connections"
 
@@ -2829,11 +3311,11 @@
 msgid "Reset"
 msgstr "Reset"
 
-#: ../editors/Viewer.py:681
+#: ../editors/Viewer.py:684
 msgid "Reset Execution Order"
 msgstr "Reset Execution Order"
 
-#: ../IDEFrame.py:453
+#: ../IDEFrame.py:459
 msgid "Reset Perspective"
 msgstr "Reset Perspective"
 
@@ -2841,7 +3323,7 @@
 msgid "Reset search result"
 msgstr "Reset search result"
 
-#: ../BeremizIDE.py:1015 ../plcopen/types_enums.py:77
+#: ../BeremizIDE.py:1012 ../plcopen/types_enums.py:77
 msgid "Resources"
 msgstr "Resources"
 
@@ -2849,11 +3331,11 @@
 msgid "Retain"
 msgstr "Retain"
 
-#: ../controls/VariablePanel.py:455
+#: ../controls/VariablePanel.py:457
 msgid "Return Type:"
 msgstr "Return Type:"
 
-#: ../editors/Viewer.py:582
+#: ../editors/Viewer.py:585
 msgid "Right"
 msgstr "Right"
 
@@ -2861,7 +3343,7 @@
 msgid "Right PowerRail"
 msgstr "Right PowerRail"
 
-#: ../dialogs/LDElementDialog.py:80 ../editors/Viewer.py:555
+#: ../dialogs/LDElementDialog.py:80 ../editors/Viewer.py:558
 msgid "Rising Edge"
 msgstr "Rising Edge"
 
@@ -2877,15 +3359,15 @@
 msgid "Rounding up/down"
 msgstr "Rounding up/down"
 
-#: ../ProjectController.py:1828
+#: ../ProjectController.py:1911
 msgid "Run"
 msgstr "Run"
 
-#: ../ProjectController.py:1127
+#: ../ProjectController.py:1175
 msgid "Runtime IO extensions C code generation failed !\n"
 msgstr "Runtime IO extensions C code generation failed !\n"
 
-#: ../ProjectController.py:1136
+#: ../ProjectController.py:1186
 msgid "Runtime library extensions C code generation failed !\n"
 msgstr "Runtime library extensions C code generation failed !\n"
 
@@ -2897,11 +3379,11 @@
 msgid "SDO Server"
 msgstr "SDO Server"
 
-#: ../dialogs/PouDialog.py:44 ../controls/ProjectPropertiesPanel.py:158
+#: ../dialogs/PouDialog.py:128 ../controls/ProjectPropertiesPanel.py:161
 msgid "SFC"
 msgstr "SFC"
 
-#: ../PLCGenerator.py:1433
+#: ../PLCGenerator.py:1482
 #, python-brace-format
 msgid "SFC jump in pou \"{a1}\" refers to non-existent SFC step \"{a2}\""
 msgstr "SFC jump in pou \"{a1}\" refers to non-existent SFC step \"{a2}\""
@@ -2912,7 +3394,7 @@
 msgstr "SFC transition in POU \"%s\" must be connected."
 
 #: ../dialogs/PouTransitionDialog.py:40 ../dialogs/PouActionDialog.py:36
-#: ../dialogs/PouDialog.py:44
+#: ../dialogs/PouDialog.py:128
 msgid "ST"
 msgstr "ST"
 
@@ -2924,7 +3406,7 @@
 msgid "SVG files (*.svg)|*.svg|All files|*.*"
 msgstr "SVG files (*.svg)|*.svg|All files|*.*"
 
-#: ../features.py:36
+#: ../features.py:25
 msgid "SVGUI"
 msgstr "SVGUI"
 
@@ -2941,37 +3423,47 @@
 msgid "Save as"
 msgstr "Save as"
 
-#: ../ProjectController.py:530
+#: ../etherlab/EtherCATManagementEditor.py:941
+#: ../etherlab/EtherCATManagementEditor.py:1289
+msgid "Save as..."
+msgstr "Save as..."
+
+#: ../ProjectController.py:546
 msgid "Save path is the same as path of a project! \n"
 msgstr "Save path is the same as path of a project! \n"
 
+#: ../etherlab/EthercatMaster.py:455 ../etherlab/EthercatMaster.py:764
+#: ../etherlab/EthercatMaster.py:765
+msgid "Scan Network"
+msgstr "Scan Network"
+
 #: ../dialogs/SearchInProjectDialog.py:73
 msgid "Scope"
 msgstr "Scope"
 
-#: ../IDEFrame.py:644
+#: ../IDEFrame.py:650
 msgid "Search"
 msgstr "Search"
 
-#: ../dialogs/SearchInProjectDialog.py:49 ../IDEFrame.py:384 ../IDEFrame.py:430
+#: ../dialogs/SearchInProjectDialog.py:49 ../IDEFrame.py:387 ../IDEFrame.py:431
 msgid "Search in Project"
 msgstr "Search in Project"
 
-#: ../dialogs/DurationEditorDialog.py:49
+#: ../dialogs/DurationEditorDialog.py:60
 msgid "Seconds:"
 msgstr "Seconds:"
 
-#: ../IDEFrame.py:390
+#: ../IDEFrame.py:393
 msgid "Select All"
 msgstr "Select All"
 
 #: ../editors/Viewer.py:331 ../editors/TextViewer.py:305
-#: ../controls/LocationCellEditor.py:101 ../controls/VariablePanel.py:315
-#: ../controls/VariablePanel.py:378
+#: ../controls/LocationCellEditor.py:101 ../controls/VariablePanel.py:314
+#: ../controls/VariablePanel.py:377
 msgid "Select a variable class:"
 msgstr "Select a variable class:"
 
-#: ../ProjectController.py:1293
+#: ../ProjectController.py:1354
 msgid "Select an editor:"
 msgstr "Select an editor:"
 
@@ -2979,11 +3471,11 @@
 msgid "Select an instance"
 msgstr "Select an instance"
 
-#: ../IDEFrame.py:628
+#: ../IDEFrame.py:634
 msgid "Select an object"
 msgstr "Select an object"
 
-#: ../ProjectController.py:537
+#: ../ProjectController.py:555
 msgid "Selected directory already contains another project. Overwrite? \n"
 msgstr "Selected directory already contains another project. Overwrite? \n"
 
@@ -2999,6 +3491,14 @@
 msgid "Selection Divergence"
 msgstr "Selection Divergence"
 
+#: ../runtime/NevowServer.py:182
+msgid "Send"
+msgstr "Send"
+
+#: ../runtime/NevowServer.py:181
+msgid "Send a message to the log"
+msgstr "Send a message to the log"
+
 #: ../dialogs/DiscoveryDialog.py:135
 msgid "Service Discovery"
 msgstr "Service Discovery"
@@ -3007,7 +3507,7 @@
 msgid "Services available:"
 msgstr "Services available:"
 
-#: ../dialogs/LDElementDialog.py:79
+#: ../dialogs/LDElementDialog.py:79 ../runtime/WampClient.py:434
 msgid "Set"
 msgstr "Set"
 
@@ -3019,7 +3519,7 @@
 msgid "Shift right"
 msgstr "Shift right"
 
-#: ../ProjectController.py:1863
+#: ../ProjectController.py:1946
 msgid "Show IEC code generated by PLCGenerator"
 msgstr "Show IEC code generated by PLCGenerator"
 
@@ -3031,7 +3531,7 @@
 msgid "Show Master generated by config_utils"
 msgstr "Show Master generated by config_utils"
 
-#: ../ProjectController.py:1862
+#: ../ProjectController.py:1945
 msgid "Show code"
 msgstr "Show code"
 
@@ -3051,6 +3551,14 @@
 msgid "Single"
 msgstr "Single"
 
+#: ../etherlab/EtherCATManagementEditor.py:361
+msgid "Slave SDO Monitoring"
+msgstr "Slave SDO Monitoring"
+
+#: ../etherlab/ConfigEditor.py:135
+msgid "Slave entries"
+msgstr "Slave entries"
+
 #: ../targets/toolchain_makefile.py:130
 msgid "Source didn't change, no build.\n"
 msgstr "Source didn't change, no build.\n"
@@ -3068,44 +3576,56 @@
 msgid "Standard function blocks"
 msgstr "Standard function blocks"
 
-#: ../ProjectController.py:1829 ../Beremiz_service.py:271
+#: ../etherlab/ConfigEditor.py:68
+msgid "Standardized Device Profile"
+msgstr "Standardized Device Profile"
+
+#: ../etherlab/EtherCATManagementEditor.py:37
+msgid "Start Address"
+msgstr "Start Address"
+
+#: ../ProjectController.py:1912 ../Beremiz_service.py:284
 msgid "Start PLC"
 msgstr "Start PLC"
 
-#: ../ProjectController.py:1074
+#: ../ProjectController.py:1121
 #, python-format
 msgid "Start build in %s\n"
 msgstr "Start build in %s\n"
 
-#: ../ProjectController.py:1397
+#: ../runtime/PlcStatus.py:12
 msgid "Started"
 msgstr "Started"
 
-#: ../ProjectController.py:1633
+#: ../ProjectController.py:1714
 msgid "Starting PLC\n"
 msgstr "Starting PLC\n"
 
-#: ../BeremizIDE.py:393
+#: ../etherlab/ConfigEditor.py:674
+msgid "Startup service variables assignments:"
+msgstr "Startup service variables assignments:"
+
+#: ../BeremizIDE.py:389
 msgid "Status ToolBar"
 msgstr "Status ToolBar"
 
-#: ../editors/Viewer.py:651 ../editors/Viewer.py:2424
+#: ../editors/Viewer.py:654 ../editors/Viewer.py:2426
 msgid "Step"
 msgstr "Step"
 
-#: ../ProjectController.py:1835
+#: ../ProjectController.py:1918
 msgid "Stop"
 msgstr "Stop"
 
-#: ../Beremiz_service.py:272
+#: ../Beremiz_service.py:285
 msgid "Stop PLC"
 msgstr "Stop PLC"
 
-#: ../ProjectController.py:1836
+#: ../ProjectController.py:1919
 msgid "Stop Running PLC"
 msgstr "Stop Running PLC"
 
-#: ../ProjectController.py:1398
+#: ../runtime/PlcStatus.py:13
 msgid "Stopped"
 msgstr "Stopped"
 
@@ -3113,6 +3633,14 @@
 msgid "Structure"
 msgstr "Structure"
 
+#: ../etherlab/ConfigEditor.py:48
+msgid "SubIndex"
+msgstr "SubIndex"
+
+#: ../etherlab/ConfigEditor.py:465
+msgid "Subindex"
+msgstr "Subindex"
+
 #: ../editors/DataTypeEditor.py:60
 msgid "Subrange"
 msgstr "Subrange"
@@ -3121,11 +3649,11 @@
 msgid "Subtraction"
 msgstr "Subtraction"
 
-#: ../ProjectController.py:1113
+#: ../ProjectController.py:1160
 msgid "Successfully built.\n"
 msgstr "Successfully built.\n"
 
-#: ../IDEFrame.py:449
+#: ../IDEFrame.py:451
 msgid "Switch perspective"
 msgstr "Switch perspective"
 
@@ -3141,19 +3669,19 @@
 msgid "Tangent"
 msgstr "Tangent"
 
-#: ../editors/ResourceEditor.py:97
+#: ../editors/ResourceEditor.py:94
 msgid "Task"
 msgstr "Task"
 
-#: ../editors/ResourceEditor.py:248
+#: ../editors/ResourceEditor.py:246
 msgid "Tasks:"
 msgstr "Tasks:"
 
-#: ../controls/VariablePanel.py:91
+#: ../controls/VariablePanel.py:88
 msgid "Temp"
 msgstr "Temp"
 
-#: ../version.py:35
+#: ../version.py:37
 msgid ""
 "The best place to ask questions about Beremiz/PLCOpenEditor\n"
 "is project's mailing list: beremiz-devel@lists.sourceforge.net\n"
@@ -3173,7 +3701,15 @@
 "You can subscribe to the list here:\n"
 "https://lists.sourceforge.net/lists/listinfo/beremiz-devel"
 
-#: ../editors/FileManagementPanel.py:186
+#: ../etherlab/EthercatMaster.py:454
+msgid ""
+"The current network configuration will be deleted.\n"
+"Do you want to continue?"
+msgstr ""
+"The current network configuration will be deleted.\n"
+"Do you want to continue?"
+
+#: ../editors/FileManagementPanel.py:185
 #, python-format
 msgid ""
 "The file '%s' already exist.\n"
@@ -3182,20 +3718,25 @@
 "The file '%s' already exist.\n"
 "Do you want to replace it?"
 
+#: ../etherlab/EtherCATManagementEditor.py:928
+#: ../etherlab/EtherCATManagementEditor.py:1320
+msgid "The file does not exist!"
+msgstr "The file does not exist!"
+
 #: ../editors/LDViewer.py:893
 msgid "The group of block must be coherent!"
 msgstr "The group of block must be coherent!"
 
-#: ../BeremizIDE.py:573 ../IDEFrame.py:1046
+#: ../BeremizIDE.py:569 ../IDEFrame.py:1059
 msgid "There are changes, do you want to save?"
 msgstr "There are changes, do you want to save?"
 
-#: ../IDEFrame.py:1691 ../IDEFrame.py:1710
+#: ../IDEFrame.py:1708 ../IDEFrame.py:1727
 #, python-format
 msgid "There is a POU named \"%s\". This could cause a conflict. Do you wish to continue?"
 msgstr "There is a POU named \"%s\". This could cause a conflict. Do you wish to continue?"
 
-#: ../IDEFrame.py:1133
+#: ../IDEFrame.py:1146
 msgid ""
 "There was a problem printing.\n"
 "Perhaps your current printer is not set correctly?"
@@ -3207,7 +3748,7 @@
 msgid "This option isn't available yet!"
 msgstr "This option isn't available yet!"
 
-#: ../controls/DebugVariablePanel/DebugVariablePanel.py:567
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:546
 #, python-format
 msgid "Tick: %d"
 msgstr "Tick: %d"
@@ -3245,53 +3786,57 @@
 msgid "Time-of-day subtraction"
 msgstr "Time-of-day subtraction"
 
+#: ../IDEFrame.py:432
+msgid "Toggle fullscreen mode"
+msgstr "Toggle fullscreen mode"
+
 #: ../dialogs/ForceVariableDialog.py:188
 msgid "Toggle value"
 msgstr "Toggle value"
 
-#: ../editors/Viewer.py:584
+#: ../editors/Viewer.py:587
 msgid "Top"
 msgstr "Top"
 
-#: ../ProjectController.py:1848
+#: ../ProjectController.py:1931
 msgid "Transfer"
 msgstr "Transfer"
 
-#: ../ProjectController.py:1849
+#: ../ProjectController.py:1932
 msgid "Transfer PLC"
 msgstr "Transfer PLC"
 
-#: ../ProjectController.py:1802
+#: ../ProjectController.py:1884
 msgid "Transfer completed successfully.\n"
 msgstr "Transfer completed successfully.\n"
 
-#: ../ProjectController.py:1805
+#: ../ProjectController.py:1887
 msgid "Transfer failed\n"
 msgstr "Transfer failed\n"
 
-#: ../editors/Viewer.py:652 ../editors/Viewer.py:2426 ../editors/Viewer.py:2453
+#: ../editors/Viewer.py:655 ../editors/Viewer.py:2428 ../editors/Viewer.py:2455
 msgid "Transition"
 msgstr "Transition"
 
-#: ../PLCGenerator.py:1564
+#: ../PLCGenerator.py:1613
 #, python-format
 msgid "Transition \"%s\" body must contain an output variable or coil referring to its name"
 msgstr "Transition \"%s\" body must contain an output variable or coil referring to its name"
 
-#: ../dialogs/PouTransitionDialog.py:91
+#: ../dialogs/PouTransitionDialog.py:90
 msgid "Transition Name"
 msgstr "Transition Name"
 
-#: ../dialogs/PouTransitionDialog.py:60
+#: ../dialogs/PouTransitionDialog.py:59
 msgid "Transition Name:"
 msgstr "Transition Name:"
 
-#: ../PLCGenerator.py:1657
+#: ../PLCGenerator.py:1706
 #, python-brace-format
 msgid "Transition with content \"{a1}\" not connected to a next step in \"{a2}\" POU"
 msgstr "Transition with content \"{a1}\" not connected to a next step in \"{a2}\" POU"
 
-#: ../PLCGenerator.py:1646
+#: ../PLCGenerator.py:1695
 #, python-brace-format
 msgid "Transition with content \"{a1}\" not connected to a previous step in \"{a2}\" POU"
 msgstr "Transition with content \"{a1}\" not connected to a previous step in \"{a2}\" POU"
@@ -3313,17 +3858,17 @@
 msgid "Triggering"
 msgstr "Triggering"
 
-#: ../Beremiz_service.py:490
+#: ../Beremiz_service.py:503
 msgid "Twisted unavailable."
 msgstr "Twisted unavailable."
 
-#: ../dialogs/ActionBlockDialog.py:42 ../editors/ResourceEditor.py:97
-#: ../editors/DataTypeEditor.py:55 ../editors/CodeFileEditor.py:733
-#: ../controls/VariablePanel.py:61
+#: ../dialogs/ActionBlockDialog.py:42 ../etherlab/ConfigEditor.py:48
+#: ../editors/ResourceEditor.py:94 ../editors/DataTypeEditor.py:55
+#: ../editors/CodeFileEditor.py:752 ../controls/VariablePanel.py:61
 msgid "Type"
 msgstr "Type"
 
-#: ../dialogs/BrowseLocationsDialog.py:54
+#: ../dialogs/BrowseLocationsDialog.py:51
 msgid "Type and derivated"
 msgstr "Type and derivated"
 
@@ -3340,16 +3885,25 @@
 msgid "Type infos:"
 msgstr "Type infos:"
 
-#: ../dialogs/BrowseLocationsDialog.py:55
+#: ../etherlab/EthercatCFileGenerator.py:76
+#, python-format
+msgid "Type of location \"%s\" not yet supported!"
+msgstr "Type of location \"%s\" not yet supported!"
+
+#: ../dialogs/BrowseLocationsDialog.py:52
 msgid "Type strict"
 msgstr "Type strict"
 
 #: ../dialogs/SFCDivergenceDialog.py:60 ../dialogs/SFCTransitionDialog.py:59
-#: ../dialogs/LDPowerRailDialog.py:58 ../dialogs/BrowseLocationsDialog.py:111
+#: ../dialogs/LDPowerRailDialog.py:58 ../dialogs/BrowseLocationsDialog.py:110
 #: ../dialogs/FBDBlockDialog.py:69 ../dialogs/ConnectionDialog.py:61
 msgid "Type:"
 msgstr "Type:"
 
+#: ../runtime/WampClient.py:129
+msgid "TypeError register option: {}"
+msgstr "TypeError register option: {}"
+
 #: ../connectors/PYRO/dialog.py:39 ../connectors/WAMP/dialog.py:42
 msgid "URI host:"
 msgstr "URI host:"
@@ -3372,7 +3926,17 @@
 msgid "Unable to get Xenomai's %s \n"
 msgstr "Unable to get Xenomai's %s \n"
 
-#: ../PLCGenerator.py:974 ../PLCGenerator.py:1252
+#: ../bacnet/bacnet.py:430
+#, python-format
+msgid "Unable to load file \"%s\"!"
+msgstr "Unable to load file \"%s\"!"
+
+#: ../bacnet/bacnet.py:420
+#, python-format
+msgid "Unable to save to file \"%s\"!"
+msgstr "Unable to save to file \"%s\"!"
+
+#: ../PLCGenerator.py:1023 ../PLCGenerator.py:1301
 #, python-brace-format
 msgid "Undefined block type \"{a1}\" in \"{a2}\" POU"
 msgstr "Undefined block type \"{a1}\" in \"{a2}\" POU"
@@ -3382,20 +3946,25 @@
 msgid "Undefined pou type \"%s\""
 msgstr "Undefined pou type \"%s\""
 
-#: ../IDEFrame.py:365 ../IDEFrame.py:423
+#: ../IDEFrame.py:368 ../IDEFrame.py:424
 msgid "Undo"
 msgstr "Undo"
 
-#: ../ProjectController.py:442
+#: ../ProjectController.py:457
 msgid "Unknown"
 msgstr "Unknown"
 
+#: ../etherlab/EthercatCFileGenerator.py:470
+#, python-brace-format
+msgid "Unknown entry index 0x{a1:.4x}, subindex 0x{a2:.2x} for device {a3}"
+msgstr "Unknown entry index 0x{a1:.4x}, subindex 0x{a2:.2x} for device {a3}"
+
 #: ../editors/Viewer.py:437
 #, python-format
 msgid "Unknown variable \"%s\" for this POU!"
 msgstr "Unknown variable \"%s\" for this POU!"
 
-#: ../ProjectController.py:439 ../ProjectController.py:440
+#: ../ProjectController.py:454 ../ProjectController.py:455
 msgid "Unnamed"
 msgstr "Unnamed"
 
@@ -3404,12 +3973,20 @@
 msgid "Unnamed%d"
 msgstr "Unnamed%d"
 
-#: ../controls/VariablePanel.py:308
+#: ../controls/VariablePanel.py:307
 #, python-format
 msgid "Unrecognized data size \"%s\""
 msgstr "Unrecognized data size \"%s\""
 
-#: ../editors/DataTypeEditor.py:646 ../controls/VariablePanel.py:841
+#: ../etherlab/EtherCATManagementEditor.py:2080
+msgid "Update"
+msgstr "Update"
+
+#: ../runtime/WampClient.py:380
+msgid "Upload:"
+msgstr "Upload:"
+
+#: ../editors/DataTypeEditor.py:646 ../controls/VariablePanel.py:852
 msgid "User Data Types"
 msgstr "User Data Types"
 
@@ -3421,7 +3998,7 @@
 msgid "User-defined POUs"
 msgstr "User-defined POUs"
 
-#: ../dialogs/ActionBlockDialog.py:42
+#: ../dialogs/ActionBlockDialog.py:42 ../etherlab/ConfigEditor.py:465
 msgid "Value"
 msgstr "Value"
 
@@ -3429,24 +4006,29 @@
 msgid "Values:"
 msgstr "Values:"
 
-#: ../dialogs/ActionBlockDialog.py:47 ../editors/Viewer.py:622
-#: ../editors/Viewer.py:2456
+#: ../dialogs/ActionBlockDialog.py:47 ../editors/Viewer.py:625
+#: ../editors/Viewer.py:2458
 msgid "Variable"
 msgstr "Variable"
 
 #: ../editors/Viewer.py:352 ../editors/Viewer.py:382 ../editors/Viewer.py:404
 #: ../editors/TextViewer.py:290 ../editors/TextViewer.py:344
-#: ../editors/TextViewer.py:367 ../controls/VariablePanel.py:355
+#: ../editors/TextViewer.py:367 ../controls/VariablePanel.py:354
 msgid "Variable Drop"
 msgstr "Variable Drop"
 
-#: ../dialogs/FBDVariableDialog.py:68
+#: ../etherlab/ConfigEditor.py:70
+#, python-format
+msgid "Variable Index: #x%4.4X"
+msgstr "Variable Index: #x%4.4X"
+
+#: ../dialogs/FBDVariableDialog.py:58
 msgid "Variable Properties"
 msgstr "Variable Properties"
 
 #: ../editors/Viewer.py:332 ../editors/TextViewer.py:306
-#: ../controls/LocationCellEditor.py:102 ../controls/VariablePanel.py:316
-#: ../controls/VariablePanel.py:379
+#: ../controls/LocationCellEditor.py:102 ../controls/VariablePanel.py:315
+#: ../controls/VariablePanel.py:378
 msgid "Variable class"
 msgstr "Variable class"
 
@@ -3454,24 +4036,28 @@
 msgid "Variable don't belong to this POU!"
 msgstr "Variable don't belong to this POU!"
 
+#: ../etherlab/ConfigEditor.py:280
+msgid "Variable entries:"
+msgstr "Variable entries:"
+
 #: ../dialogs/LDElementDialog.py:92
 msgid "Variable:"
 msgstr "Variable:"
 
-#: ../controls/VariablePanel.py:90
+#: ../controls/VariablePanel.py:87
 msgid "Variables"
 msgstr "Variables"
 
-#: ../controls/ProjectPropertiesPanel.py:166
+#: ../controls/ProjectPropertiesPanel.py:169
 msgid "Vertical:"
 msgstr "Vertical:"
 
-#: ../runtime/WampClient.py:113
+#: ../runtime/WampClient.py:170
 #, python-format
 msgid "WAMP Client connection failed (%s) .. retrying .."
 msgstr "WAMP Client connection failed (%s) .. retrying .."
 
-#: ../runtime/WampClient.py:117
+#: ../runtime/WampClient.py:179
 #, python-format
 msgid "WAMP Client connection lost (%s) .. retrying .."
 msgstr "WAMP Client connection lost (%s) .. retrying .."
@@ -3480,49 +4066,66 @@
 msgid "WAMP ID:"
 msgstr "WAMP ID:"
 
-#: ../runtime/WampClient.py:172
+#: ../runtime/WampClient.py:413
+msgid "WAMP Server URL"
+msgstr "WAMP Server URL"
+
+#: ../runtime/WampClient.py:276
+msgid "WAMP authentication has no secret configured"
+msgstr "WAMP authentication has no secret configured"
+
+#: ../runtime/WampClient.py:304
+msgid "WAMP client can not connect to :"
+msgstr "WAMP client can not connect to :"
+
+#: ../runtime/WampClient.py:301
 msgid "WAMP client connecting to :"
 msgstr "WAMP client connecting to :"
 
-#: ../runtime/WampClient.py:148
-msgid "WAMP client connection not established!"
-msgstr "WAMP client connection not established!"
-
-#: ../Beremiz_service.py:625
+#: ../Beremiz_service.py:628
 msgid "WAMP client startup failed. "
 msgstr "WAMP client startup failed. "
 
-#: ../Beremiz_service.py:621
-msgid "WAMP config is incomplete."
-msgstr "WAMP config is incomplete."
-
-#: ../Beremiz_service.py:623
-msgid "WAMP config is missing."
-msgstr "WAMP config is missing."
-
-#: ../connectors/WAMP/__init__.py:99
+#: ../runtime/WampClient.py:206
+msgid "WAMP configuration error : missing '{}' parameter."
+msgstr "WAMP configuration error : missing '{}' parameter."
+
+#: ../runtime/WampClient.py:192
+msgid "WAMP configuration error:"
+msgstr "WAMP configuration error:"
+
+#: ../connectors/WAMP/__init__.py:100
 #, python-format
 msgid "WAMP connecting to URL : %s\n"
 msgstr "WAMP connecting to URL : %s\n"
 
-#: ../connectors/WAMP/__init__.py:140
+#: ../connectors/WAMP/__init__.py:141
 msgid "WAMP connection timeout"
 msgstr "WAMP connection timeout"
 
-#: ../connectors/WAMP/__init__.py:158
+#: ../connectors/WAMP/__init__.py:159
 #, python-format
 msgid "WAMP connection to '%s' failed.\n"
 msgstr "WAMP connection to '%s' failed.\n"
 
-#: ../Beremiz_service.py:595
+#: ../runtime/WampClient.py:280
+msgid "WAMP deactivated in configuration"
+msgstr "WAMP deactivated in configuration"
+
+#: ../Beremiz_service.py:605
 msgid "WAMP import failed :"
 msgstr "WAMP import failed :"
 
-#: ../runtime/WampClient.py:126
-msgid "WAMP load error: "
-msgstr "WAMP load error: "
-
-#: ../runtime/WampClient.py:108
+#: ../runtime/WampClient.py:241
+msgid "WAMP secret empty"
+msgstr "WAMP secret empty"
+
+#: ../runtime/WampClient.py:139
+#, python-format
+msgid "WAMP session joined (%s) by:"
+msgstr "WAMP session joined (%s) by:"
+
+#: ../runtime/WampClient.py:146
 msgid "WAMP session left"
 msgstr "WAMP session left"
 
@@ -3530,15 +4133,24 @@
 msgid "WXGLADE GUI"
 msgstr "WXGLADE GUI"
 
-#: ../runtime/WampClient.py:137
-msgid "Wamp secret load error:"
-msgstr "Wamp secret load error:"
-
-#: ../dialogs/PouDialog.py:137 ../editors/LDViewer.py:902
+#: ../runtime/WampClient.py:432
+msgid "Wamp Settings"
+msgstr "Wamp Settings"
+
+#: ../dialogs/PouDialog.py:172 ../editors/LDViewer.py:902
 msgid "Warning"
 msgstr "Warning"
 
-#: ../ProjectController.py:726
+#: ../etherlab/EthercatCFileGenerator.py:405
+#: ../etherlab/EthercatCFileGenerator.py:571
+msgid "Warning: "
+msgstr "Warning: "
+
+#: ../wxglade_hmi/wxglade_hmi.py:166
+msgid "Warning: WxGlade HMI has no object with name identical to extension name, and no python code is provided in start section to create object.\n"
+msgstr "Warning: WxGlade HMI has no object with name identical to extension name, and no python code is provided in start section to create object.\n"
+
+#: ../ProjectController.py:756
 msgid "Warnings in ST/IL/SFC code generator :\n"
 msgstr "Warnings in ST/IL/SFC code generator :\n"
 
@@ -3546,7 +4158,7 @@
 msgid "Whole Project"
 msgstr "Whole Project"
 
-#: ../controls/ProjectPropertiesPanel.py:134
+#: ../controls/ProjectPropertiesPanel.py:137
 msgid "Width:"
 msgstr "Width:"
 
@@ -3554,14 +4166,46 @@
 msgid "Wrap search"
 msgstr "Wrap search"
 
+#: ../etherlab/ConfigEditor.py:345
+msgid "Write to (nodeid, index, subindex)"
+msgstr "Write to (nodeid, index, subindex)"
+
 #: ../dialogs/AboutDialog.py:126
 msgid "Written by"
 msgstr "Written by"
 
-#: ../features.py:35
+#: ../etherlab/EthercatCFileGenerator.py:409
+#: ../etherlab/EthercatCFileGenerator.py:499
+#, python-format
+msgid "Wrong direction for location \"%s\"!"
+msgstr "Wrong direction for location \"%s\"!"
+
+#: ../etherlab/EthercatCFileGenerator.py:400
+#: ../etherlab/EthercatCFileGenerator.py:487
+#, python-format
+msgid "Wrong type for location \"%s\"!"
+msgstr "Wrong type for location \"%s\"!"
+
+#: ../features.py:24
 msgid "WxGlade GUI"
 msgstr "WxGlade GUI"
 
+#: ../etherlab/ConfigEditor.py:1236
+msgid "XML files (*.xml)|*.xml|All files|*.*"
+msgstr "XML files (*.xml)|*.xml|All files|*.*"
+
+#: ../etherlab/EtherCATManagementEditor.py:652
+msgid "You can input only hex, dec value"
+msgstr "You can input only hex, dec value"
+
+#: ../etherlab/EtherCATManagementEditor.py:1999
+msgid "You can't modify it. This register is read-only or it's not connected."
+msgstr "You can't modify it. This register is read-only or it's not connected."
+
+#: ../etherlab/EtherCATManagementEditor.py:648
+msgid "You cannot SDO download this state"
+msgstr "You cannot SDO download this state"
+
 #: ../svgui/svgui.py:150
 msgid ""
 "You don't have write permissions.\n"
@@ -3570,7 +4214,7 @@
 "You don't have write permissions.\n"
 "Open Inkscape anyway ?"
 
-#: ../wxglade_hmi/wxglade_hmi.py:160
+#: ../wxglade_hmi/wxglade_hmi.py:175
 msgid ""
 "You don't have write permissions.\n"
 "Open wxGlade anyway ?"
@@ -3578,7 +4222,11 @@
 "You don't have write permissions.\n"
 "Open wxGlade anyway ?"
 
-#: ../ProjectController.py:390
+#: ../etherlab/EtherCATManagementEditor.py:2002
+msgid "You entered wrong value. You can enter dec or hex value only."
+msgstr "You entered wrong value. You can enter dec or hex value only."
+
+#: ../ProjectController.py:403
 msgid ""
 "You must have permission to work on the project\n"
 "Work on a project copy ?"
@@ -3602,11 +4250,21 @@
 msgid "You must type a value!"
 msgstr "You must type a value!"
 
-#: ../IDEFrame.py:440
+#: ../IDEFrame.py:442
 msgid "Zoom"
 msgstr "Zoom"
 
-#: ../dialogs/DurationEditorDialog.py:158
+#: ../etherlab/EtherCATManagementEditor.py:911
+#: ../etherlab/EtherCATManagementEditor.py:1307
+msgid "bin files (*.bin)|*.bin"
+msgstr "bin files (*.bin)|*.bin"
+
+#: ../etherlab/EtherCATManagementEditor.py:942
+#: ../etherlab/EtherCATManagementEditor.py:1290
+msgid "bin files (*.bin)|*.bin|All files|*.*"
+msgstr "bin files (*.bin)|*.bin|All files|*.*"
+
+#: ../dialogs/DurationEditorDialog.py:159
 msgid "days"
 msgstr "days"
 
@@ -3620,35 +4278,39 @@
 msgid "exited with status {a1} (pid {a2})\n"
 msgstr "exited with status {a1} (pid {a2})\n"
 
-#: ../dialogs/PouDialog.py:36
+#: ../dialogs/PouDialog.py:110
 msgid "function"
 msgstr "function"
 
-#: ../dialogs/PouDialog.py:36
+#: ../dialogs/PouDialog.py:110
 msgid "functionBlock"
 msgstr "functionBlock"
 
-#: ../dialogs/DurationEditorDialog.py:158
+#: ../dialogs/DurationEditorDialog.py:159
 msgid "hours"
 msgstr "hours"
 
-#: ../ProjectController.py:753
+#: ../ProjectController.py:784
 msgid "matiec installation is not found\n"
 msgstr "matiec installation is not found\n"
 
-#: ../dialogs/DurationEditorDialog.py:160
+#: ../dialogs/DurationEditorDialog.py:162
+msgid "microseconds"
+msgstr "microseconds"
+
+#: ../dialogs/DurationEditorDialog.py:161
 msgid "milliseconds"
 msgstr "milliseconds"
 
-#: ../dialogs/DurationEditorDialog.py:159
+#: ../dialogs/DurationEditorDialog.py:160
 msgid "minutes"
 msgstr "minutes"
 
-#: ../dialogs/PouDialog.py:36
+#: ../dialogs/PouDialog.py:110
 msgid "program"
 msgstr "program"
 
-#: ../dialogs/DurationEditorDialog.py:159
+#: ../dialogs/DurationEditorDialog.py:160
 msgid "seconds"
 msgstr "seconds"
 
@@ -3664,6 +4326,10 @@
 msgid "string right of"
 msgstr "string right of"
 
+#: ../etherlab/EtherCATManagementEditor.py:323
+msgid "update"
+msgstr "update"
+
 #: ../Beremiz.py:167
 msgid "update info unavailable."
 msgstr "update info unavailable."
@@ -3718,6 +4384,33 @@
 msgid "CAN_Driver"
 msgstr "CAN_Driver"
 
+msgid "BACnetServerNode"
+msgstr "BACnetServerNode"
+
+msgid "Network_Interface"
+msgstr "Network_Interface"
+
+msgid "UDP_Port_Number"
+msgstr "UDP_Port_Number"
+
+msgid "BACnet_Communication_Control_Password"
+msgstr "BACnet_Communication_Control_Password"
+
+msgid "BACnet_Device_ID"
+msgstr "BACnet_Device_ID"
+
+msgid "BACnet_Device_Name"
+msgstr "BACnet_Device_Name"
+
+msgid "BACnet_Device_Location"
+msgstr "BACnet_Device_Location"
+
+msgid "BACnet_Device_Description"
+msgstr "BACnet_Device_Description"
+
+msgid "BACnet_Device_Application_Software_Version"
+msgstr "BACnet_Device_Application_Software_Version"
+
 msgid "Generic"
 msgstr "Generic"
 
@@ -3814,6 +4507,24 @@
 msgid "MaxRemoteTCPclients"
 msgstr "MaxRemoteTCPclients"
 
+msgid "CIA402SlaveParams"
+msgstr "CIA402SlaveParams"
+
+msgid "Enable%s"
+msgstr "Enable%s"
+
+msgid "ProcessVariables"
+msgstr "ProcessVariables"
+
+msgid "variable"
+msgstr "variable"
+
+msgid "ReadFrom"
+msgstr "ReadFrom"
+
+msgid "WriteTo"
+msgstr "WriteTo"
+
 msgid "BaseParams"
 msgstr "BaseParams"
 
@@ -3844,9 +4555,6 @@
 msgid "variables"
 msgstr "variables"
 
-msgid "variable"
-msgstr "variable"
-
 msgid "name"
 msgstr "name"
 
--- a/i18n/messages.pot	Wed Oct 03 14:19:41 2018 +0300
+++ b/i18n/messages.pot	Wed Oct 03 14:20:57 2018 +0300
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: Beremiz\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-06-15 16:39+0300\n"
+"POT-Creation-Date: 2018-10-03 14:20+0300\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -32,37 +32,46 @@
 "Traceback:\n"
 msgstr ""
 
-#: ../controls/VariablePanel.py:90
+#: ../controls/VariablePanel.py:87
 msgid "   External"
 msgstr ""
 
-#: ../controls/VariablePanel.py:89
+#: ../controls/VariablePanel.py:86
 msgid "   InOut"
 msgstr ""
 
-#: ../controls/VariablePanel.py:89
+#: ../controls/VariablePanel.py:86
 msgid "   Input"
 msgstr ""
 
-#: ../controls/VariablePanel.py:90
+#: ../controls/VariablePanel.py:87
 msgid "   Local"
 msgstr ""
 
-#: ../controls/VariablePanel.py:89
+#: ../controls/VariablePanel.py:86
 msgid "   Output"
 msgstr ""
 
-#: ../controls/VariablePanel.py:91
+#: ../controls/VariablePanel.py:88
 msgid "   Temp"
 msgstr ""
 
-#: ../dialogs/PouTransitionDialog.py:101 ../dialogs/ProjectDialog.py:74
-#: ../dialogs/PouActionDialog.py:99 ../dialogs/PouDialog.py:122
+#: ../etherlab/etherlab.py:301
+#, python-format
+msgid " (rev. %s)"
+msgstr ""
+
+#: ../etherlab/CommonEtherCATFunction.py:1599
+msgid " Warning..."
+msgstr ""
+
+#: ../dialogs/PouTransitionDialog.py:100 ../dialogs/ProjectDialog.py:72
+#: ../dialogs/PouActionDialog.py:99 ../dialogs/PouDialog.py:157
 #, python-format
 msgid " and %s"
 msgstr ""
 
-#: ../ProjectController.py:1182
+#: ../ProjectController.py:1236
 msgid " generation failed !\n"
 msgstr ""
 
@@ -86,7 +95,7 @@
 msgid "\"%s\" can't use itself!"
 msgstr ""
 
-#: ../IDEFrame.py:1688 ../IDEFrame.py:1707
+#: ../IDEFrame.py:1705 ../IDEFrame.py:1724
 #, python-format
 msgid "\"%s\" config already exists!"
 msgstr ""
@@ -101,32 +110,32 @@
 msgid "\"%s\" configuration doesn't exist !!!"
 msgstr ""
 
-#: ../IDEFrame.py:1638
+#: ../IDEFrame.py:1655
 #, python-format
 msgid "\"%s\" data type already exists!"
 msgstr ""
 
-#: ../dialogs/PouTransitionDialog.py:112 ../dialogs/BlockPreviewDialog.py:220
+#: ../dialogs/PouTransitionDialog.py:111 ../dialogs/BlockPreviewDialog.py:220
 #: ../dialogs/PouActionDialog.py:110 ../editors/Viewer.py:304
 #: ../editors/Viewer.py:374 ../editors/Viewer.py:398 ../editors/Viewer.py:418
 #: ../editors/TextViewer.py:270 ../editors/TextViewer.py:299
-#: ../controls/VariablePanel.py:425
+#: ../controls/VariablePanel.py:424
 #, python-format
 msgid "\"%s\" element for this pou already exists!"
 msgstr ""
 
-#: ../BeremizIDE.py:928
+#: ../BeremizIDE.py:925
 #, python-format
 msgid "\"%s\" folder is not a valid Beremiz project\n"
 msgstr ""
 
-#: ../dialogs/SFCStepNameDialog.py:56 ../dialogs/PouTransitionDialog.py:108
+#: ../dialogs/SFCStepNameDialog.py:56 ../dialogs/PouTransitionDialog.py:107
 #: ../dialogs/BlockPreviewDialog.py:209 ../dialogs/PouNameDialog.py:54
-#: ../dialogs/PouActionDialog.py:106 ../dialogs/PouDialog.py:129
-#: ../editors/ResourceEditor.py:483 ../editors/ResourceEditor.py:518
-#: ../editors/DataTypeEditor.py:571 ../editors/DataTypeEditor.py:603
-#: ../editors/CodeFileEditor.py:774 ../controls/VariablePanel.py:787
-#: ../IDEFrame.py:1629
+#: ../dialogs/PouActionDialog.py:106 ../dialogs/PouDialog.py:164
+#: ../etherlab/ConfigEditor.py:973 ../editors/ResourceEditor.py:481
+#: ../editors/ResourceEditor.py:518 ../editors/DataTypeEditor.py:571
+#: ../editors/DataTypeEditor.py:603 ../editors/CodeFileEditor.py:793
+#: ../controls/VariablePanel.py:798 ../IDEFrame.py:1646
 #, python-format
 msgid "\"%s\" is a keyword. It can't be used!"
 msgstr ""
@@ -141,27 +150,28 @@
 msgid "\"%s\" is not a valid folder!"
 msgstr ""
 
-#: ../dialogs/SFCStepNameDialog.py:54 ../dialogs/PouTransitionDialog.py:106
+#: ../dialogs/SFCStepNameDialog.py:54 ../dialogs/PouTransitionDialog.py:105
 #: ../dialogs/BlockPreviewDialog.py:205 ../dialogs/PouNameDialog.py:52
-#: ../dialogs/PouActionDialog.py:104 ../dialogs/PouDialog.py:127
-#: ../editors/ResourceEditor.py:481 ../editors/ResourceEditor.py:516
-#: ../editors/DataTypeEditor.py:601 ../editors/CodeFileEditor.py:772
-#: ../controls/VariablePanel.py:785 ../IDEFrame.py:1627
+#: ../dialogs/PouActionDialog.py:104 ../dialogs/PouDialog.py:162
+#: ../etherlab/ConfigEditor.py:971 ../editors/ResourceEditor.py:479
+#: ../editors/ResourceEditor.py:516 ../editors/DataTypeEditor.py:601
+#: ../editors/CodeFileEditor.py:791 ../controls/VariablePanel.py:796
+#: ../IDEFrame.py:1644
 #, python-format
 msgid "\"%s\" is not a valid identifier!"
 msgstr ""
 
-#: ../IDEFrame.py:2436
+#: ../IDEFrame.py:2454
 #, python-format
 msgid "\"%s\" is used by one or more POUs. Do you wish to continue?"
 msgstr ""
 
-#: ../dialogs/BlockPreviewDialog.py:213 ../dialogs/PouDialog.py:131
+#: ../dialogs/BlockPreviewDialog.py:213 ../dialogs/PouDialog.py:166
 #: ../editors/Viewer.py:302 ../editors/Viewer.py:359 ../editors/Viewer.py:389
 #: ../editors/Viewer.py:411 ../editors/TextViewer.py:268
 #: ../editors/TextViewer.py:297 ../editors/TextViewer.py:351
-#: ../editors/TextViewer.py:374 ../controls/VariablePanel.py:364
-#: ../IDEFrame.py:1647
+#: ../editors/TextViewer.py:374 ../controls/VariablePanel.py:363
+#: ../IDEFrame.py:1664
 #, python-format
 msgid "\"%s\" pou already exists!"
 msgstr ""
@@ -188,7 +198,7 @@
 "Right value must be greater than left value."
 msgstr ""
 
-#: ../PLCGenerator.py:1133
+#: ../PLCGenerator.py:1182
 #, python-brace-format
 msgid "\"{a1}\" function cancelled in \"{a2}\" POU: No input connected"
 msgstr ""
@@ -208,35 +218,35 @@
 msgid "\"{a1}\" resource doesn't exist in \"{a2}\" configuration !!!"
 msgstr ""
 
-#: ../controls/DebugVariablePanel/DebugVariablePanel.py:580
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:559
 #, python-format
 msgid "%03gms"
 msgstr ""
 
-#: ../controls/DebugVariablePanel/DebugVariablePanel.py:571
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:550
 #, python-format
 msgid "%dd"
 msgstr ""
 
-#: ../controls/DebugVariablePanel/DebugVariablePanel.py:61
-#: ../controls/DebugVariablePanel/DebugVariablePanel.py:572
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:189
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:551
 #, python-format
 msgid "%dh"
 msgstr ""
 
-#: ../controls/DebugVariablePanel/DebugVariablePanel.py:60
-#: ../controls/DebugVariablePanel/DebugVariablePanel.py:573
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:188
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:552
 #, python-format
 msgid "%dm"
 msgstr ""
 
-#: ../controls/DebugVariablePanel/DebugVariablePanel.py:58
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:186
 #, python-format
 msgid "%dms"
 msgstr ""
 
-#: ../controls/DebugVariablePanel/DebugVariablePanel.py:59
-#: ../controls/DebugVariablePanel/DebugVariablePanel.py:574
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:187
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:553
 #, python-format
 msgid "%ds"
 msgstr ""
@@ -269,7 +279,12 @@
 msgid "%s body don't have text!"
 msgstr ""
 
-#: ../IDEFrame.py:388
+#: ../etherlab/ConfigEditor.py:856
+#, python-format
+msgid "%s's nodes"
+msgstr ""
+
+#: ../IDEFrame.py:391
 msgid "&Add Element"
 msgstr ""
 
@@ -278,35 +293,35 @@
 msgid "&Close"
 msgstr ""
 
-#: ../IDEFrame.py:361
+#: ../IDEFrame.py:364
 msgid "&Configuration"
 msgstr ""
 
-#: ../IDEFrame.py:350
+#: ../IDEFrame.py:353
 msgid "&Data Type"
 msgstr ""
 
-#: ../IDEFrame.py:392
+#: ../IDEFrame.py:395
 msgid "&Delete"
 msgstr ""
 
-#: ../IDEFrame.py:342
+#: ../IDEFrame.py:345
 msgid "&Display"
 msgstr ""
 
-#: ../IDEFrame.py:341
+#: ../IDEFrame.py:344
 msgid "&Edit"
 msgstr ""
 
-#: ../IDEFrame.py:340
+#: ../IDEFrame.py:343
 msgid "&File"
 msgstr ""
 
-#: ../IDEFrame.py:352
+#: ../IDEFrame.py:355
 msgid "&Function"
 msgstr ""
 
-#: ../IDEFrame.py:343
+#: ../IDEFrame.py:346
 msgid "&Help"
 msgstr ""
 
@@ -314,7 +329,7 @@
 msgid "&License"
 msgstr ""
 
-#: ../IDEFrame.py:356
+#: ../IDEFrame.py:359
 msgid "&Program"
 msgstr ""
 
@@ -326,10 +341,14 @@
 msgid "&Recent Projects"
 msgstr ""
 
-#: ../IDEFrame.py:358
+#: ../IDEFrame.py:361
 msgid "&Resource"
 msgstr ""
 
+#: ../etherlab/ConfigEditor.py:450
+msgid "'Read from' and 'Write to' variables types are not compatible"
+msgstr ""
+
 #: ../controls/SearchResultPanel.py:247
 #, python-brace-format
 msgid "'{a1}' - {a2} match in project"
@@ -340,7 +359,7 @@
 msgid "'{a1}' - {a2} matches in project"
 msgstr ""
 
-#: ../connectors/PYRO/__init__.py:98
+#: ../connectors/PYRO/__init__.py:99
 #, python-brace-format
 msgid "'{a1}' is located at {a2}\n"
 msgstr ""
@@ -350,8 +369,8 @@
 msgid "(%d matches)"
 msgstr ""
 
-#: ../dialogs/PouTransitionDialog.py:103 ../dialogs/PouActionDialog.py:101
-#: ../dialogs/PouDialog.py:124
+#: ../dialogs/PouTransitionDialog.py:102 ../dialogs/PouActionDialog.py:101
+#: ../dialogs/PouDialog.py:159
 #, python-format
 msgid ", %s"
 msgstr ""
@@ -376,15 +395,15 @@
 msgid "1s"
 msgstr ""
 
-#: ../dialogs/PouDialog.py:133 ../IDEFrame.py:1650 ../IDEFrame.py:1696
-#: ../IDEFrame.py:1715
+#: ../dialogs/PouDialog.py:168 ../IDEFrame.py:1667 ../IDEFrame.py:1713
+#: ../IDEFrame.py:1732
 #, python-format
 msgid "A POU has an element named \"%s\". This could cause a conflict. Do you wish to continue?"
 msgstr ""
 
-#: ../dialogs/SFCStepNameDialog.py:58 ../dialogs/PouTransitionDialog.py:110
+#: ../dialogs/SFCStepNameDialog.py:58 ../dialogs/PouTransitionDialog.py:109
 #: ../dialogs/PouNameDialog.py:56 ../dialogs/PouActionDialog.py:108
-#: ../controls/VariablePanel.py:789 ../IDEFrame.py:1664 ../IDEFrame.py:1677
+#: ../controls/VariablePanel.py:800 ../IDEFrame.py:1681 ../IDEFrame.py:1694
 #, python-format
 msgid "A POU named \"%s\" already exists!"
 msgstr ""
@@ -394,21 +413,21 @@
 msgid "A child named \"{a1}\" already exists -> \"{a2}\"\n"
 msgstr ""
 
-#: ../dialogs/BrowseLocationsDialog.py:229
+#: ../dialogs/BrowseLocationsDialog.py:228
 msgid "A location must be selected!"
 msgstr ""
 
-#: ../editors/ResourceEditor.py:485
+#: ../editors/ResourceEditor.py:483
 msgid "A task with the same name already exists!"
 msgstr ""
 
-#: ../dialogs/SFCStepNameDialog.py:60 ../controls/VariablePanel.py:791
-#: ../IDEFrame.py:1666 ../IDEFrame.py:1679
+#: ../dialogs/SFCStepNameDialog.py:60 ../controls/VariablePanel.py:802
+#: ../IDEFrame.py:1683 ../IDEFrame.py:1696
 #, python-format
 msgid "A variable with \"%s\" as name already exists in this pou!"
 msgstr ""
 
-#: ../editors/CodeFileEditor.py:778
+#: ../editors/CodeFileEditor.py:797
 #, python-format
 msgid "A variable with \"%s\" as name already exists!"
 msgstr ""
@@ -421,11 +440,15 @@
 msgid "Absolute number"
 msgstr ""
 
+#: ../etherlab/ConfigEditor.py:48
+msgid "Access"
+msgstr ""
+
 #: ../dialogs/SFCStepDialog.py:75 ../dialogs/ActionBlockDialog.py:47
 msgid "Action"
 msgstr ""
 
-#: ../editors/Viewer.py:653 ../editors/Viewer.py:2427
+#: ../editors/Viewer.py:656 ../editors/Viewer.py:2429
 msgid "Action Block"
 msgstr ""
 
@@ -450,56 +473,64 @@
 msgid "Actions:"
 msgstr ""
 
-#: ../editors/Viewer.py:473
+#: ../editors/Viewer.py:484
 msgid "Active"
 msgstr ""
 
 #: ../canfestival/SlaveEditor.py:84 ../canfestival/NetworkEditor.py:108
-#: ../BeremizIDE.py:1001 ../editors/Viewer.py:686
+#: ../BeremizIDE.py:998 ../editors/Viewer.py:689
 msgid "Add"
 msgstr ""
 
-#: ../IDEFrame.py:1924 ../IDEFrame.py:1959
+#: ../IDEFrame.py:1941 ../IDEFrame.py:1976
 msgid "Add Action"
 msgstr ""
 
-#: ../features.py:33
+#: ../features.py:22
 msgid "Add C code accessing located variables synchronously"
 msgstr ""
 
-#: ../IDEFrame.py:1907
+#: ../IDEFrame.py:1924
 msgid "Add Configuration"
 msgstr ""
 
-#: ../IDEFrame.py:1887
+#: ../IDEFrame.py:1904
 msgid "Add DataType"
 msgstr ""
 
-#: ../editors/Viewer.py:609
+#: ../editors/Viewer.py:612
 msgid "Add Divergence Branch"
 msgstr ""
 
+#: ../etherlab/EthercatMaster.py:297
+msgid "Add Ethercat Slave"
+msgstr ""
+
+#: ../etherlab/EthercatMaster.py:297
+msgid "Add Ethercat Slave to Master"
+msgstr ""
+
 #: ../dialogs/DiscoveryDialog.py:121
 msgid "Add IP"
 msgstr ""
 
-#: ../IDEFrame.py:1895
+#: ../IDEFrame.py:1912
 msgid "Add POU"
 msgstr ""
 
-#: ../features.py:34
+#: ../features.py:23
 msgid "Add Python code executed asynchronously"
 msgstr ""
 
-#: ../IDEFrame.py:1935 ../IDEFrame.py:1985
+#: ../IDEFrame.py:1952 ../IDEFrame.py:2002
 msgid "Add Resource"
 msgstr ""
 
-#: ../IDEFrame.py:1913 ../IDEFrame.py:1956
+#: ../IDEFrame.py:1930 ../IDEFrame.py:1973
 msgid "Add Transition"
 msgstr ""
 
-#: ../editors/Viewer.py:596
+#: ../editors/Viewer.py:599
 msgid "Add Wire Segment"
 msgstr ""
 
@@ -507,7 +538,7 @@
 msgid "Add a new initial step"
 msgstr ""
 
-#: ../editors/Viewer.py:2791 ../editors/SFCViewer.py:784
+#: ../editors/Viewer.py:2790 ../editors/SFCViewer.py:784
 msgid "Add a new jump"
 msgstr ""
 
@@ -515,7 +546,7 @@
 msgid "Add a new step"
 msgstr ""
 
-#: ../features.py:35
+#: ../features.py:24
 msgid "Add a simple WxGlade based GUI."
 msgstr ""
 
@@ -527,22 +558,46 @@
 msgid "Add element"
 msgstr ""
 
-#: ../editors/ResourceEditor.py:283
+#: ../etherlab/ConfigEditor.py:1388
+msgid "Add file from ESI files database"
+msgstr ""
+
+#: ../etherlab/ConfigEditor.py:1360
+msgid "Add file to project"
+msgstr ""
+
+#: ../editors/ResourceEditor.py:281
 msgid "Add instance"
 msgstr ""
 
+#: ../etherlab/ConfigEditor.py:652
+msgid "Add process variable"
+msgstr ""
+
 #: ../canfestival/NetworkEditor.py:110
 msgid "Add slave"
 msgstr ""
 
-#: ../editors/ResourceEditor.py:252
+#: ../etherlab/ConfigEditor.py:679
+msgid "Add startup service variable"
+msgstr ""
+
+#: ../editors/ResourceEditor.py:250
 msgid "Add task"
 msgstr ""
 
-#: ../editors/CodeFileEditor.py:654 ../controls/VariablePanel.py:481
+#: ../bacnet/BacnetSlaveEditor.py:811 ../editors/CodeFileEditor.py:672
+#: ../controls/VariablePanel.py:483
 msgid "Add variable"
 msgstr ""
 
+#: ../etherlab/etherlab.py:186
+msgid ""
+"Adding a PDO not defined in default configuration\n"
+"for mapping needed location variables\n"
+"(1 if possible)"
+msgstr ""
+
 #: ../plcopen/iec_std.csv:33
 msgid "Addition"
 msgstr ""
@@ -551,27 +606,28 @@
 msgid "Additional function blocks"
 msgstr ""
 
-#: ../editors/Viewer.py:669
+#: ../editors/Viewer.py:672
 msgid "Adjust Block Size"
 msgstr ""
 
-#: ../editors/Viewer.py:1720
+#: ../editors/Viewer.py:1722
 msgid "Alignment"
 msgstr ""
 
 #: ../dialogs/BrowseLocationsDialog.py:42
-#: ../dialogs/BrowseLocationsDialog.py:53
-#: ../dialogs/BrowseLocationsDialog.py:152
-#: ../dialogs/BrowseLocationsDialog.py:155 ../controls/LogViewer.py:307
-#: ../controls/VariablePanel.py:88
+#: ../dialogs/BrowseLocationsDialog.py:50
+#: ../dialogs/BrowseLocationsDialog.py:151
+#: ../dialogs/BrowseLocationsDialog.py:154 ../etherlab/ConfigEditor.py:65
+#: ../etherlab/ConfigEditor.py:853 ../controls/LogViewer.py:307
+#: ../controls/VariablePanel.py:85
 msgid "All"
 msgstr ""
 
-#: ../editors/FileManagementPanel.py:37
+#: ../editors/FileManagementPanel.py:51
 msgid "All files (*.*)|*.*|CSV files (*.csv)|*.csv"
 msgstr ""
 
-#: ../ProjectController.py:1670
+#: ../ProjectController.py:1752
 msgid "Already connected. Please disconnect\n"
 msgstr ""
 
@@ -584,6 +640,23 @@
 msgid "An instance with the same name already exists!"
 msgstr ""
 
+#: ../etherlab/ConfigEditor.py:975
+#, python-format
+msgid "An variable named \"%s\" already exists!"
+msgstr ""
+
+#: ../bacnet/BacnetSlaveEditor.py:935
+msgid "Analog Input Objects"
+msgstr ""
+
+#: ../bacnet/BacnetSlaveEditor.py:934
+msgid "Analog Output Objects"
+msgstr ""
+
+#: ../bacnet/BacnetSlaveEditor.py:933
+msgid "Analog Value Objects"
+msgstr ""
+
 #: ../dialogs/ConnectionDialog.py:103
 msgid "Apply name modification to all continuations with the same name"
 msgstr ""
@@ -605,7 +678,7 @@
 msgstr ""
 
 #: ../editors/DataTypeEditor.py:60 ../editors/DataTypeEditor.py:649
-#: ../controls/VariablePanel.py:872
+#: ../controls/VariablePanel.py:883
 msgid "Array"
 msgstr ""
 
@@ -613,22 +686,34 @@
 msgid "Assignment"
 msgstr ""
 
-#: ../dialogs/FBDVariableDialog.py:226
+#: ../dialogs/FBDVariableDialog.py:227
 msgid "At least a variable or an expression must be selected!"
 msgstr ""
 
-#: ../controls/ProjectPropertiesPanel.py:111
+#: ../controls/ProjectPropertiesPanel.py:113
 msgid "Author"
 msgstr ""
 
-#: ../controls/ProjectPropertiesPanel.py:108
+#: ../controls/ProjectPropertiesPanel.py:110
 msgid "Author Name (optional):"
 msgstr ""
 
+#: ../etherlab/EthercatCIA402Slave.py:125
+msgid "Axis Pos"
+msgstr ""
+
+#: ../etherlab/EthercatCIA402Slave.py:118
+msgid "Axis Ref"
+msgstr ""
+
 #: ../dialogs/FindInPouDialog.py:80
 msgid "Backward"
 msgstr ""
 
+#: ../features.py:19
+msgid "Bacnet support"
+msgstr ""
+
 #: ../canfestival/config_utils.py:365 ../canfestival/config_utils.py:672
 #, python-format
 msgid "Bad location size : %s"
@@ -639,14 +724,30 @@
 msgid "Base Type:"
 msgstr ""
 
-#: ../editors/DataTypeEditor.py:639 ../controls/VariablePanel.py:830
+#: ../editors/DataTypeEditor.py:639 ../controls/VariablePanel.py:841
 msgid "Base Types"
 msgstr ""
 
-#: ../BeremizIDE.py:483
+#: ../BeremizIDE.py:479
 msgid "Beremiz"
 msgstr ""
 
+#: ../runtime/NevowServer.py:201
+msgid "Beremiz Runtime Settings"
+msgstr ""
+
+#: ../bacnet/BacnetSlaveEditor.py:938
+msgid "Binary Input Objects"
+msgstr ""
+
+#: ../bacnet/BacnetSlaveEditor.py:937
+msgid "Binary Output Objects"
+msgstr ""
+
+#: ../bacnet/BacnetSlaveEditor.py:936
+msgid "Binary Value Objects"
+msgstr ""
+
 #: ../plcopen/iec_std.csv:70
 msgid "Binary selection (1 of 2)"
 msgstr ""
@@ -675,7 +776,7 @@
 msgid "Bitwise inverting"
 msgstr ""
 
-#: ../editors/Viewer.py:621 ../editors/Viewer.py:2440
+#: ../editors/Viewer.py:624 ../editors/Viewer.py:2442
 msgid "Block"
 msgstr ""
 
@@ -687,11 +788,11 @@
 msgid "Block name"
 msgstr ""
 
-#: ../editors/Viewer.py:586
+#: ../editors/Viewer.py:589
 msgid "Bottom"
 msgstr ""
 
-#: ../ProjectController.py:1400
+#: ../runtime/PlcStatus.py:11
 msgid "Broken"
 msgstr ""
 
@@ -700,27 +801,27 @@
 msgid "Browse %s values library"
 msgstr ""
 
-#: ../dialogs/BrowseLocationsDialog.py:72
+#: ../dialogs/BrowseLocationsDialog.py:69
 msgid "Browse Locations"
 msgstr ""
 
-#: ../ProjectController.py:1815
+#: ../ProjectController.py:1898
 msgid "Build"
 msgstr ""
 
-#: ../ProjectController.py:1335
+#: ../ProjectController.py:1397
 msgid "Build directory already clean\n"
 msgstr ""
 
-#: ../ProjectController.py:1816
+#: ../ProjectController.py:1899
 msgid "Build project into build folder"
 msgstr ""
 
-#: ../ProjectController.py:1108
+#: ../ProjectController.py:1155
 msgid "C Build crashed !\n"
 msgstr ""
 
-#: ../ProjectController.py:1105
+#: ../ProjectController.py:1152
 msgid "C Build failed.\n"
 msgstr ""
 
@@ -728,7 +829,7 @@
 msgid "C code"
 msgstr ""
 
-#: ../ProjectController.py:1186
+#: ../ProjectController.py:1240
 msgid "C code generated successfully.\n"
 msgstr ""
 
@@ -741,7 +842,7 @@
 msgid "C compilation of %s failed.\n"
 msgstr ""
 
-#: ../features.py:33
+#: ../features.py:22
 msgid "C extension"
 msgstr ""
 
@@ -757,16 +858,20 @@
 msgid "CANOpen slave"
 msgstr ""
 
-#: ../features.py:31
+#: ../features.py:18
 msgid "CANopen support"
 msgstr ""
 
+#: ../etherlab/ConfigEditor.py:858
+msgid "CIA402 nodes"
+msgstr ""
+
 #: ../plcopen/plcopen.py:1839 ../plcopen/plcopen.py:1853
 #: ../plcopen/plcopen.py:1878 ../plcopen/plcopen.py:1894
 msgid "Can only generate execution order on FBD networks!"
 msgstr ""
 
-#: ../controls/VariablePanel.py:291
+#: ../controls/VariablePanel.py:290
 msgid "Can only give a location to local or global variables"
 msgstr ""
 
@@ -775,7 +880,7 @@
 msgid "Can't generate program to file %s!"
 msgstr ""
 
-#: ../controls/VariablePanel.py:289
+#: ../controls/VariablePanel.py:288
 msgid "Can't give a location to a function block instance"
 msgstr ""
 
@@ -784,7 +889,7 @@
 msgid "Can't save project to file %s!"
 msgstr ""
 
-#: ../controls/VariablePanel.py:339
+#: ../controls/VariablePanel.py:338
 msgid "Can't set an initial value to a function block instance"
 msgstr ""
 
@@ -798,11 +903,11 @@
 msgid "Cannot find lower free IEC channel than %d\n"
 msgstr ""
 
-#: ../connectors/PYRO/__init__.py:139
+#: ../connectors/PYRO/__init__.py:140
 msgid "Cannot get PLC status - connection failed.\n"
 msgstr ""
 
-#: ../ProjectController.py:967
+#: ../ProjectController.py:1013
 msgid "Cannot open/parse VARIABLES.csv!\n"
 msgstr ""
 
@@ -811,7 +916,7 @@
 msgid "Cannot set bit offset for non bool '{a1}' variable (ID:{a2},Idx:{a3},sIdx:{a4}))"
 msgstr ""
 
-#: ../ProjectController.py:1761
+#: ../ProjectController.py:1842
 msgid "Cannot transfer while PLC is running. Stop it now?"
 msgstr ""
 
@@ -819,27 +924,27 @@
 msgid "Case sensitive"
 msgstr ""
 
-#: ../editors/Viewer.py:581
+#: ../editors/Viewer.py:584
 msgid "Center"
 msgstr ""
 
-#: ../Beremiz_service.py:276
+#: ../Beremiz_service.py:289
 msgid "Change IP of interface to bind"
 msgstr ""
 
-#: ../Beremiz_service.py:275
+#: ../Beremiz_service.py:288
 msgid "Change Name"
 msgstr ""
 
-#: ../IDEFrame.py:1977
+#: ../IDEFrame.py:1994
 msgid "Change POU Type To"
 msgstr ""
 
-#: ../Beremiz_service.py:277
+#: ../Beremiz_service.py:290
 msgid "Change Port Number"
 msgstr ""
 
-#: ../Beremiz_service.py:278
+#: ../Beremiz_service.py:291
 msgid "Change working directory"
 msgstr ""
 
@@ -851,16 +956,21 @@
 msgid "Choose a SVG file"
 msgstr ""
 
-#: ../ProjectController.py:561
+#: ../etherlab/EtherCATManagementEditor.py:911
+#: ../etherlab/EtherCATManagementEditor.py:1306
+msgid "Choose a binary file"
+msgstr ""
+
+#: ../ProjectController.py:582
 msgid "Choose a directory to save project"
 msgstr ""
 
-#: ../canfestival/canfestival.py:171 ../PLCOpenEditor.py:276
-#: ../PLCOpenEditor.py:308 ../PLCOpenEditor.py:357
+#: ../canfestival/canfestival.py:171 ../bacnet/bacnet.py:434
+#: ../PLCOpenEditor.py:276 ../PLCOpenEditor.py:308 ../PLCOpenEditor.py:357
 msgid "Choose a file"
 msgstr ""
 
-#: ../BeremizIDE.py:900
+#: ../BeremizIDE.py:897
 msgid "Choose a project"
 msgstr ""
 
@@ -869,19 +979,23 @@
 msgid "Choose a value for %s:"
 msgstr ""
 
-#: ../Beremiz_service.py:333
+#: ../Beremiz_service.py:346
 msgid "Choose a working directory "
 msgstr ""
 
-#: ../BeremizIDE.py:864
+#: ../etherlab/ConfigEditor.py:1234
+msgid "Choose an XML file"
+msgstr ""
+
+#: ../BeremizIDE.py:861
 msgid "Choose an empty directory for new project"
 msgstr ""
 
-#: ../ProjectController.py:468
+#: ../ProjectController.py:483
 msgid "Chosen folder doesn't contain a program. It's not a valid project!"
 msgstr ""
 
-#: ../ProjectController.py:435
+#: ../ProjectController.py:450
 msgid "Chosen folder isn't empty. You can't use it for a new project!"
 msgstr ""
 
@@ -889,15 +1003,15 @@
 msgid "Class"
 msgstr ""
 
-#: ../controls/VariablePanel.py:472
+#: ../controls/VariablePanel.py:474
 msgid "Class Filter:"
 msgstr ""
 
-#: ../dialogs/FBDVariableDialog.py:74
+#: ../dialogs/FBDVariableDialog.py:75
 msgid "Class:"
 msgstr ""
 
-#: ../ProjectController.py:1821
+#: ../ProjectController.py:1904
 msgid "Clean"
 msgstr ""
 
@@ -905,32 +1019,33 @@
 msgid "Clean log messages"
 msgstr ""
 
-#: ../ProjectController.py:1822
+#: ../ProjectController.py:1905
 msgid "Clean project build folder"
 msgstr ""
 
-#: ../ProjectController.py:1332
+#: ../ProjectController.py:1394
 msgid "Cleaning the build directory\n"
 msgstr ""
 
-#: ../IDEFrame.py:437
+#: ../IDEFrame.py:439
 msgid "Clear Errors"
 msgstr ""
 
-#: ../editors/Viewer.py:680
+#: ../editors/Viewer.py:683
 msgid "Clear Execution Order"
 msgstr ""
 
 #: ../dialogs/SearchInProjectDialog.py:107 ../dialogs/FindInPouDialog.py:112
+#: ../etherlab/ConfigEditor.py:1361
 msgid "Close"
 msgstr ""
 
-#: ../BeremizIDE.py:627 ../PLCOpenEditor.py:183
+#: ../BeremizIDE.py:623 ../PLCOpenEditor.py:183
 msgid "Close Application"
 msgstr ""
 
-#: ../BeremizIDE.py:253 ../BeremizIDE.py:566 ../PLCOpenEditor.py:81
-#: ../IDEFrame.py:1040
+#: ../BeremizIDE.py:253 ../BeremizIDE.py:562 ../PLCOpenEditor.py:81
+#: ../IDEFrame.py:1053
 msgid "Close Project"
 msgstr ""
 
@@ -938,28 +1053,32 @@
 msgid "Close Tab"
 msgstr ""
 
-#: ../editors/Viewer.py:638 ../editors/Viewer.py:2448
+#: ../editors/Viewer.py:641 ../editors/Viewer.py:2450
 msgid "Coil"
 msgstr ""
 
-#: ../editors/Viewer.py:659 ../editors/LDViewer.py:517
+#: ../editors/Viewer.py:662 ../editors/LDViewer.py:517
 msgid "Comment"
 msgstr ""
 
+#: ../etherlab/ConfigEditor.py:66
+msgid "Communication Parameters"
+msgstr ""
+
 #: ../BeremizIDE.py:303 ../BeremizIDE.py:307 ../PLCOpenEditor.py:134
 #: ../PLCOpenEditor.py:138
 msgid "Community support"
 msgstr ""
 
-#: ../dialogs/ProjectDialog.py:65
+#: ../dialogs/ProjectDialog.py:63
 msgid "Company Name"
 msgstr ""
 
-#: ../controls/ProjectPropertiesPanel.py:106
+#: ../controls/ProjectPropertiesPanel.py:108
 msgid "Company Name (required):"
 msgstr ""
 
-#: ../controls/ProjectPropertiesPanel.py:107
+#: ../controls/ProjectPropertiesPanel.py:109
 msgid "Company URL (optional):"
 msgstr ""
 
@@ -967,7 +1086,7 @@
 msgid "Comparison"
 msgstr ""
 
-#: ../ProjectController.py:756
+#: ../ProjectController.py:787
 msgid "Compiling IEC Program into C code...\n"
 msgstr ""
 
@@ -993,25 +1112,25 @@
 
 #: ../editors/Viewer.py:351 ../editors/Viewer.py:381 ../editors/Viewer.py:403
 #: ../editors/TextViewer.py:289 ../editors/TextViewer.py:343
-#: ../editors/TextViewer.py:366 ../controls/VariablePanel.py:354
+#: ../editors/TextViewer.py:366 ../controls/VariablePanel.py:353
 msgid "Confirm or change variable name"
 msgstr ""
 
-#: ../ProjectController.py:1842
+#: ../ProjectController.py:1925
 msgid "Connect"
 msgstr ""
 
-#: ../ProjectController.py:1843
+#: ../ProjectController.py:1926
 msgid "Connect to the target PLC"
 msgstr ""
 
-#: ../ProjectController.py:1391
+#: ../ProjectController.py:1469
 #, python-format
 msgid "Connected to URI: %s"
 msgstr ""
 
-#: ../dialogs/SFCTransitionDialog.py:78 ../editors/Viewer.py:623
-#: ../editors/Viewer.py:2441
+#: ../dialogs/SFCTransitionDialog.py:78 ../editors/Viewer.py:626
+#: ../editors/Viewer.py:2443
 msgid "Connection"
 msgstr ""
 
@@ -1019,25 +1138,25 @@
 msgid "Connection Properties"
 msgstr ""
 
-#: ../ProjectController.py:1691
+#: ../ProjectController.py:1773
 msgid "Connection canceled!\n"
 msgstr ""
 
-#: ../ProjectController.py:1714
+#: ../ProjectController.py:1797
 #, python-format
 msgid "Connection failed to %s!\n"
 msgstr ""
 
-#: ../connectors/PYRO/__init__.py:123 ../connectors/WAMP/__init__.py:120
+#: ../connectors/PYRO/__init__.py:124 ../connectors/WAMP/__init__.py:121
 msgid "Connection lost!\n"
 msgstr ""
 
-#: ../connectors/PYRO/__init__.py:110
+#: ../connectors/PYRO/__init__.py:111
 #, python-format
 msgid "Connection to '%s' failed.\n"
 msgstr ""
 
-#: ../dialogs/ConnectionDialog.py:67 ../editors/Viewer.py:1676
+#: ../dialogs/ConnectionDialog.py:67 ../editors/Viewer.py:1678
 msgid "Connector"
 msgstr ""
 
@@ -1045,7 +1164,7 @@
 msgid "Connectors:"
 msgstr ""
 
-#: ../BeremizIDE.py:378
+#: ../BeremizIDE.py:374
 msgid "Console"
 msgstr ""
 
@@ -1053,18 +1172,22 @@
 msgid "Constant"
 msgstr ""
 
-#: ../editors/Viewer.py:634 ../editors/Viewer.py:2444
+#: ../editors/Viewer.py:637 ../editors/Viewer.py:2446
 msgid "Contact"
 msgstr ""
 
-#: ../controls/ProjectPropertiesPanel.py:217
+#: ../controls/ProjectPropertiesPanel.py:219
 msgid "Content Description (optional):"
 msgstr ""
 
-#: ../dialogs/ConnectionDialog.py:68 ../editors/Viewer.py:1677
+#: ../dialogs/ConnectionDialog.py:68 ../editors/Viewer.py:1679
 msgid "Continuation"
 msgstr ""
 
+#: ../etherlab/EtherCATManagementEditor.py:37
+msgid "Control Byte"
+msgstr ""
+
 #: ../plcopen/iec_std.csv:18
 msgid "Conversion from BCD"
 msgstr ""
@@ -1081,20 +1204,20 @@
 msgid "Conversion to time-of-day"
 msgstr ""
 
-#: ../editors/Viewer.py:695 ../controls/LogViewer.py:713 ../IDEFrame.py:372
-#: ../IDEFrame.py:427
+#: ../editors/Viewer.py:698 ../controls/LogViewer.py:713 ../IDEFrame.py:375
+#: ../IDEFrame.py:428
 msgid "Copy"
 msgstr ""
 
-#: ../IDEFrame.py:1964
+#: ../IDEFrame.py:1981
 msgid "Copy POU"
 msgstr ""
 
-#: ../editors/FileManagementPanel.py:68
+#: ../editors/FileManagementPanel.py:67
 msgid "Copy file from left folder to right"
 msgstr ""
 
-#: ../editors/FileManagementPanel.py:67
+#: ../editors/FileManagementPanel.py:66
 msgid "Copy file from right folder to left"
 msgstr ""
 
@@ -1114,6 +1237,16 @@
 msgid "Couldn't import old %s file."
 msgstr ""
 
+#: ../etherlab/EthercatMaster.py:258
+#, python-format
+msgid "Couldn't load %s network configuration file."
+msgstr ""
+
+#: ../etherlab/EthercatMaster.py:279
+#, python-format
+msgid "Couldn't load %s network process variables file."
+msgstr ""
+
 #: ../ConfigTreeNode.py:630
 #, python-brace-format
 msgid ""
@@ -1128,15 +1261,22 @@
 " {a2}"
 msgstr ""
 
+#: ../etherlab/etherlab.py:264
+#, python-brace-format
+msgid ""
+"Couldn't load {a1} XML file:\n"
+"{a2}"
+msgstr ""
+
 #: ../PLCControler.py:552
 msgid "Couldn't paste non-POU object."
 msgstr ""
 
-#: ../ProjectController.py:1636
+#: ../ProjectController.py:1717
 msgid "Couldn't start PLC !\n"
 msgstr ""
 
-#: ../ProjectController.py:1644
+#: ../ProjectController.py:1725
 msgid "Couldn't stop PLC !\n"
 msgstr ""
 
@@ -1144,43 +1284,43 @@
 msgid "Create HMI"
 msgstr ""
 
-#: ../dialogs/PouDialog.py:54
+#: ../dialogs/PouDialog.py:48
 msgid "Create a new POU"
 msgstr ""
 
-#: ../dialogs/PouActionDialog.py:45
+#: ../dialogs/PouActionDialog.py:42
 msgid "Create a new action"
 msgstr ""
 
-#: ../IDEFrame.py:166
+#: ../IDEFrame.py:313
 msgid "Create a new action block"
 msgstr ""
 
-#: ../IDEFrame.py:115 ../IDEFrame.py:145 ../IDEFrame.py:178
+#: ../IDEFrame.py:262 ../IDEFrame.py:292 ../IDEFrame.py:325
 msgid "Create a new block"
 msgstr ""
 
-#: ../IDEFrame.py:139
+#: ../IDEFrame.py:286
 msgid "Create a new branch"
 msgstr ""
 
-#: ../IDEFrame.py:133
+#: ../IDEFrame.py:280
 msgid "Create a new coil"
 msgstr ""
 
-#: ../IDEFrame.py:109 ../IDEFrame.py:124 ../IDEFrame.py:154
+#: ../IDEFrame.py:256 ../IDEFrame.py:271 ../IDEFrame.py:301
 msgid "Create a new comment"
 msgstr ""
 
-#: ../IDEFrame.py:118 ../IDEFrame.py:148 ../IDEFrame.py:181
+#: ../IDEFrame.py:265 ../IDEFrame.py:295 ../IDEFrame.py:328
 msgid "Create a new connection"
 msgstr ""
 
-#: ../IDEFrame.py:136 ../IDEFrame.py:187
+#: ../IDEFrame.py:283 ../IDEFrame.py:334
 msgid "Create a new contact"
 msgstr ""
 
-#: ../IDEFrame.py:169
+#: ../IDEFrame.py:316
 msgid "Create a new divergence"
 msgstr ""
 
@@ -1188,43 +1328,55 @@
 msgid "Create a new divergence or convergence"
 msgstr ""
 
-#: ../IDEFrame.py:157
+#: ../IDEFrame.py:304
 msgid "Create a new initial step"
 msgstr ""
 
-#: ../IDEFrame.py:172
+#: ../IDEFrame.py:319
 msgid "Create a new jump"
 msgstr ""
 
-#: ../IDEFrame.py:127 ../IDEFrame.py:184
+#: ../IDEFrame.py:274 ../IDEFrame.py:331
 msgid "Create a new power rail"
 msgstr ""
 
-#: ../IDEFrame.py:130
+#: ../IDEFrame.py:277
 msgid "Create a new rung"
 msgstr ""
 
-#: ../IDEFrame.py:160
+#: ../IDEFrame.py:307
 msgid "Create a new step"
 msgstr ""
 
-#: ../dialogs/PouTransitionDialog.py:49 ../IDEFrame.py:163
+#: ../dialogs/PouTransitionDialog.py:45 ../IDEFrame.py:310
 msgid "Create a new transition"
 msgstr ""
 
-#: ../IDEFrame.py:112 ../IDEFrame.py:142 ../IDEFrame.py:175
+#: ../IDEFrame.py:259 ../IDEFrame.py:289 ../IDEFrame.py:322
 msgid "Create a new variable"
 msgstr ""
 
+#: ../etherlab/etherlab.py:183
+msgid "Creating new PDO"
+msgstr ""
+
 #: ../dialogs/AboutDialog.py:109
 msgid "Credits"
 msgstr ""
 
-#: ../Beremiz_service.py:424
+#: ../runtime/WampClient.py:400
+msgid "Current status"
+msgstr ""
+
+#: ../Beremiz_service.py:437
 msgid "Current working directory :"
 msgstr ""
 
-#: ../editors/Viewer.py:694 ../IDEFrame.py:370 ../IDEFrame.py:426
+#: ../runtime/WampClient.py:161
+msgid "Custom protocol options failed :"
+msgstr ""
+
+#: ../editors/Viewer.py:697 ../IDEFrame.py:373 ../IDEFrame.py:427
 msgid "Cut"
 msgstr ""
 
@@ -1273,11 +1425,11 @@
 msgid "Date subtraction"
 msgstr ""
 
-#: ../dialogs/DurationEditorDialog.py:46
+#: ../dialogs/DurationEditorDialog.py:57
 msgid "Days:"
 msgstr ""
 
-#: ../ProjectController.py:1729
+#: ../ProjectController.py:1809
 msgid "Debug does not match PLC - stop/transfert/start to re-enable\n"
 msgstr ""
 
@@ -1285,42 +1437,51 @@
 msgid "Debug instance"
 msgstr ""
 
-#: ../editors/Viewer.py:490
+#: ../editors/Viewer.py:493
 #, python-format
 msgid "Debug: %s"
 msgstr ""
 
-#: ../ProjectController.py:1471
+#: ../ProjectController.py:1548
 #, python-format
 msgid "Debug: Unknown variable '%s'\n"
 msgstr ""
 
-#: ../ProjectController.py:1469
+#: ../ProjectController.py:1545
 #, python-format
 msgid "Debug: Unsupported type to debug '%s'\n"
 msgstr ""
 
-#: ../IDEFrame.py:660
+#: ../IDEFrame.py:666
 msgid "Debugger"
 msgstr ""
 
-#: ../ProjectController.py:1726
+#: ../ProjectController.py:1805
 msgid "Debugger ready\n"
 msgstr ""
 
-#: ../BeremizIDE.py:1004 ../editors/Viewer.py:670 ../IDEFrame.py:1993
+#: ../etherlab/EtherCATManagementEditor.py:37
+msgid "Default Size"
+msgstr ""
+
+#: ../etherlab/EthercatCFileGenerator.py:174
+#, python-format
+msgid "Definition conflict for location \"%s\""
+msgstr ""
+
+#: ../BeremizIDE.py:1001 ../editors/Viewer.py:673 ../IDEFrame.py:2010
 msgid "Delete"
 msgstr ""
 
-#: ../editors/Viewer.py:610
+#: ../editors/Viewer.py:613
 msgid "Delete Divergence Branch"
 msgstr ""
 
-#: ../editors/FileManagementPanel.py:157
+#: ../etherlab/ConfigEditor.py:1261 ../editors/FileManagementPanel.py:156
 msgid "Delete File"
 msgstr ""
 
-#: ../editors/Viewer.py:597
+#: ../editors/Viewer.py:600
 msgid "Delete Wire Segment"
 msgstr ""
 
@@ -1336,11 +1497,12 @@
 msgid "Derivation Type:"
 msgstr ""
 
-#: ../editors/CodeFileEditor.py:735
+#: ../etherlab/ConfigEditor.py:346 ../etherlab/ConfigEditor.py:465
+#: ../editors/CodeFileEditor.py:754
 msgid "Description"
 msgstr ""
 
-#: ../controls/VariablePanel.py:463
+#: ../controls/VariablePanel.py:465
 msgid "Description:"
 msgstr ""
 
@@ -1352,7 +1514,7 @@
 msgid "Direction"
 msgstr ""
 
-#: ../dialogs/BrowseLocationsDialog.py:102
+#: ../dialogs/BrowseLocationsDialog.py:101
 msgid "Direction:"
 msgstr ""
 
@@ -1360,19 +1522,19 @@
 msgid "Directly"
 msgstr ""
 
-#: ../ProjectController.py:1855
+#: ../ProjectController.py:1938
 msgid "Disconnect"
 msgstr ""
 
-#: ../ProjectController.py:1856
+#: ../ProjectController.py:1939
 msgid "Disconnect from PLC"
 msgstr ""
 
-#: ../ProjectController.py:1401
+#: ../runtime/PlcStatus.py:14
 msgid "Disconnected"
 msgstr ""
 
-#: ../editors/Viewer.py:654 ../editors/Viewer.py:2436
+#: ../editors/Viewer.py:657 ../editors/Viewer.py:2438
 msgid "Divergence"
 msgstr ""
 
@@ -1380,7 +1542,7 @@
 msgid "Division"
 msgstr ""
 
-#: ../editors/FileManagementPanel.py:156
+#: ../etherlab/ConfigEditor.py:1260 ../editors/FileManagementPanel.py:155
 #, python-format
 msgid "Do you really want to delete the file '%s'?"
 msgstr ""
@@ -1393,15 +1555,31 @@
 msgid "Done"
 msgstr ""
 
+#: ../runtime/WampClient.py:384
+msgid "Download"
+msgstr ""
+
 #: ../dialogs/ActionBlockDialog.py:42
 msgid "Duration"
 msgstr ""
 
+#: ../bacnet/bacnet.py:437
+msgid "EDE files (*_EDE.csv)|*_EDE.csv|All files|*.*"
+msgstr ""
+
 #: ../canfestival/canfestival.py:174
 msgid "EDS files (*.eds)|*.eds|All files|*.*"
 msgstr ""
 
-#: ../editors/Viewer.py:668
+#: ../etherlab/ConfigEditor.py:1342
+msgid "ESI Files Database management"
+msgstr ""
+
+#: ../etherlab/ConfigEditor.py:1109
+msgid "ESI Files:"
+msgstr ""
+
+#: ../editors/Viewer.py:671
 msgid "Edit Block"
 msgstr ""
 
@@ -1413,7 +1591,7 @@
 msgid "Edit Contact Values"
 msgstr ""
 
-#: ../dialogs/DurationEditorDialog.py:62
+#: ../dialogs/DurationEditorDialog.py:54
 msgid "Edit Duration"
 msgstr ""
 
@@ -1433,11 +1611,11 @@
 msgid "Edit array type properties"
 msgstr ""
 
-#: ../editors/Viewer.py:2660 ../editors/Viewer.py:3102
+#: ../dialogs/CommentEditDialog.py:53
 msgid "Edit comment"
 msgstr ""
 
-#: ../editors/FileManagementPanel.py:69
+#: ../editors/FileManagementPanel.py:68
 msgid "Edit file"
 msgstr ""
 
@@ -1445,11 +1623,11 @@
 msgid "Edit item"
 msgstr ""
 
-#: ../editors/Viewer.py:3059
+#: ../editors/Viewer.py:3058
 msgid "Edit jump target"
 msgstr ""
 
-#: ../ProjectController.py:1873
+#: ../ProjectController.py:1956
 msgid "Edit raw IEC code added to code generated by PLCGenerator"
 msgstr ""
 
@@ -1461,11 +1639,11 @@
 msgid "Edit transition"
 msgstr ""
 
-#: ../IDEFrame.py:632
+#: ../IDEFrame.py:638
 msgid "Editor ToolBar"
 msgstr ""
 
-#: ../ProjectController.py:1294
+#: ../ProjectController.py:1355
 msgid "Editor selection"
 msgstr ""
 
@@ -1473,7 +1651,7 @@
 msgid "Elements :"
 msgstr ""
 
-#: ../ProjectController.py:1399
+#: ../runtime/PlcStatus.py:15
 msgid "Empty"
 msgstr ""
 
@@ -1481,18 +1659,43 @@
 msgid "Empty dimension isn't allowed."
 msgstr ""
 
-#: ../Beremiz_service.py:341
+#: ../etherlab/EtherCATManagementEditor.py:37
+msgid "Enable"
+msgstr ""
+
+#: ../runtime/WampClient.py:410
+msgid "Enable WAMP connection"
+msgstr ""
+
+#: ../Beremiz_service.py:354
 msgid "Enter a name "
 msgstr ""
 
-#: ../Beremiz_service.py:326
+#: ../Beremiz_service.py:339
 msgid "Enter a port number "
 msgstr ""
 
-#: ../Beremiz_service.py:317
+#: ../etherlab/EtherCATManagementEditor.py:627
+msgid "Enter hex or dec value (if enter dec value, it automatically conversed hex value)"
+msgstr ""
+
+#: ../etherlab/EtherCATManagementEditor.py:1964
+msgid "Enter hex(0xnnnn) or dec(n) value"
+msgstr ""
+
+#: ../Beremiz_service.py:330
 msgid "Enter the IP of the interface to bind"
 msgstr ""
 
+#: ../etherlab/ConfigEditor.py:502
+msgid "Entry can't be write through SDO"
+msgstr ""
+
+#: ../etherlab/EthercatCFileGenerator.py:569
+#, python-brace-format
+msgid "Entry index 0x{a1:.4x}, subindex 0x{a2:.2x} not mapped for device {a3}"
+msgstr ""
+
 #: ../editors/DataTypeEditor.py:60
 msgid "Enumerated"
 msgstr ""
@@ -1503,42 +1706,45 @@
 
 #: ../dialogs/ForceVariableDialog.py:213
 #: ../dialogs/SearchInProjectDialog.py:172 ../dialogs/SFCStepNameDialog.py:64
-#: ../dialogs/DurationEditorDialog.py:124
-#: ../dialogs/DurationEditorDialog.py:170 ../dialogs/PouTransitionDialog.py:114
-#: ../dialogs/BlockPreviewDialog.py:237 ../dialogs/ProjectDialog.py:80
+#: ../dialogs/DurationEditorDialog.py:125
+#: ../dialogs/DurationEditorDialog.py:172 ../dialogs/PouTransitionDialog.py:113
+#: ../dialogs/BlockPreviewDialog.py:237 ../dialogs/ProjectDialog.py:78
 #: ../dialogs/ArrayTypeDialog.py:114 ../dialogs/PouNameDialog.py:58
-#: ../dialogs/BrowseLocationsDialog.py:229
+#: ../dialogs/BrowseLocationsDialog.py:228
 #: ../dialogs/BrowseValuesLibraryDialog.py:87 ../dialogs/PouActionDialog.py:112
-#: ../dialogs/PouDialog.py:143 ../PLCOpenEditor.py:319 ../PLCOpenEditor.py:324
-#: ../editors/ResourceEditor.py:470 ../editors/Viewer.py:467
-#: ../editors/LDViewer.py:677 ../editors/LDViewer.py:893
-#: ../editors/LDViewer.py:897 ../editors/DataTypeEditor.py:566
-#: ../editors/DataTypeEditor.py:571 ../editors/DataTypeEditor.py:590
-#: ../editors/DataTypeEditor.py:759 ../editors/DataTypeEditor.py:766
-#: ../editors/TextViewer.py:390 ../editors/CodeFileEditor.py:760
-#: ../ProjectController.py:391 ../ProjectController.py:531
-#: ../ProjectController.py:538 ../controls/FolderTree.py:222
-#: ../controls/ProjectPropertiesPanel.py:306
-#: ../controls/DebugVariablePanel/DebugVariablePanel.py:173
+#: ../dialogs/PouDialog.py:178 ../PLCOpenEditor.py:319 ../PLCOpenEditor.py:324
+#: ../etherlab/ConfigEditor.py:458 ../etherlab/ConfigEditor.py:510
+#: ../etherlab/ConfigEditor.py:981 ../etherlab/ConfigEditor.py:1047
+#: ../etherlab/ConfigEditor.py:1246 ../etherlab/ConfigEditor.py:1314
+#: ../etherlab/EthercatMaster.py:463 ../editors/ResourceEditor.py:468
+#: ../editors/Viewer.py:467 ../editors/LDViewer.py:677
+#: ../editors/LDViewer.py:893 ../editors/LDViewer.py:897
+#: ../editors/DataTypeEditor.py:566 ../editors/DataTypeEditor.py:571
+#: ../editors/DataTypeEditor.py:590 ../editors/DataTypeEditor.py:759
+#: ../editors/DataTypeEditor.py:766 ../editors/TextViewer.py:390
+#: ../editors/CodeFileEditor.py:779 ../ProjectController.py:404
+#: ../ProjectController.py:548 ../ProjectController.py:557
+#: ../controls/FolderTree.py:222 ../controls/ProjectPropertiesPanel.py:308
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:163
 #: ../controls/DebugVariablePanel/DebugVariableTextViewer.py:138
 #: ../controls/DebugVariablePanel/DebugVariableGraphicViewer.py:227
-#: ../controls/VariablePanel.py:431 ../controls/VariablePanel.py:773
-#: ../util/ExceptionHandler.py:70 ../IDEFrame.py:1036 ../IDEFrame.py:1650
-#: ../IDEFrame.py:1691 ../IDEFrame.py:1696 ../IDEFrame.py:1710
-#: ../IDEFrame.py:1715 ../Beremiz_service.py:221
+#: ../controls/VariablePanel.py:430 ../controls/VariablePanel.py:784
+#: ../util/ExceptionHandler.py:70 ../IDEFrame.py:1049 ../IDEFrame.py:1667
+#: ../IDEFrame.py:1708 ../IDEFrame.py:1713 ../IDEFrame.py:1727
+#: ../IDEFrame.py:1732 ../Beremiz_service.py:234
 msgid "Error"
 msgstr ""
 
-#: ../ProjectController.py:811
+#: ../ProjectController.py:848
 msgid "Error : At least one configuration and one resource must be declared in PLC !\n"
 msgstr ""
 
-#: ../ProjectController.py:803
+#: ../ProjectController.py:838
 #, python-format
 msgid "Error : IEC to C compiler returned %d\n"
 msgstr ""
 
-#: ../ProjectController.py:731
+#: ../ProjectController.py:762
 #, python-format
 msgid ""
 "Error in ST/IL/SFC code generator :\n"
@@ -1550,7 +1756,17 @@
 msgid "Error while saving \"%s\"\n"
 msgstr ""
 
-#: ../canfestival/canfestival.py:179
+#: ../bacnet/bacnet.py:581
+#, python-brace-format
+msgid "Error: BACnet server '{a1}.x: {a2}' contains objects with duplicate object identifiers.\n"
+msgstr ""
+
+#: ../bacnet/bacnet.py:573
+#, python-brace-format
+msgid "Error: BACnet server '{a1}.x:{a2}' contains objects with duplicate object names.\n"
+msgstr ""
+
+#: ../canfestival/canfestival.py:179 ../bacnet/bacnet.py:444
 msgid "Error: Export slave failed\n"
 msgstr ""
 
@@ -1567,7 +1783,23 @@
 msgid "Error: No PLC built\n"
 msgstr ""
 
-#: ../ProjectController.py:1708
+#: ../etherlab/ConfigEditor.py:269
+msgid "EtherCAT Management"
+msgstr ""
+
+#: ../features.py:20
+msgid "EtherCAT master"
+msgstr ""
+
+#: ../etherlab/EthercatMaster.py:302
+msgid "Ethercat Slave Type"
+msgstr ""
+
+#: ../etherlab/ConfigEditor.py:267
+msgid "Ethercat node"
+msgstr ""
+
+#: ../ProjectController.py:1791
 #, python-format
 msgid "Exception while connecting %s!\n"
 msgstr ""
@@ -1576,11 +1808,11 @@
 msgid "Execution Control:"
 msgstr ""
 
-#: ../dialogs/FBDVariableDialog.py:84 ../dialogs/FBDBlockDialog.py:111
+#: ../dialogs/FBDVariableDialog.py:85 ../dialogs/FBDBlockDialog.py:111
 msgid "Execution Order:"
 msgstr ""
 
-#: ../features.py:36
+#: ../features.py:25
 msgid "Experimental web based HMI"
 msgstr ""
 
@@ -1592,44 +1824,48 @@
 msgid "Exponentiation"
 msgstr ""
 
+#: ../bacnet/bacnet.py:156
+msgid "Export BACnet slave to EDE file"
+msgstr ""
+
 #: ../canfestival/canfestival.py:186
 msgid "Export CanOpen slave to EDS file"
 msgstr ""
 
-#: ../controls/DebugVariablePanel/DebugVariablePanel.py:246
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:243
 msgid "Export graph values to clipboard"
 msgstr ""
 
-#: ../canfestival/canfestival.py:185
+#: ../canfestival/canfestival.py:185 ../bacnet/bacnet.py:155
 msgid "Export slave"
 msgstr ""
 
-#: ../dialogs/FBDVariableDialog.py:94
+#: ../dialogs/FBDVariableDialog.py:95
 msgid "Expression:"
 msgstr ""
 
-#: ../controls/VariablePanel.py:90
+#: ../controls/VariablePanel.py:87
 msgid "External"
 msgstr ""
 
-#: ../ProjectController.py:826
+#: ../ProjectController.py:866
 msgid "Extracting Located Variables...\n"
 msgstr ""
 
 #: ../dialogs/PouTransitionDialog.py:40 ../dialogs/PouActionDialog.py:36
-#: ../dialogs/PouDialog.py:44 ../controls/ProjectPropertiesPanel.py:158
+#: ../dialogs/PouDialog.py:128 ../controls/ProjectPropertiesPanel.py:161
 msgid "FBD"
 msgstr ""
 
-#: ../ProjectController.py:1773
+#: ../ProjectController.py:1855
 msgid "Failed : Must build before transfer.\n"
 msgstr ""
 
-#: ../dialogs/LDElementDialog.py:80 ../editors/Viewer.py:556
+#: ../dialogs/LDElementDialog.py:80 ../editors/Viewer.py:559
 msgid "Falling Edge"
 msgstr ""
 
-#: ../ProjectController.py:1098
+#: ../ProjectController.py:1145
 msgid "Fatal : cannot get builder.\n"
 msgstr ""
 
@@ -1638,12 +1874,12 @@
 msgid "Fetching %s"
 msgstr ""
 
-#: ../dialogs/DurationEditorDialog.py:167
+#: ../dialogs/DurationEditorDialog.py:169
 #, python-format
 msgid "Field %s hasn't a valid value!"
 msgstr ""
 
-#: ../dialogs/DurationEditorDialog.py:169
+#: ../dialogs/DurationEditorDialog.py:171
 #, python-format
 msgid "Fields %s haven't a valid value!"
 msgstr ""
@@ -1653,16 +1889,20 @@
 msgid "File '%s' already exists!"
 msgstr ""
 
+#: ../runtime/WampClient.py:407
+msgid "File containing secret for that ID"
+msgstr ""
+
 #: ../dialogs/SearchInProjectDialog.py:102 ../dialogs/FindInPouDialog.py:40
-#: ../dialogs/FindInPouDialog.py:107 ../IDEFrame.py:377
+#: ../dialogs/FindInPouDialog.py:107 ../IDEFrame.py:380
 msgid "Find"
 msgstr ""
 
-#: ../IDEFrame.py:379
+#: ../IDEFrame.py:382
 msgid "Find Next"
 msgstr ""
 
-#: ../IDEFrame.py:381
+#: ../IDEFrame.py:384
 msgid "Find Previous"
 msgstr ""
 
@@ -1674,7 +1914,7 @@
 msgid "Find:"
 msgstr ""
 
-#: ../editors/Viewer.py:1633
+#: ../editors/Viewer.py:1635
 msgid "Force value"
 msgstr ""
 
@@ -1682,9 +1922,9 @@
 msgid "Forcing Variable Value"
 msgstr ""
 
-#: ../dialogs/SFCTransitionDialog.py:184 ../dialogs/PouTransitionDialog.py:104
-#: ../dialogs/ProjectDialog.py:79 ../dialogs/PouActionDialog.py:102
-#: ../dialogs/PouDialog.py:125
+#: ../dialogs/SFCTransitionDialog.py:184 ../dialogs/PouTransitionDialog.py:103
+#: ../dialogs/ProjectDialog.py:77 ../dialogs/PouActionDialog.py:102
+#: ../dialogs/PouDialog.py:160
 #, python-format
 msgid "Form isn't complete. %s must be filled!"
 msgstr ""
@@ -1702,20 +1942,24 @@
 msgid "Forward"
 msgstr ""
 
-#: ../dialogs/SearchInProjectDialog.py:40 ../IDEFrame.py:1780
+#: ../IDEFrame.py:455
+msgid "Full screen"
+msgstr ""
+
+#: ../dialogs/SearchInProjectDialog.py:40 ../IDEFrame.py:1797
 msgid "Function"
 msgstr ""
 
-#: ../IDEFrame.py:354
+#: ../IDEFrame.py:357
 msgid "Function &Block"
 msgstr ""
 
-#: ../dialogs/SearchInProjectDialog.py:41 ../IDEFrame.py:1779
-#: ../IDEFrame.py:1972
+#: ../dialogs/SearchInProjectDialog.py:41 ../IDEFrame.py:1796
+#: ../IDEFrame.py:1989
 msgid "Function Block"
 msgstr ""
 
-#: ../controls/VariablePanel.py:868
+#: ../controls/VariablePanel.py:879
 msgid "Function Block Types"
 msgstr ""
 
@@ -1740,19 +1984,19 @@
 msgid "Generate Program"
 msgstr ""
 
-#: ../ProjectController.py:722
+#: ../ProjectController.py:750
 msgid "Generating SoftPLC IEC-61131 ST/IL/SFC code...\n"
 msgstr ""
 
-#: ../controls/VariablePanel.py:91
+#: ../controls/VariablePanel.py:88
 msgid "Global"
 msgstr ""
 
-#: ../controls/DebugVariablePanel/DebugVariablePanel.py:245
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:242
 msgid "Go to current value"
 msgstr ""
 
-#: ../controls/ProjectPropertiesPanel.py:189
+#: ../controls/ProjectPropertiesPanel.py:192
 msgid "Graphics"
 msgstr ""
 
@@ -1764,32 +2008,36 @@
 msgid "Greater than or equal to"
 msgstr ""
 
-#: ../controls/ProjectPropertiesPanel.py:149
+#: ../controls/ProjectPropertiesPanel.py:152
 msgid "Grid Resolution:"
 msgstr ""
 
-#: ../runtime/NevowServer.py:192
+#: ../runtime/NevowServer.py:313
 msgid "HTTP interface port :"
 msgstr ""
 
-#: ../controls/ProjectPropertiesPanel.py:135
+#: ../controls/ProjectPropertiesPanel.py:138
 msgid "Height:"
 msgstr ""
 
-#: ../editors/FileManagementPanel.py:89
+#: ../editors/FileManagementPanel.py:88
 msgid "Home Directory:"
 msgstr ""
 
-#: ../controls/ProjectPropertiesPanel.py:165
+#: ../controls/ProjectPropertiesPanel.py:168
 msgid "Horizontal:"
 msgstr ""
 
-#: ../dialogs/DurationEditorDialog.py:47
+#: ../dialogs/DurationEditorDialog.py:58
 msgid "Hours:"
 msgstr ""
 
+#: ../runtime/WampClient.py:404
+msgid "ID"
+msgstr ""
+
 #: ../dialogs/PouTransitionDialog.py:40 ../dialogs/PouActionDialog.py:36
-#: ../dialogs/PouDialog.py:44
+#: ../dialogs/PouDialog.py:128
 msgid "IL"
 msgstr ""
 
@@ -1797,52 +2045,64 @@
 msgid "IP"
 msgstr ""
 
-#: ../Beremiz_service.py:318 ../Beremiz_service.py:320
+#: ../Beremiz_service.py:331 ../Beremiz_service.py:333
 msgid "IP is not valid!"
 msgstr ""
 
+#: ../etherlab/ConfigEditor.py:1387
+msgid "Import ESI file"
+msgstr ""
+
 #: ../svgui/svgui.py:50 ../svgui/svgui.py:51
 msgid "Import SVG"
 msgstr ""
 
-#: ../dialogs/FBDVariableDialog.py:41 ../editors/Viewer.py:1662
-#: ../controls/VariablePanel.py:89
+#: ../etherlab/ConfigEditor.py:1352
+msgid "Import file to ESI files database"
+msgstr ""
+
+#: ../dialogs/FBDVariableDialog.py:64 ../editors/Viewer.py:1664
+#: ../controls/VariablePanel.py:86
 msgid "InOut"
 msgstr ""
 
-#: ../PLCGenerator.py:1040
+#: ../PLCGenerator.py:1089
 #, python-brace-format
 msgid "InOut variable {a1} in block {a2} in POU {a3} must be connected."
 msgstr ""
 
-#: ../editors/Viewer.py:473
+#: ../editors/Viewer.py:484
 msgid "Inactive"
 msgstr ""
 
-#: ../controls/VariablePanel.py:300
+#: ../controls/VariablePanel.py:299
 #, python-brace-format
 msgid "Incompatible data types between \"{a1}\" and \"{a2}\""
 msgstr ""
 
-#: ../controls/VariablePanel.py:306
+#: ../controls/VariablePanel.py:305
 #, python-format
 msgid "Incompatible size of data between \"%s\" and \"BOOL\""
 msgstr ""
 
-#: ../controls/VariablePanel.py:310
+#: ../controls/VariablePanel.py:309
 #, python-brace-format
 msgid "Incompatible size of data between \"{a1}\" and \"{a2}\""
 msgstr ""
 
+#: ../etherlab/ConfigEditor.py:48 ../etherlab/ConfigEditor.py:465
+msgid "Index"
+msgstr ""
+
 #: ../dialogs/ActionBlockDialog.py:42
 msgid "Indicator"
 msgstr ""
 
-#: ../editors/CodeFileEditor.py:734
+#: ../editors/CodeFileEditor.py:753
 msgid "Initial"
 msgstr ""
 
-#: ../editors/Viewer.py:650
+#: ../editors/Viewer.py:653
 msgid "Initial Step"
 msgstr ""
 
@@ -1855,6 +2115,14 @@
 msgid "Initial Value:"
 msgstr ""
 
+#: ../etherlab/EthercatCIA402Slave.py:119
+msgid "Initiate Drag'n drop of Axis ref located variable"
+msgstr ""
+
+#: ../etherlab/EthercatCIA402Slave.py:126
+msgid "Initiate Drag'n drop of Network position located variable"
+msgstr ""
+
 #: ../svgui/svgui.py:56
 msgid "Inkscape"
 msgstr ""
@@ -1863,11 +2131,11 @@
 msgid "Inline"
 msgstr ""
 
-#: ../dialogs/SFCStepDialog.py:73 ../dialogs/FBDVariableDialog.py:40
+#: ../dialogs/SFCStepDialog.py:73 ../dialogs/FBDVariableDialog.py:63
 #: ../dialogs/BrowseLocationsDialog.py:43 ../editors/Viewer.py:333
-#: ../editors/Viewer.py:1660 ../editors/TextViewer.py:307
-#: ../controls/LocationCellEditor.py:103 ../controls/VariablePanel.py:89
-#: ../controls/VariablePanel.py:317 ../controls/VariablePanel.py:380
+#: ../editors/Viewer.py:1662 ../editors/TextViewer.py:307
+#: ../controls/LocationCellEditor.py:103 ../controls/VariablePanel.py:86
+#: ../controls/VariablePanel.py:316 ../controls/VariablePanel.py:379
 msgid "Input"
 msgstr ""
 
@@ -1884,11 +2152,11 @@
 msgid "Instance with id %d doesn't exist!"
 msgstr ""
 
-#: ../editors/ResourceEditor.py:279
+#: ../editors/ResourceEditor.py:277
 msgid "Instances:"
 msgstr ""
 
-#: ../controls/VariablePanel.py:88
+#: ../controls/VariablePanel.py:85
 msgid "Interface"
 msgstr ""
 
@@ -1900,7 +2168,7 @@
 msgid "Interval"
 msgstr ""
 
-#: ../controls/ProjectPropertiesPanel.py:304
+#: ../controls/ProjectPropertiesPanel.py:306
 msgid ""
 "Invalid URL!\n"
 "Please enter correct URL address."
@@ -1920,14 +2188,26 @@
 msgid "Invalid type \"{a1}\"-> {a2} != {a3} for location \"{a4}\""
 msgstr ""
 
-#: ../controls/DebugVariablePanel/DebugVariablePanel.py:139
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:129
 #: ../controls/DebugVariablePanel/DebugVariableTextViewer.py:93
 #: ../controls/DebugVariablePanel/DebugVariableGraphicViewer.py:162
 #, python-format
 msgid "Invalid value \"%s\" for debug variable"
 msgstr ""
 
-#: ../controls/VariablePanel.py:279 ../controls/VariablePanel.py:282
+#: ../etherlab/ConfigEditor.py:418 ../etherlab/ConfigEditor.py:421
+#: ../etherlab/ConfigEditor.py:452
+#, python-format
+msgid "Invalid value \"%s\" for process variable"
+msgstr ""
+
+#: ../etherlab/ConfigEditor.py:480 ../etherlab/ConfigEditor.py:483
+#: ../etherlab/ConfigEditor.py:504
+#, python-format
+msgid "Invalid value \"%s\" for startup command"
+msgstr ""
+
+#: ../controls/VariablePanel.py:278 ../controls/VariablePanel.py:281
 #, python-format
 msgid "Invalid value \"%s\" for variable grid element"
 msgstr ""
@@ -1942,7 +2222,12 @@
 msgid "Invalid value \"{a1}\" for \"{a2}\" variable!"
 msgstr ""
 
-#: ../dialogs/DurationEditorDialog.py:124
+#: ../etherlab/CommonEtherCATFunction.py:31
+#, python-format
+msgid "Invalid value for HexDecValue \"%s\""
+msgstr ""
+
+#: ../dialogs/DurationEditorDialog.py:125
 msgid ""
 "Invalid value!\n"
 "You must fill a numeric value."
@@ -1952,12 +2237,12 @@
 msgid "Is connection secure?"
 msgstr ""
 
-#: ../editors/Viewer.py:655 ../editors/Viewer.py:2425
+#: ../editors/Viewer.py:658 ../editors/Viewer.py:2427
 msgid "Jump"
 msgstr ""
 
 #: ../dialogs/PouTransitionDialog.py:40 ../dialogs/PouActionDialog.py:36
-#: ../dialogs/PouDialog.py:44 ../controls/ProjectPropertiesPanel.py:158
+#: ../dialogs/PouDialog.py:128 ../controls/ProjectPropertiesPanel.py:161
 msgid "LD"
 msgstr ""
 
@@ -1966,33 +2251,33 @@
 msgid "Ladder element with id %d is on more than one rung."
 msgstr ""
 
-#: ../dialogs/PouTransitionDialog.py:93 ../dialogs/PouActionDialog.py:91
-#: ../dialogs/PouDialog.py:113
+#: ../dialogs/PouTransitionDialog.py:92 ../dialogs/PouActionDialog.py:91
+#: ../dialogs/PouDialog.py:148
 msgid "Language"
 msgstr ""
 
-#: ../controls/ProjectPropertiesPanel.py:206
+#: ../controls/ProjectPropertiesPanel.py:208
 msgid "Language (optional):"
 msgstr ""
 
-#: ../dialogs/PouTransitionDialog.py:67 ../dialogs/PouActionDialog.py:63
-#: ../dialogs/PouDialog.py:81
+#: ../dialogs/PouTransitionDialog.py:66 ../dialogs/PouActionDialog.py:63
+#: ../dialogs/PouDialog.py:79
 msgid "Language:"
 msgstr ""
 
-#: ../ProjectController.py:1779
+#: ../ProjectController.py:1861
 msgid "Latest build already matches current target. Transfering anyway...\n"
 msgstr ""
 
-#: ../Beremiz_service.py:281
+#: ../Beremiz_service.py:294
 msgid "Launch WX GUI inspector"
 msgstr ""
 
-#: ../Beremiz_service.py:280
+#: ../Beremiz_service.py:293
 msgid "Launch a live Python shell"
 msgstr ""
 
-#: ../editors/Viewer.py:580
+#: ../editors/Viewer.py:583
 msgid "Left"
 msgstr ""
 
@@ -2012,7 +2297,7 @@
 msgid "Less than or equal to"
 msgstr ""
 
-#: ../IDEFrame.py:652
+#: ../IDEFrame.py:658
 msgid "Library"
 msgstr ""
 
@@ -2028,7 +2313,7 @@
 msgid "Linking :\n"
 msgstr ""
 
-#: ../dialogs/DiscoveryDialog.py:115 ../controls/VariablePanel.py:90
+#: ../dialogs/DiscoveryDialog.py:115 ../controls/VariablePanel.py:87
 msgid "Local"
 msgstr ""
 
@@ -2036,7 +2321,7 @@
 msgid "Local entries"
 msgstr ""
 
-#: ../ProjectController.py:1685
+#: ../ProjectController.py:1767
 msgid "Local service discovery failed!\n"
 msgstr ""
 
@@ -2044,28 +2329,44 @@
 msgid "Location"
 msgstr ""
 
-#: ../dialogs/BrowseLocationsDialog.py:79
+#: ../dialogs/BrowseLocationsDialog.py:78
 msgid "Locations available:"
 msgstr ""
 
+#: ../runtime/NevowServer.py:175
+msgid "Log message level"
+msgstr ""
+
 #: ../plcopen/iec_std.csv:25
 msgid "Logarithm to base 10"
 msgstr ""
 
-#: ../connectors/PYRO/__init__.py:102
+#: ../connectors/PYRO/__init__.py:103
 #, python-format
 msgid "MDNS resolution failure for '%s'\n"
 msgstr ""
 
+#: ../etherlab/ConfigEditor.py:67
+msgid "Manufacturer Specific"
+msgstr ""
+
 #: ../canfestival/SlaveEditor.py:68 ../canfestival/NetworkEditor.py:92
 msgid "Map Variable"
 msgstr ""
 
-#: ../features.py:31
+#: ../features.py:19
+msgid "Map located variables over Bacnet"
+msgstr ""
+
+#: ../features.py:18
 msgid "Map located variables over CANopen"
 msgstr ""
 
-#: ../features.py:32
+#: ../features.py:20
+msgid "Map located variables over EtherCAT"
+msgstr ""
+
+#: ../features.py:21
 msgid "Map located variables over Modbus"
 msgstr ""
 
@@ -2073,11 +2374,25 @@
 msgid "Master"
 msgstr ""
 
+#: ../etherlab/ConfigEditor.py:613
+msgid "Master State"
+msgstr ""
+
 #: ../ConfigTreeNode.py:544
 #, python-brace-format
 msgid "Max count ({a1}) reached for this confnode of type {a2} "
 msgstr ""
 
+#: ../etherlab/etherlab.py:173
+msgid "Max entries by PDO"
+msgstr ""
+
+#: ../etherlab/etherlab.py:176
+msgid ""
+"Maximal number of entries mapped in a PDO\n"
+"including empty entries used for PDO alignment"
+msgstr ""
+
 #: ../plcopen/iec_std.csv:71
 msgid "Maximum"
 msgstr ""
@@ -2088,26 +2403,34 @@
 
 #: ../dialogs/BrowseLocationsDialog.py:45 ../editors/Viewer.py:333
 #: ../editors/TextViewer.py:307 ../controls/LocationCellEditor.py:103
-#: ../controls/VariablePanel.py:317 ../controls/VariablePanel.py:380
+#: ../controls/VariablePanel.py:316 ../controls/VariablePanel.py:379
 msgid "Memory"
 msgstr ""
 
-#: ../IDEFrame.py:617
+#: ../IDEFrame.py:623
 msgid "Menu ToolBar"
 msgstr ""
 
-#: ../dialogs/DurationEditorDialog.py:51
+#: ../runtime/NevowServer.py:176
+msgid "Message text"
+msgstr ""
+
+#: ../dialogs/DurationEditorDialog.py:62
 msgid "Microseconds:"
 msgstr ""
 
-#: ../editors/Viewer.py:585
+#: ../editors/Viewer.py:588
 msgid "Middle"
 msgstr ""
 
-#: ../dialogs/DurationEditorDialog.py:50
+#: ../dialogs/DurationEditorDialog.py:61
 msgid "Milliseconds:"
 msgstr ""
 
+#: ../etherlab/etherlab.py:167
+msgid "Minimal size in bits between 2 pdo entries"
+msgstr ""
+
 #: ../plcopen/iec_std.csv:72
 msgid "Minimum"
 msgstr ""
@@ -2116,15 +2439,15 @@
 msgid "Minimum:"
 msgstr ""
 
-#: ../dialogs/DurationEditorDialog.py:48
+#: ../dialogs/DurationEditorDialog.py:59
 msgid "Minutes:"
 msgstr ""
 
-#: ../controls/ProjectPropertiesPanel.py:231
+#: ../etherlab/etherlab.py:238 ../controls/ProjectPropertiesPanel.py:233
 msgid "Miscellaneous"
 msgstr ""
 
-#: ../features.py:32
+#: ../features.py:21
 msgid "Modbus support"
 msgstr ""
 
@@ -2132,7 +2455,20 @@
 msgid "Modifier:"
 msgstr ""
 
-#: ../PLCGenerator.py:795 ../PLCGenerator.py:1269
+#: ../etherlab/ConfigEditor.py:1313
+#, python-format
+msgid "Module %s must be an integer!"
+msgstr ""
+
+#: ../etherlab/ConfigEditor.py:1376
+msgid "Modules Library"
+msgstr ""
+
+#: ../etherlab/ConfigEditor.py:1145
+msgid "Modules library:"
+msgstr ""
+
+#: ../PLCGenerator.py:795 ../PLCGenerator.py:1318
 #, python-brace-format
 msgid "More than one connector found corresponding to \"{a1}\" continuation in \"{a2}\" POU"
 msgstr ""
@@ -2157,23 +2493,31 @@
 msgid "Move element up"
 msgstr ""
 
-#: ../editors/ResourceEditor.py:286
+#: ../editors/ResourceEditor.py:284
 msgid "Move instance down"
 msgstr ""
 
-#: ../editors/ResourceEditor.py:285
+#: ../editors/ResourceEditor.py:283
 msgid "Move instance up"
 msgstr ""
 
-#: ../editors/ResourceEditor.py:255
+#: ../etherlab/ConfigEditor.py:655
+msgid "Move process variable down"
+msgstr ""
+
+#: ../etherlab/ConfigEditor.py:654
+msgid "Move process variable up"
+msgstr ""
+
+#: ../editors/ResourceEditor.py:253
 msgid "Move task down"
 msgstr ""
 
-#: ../editors/ResourceEditor.py:254
+#: ../editors/ResourceEditor.py:252
 msgid "Move task up"
 msgstr ""
 
-#: ../IDEFrame.py:106 ../IDEFrame.py:121 ../IDEFrame.py:151 ../IDEFrame.py:192
+#: ../IDEFrame.py:253 ../IDEFrame.py:268 ../IDEFrame.py:298 ../IDEFrame.py:339
 msgid "Move the view"
 msgstr ""
 
@@ -2181,14 +2525,28 @@
 msgid "Move up"
 msgstr ""
 
-#: ../editors/CodeFileEditor.py:657 ../controls/VariablePanel.py:484
+#: ../bacnet/BacnetSlaveEditor.py:814 ../editors/CodeFileEditor.py:675
+#: ../controls/VariablePanel.py:486
 msgid "Move variable down"
 msgstr ""
 
-#: ../editors/CodeFileEditor.py:656 ../controls/VariablePanel.py:483
+#: ../bacnet/BacnetSlaveEditor.py:813 ../editors/CodeFileEditor.py:674
+#: ../controls/VariablePanel.py:485
 msgid "Move variable up"
 msgstr ""
 
+#: ../bacnet/BacnetSlaveEditor.py:941
+msgid "Multi-State Input Objects"
+msgstr ""
+
+#: ../bacnet/BacnetSlaveEditor.py:940
+msgid "Multi-State Output Objects"
+msgstr ""
+
+#: ../bacnet/BacnetSlaveEditor.py:939
+msgid "Multi-State Value Objects"
+msgstr ""
+
 #: ../plcopen/iec_std.csv:74
 msgid "Multiplexer (select 1 of N)"
 msgstr ""
@@ -2197,7 +2555,7 @@
 msgid "Multiplication"
 msgstr ""
 
-#: ../editors/FileManagementPanel.py:87
+#: ../editors/FileManagementPanel.py:86
 msgid "My Computer:"
 msgstr ""
 
@@ -2205,13 +2563,15 @@
 msgid "NAME"
 msgstr ""
 
-#: ../editors/ResourceEditor.py:76 ../editors/ResourceEditor.py:97
-#: ../editors/DataTypeEditor.py:55 ../editors/CodeFileEditor.py:732
+#: ../etherlab/EtherCATManagementEditor.py:37 ../etherlab/ConfigEditor.py:48
+#: ../etherlab/ConfigEditor.py:343 ../etherlab/ConfigEditor.py:1167
+#: ../editors/ResourceEditor.py:76 ../editors/ResourceEditor.py:94
+#: ../editors/DataTypeEditor.py:55 ../editors/CodeFileEditor.py:751
 #: ../controls/VariablePanel.py:59
 msgid "Name"
 msgstr ""
 
-#: ../Beremiz_service.py:342
+#: ../Beremiz_service.py:355
 msgid "Name must not be null!"
 msgstr ""
 
@@ -2224,15 +2584,19 @@
 msgid "Natural logarithm"
 msgstr ""
 
-#: ../dialogs/LDElementDialog.py:78 ../editors/Viewer.py:554
+#: ../dialogs/LDElementDialog.py:78 ../editors/Viewer.py:557
 msgid "Negated"
 msgstr ""
 
-#: ../Beremiz_service.py:610
+#: ../etherlab/ConfigEditor.py:612
+msgid "Network"
+msgstr ""
+
+#: ../Beremiz_service.py:620
 msgid "Nevow Web service failed. "
 msgstr ""
 
-#: ../Beremiz_service.py:580
+#: ../Beremiz_service.py:596
 msgid "Nevow/Athena import failed :"
 msgstr ""
 
@@ -2245,20 +2609,29 @@
 msgid "New item"
 msgstr ""
 
-#: ../editors/Viewer.py:553
+#: ../editors/Viewer.py:556
 msgid "No Modifier"
 msgstr ""
 
-#: ../ProjectController.py:1808
+#: ../ProjectController.py:1891
 msgid "No PLC to transfer (did build succeed ?)\n"
 msgstr ""
 
-#: ../PLCGenerator.py:1678
+#: ../etherlab/EthercatCFileGenerator.py:504
+#, python-format
+msgid "No Sync manager defined for %s!"
+msgstr ""
+
+#: ../PLCGenerator.py:1727
 #, python-format
 msgid "No body defined in \"%s\" POU"
 msgstr ""
 
-#: ../PLCGenerator.py:816 ../PLCGenerator.py:1281
+#: ../etherlab/CommonEtherCATFunction.py:1581
+msgid "No connected slaves"
+msgstr ""
+
+#: ../PLCGenerator.py:816 ../PLCGenerator.py:1330
 #, python-brace-format
 msgid "No connector found corresponding to \"{a1}\" continuation in \"{a2}\" POU"
 msgstr ""
@@ -2274,7 +2647,17 @@
 msgid "No informations found for \"%s\" block"
 msgstr ""
 
-#: ../PLCGenerator.py:1232
+#: ../etherlab/EthercatCFileGenerator.py:224
+#, python-format
+msgid "No informations found for device %s!"
+msgstr ""
+
+#: ../etherlab/EthercatCFileGenerator.py:515
+#, python-format
+msgid "No more free PDO index available for %s!"
+msgstr ""
+
+#: ../PLCGenerator.py:1281
 #, python-brace-format
 msgid "No output {a1} variable found in block {a2} in POU {a3}. Connection must be broken"
 msgstr ""
@@ -2283,11 +2666,21 @@
 msgid "No search results available."
 msgstr ""
 
+#: ../etherlab/ConfigEditor.py:1029
+#, python-format
+msgid "No slave defined at position %d!"
+msgstr ""
+
 #: ../svgui/svgui.py:142
 #, python-format
 msgid "No such SVG file: %s\n"
 msgstr ""
 
+#: ../etherlab/ConfigEditor.py:1245
+#, python-format
+msgid "No such XML file: %s\n"
+msgstr ""
+
 #: ../canfestival/config_utils.py:682
 #, python-brace-format
 msgid "No such index/subindex ({a1},{a2}) (variable {a3})"
@@ -2298,15 +2691,33 @@
 msgid "No such index/subindex ({a1},{a2}) in ID : {a3} (variable {a4})"
 msgstr ""
 
+#: ../etherlab/EthercatCFileGenerator.py:438
+#, python-format
+msgid "No sync manager available for %s pdo!"
+msgstr ""
+
 #: ../dialogs/BrowseValuesLibraryDialog.py:87
 msgid "No valid value selected!"
 msgstr ""
 
-#: ../PLCGenerator.py:1676
+#: ../PLCGenerator.py:1725
 #, python-format
 msgid "No variable defined in \"%s\" POU"
 msgstr ""
 
+#: ../etherlab/ConfigEditor.py:606
+#, python-format
+msgid "Node Position: %d"
+msgstr ""
+
+#: ../etherlab/ConfigEditor.py:697
+msgid "Node filter:"
+msgstr ""
+
+#: ../etherlab/ConfigEditor.py:717
+msgid "Nodes variables filter:"
+msgstr ""
+
 #: ../canfestival/config_utils.py:379
 #, python-brace-format
 msgid "Non existing node ID : {a1} (variable {a2})"
@@ -2329,6 +2740,10 @@
 msgid "Not equal to"
 msgstr ""
 
+#: ../etherlab/EtherCATManagementEditor.py:361
+msgid "Now Uploading..."
+msgstr ""
+
 #: ../dialogs/SFCDivergenceDialog.py:91
 msgid "Number of sequences:"
 msgstr ""
@@ -2337,7 +2752,11 @@
 msgid "Numerical"
 msgstr ""
 
-#: ../editors/CodeFileEditor.py:736
+#: ../bacnet/BacnetSlaveEditor.py:808
+msgid "Object Properties:"
+msgstr ""
+
+#: ../editors/CodeFileEditor.py:755
 msgid "OnChange"
 msgstr ""
 
@@ -2354,15 +2773,15 @@
 msgid "Open Inkscape"
 msgstr ""
 
-#: ../version.py:86
+#: ../version.py:88
 msgid "Open Source framework for automation, implemented IEC 61131 IDE with constantly growing set of extensions and flexible PLC runtime."
 msgstr ""
 
-#: ../ProjectController.py:1879
+#: ../ProjectController.py:1962
 msgid "Open a file explorer to manage project files"
 msgstr ""
 
-#: ../wxglade_hmi/wxglade_hmi.py:161
+#: ../wxglade_hmi/wxglade_hmi.py:176
 msgid "Open wxGlade"
 msgstr ""
 
@@ -2370,11 +2789,11 @@
 msgid "Option"
 msgstr ""
 
-#: ../dialogs/FindInPouDialog.py:84 ../editors/CodeFileEditor.py:737
+#: ../dialogs/FindInPouDialog.py:84 ../editors/CodeFileEditor.py:756
 msgid "Options"
 msgstr ""
 
-#: ../controls/ProjectPropertiesPanel.py:109
+#: ../controls/ProjectPropertiesPanel.py:111
 msgid "Organization (optional):"
 msgstr ""
 
@@ -2382,14 +2801,19 @@
 msgid "Other Profile"
 msgstr ""
 
-#: ../dialogs/SFCStepDialog.py:74 ../dialogs/FBDVariableDialog.py:42
+#: ../dialogs/SFCStepDialog.py:74 ../dialogs/FBDVariableDialog.py:65
 #: ../dialogs/BrowseLocationsDialog.py:44 ../editors/Viewer.py:333
-#: ../editors/Viewer.py:1661 ../editors/TextViewer.py:307
-#: ../controls/LocationCellEditor.py:103 ../controls/VariablePanel.py:89
-#: ../controls/VariablePanel.py:317 ../controls/VariablePanel.py:380
+#: ../editors/Viewer.py:1663 ../editors/TextViewer.py:307
+#: ../controls/LocationCellEditor.py:103 ../controls/VariablePanel.py:86
+#: ../controls/VariablePanel.py:316 ../controls/VariablePanel.py:379
 msgid "Output"
 msgstr ""
 
+#: ../etherlab/EthercatCFileGenerator.py:170
+#, python-brace-format
+msgid "Output variables can't be defined with different locations ({a1} and {a2})"
+msgstr ""
+
 #: ../canfestival/SlaveEditor.py:67 ../canfestival/NetworkEditor.py:91
 msgid "PDO Receive"
 msgstr ""
@@ -2398,26 +2822,39 @@
 msgid "PDO Transmit"
 msgstr ""
 
+#: ../etherlab/etherlab.py:164
+msgid "PDO alignment"
+msgstr ""
+
 #: ../targets/toolchain_gcc.py:174
 msgid "PLC :\n"
 msgstr ""
 
-#: ../BeremizIDE.py:383
+#: ../BeremizIDE.py:379
 msgid "PLC Log"
 msgstr ""
 
-#: ../ProjectController.py:1082
+#: ../ProjectController.py:1129
 msgid "PLC code generation failed !\n"
 msgstr ""
 
-#: ../Beremiz_service.py:305
+#: ../etherlab/EtherCATManagementEditor.py:250
+msgid "PLC is Not Started"
+msgstr ""
+
+#: ../Beremiz_service.py:318
 msgid "PLC is empty or already started."
 msgstr ""
 
-#: ../Beremiz_service.py:312
+#: ../Beremiz_service.py:325
 msgid "PLC is not started."
 msgstr ""
 
+#: ../etherlab/EtherCATManagementEditor.py:2160
+#: ../etherlab/CommonEtherCATFunction.py:1589
+msgid "PLC not connected!"
+msgstr ""
+
 #: ../PLCOpenEditor.py:180 ../PLCOpenEditor.py:293
 #, python-brace-format
 msgid ""
@@ -2444,28 +2881,28 @@
 msgid "PORT"
 msgstr ""
 
-#: ../dialogs/PouDialog.py:109
+#: ../dialogs/PouDialog.py:144
 msgid "POU Name"
 msgstr ""
 
-#: ../dialogs/PouDialog.py:66
+#: ../dialogs/PouDialog.py:64
 msgid "POU Name:"
 msgstr ""
 
-#: ../dialogs/PouDialog.py:111
+#: ../dialogs/PouDialog.py:146
 msgid "POU Type"
 msgstr ""
 
-#: ../dialogs/PouDialog.py:73
+#: ../dialogs/PouDialog.py:71
 msgid "POU Type:"
 msgstr ""
 
-#: ../connectors/PYRO/__init__.py:52
+#: ../connectors/PYRO/__init__.py:53
 #, python-format
 msgid "PYRO connecting to URI : %s\n"
 msgstr ""
 
-#: ../connectors/PYRO/__init__.py:68
+#: ../connectors/PYRO/__init__.py:69
 #, python-format
 msgid "PYRO using certificates in '%s' \n"
 msgstr ""
@@ -2474,11 +2911,11 @@
 msgid "Page Setup"
 msgstr ""
 
-#: ../controls/ProjectPropertiesPanel.py:124
+#: ../controls/ProjectPropertiesPanel.py:127
 msgid "Page Size (optional):"
 msgstr ""
 
-#: ../IDEFrame.py:2640
+#: ../IDEFrame.py:2660
 #, python-format
 msgid "Page: %d"
 msgstr ""
@@ -2487,11 +2924,11 @@
 msgid "Parent instance"
 msgstr ""
 
-#: ../editors/Viewer.py:696 ../IDEFrame.py:374 ../IDEFrame.py:428
+#: ../editors/Viewer.py:699 ../IDEFrame.py:377 ../IDEFrame.py:429
 msgid "Paste"
 msgstr ""
 
-#: ../IDEFrame.py:1899
+#: ../IDEFrame.py:1916
 msgid "Paste POU"
 msgstr ""
 
@@ -2503,7 +2940,11 @@
 msgid "Pin number:"
 msgstr ""
 
-#: ../editors/Viewer.py:2792 ../editors/Viewer.py:3060
+#: ../runtime/NevowServer.py:163
+msgid "Platform"
+msgstr ""
+
+#: ../editors/Viewer.py:2791 ../editors/Viewer.py:3059
 #: ../editors/SFCViewer.py:785
 msgid "Please choose a target"
 msgstr ""
@@ -2512,7 +2953,7 @@
 msgid "Please enter a block name"
 msgstr ""
 
-#: ../editors/Viewer.py:2661 ../editors/Viewer.py:3103
+#: ../dialogs/CommentEditDialog.py:52
 msgid "Please enter comment text"
 msgstr ""
 
@@ -2521,7 +2962,8 @@
 msgid "Please enter step name"
 msgstr ""
 
-#: ../dialogs/PouNameDialog.py:37 ../Beremiz_service.py:209
+#: ../dialogs/SFCStepNameDialog.py:37 ../dialogs/PouNameDialog.py:37
+#: ../Beremiz_service.py:222
 msgid "Please enter text"
 msgstr ""
 
@@ -2530,15 +2972,19 @@
 msgid "Please enter value for a \"%s\" variable:"
 msgstr ""
 
-#: ../Beremiz_service.py:327
+#: ../Beremiz_service.py:340
 msgid "Port number must be 0 <= port <= 65535!"
 msgstr ""
 
-#: ../Beremiz_service.py:327
+#: ../Beremiz_service.py:340
 msgid "Port number must be an integer!"
 msgstr ""
 
-#: ../editors/Viewer.py:633 ../editors/Viewer.py:2449
+#: ../etherlab/ConfigEditor.py:47 ../etherlab/ConfigEditor.py:465
+msgid "Position"
+msgstr ""
+
+#: ../editors/Viewer.py:636 ../editors/Viewer.py:2451
 msgid "Power Rail"
 msgstr ""
 
@@ -2559,7 +3005,7 @@
 msgid "Print"
 msgstr ""
 
-#: ../IDEFrame.py:1110
+#: ../IDEFrame.py:1123
 msgid "Print preview"
 msgstr ""
 
@@ -2571,33 +3017,37 @@
 msgid "Priority:"
 msgstr ""
 
-#: ../runtime/PLCObject.py:518
+#: ../runtime/PLCObject.py:523
 #, python-format
 msgid "Problem starting PLC : error %d"
 msgstr ""
 
-#: ../dialogs/ProjectDialog.py:63
+#: ../etherlab/ConfigEditor.py:647
+msgid "Process variables mapped between nodes:"
+msgstr ""
+
+#: ../dialogs/ProjectDialog.py:61
 msgid "Product Name"
 msgstr ""
 
-#: ../controls/ProjectPropertiesPanel.py:90
+#: ../controls/ProjectPropertiesPanel.py:91
 msgid "Product Name (required):"
 msgstr ""
 
+#: ../controls/ProjectPropertiesPanel.py:93
+msgid "Product Release (optional):"
+msgstr ""
+
+#: ../dialogs/ProjectDialog.py:62
+msgid "Product Version"
+msgstr ""
+
 #: ../controls/ProjectPropertiesPanel.py:92
-msgid "Product Release (optional):"
-msgstr ""
-
-#: ../dialogs/ProjectDialog.py:64
-msgid "Product Version"
-msgstr ""
-
-#: ../controls/ProjectPropertiesPanel.py:91
 msgid "Product Version (required):"
 msgstr ""
 
-#: ../dialogs/SearchInProjectDialog.py:42 ../IDEFrame.py:1778
-#: ../IDEFrame.py:1975
+#: ../dialogs/SearchInProjectDialog.py:42 ../IDEFrame.py:1795
+#: ../IDEFrame.py:1992
 msgid "Program"
 msgstr ""
 
@@ -2613,7 +3063,7 @@
 msgid "Programs can't be used by other POUs!"
 msgstr ""
 
-#: ../controls/ProjectPropertiesPanel.py:94 ../IDEFrame.py:601
+#: ../controls/ProjectPropertiesPanel.py:95 ../IDEFrame.py:607
 msgid "Project"
 msgstr ""
 
@@ -2622,19 +3072,19 @@
 msgid "Project '%s':"
 msgstr ""
 
-#: ../ProjectController.py:1878
+#: ../ProjectController.py:1961
 msgid "Project Files"
 msgstr ""
 
-#: ../dialogs/ProjectDialog.py:62
+#: ../dialogs/ProjectDialog.py:60
 msgid "Project Name"
 msgstr ""
 
-#: ../controls/ProjectPropertiesPanel.py:88
+#: ../controls/ProjectPropertiesPanel.py:89
 msgid "Project Name (required):"
 msgstr ""
 
-#: ../controls/ProjectPropertiesPanel.py:89
+#: ../controls/ProjectPropertiesPanel.py:90
 msgid "Project Version (optional):"
 msgstr ""
 
@@ -2661,16 +3111,16 @@
 msgid "Properties"
 msgstr ""
 
-#: ../Beremiz_service.py:427
+#: ../Beremiz_service.py:440
 msgid "Publishing service on local network"
 msgstr ""
 
-#: ../connectors/PYRO/__init__.py:126
+#: ../connectors/PYRO/__init__.py:127
 #, python-format
 msgid "Pyro exception: %s\n"
 msgstr ""
 
-#: ../Beremiz_service.py:420
+#: ../Beremiz_service.py:433
 msgid "Pyro port :"
 msgstr ""
 
@@ -2678,7 +3128,7 @@
 msgid "Python code"
 msgstr ""
 
-#: ../features.py:34
+#: ../features.py:23
 msgid "Python file"
 msgstr ""
 
@@ -2686,19 +3136,23 @@
 msgid "Qualifier"
 msgstr ""
 
-#: ../BeremizIDE.py:263 ../PLCOpenEditor.py:101 ../Beremiz_service.py:283
+#: ../BeremizIDE.py:263 ../PLCOpenEditor.py:101 ../Beremiz_service.py:296
 msgid "Quit"
 msgstr ""
 
-#: ../controls/DebugVariablePanel/DebugVariablePanel.py:227
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:224
 msgid "Range:"
 msgstr ""
 
-#: ../ProjectController.py:1872
+#: ../ProjectController.py:1955
 msgid "Raw IEC code"
 msgstr ""
 
-#: ../BeremizIDE.py:1083
+#: ../etherlab/ConfigEditor.py:344
+msgid "Read from (nodeid, index, subindex)"
+msgstr ""
+
+#: ../BeremizIDE.py:1080
 #, python-format
 msgid "Really delete node '%s'?"
 msgstr ""
@@ -2707,7 +3161,7 @@
 msgid "Realm:"
 msgstr ""
 
-#: ../IDEFrame.py:367 ../IDEFrame.py:424
+#: ../IDEFrame.py:370 ../IDEFrame.py:425
 msgid "Redo"
 msgstr ""
 
@@ -2715,10 +3169,14 @@
 msgid "Reference"
 msgstr ""
 
-#: ../dialogs/DiscoveryDialog.py:109 ../IDEFrame.py:434
+#: ../dialogs/DiscoveryDialog.py:109 ../IDEFrame.py:436
 msgid "Refresh"
 msgstr ""
 
+#: ../etherlab/EtherCATManagementEditor.py:1965
+msgid "Register Modify Dialog"
+msgstr ""
+
 #: ../dialogs/SearchInProjectDialog.py:70
 msgid "Regular expression"
 msgstr ""
@@ -2727,7 +3185,7 @@
 msgid "Regular expressions"
 msgstr ""
 
-#: ../editors/Viewer.py:1636
+#: ../editors/Viewer.py:1638
 msgid "Release value"
 msgstr ""
 
@@ -2735,16 +3193,16 @@
 msgid "Remainder (modulo)"
 msgstr ""
 
-#: ../BeremizIDE.py:1084
+#: ../BeremizIDE.py:1081
 #, python-format
 msgid "Remove %s node"
 msgstr ""
 
-#: ../IDEFrame.py:2445
+#: ../IDEFrame.py:2463
 msgid "Remove Datatype"
 msgstr ""
 
-#: ../IDEFrame.py:2450
+#: ../IDEFrame.py:2468
 msgid "Remove Pou"
 msgstr ""
 
@@ -2756,35 +3214,52 @@
 msgid "Remove element"
 msgstr ""
 
-#: ../editors/FileManagementPanel.py:66
+#: ../etherlab/ConfigEditor.py:1353
+msgid "Remove file from database"
+msgstr ""
+
+#: ../editors/FileManagementPanel.py:65
 msgid "Remove file from left folder"
 msgstr ""
 
-#: ../editors/ResourceEditor.py:284
+#: ../etherlab/ConfigEditor.py:1389
+msgid "Remove file from library"
+msgstr ""
+
+#: ../editors/ResourceEditor.py:282
 msgid "Remove instance"
 msgstr ""
 
+#: ../etherlab/ConfigEditor.py:653
+msgid "Remove process variable"
+msgstr ""
+
 #: ../canfestival/NetworkEditor.py:111
 msgid "Remove slave"
 msgstr ""
 
-#: ../editors/ResourceEditor.py:253
+#: ../etherlab/ConfigEditor.py:680
+msgid "Remove startup service variable"
+msgstr ""
+
+#: ../editors/ResourceEditor.py:251
 msgid "Remove task"
 msgstr ""
 
-#: ../editors/CodeFileEditor.py:655 ../controls/VariablePanel.py:482
+#: ../bacnet/BacnetSlaveEditor.py:812 ../editors/CodeFileEditor.py:673
+#: ../controls/VariablePanel.py:484
 msgid "Remove variable"
 msgstr ""
 
-#: ../IDEFrame.py:1979
+#: ../IDEFrame.py:1996
 msgid "Rename"
 msgstr ""
 
-#: ../editors/FileManagementPanel.py:187
+#: ../editors/FileManagementPanel.py:186
 msgid "Replace File"
 msgstr ""
 
-#: ../editors/Viewer.py:598
+#: ../editors/Viewer.py:601
 msgid "Replace Wire by connections"
 msgstr ""
 
@@ -2796,11 +3271,11 @@
 msgid "Reset"
 msgstr ""
 
-#: ../editors/Viewer.py:681
+#: ../editors/Viewer.py:684
 msgid "Reset Execution Order"
 msgstr ""
 
-#: ../IDEFrame.py:453
+#: ../IDEFrame.py:459
 msgid "Reset Perspective"
 msgstr ""
 
@@ -2808,7 +3283,7 @@
 msgid "Reset search result"
 msgstr ""
 
-#: ../BeremizIDE.py:1015 ../plcopen/types_enums.py:77
+#: ../BeremizIDE.py:1012 ../plcopen/types_enums.py:77
 msgid "Resources"
 msgstr ""
 
@@ -2816,11 +3291,11 @@
 msgid "Retain"
 msgstr ""
 
-#: ../controls/VariablePanel.py:455
+#: ../controls/VariablePanel.py:457
 msgid "Return Type:"
 msgstr ""
 
-#: ../editors/Viewer.py:582
+#: ../editors/Viewer.py:585
 msgid "Right"
 msgstr ""
 
@@ -2828,7 +3303,7 @@
 msgid "Right PowerRail"
 msgstr ""
 
-#: ../dialogs/LDElementDialog.py:80 ../editors/Viewer.py:555
+#: ../dialogs/LDElementDialog.py:80 ../editors/Viewer.py:558
 msgid "Rising Edge"
 msgstr ""
 
@@ -2844,15 +3319,15 @@
 msgid "Rounding up/down"
 msgstr ""
 
-#: ../ProjectController.py:1828
+#: ../ProjectController.py:1911
 msgid "Run"
 msgstr ""
 
-#: ../ProjectController.py:1127
+#: ../ProjectController.py:1175
 msgid "Runtime IO extensions C code generation failed !\n"
 msgstr ""
 
-#: ../ProjectController.py:1136
+#: ../ProjectController.py:1186
 msgid "Runtime library extensions C code generation failed !\n"
 msgstr ""
 
@@ -2864,11 +3339,11 @@
 msgid "SDO Server"
 msgstr ""
 
-#: ../dialogs/PouDialog.py:44 ../controls/ProjectPropertiesPanel.py:158
+#: ../dialogs/PouDialog.py:128 ../controls/ProjectPropertiesPanel.py:161
 msgid "SFC"
 msgstr ""
 
-#: ../PLCGenerator.py:1433
+#: ../PLCGenerator.py:1482
 #, python-brace-format
 msgid "SFC jump in pou \"{a1}\" refers to non-existent SFC step \"{a2}\""
 msgstr ""
@@ -2879,7 +3354,7 @@
 msgstr ""
 
 #: ../dialogs/PouTransitionDialog.py:40 ../dialogs/PouActionDialog.py:36
-#: ../dialogs/PouDialog.py:44
+#: ../dialogs/PouDialog.py:128
 msgid "ST"
 msgstr ""
 
@@ -2891,7 +3366,7 @@
 msgid "SVG files (*.svg)|*.svg|All files|*.*"
 msgstr ""
 
-#: ../features.py:36
+#: ../features.py:25
 msgid "SVGUI"
 msgstr ""
 
@@ -2908,37 +3383,47 @@
 msgid "Save as"
 msgstr ""
 
-#: ../ProjectController.py:530
+#: ../etherlab/EtherCATManagementEditor.py:941
+#: ../etherlab/EtherCATManagementEditor.py:1289
+msgid "Save as..."
+msgstr ""
+
+#: ../ProjectController.py:546
 msgid "Save path is the same as path of a project! \n"
 msgstr ""
 
+#: ../etherlab/EthercatMaster.py:455 ../etherlab/EthercatMaster.py:764
+#: ../etherlab/EthercatMaster.py:765
+msgid "Scan Network"
+msgstr ""
+
 #: ../dialogs/SearchInProjectDialog.py:73
 msgid "Scope"
 msgstr ""
 
-#: ../IDEFrame.py:644
+#: ../IDEFrame.py:650
 msgid "Search"
 msgstr ""
 
-#: ../dialogs/SearchInProjectDialog.py:49 ../IDEFrame.py:384 ../IDEFrame.py:430
+#: ../dialogs/SearchInProjectDialog.py:49 ../IDEFrame.py:387 ../IDEFrame.py:431
 msgid "Search in Project"
 msgstr ""
 
-#: ../dialogs/DurationEditorDialog.py:49
+#: ../dialogs/DurationEditorDialog.py:60
 msgid "Seconds:"
 msgstr ""
 
-#: ../IDEFrame.py:390
+#: ../IDEFrame.py:393
 msgid "Select All"
 msgstr ""
 
 #: ../editors/Viewer.py:331 ../editors/TextViewer.py:305
-#: ../controls/LocationCellEditor.py:101 ../controls/VariablePanel.py:315
-#: ../controls/VariablePanel.py:378
+#: ../controls/LocationCellEditor.py:101 ../controls/VariablePanel.py:314
+#: ../controls/VariablePanel.py:377
 msgid "Select a variable class:"
 msgstr ""
 
-#: ../ProjectController.py:1293
+#: ../ProjectController.py:1354
 msgid "Select an editor:"
 msgstr ""
 
@@ -2946,11 +3431,11 @@
 msgid "Select an instance"
 msgstr ""
 
-#: ../IDEFrame.py:628
+#: ../IDEFrame.py:634
 msgid "Select an object"
 msgstr ""
 
-#: ../ProjectController.py:537
+#: ../ProjectController.py:555
 msgid "Selected directory already contains another project. Overwrite? \n"
 msgstr ""
 
@@ -2966,6 +3451,14 @@
 msgid "Selection Divergence"
 msgstr ""
 
+#: ../runtime/NevowServer.py:182
+msgid "Send"
+msgstr ""
+
+#: ../runtime/NevowServer.py:181
+msgid "Send a message to the log"
+msgstr ""
+
 #: ../dialogs/DiscoveryDialog.py:135
 msgid "Service Discovery"
 msgstr ""
@@ -2974,7 +3467,7 @@
 msgid "Services available:"
 msgstr ""
 
-#: ../dialogs/LDElementDialog.py:79
+#: ../dialogs/LDElementDialog.py:79 ../runtime/WampClient.py:434
 msgid "Set"
 msgstr ""
 
@@ -2986,7 +3479,7 @@
 msgid "Shift right"
 msgstr ""
 
-#: ../ProjectController.py:1863
+#: ../ProjectController.py:1946
 msgid "Show IEC code generated by PLCGenerator"
 msgstr ""
 
@@ -2998,7 +3491,7 @@
 msgid "Show Master generated by config_utils"
 msgstr ""
 
-#: ../ProjectController.py:1862
+#: ../ProjectController.py:1945
 msgid "Show code"
 msgstr ""
 
@@ -3018,6 +3511,14 @@
 msgid "Single"
 msgstr ""
 
+#: ../etherlab/EtherCATManagementEditor.py:361
+msgid "Slave SDO Monitoring"
+msgstr ""
+
+#: ../etherlab/ConfigEditor.py:135
+msgid "Slave entries"
+msgstr ""
+
 #: ../targets/toolchain_makefile.py:130
 msgid "Source didn't change, no build.\n"
 msgstr ""
@@ -3035,44 +3536,56 @@
 msgid "Standard function blocks"
 msgstr ""
 
-#: ../ProjectController.py:1829 ../Beremiz_service.py:271
+#: ../etherlab/ConfigEditor.py:68
+msgid "Standardized Device Profile"
+msgstr ""
+
+#: ../etherlab/EtherCATManagementEditor.py:37
+msgid "Start Address"
+msgstr ""
+
+#: ../ProjectController.py:1912 ../Beremiz_service.py:284
 msgid "Start PLC"
 msgstr ""
 
-#: ../ProjectController.py:1074
+#: ../ProjectController.py:1121
 #, python-format
 msgid "Start build in %s\n"
 msgstr ""
 
-#: ../ProjectController.py:1397
+#: ../runtime/PlcStatus.py:12
 msgid "Started"
 msgstr ""
 
-#: ../ProjectController.py:1633
+#: ../ProjectController.py:1714
 msgid "Starting PLC\n"
 msgstr ""
 
-#: ../BeremizIDE.py:393
+#: ../etherlab/ConfigEditor.py:674
+msgid "Startup service variables assignments:"
+msgstr ""
+
+#: ../BeremizIDE.py:389
 msgid "Status ToolBar"
 msgstr ""
 
-#: ../editors/Viewer.py:651 ../editors/Viewer.py:2424
+#: ../editors/Viewer.py:654 ../editors/Viewer.py:2426
 msgid "Step"
 msgstr ""
 
-#: ../ProjectController.py:1835
+#: ../ProjectController.py:1918
 msgid "Stop"
 msgstr ""
 
-#: ../Beremiz_service.py:272
+#: ../Beremiz_service.py:285
 msgid "Stop PLC"
 msgstr ""
 
-#: ../ProjectController.py:1836
+#: ../ProjectController.py:1919
 msgid "Stop Running PLC"
 msgstr ""
 
-#: ../ProjectController.py:1398
+#: ../runtime/PlcStatus.py:13
 msgid "Stopped"
 msgstr ""
 
@@ -3080,6 +3593,14 @@
 msgid "Structure"
 msgstr ""
 
+#: ../etherlab/ConfigEditor.py:48
+msgid "SubIndex"
+msgstr ""
+
+#: ../etherlab/ConfigEditor.py:465
+msgid "Subindex"
+msgstr ""
+
 #: ../editors/DataTypeEditor.py:60
 msgid "Subrange"
 msgstr ""
@@ -3088,11 +3609,11 @@
 msgid "Subtraction"
 msgstr ""
 
-#: ../ProjectController.py:1113
+#: ../ProjectController.py:1160
 msgid "Successfully built.\n"
 msgstr ""
 
-#: ../IDEFrame.py:449
+#: ../IDEFrame.py:451
 msgid "Switch perspective"
 msgstr ""
 
@@ -3108,19 +3629,19 @@
 msgid "Tangent"
 msgstr ""
 
-#: ../editors/ResourceEditor.py:97
+#: ../editors/ResourceEditor.py:94
 msgid "Task"
 msgstr ""
 
-#: ../editors/ResourceEditor.py:248
+#: ../editors/ResourceEditor.py:246
 msgid "Tasks:"
 msgstr ""
 
-#: ../controls/VariablePanel.py:91
+#: ../controls/VariablePanel.py:88
 msgid "Temp"
 msgstr ""
 
-#: ../version.py:35
+#: ../version.py:37
 msgid ""
 "The best place to ask questions about Beremiz/PLCOpenEditor\n"
 "is project's mailing list: beremiz-devel@lists.sourceforge.net\n"
@@ -3132,27 +3653,38 @@
 "https://lists.sourceforge.net/lists/listinfo/beremiz-devel"
 msgstr ""
 
-#: ../editors/FileManagementPanel.py:186
+#: ../etherlab/EthercatMaster.py:454
+msgid ""
+"The current network configuration will be deleted.\n"
+"Do you want to continue?"
+msgstr ""
+
+#: ../editors/FileManagementPanel.py:185
 #, python-format
 msgid ""
 "The file '%s' already exist.\n"
 "Do you want to replace it?"
 msgstr ""
 
+#: ../etherlab/EtherCATManagementEditor.py:928
+#: ../etherlab/EtherCATManagementEditor.py:1320
+msgid "The file does not exist!"
+msgstr ""
+
 #: ../editors/LDViewer.py:893
 msgid "The group of block must be coherent!"
 msgstr ""
 
-#: ../BeremizIDE.py:573 ../IDEFrame.py:1046
+#: ../BeremizIDE.py:569 ../IDEFrame.py:1059
 msgid "There are changes, do you want to save?"
 msgstr ""
 
-#: ../IDEFrame.py:1691 ../IDEFrame.py:1710
+#: ../IDEFrame.py:1708 ../IDEFrame.py:1727
 #, python-format
 msgid "There is a POU named \"%s\". This could cause a conflict. Do you wish to continue?"
 msgstr ""
 
-#: ../IDEFrame.py:1133
+#: ../IDEFrame.py:1146
 msgid ""
 "There was a problem printing.\n"
 "Perhaps your current printer is not set correctly?"
@@ -3162,7 +3694,7 @@
 msgid "This option isn't available yet!"
 msgstr ""
 
-#: ../controls/DebugVariablePanel/DebugVariablePanel.py:567
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:546
 #, python-format
 msgid "Tick: %d"
 msgstr ""
@@ -3200,53 +3732,57 @@
 msgid "Time-of-day subtraction"
 msgstr ""
 
+#: ../IDEFrame.py:432
+msgid "Toggle fullscreen mode"
+msgstr ""
+
 #: ../dialogs/ForceVariableDialog.py:188
 msgid "Toggle value"
 msgstr ""
 
-#: ../editors/Viewer.py:584
+#: ../editors/Viewer.py:587
 msgid "Top"
 msgstr ""
 
-#: ../ProjectController.py:1848
+#: ../ProjectController.py:1931
 msgid "Transfer"
 msgstr ""
 
-#: ../ProjectController.py:1849
+#: ../ProjectController.py:1932
 msgid "Transfer PLC"
 msgstr ""
 
-#: ../ProjectController.py:1802
+#: ../ProjectController.py:1884
 msgid "Transfer completed successfully.\n"
 msgstr ""
 
-#: ../ProjectController.py:1805
+#: ../ProjectController.py:1887
 msgid "Transfer failed\n"
 msgstr ""
 
-#: ../editors/Viewer.py:652 ../editors/Viewer.py:2426 ../editors/Viewer.py:2453
+#: ../editors/Viewer.py:655 ../editors/Viewer.py:2428 ../editors/Viewer.py:2455
 msgid "Transition"
 msgstr ""
 
-#: ../PLCGenerator.py:1564
+#: ../PLCGenerator.py:1613
 #, python-format
 msgid "Transition \"%s\" body must contain an output variable or coil referring to its name"
 msgstr ""
 
-#: ../dialogs/PouTransitionDialog.py:91
+#: ../dialogs/PouTransitionDialog.py:90
 msgid "Transition Name"
 msgstr ""
 
-#: ../dialogs/PouTransitionDialog.py:60
+#: ../dialogs/PouTransitionDialog.py:59
 msgid "Transition Name:"
 msgstr ""
 
-#: ../PLCGenerator.py:1657
+#: ../PLCGenerator.py:1706
 #, python-brace-format
 msgid "Transition with content \"{a1}\" not connected to a next step in \"{a2}\" POU"
 msgstr ""
 
-#: ../PLCGenerator.py:1646
+#: ../PLCGenerator.py:1695
 #, python-brace-format
 msgid "Transition with content \"{a1}\" not connected to a previous step in \"{a2}\" POU"
 msgstr ""
@@ -3268,17 +3804,17 @@
 msgid "Triggering"
 msgstr ""
 
-#: ../Beremiz_service.py:490
+#: ../Beremiz_service.py:503
 msgid "Twisted unavailable."
 msgstr ""
 
-#: ../dialogs/ActionBlockDialog.py:42 ../editors/ResourceEditor.py:97
-#: ../editors/DataTypeEditor.py:55 ../editors/CodeFileEditor.py:733
-#: ../controls/VariablePanel.py:61
+#: ../dialogs/ActionBlockDialog.py:42 ../etherlab/ConfigEditor.py:48
+#: ../editors/ResourceEditor.py:94 ../editors/DataTypeEditor.py:55
+#: ../editors/CodeFileEditor.py:752 ../controls/VariablePanel.py:61
 msgid "Type"
 msgstr ""
 
-#: ../dialogs/BrowseLocationsDialog.py:54
+#: ../dialogs/BrowseLocationsDialog.py:51
 msgid "Type and derivated"
 msgstr ""
 
@@ -3295,16 +3831,25 @@
 msgid "Type infos:"
 msgstr ""
 
-#: ../dialogs/BrowseLocationsDialog.py:55
+#: ../etherlab/EthercatCFileGenerator.py:76
+#, python-format
+msgid "Type of location \"%s\" not yet supported!"
+msgstr ""
+
+#: ../dialogs/BrowseLocationsDialog.py:52
 msgid "Type strict"
 msgstr ""
 
 #: ../dialogs/SFCDivergenceDialog.py:60 ../dialogs/SFCTransitionDialog.py:59
-#: ../dialogs/LDPowerRailDialog.py:58 ../dialogs/BrowseLocationsDialog.py:111
+#: ../dialogs/LDPowerRailDialog.py:58 ../dialogs/BrowseLocationsDialog.py:110
 #: ../dialogs/FBDBlockDialog.py:69 ../dialogs/ConnectionDialog.py:61
 msgid "Type:"
 msgstr ""
 
+#: ../runtime/WampClient.py:129
+msgid "TypeError register option: {}"
+msgstr ""
+
 #: ../connectors/PYRO/dialog.py:39 ../connectors/WAMP/dialog.py:42
 msgid "URI host:"
 msgstr ""
@@ -3327,7 +3872,17 @@
 msgid "Unable to get Xenomai's %s \n"
 msgstr ""
 
-#: ../PLCGenerator.py:974 ../PLCGenerator.py:1252
+#: ../bacnet/bacnet.py:430
+#, python-format
+msgid "Unable to load file \"%s\"!"
+msgstr ""
+
+#: ../bacnet/bacnet.py:420
+#, python-format
+msgid "Unable to save to file \"%s\"!"
+msgstr ""
+
+#: ../PLCGenerator.py:1023 ../PLCGenerator.py:1301
 #, python-brace-format
 msgid "Undefined block type \"{a1}\" in \"{a2}\" POU"
 msgstr ""
@@ -3337,20 +3892,25 @@
 msgid "Undefined pou type \"%s\""
 msgstr ""
 
-#: ../IDEFrame.py:365 ../IDEFrame.py:423
+#: ../IDEFrame.py:368 ../IDEFrame.py:424
 msgid "Undo"
 msgstr ""
 
-#: ../ProjectController.py:442
+#: ../ProjectController.py:457
 msgid "Unknown"
 msgstr ""
 
+#: ../etherlab/EthercatCFileGenerator.py:470
+#, python-brace-format
+msgid "Unknown entry index 0x{a1:.4x}, subindex 0x{a2:.2x} for device {a3}"
+msgstr ""
+
 #: ../editors/Viewer.py:437
 #, python-format
 msgid "Unknown variable \"%s\" for this POU!"
 msgstr ""
 
-#: ../ProjectController.py:439 ../ProjectController.py:440
+#: ../ProjectController.py:454 ../ProjectController.py:455
 msgid "Unnamed"
 msgstr ""
 
@@ -3359,12 +3919,20 @@
 msgid "Unnamed%d"
 msgstr ""
 
-#: ../controls/VariablePanel.py:308
+#: ../controls/VariablePanel.py:307
 #, python-format
 msgid "Unrecognized data size \"%s\""
 msgstr ""
 
-#: ../editors/DataTypeEditor.py:646 ../controls/VariablePanel.py:841
+#: ../etherlab/EtherCATManagementEditor.py:2080
+msgid "Update"
+msgstr ""
+
+#: ../runtime/WampClient.py:380
+msgid "Upload:"
+msgstr ""
+
+#: ../editors/DataTypeEditor.py:646 ../controls/VariablePanel.py:852
 msgid "User Data Types"
 msgstr ""
 
@@ -3376,7 +3944,7 @@
 msgid "User-defined POUs"
 msgstr ""
 
-#: ../dialogs/ActionBlockDialog.py:42
+#: ../dialogs/ActionBlockDialog.py:42 ../etherlab/ConfigEditor.py:465
 msgid "Value"
 msgstr ""
 
@@ -3384,24 +3952,29 @@
 msgid "Values:"
 msgstr ""
 
-#: ../dialogs/ActionBlockDialog.py:47 ../editors/Viewer.py:622
-#: ../editors/Viewer.py:2456
+#: ../dialogs/ActionBlockDialog.py:47 ../editors/Viewer.py:625
+#: ../editors/Viewer.py:2458
 msgid "Variable"
 msgstr ""
 
 #: ../editors/Viewer.py:352 ../editors/Viewer.py:382 ../editors/Viewer.py:404
 #: ../editors/TextViewer.py:290 ../editors/TextViewer.py:344
-#: ../editors/TextViewer.py:367 ../controls/VariablePanel.py:355
+#: ../editors/TextViewer.py:367 ../controls/VariablePanel.py:354
 msgid "Variable Drop"
 msgstr ""
 
-#: ../dialogs/FBDVariableDialog.py:68
+#: ../etherlab/ConfigEditor.py:70
+#, python-format
+msgid "Variable Index: #x%4.4X"
+msgstr ""
+
+#: ../dialogs/FBDVariableDialog.py:58
 msgid "Variable Properties"
 msgstr ""
 
 #: ../editors/Viewer.py:332 ../editors/TextViewer.py:306
-#: ../controls/LocationCellEditor.py:102 ../controls/VariablePanel.py:316
-#: ../controls/VariablePanel.py:379
+#: ../controls/LocationCellEditor.py:102 ../controls/VariablePanel.py:315
+#: ../controls/VariablePanel.py:378
 msgid "Variable class"
 msgstr ""
 
@@ -3409,24 +3982,28 @@
 msgid "Variable don't belong to this POU!"
 msgstr ""
 
+#: ../etherlab/ConfigEditor.py:280
+msgid "Variable entries:"
+msgstr ""
+
 #: ../dialogs/LDElementDialog.py:92
 msgid "Variable:"
 msgstr ""
 
-#: ../controls/VariablePanel.py:90
+#: ../controls/VariablePanel.py:87
 msgid "Variables"
 msgstr ""
 
-#: ../controls/ProjectPropertiesPanel.py:166
+#: ../controls/ProjectPropertiesPanel.py:169
 msgid "Vertical:"
 msgstr ""
 
-#: ../runtime/WampClient.py:113
+#: ../runtime/WampClient.py:170
 #, python-format
 msgid "WAMP Client connection failed (%s) .. retrying .."
 msgstr ""
 
-#: ../runtime/WampClient.py:117
+#: ../runtime/WampClient.py:179
 #, python-format
 msgid "WAMP Client connection lost (%s) .. retrying .."
 msgstr ""
@@ -3435,49 +4012,66 @@
 msgid "WAMP ID:"
 msgstr ""
 
-#: ../runtime/WampClient.py:172
+#: ../runtime/WampClient.py:413
+msgid "WAMP Server URL"
+msgstr ""
+
+#: ../runtime/WampClient.py:276
+msgid "WAMP authentication has no secret configured"
+msgstr ""
+
+#: ../runtime/WampClient.py:304
+msgid "WAMP client can not connect to :"
+msgstr ""
+
+#: ../runtime/WampClient.py:301
 msgid "WAMP client connecting to :"
 msgstr ""
 
-#: ../runtime/WampClient.py:148
-msgid "WAMP client connection not established!"
-msgstr ""
-
-#: ../Beremiz_service.py:625
+#: ../Beremiz_service.py:628
 msgid "WAMP client startup failed. "
 msgstr ""
 
-#: ../Beremiz_service.py:621
-msgid "WAMP config is incomplete."
-msgstr ""
-
-#: ../Beremiz_service.py:623
-msgid "WAMP config is missing."
-msgstr ""
-
-#: ../connectors/WAMP/__init__.py:99
+#: ../runtime/WampClient.py:206
+msgid "WAMP configuration error : missing '{}' parameter."
+msgstr ""
+
+#: ../runtime/WampClient.py:192
+msgid "WAMP configuration error:"
+msgstr ""
+
+#: ../connectors/WAMP/__init__.py:100
 #, python-format
 msgid "WAMP connecting to URL : %s\n"
 msgstr ""
 
-#: ../connectors/WAMP/__init__.py:140
+#: ../connectors/WAMP/__init__.py:141
 msgid "WAMP connection timeout"
 msgstr ""
 
-#: ../connectors/WAMP/__init__.py:158
+#: ../connectors/WAMP/__init__.py:159
 #, python-format
 msgid "WAMP connection to '%s' failed.\n"
 msgstr ""
 
-#: ../Beremiz_service.py:595
+#: ../runtime/WampClient.py:280
+msgid "WAMP deactivated in configuration"
+msgstr ""
+
+#: ../Beremiz_service.py:605
 msgid "WAMP import failed :"
 msgstr ""
 
-#: ../runtime/WampClient.py:126
-msgid "WAMP load error: "
-msgstr ""
-
-#: ../runtime/WampClient.py:108
+#: ../runtime/WampClient.py:241
+msgid "WAMP secret empty"
+msgstr ""
+
+#: ../runtime/WampClient.py:139
+#, python-format
+msgid "WAMP session joined (%s) by:"
+msgstr ""
+
+#: ../runtime/WampClient.py:146
 msgid "WAMP session left"
 msgstr ""
 
@@ -3485,15 +4079,24 @@
 msgid "WXGLADE GUI"
 msgstr ""
 
-#: ../runtime/WampClient.py:137
-msgid "Wamp secret load error:"
-msgstr ""
-
-#: ../dialogs/PouDialog.py:137 ../editors/LDViewer.py:902
+#: ../runtime/WampClient.py:432
+msgid "Wamp Settings"
+msgstr ""
+
+#: ../dialogs/PouDialog.py:172 ../editors/LDViewer.py:902
 msgid "Warning"
 msgstr ""
 
-#: ../ProjectController.py:726
+#: ../etherlab/EthercatCFileGenerator.py:405
+#: ../etherlab/EthercatCFileGenerator.py:571
+msgid "Warning: "
+msgstr ""
+
+#: ../wxglade_hmi/wxglade_hmi.py:166
+msgid "Warning: WxGlade HMI has no object with name identical to extension name, and no python code is provided in start section to create object.\n"
+msgstr ""
+
+#: ../ProjectController.py:756
 msgid "Warnings in ST/IL/SFC code generator :\n"
 msgstr ""
 
@@ -3501,7 +4104,7 @@
 msgid "Whole Project"
 msgstr ""
 
-#: ../controls/ProjectPropertiesPanel.py:134
+#: ../controls/ProjectPropertiesPanel.py:137
 msgid "Width:"
 msgstr ""
 
@@ -3509,27 +4112,63 @@
 msgid "Wrap search"
 msgstr ""
 
+#: ../etherlab/ConfigEditor.py:345
+msgid "Write to (nodeid, index, subindex)"
+msgstr ""
+
 #: ../dialogs/AboutDialog.py:126
 msgid "Written by"
 msgstr ""
 
-#: ../features.py:35
+#: ../etherlab/EthercatCFileGenerator.py:409
+#: ../etherlab/EthercatCFileGenerator.py:499
+#, python-format
+msgid "Wrong direction for location \"%s\"!"
+msgstr ""
+
+#: ../etherlab/EthercatCFileGenerator.py:400
+#: ../etherlab/EthercatCFileGenerator.py:487
+#, python-format
+msgid "Wrong type for location \"%s\"!"
+msgstr ""
+
+#: ../features.py:24
 msgid "WxGlade GUI"
 msgstr ""
 
+#: ../etherlab/ConfigEditor.py:1236
+msgid "XML files (*.xml)|*.xml|All files|*.*"
+msgstr ""
+
+#: ../etherlab/EtherCATManagementEditor.py:652
+msgid "You can input only hex, dec value"
+msgstr ""
+
+#: ../etherlab/EtherCATManagementEditor.py:1999
+msgid "You can't modify it. This register is read-only or it's not connected."
+msgstr ""
+
+#: ../etherlab/EtherCATManagementEditor.py:648
+msgid "You cannot SDO download this state"
+msgstr ""
+
 #: ../svgui/svgui.py:150
 msgid ""
 "You don't have write permissions.\n"
 "Open Inkscape anyway ?"
 msgstr ""
 
-#: ../wxglade_hmi/wxglade_hmi.py:160
+#: ../wxglade_hmi/wxglade_hmi.py:175
 msgid ""
 "You don't have write permissions.\n"
 "Open wxGlade anyway ?"
 msgstr ""
 
-#: ../ProjectController.py:390
+#: ../etherlab/EtherCATManagementEditor.py:2002
+msgid "You entered wrong value. You can enter dec or hex value only."
+msgstr ""
+
+#: ../ProjectController.py:403
 msgid ""
 "You must have permission to work on the project\n"
 "Work on a project copy ?"
@@ -3551,11 +4190,21 @@
 msgid "You must type a value!"
 msgstr ""
 
-#: ../IDEFrame.py:440
+#: ../IDEFrame.py:442
 msgid "Zoom"
 msgstr ""
 
-#: ../dialogs/DurationEditorDialog.py:158
+#: ../etherlab/EtherCATManagementEditor.py:911
+#: ../etherlab/EtherCATManagementEditor.py:1307
+msgid "bin files (*.bin)|*.bin"
+msgstr ""
+
+#: ../etherlab/EtherCATManagementEditor.py:942
+#: ../etherlab/EtherCATManagementEditor.py:1290
+msgid "bin files (*.bin)|*.bin|All files|*.*"
+msgstr ""
+
+#: ../dialogs/DurationEditorDialog.py:159
 msgid "days"
 msgstr ""
 
@@ -3569,35 +4218,39 @@
 msgid "exited with status {a1} (pid {a2})\n"
 msgstr ""
 
-#: ../dialogs/PouDialog.py:36
+#: ../dialogs/PouDialog.py:110
 msgid "function"
 msgstr ""
 
-#: ../dialogs/PouDialog.py:36
+#: ../dialogs/PouDialog.py:110
 msgid "functionBlock"
 msgstr ""
 
-#: ../dialogs/DurationEditorDialog.py:158
+#: ../dialogs/DurationEditorDialog.py:159
 msgid "hours"
 msgstr ""
 
-#: ../ProjectController.py:753
+#: ../ProjectController.py:784
 msgid "matiec installation is not found\n"
 msgstr ""
 
+#: ../dialogs/DurationEditorDialog.py:162
+msgid "microseconds"
+msgstr ""
+
+#: ../dialogs/DurationEditorDialog.py:161
+msgid "milliseconds"
+msgstr ""
+
 #: ../dialogs/DurationEditorDialog.py:160
-msgid "milliseconds"
-msgstr ""
-
-#: ../dialogs/DurationEditorDialog.py:159
 msgid "minutes"
 msgstr ""
 
-#: ../dialogs/PouDialog.py:36
+#: ../dialogs/PouDialog.py:110
 msgid "program"
 msgstr ""
 
-#: ../dialogs/DurationEditorDialog.py:159
+#: ../dialogs/DurationEditorDialog.py:160
 msgid "seconds"
 msgstr ""
 
@@ -3613,6 +4266,10 @@
 msgid "string right of"
 msgstr ""
 
+#: ../etherlab/EtherCATManagementEditor.py:323
+msgid "update"
+msgstr ""
+
 #: ../Beremiz.py:167
 msgid "update info unavailable."
 msgstr ""
@@ -3667,6 +4324,33 @@
 msgid "CAN_Driver"
 msgstr ""
 
+msgid "BACnetServerNode"
+msgstr ""
+
+msgid "Network_Interface"
+msgstr ""
+
+msgid "UDP_Port_Number"
+msgstr ""
+
+msgid "BACnet_Communication_Control_Password"
+msgstr ""
+
+msgid "BACnet_Device_ID"
+msgstr ""
+
+msgid "BACnet_Device_Name"
+msgstr ""
+
+msgid "BACnet_Device_Location"
+msgstr ""
+
+msgid "BACnet_Device_Description"
+msgstr ""
+
+msgid "BACnet_Device_Application_Software_Version"
+msgstr ""
+
 msgid "Generic"
 msgstr ""
 
@@ -3763,6 +4447,24 @@
 msgid "MaxRemoteTCPclients"
 msgstr ""
 
+msgid "CIA402SlaveParams"
+msgstr ""
+
+msgid "Enable%s"
+msgstr ""
+
+msgid "ProcessVariables"
+msgstr ""
+
+msgid "variable"
+msgstr ""
+
+msgid "ReadFrom"
+msgstr ""
+
+msgid "WriteTo"
+msgstr ""
+
 msgid "BaseParams"
 msgstr ""
 
@@ -3793,9 +4495,6 @@
 msgid "variables"
 msgstr ""
 
-msgid "variable"
-msgstr ""
-
 msgid "name"
 msgstr ""