beremiz

Update localization template

2018-10-03, Andrey Skvortsov
aef7f2ca4e69
Parents 68e7da937162
Children 9554952d36d7
Update localization template
  • +16 -0
    i18n/app.fil
  • +1244 -536
    i18n/messages.po
  • +1250 -551
    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
    -msgid "&File"
    -msgstr ""
    -
    -#: ../IDEFrame.py:352
    -msgid "&Function"
    -msgstr ""
    -
    #: ../IDEFrame.py:343
    +msgid "&File"
    +msgstr ""
    +
    +#: ../IDEFrame.py:355
    +msgid "&Function"
    +msgstr ""
    +
    +#: ../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
    -msgid "Copy file from left folder to right"
    -msgstr ""
    -
    #: ../editors/FileManagementPanel.py:67
    +msgid "Copy file from left folder to right"
    +msgstr ""
    +
    +#: ../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
    -msgid "Project Name (required):"
    -msgstr ""
    -
    #: ../controls/ProjectPropertiesPanel.py:89
    +msgid "Project Name (required):"
    +msgstr ""
    +
    +#: ../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 ""